OnPlayerCommandText Kullanımı ve Örnekleri

OnPlayerCommandText Kullanımı ve Örnekleri

OnPlayerCommandText genellikle komut yapımlarında kullanılır. En basitinden /can veya /zirh komutları bu callback ile yapılır. Bir komut yapmak için strcmp fonksiyonunu ve if döngüsünü kullanacağız.

OnPlayerCommandText Kullanımı:

OnPlayerCommandText callbackine hiçbir şey eklenmeden önceki hali aşağıdaki gibidir.

public OnPlayerCommandText(playerid, cmdtext[])
{
return 0;
}


Bunun içerisini oyuncu komut kullandığınızda olacaklar ile doldururuz. Örnek olarak bir /can komutu yapalım. Bunun için if döngüsü ve strcmp fonksiyonunu kullanacağız.

public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp("/can", cmdtext, true))
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, -1, "Bedava can aldınız.");
return 1;
}
return 0;
}

Yukarıda oyuncu /can yazdığında oyuncuya bedava can verip yanında da bedava can aldığına dair bilgilendirme mesajı gönderdik.

OnPlayerCommandText Örnekleri:

Aşağıdaki örnekte oyuncu /cz yazdığında hem can hem de zırh alır.

public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp("/cz", cmdtext, true))
{
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
SendClientMessage(playerid, -1, "Bedava can ve zırhaldınız.");
return 1;
}
return 0;
}

Aşağıdaki örnekte oyuncu /quit2 yazdığında oyundan atılır.

public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp("/quit2", cmdtext, true))
{
Kick(playerid);
return 1;
}
return 0;
}

Aşağıdaki örnekte oyuncu /skorum yazdığında karşısına skoru çıkar.

public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp("/skorum", cmdtext, true))
{
new skors[80];
format(skors, sizeof(skors), "Skorunuz: %d", GetPlayerScore(playerid));
SendClientMessage(playerid, -1, skors);
return 1;
}
return 0;
}