Globális változó:
new bool:birosag[MAX_PLAYERS] = false;
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/birosag\", cmdtext, true, 10) == 0)
{
SetPlayerPos(playerid,0.0,0.0,0.0); // módosítsd amire akarod
birosag[playerid] = true;
return 1;
}
return 0;
}
És ha akarsz valamit meghívni akkor ezentúl használhatod ezt:
if(birosag[playerid] = true) // Magyarul bíróságon vagy
eloször:
public OnPlayerCommandText(playerid, cmdtext[])
{
new tmp[64], cmd[64], string[128];
new giveplayerid, idx;
cmd = strtok(cmdtext, idx), tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(strcmp(cmd, \"/birosag\", true) == 0)
{
if(GetPlayerTeam(playerid) == 0) //nem tudom melyik TEAM id a rendoröké úgyhogy majd írd át
{
if(!strlen(tmp))
{
return SendClientMessage(playerid, 0xFB0000FF, \"Használat: /birosag [playerid]\");
}
if(giveplayerid == playerid)
{
SendClientMessage(playerid, 0xFB0000FF, \"HIBA: Nem viheted magadat bíróság elé\");
} else {
if(IsPlayerConnected(giveplayerid))
{
//ide írd hogy mi történjen amikor beírja a parancsot
SetPlayerPos(playerid, 1,1,1);// <-- például ez
} else {
SendClientMessage(playerid, 0xFB0000FF, \"Nincs ilyen játékos!\");
}
}
} else {
SendClientMessage(playerid,0xFB0000FF,\"Nem vagy admin!\");
}
return 1;
}
return 0;
}
aztán valahova (új sorba) rakd ezt:
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
és akkor így fog kinézni:
#include <a_samp>
public OnPlayerCommandText(playerid, cmdtext[])
{
new tmp[64], cmd[64];
new giveplayerid, idx;
cmd = strtok(cmdtext, idx), tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
if(strcmp(cmd, \"/birosag\", true) == 0)
{
if(GetPlayerTeam(playerid) == 0)
{
if(!strlen(tmp))
{
return SendClientMessage(playerid, 0xFB0000FF, \"Használat: /birosag [playerid]\");
}
if(giveplayerid == playerid)
{
SendClientMessage(playerid, 0xFB0000FF, \"HIBA: Nem viheted magadat bíróság elé\");
} else {
if(IsPlayerConnected(giveplayerid))
{
//ide írd hogy mi történjen amikor beírja a parancsot
SetPlayerPos(playerid, 1,1,1);// <-- például ez
} else {
SendClientMessage(playerid, 0xFB0000FF, \"Nincs ilyen játékos!\");
}
}
} else {
SendClientMessage(playerid,0xFB0000FF,\"Nem vagy admin!\");
}
return 1;
}
return 0;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
remélem segítettem =D
Nem egyszerubb ? :D (Nem teszteltem, nem biztos h muködik)
#include <a_samp>
#include <zcmd> // http://forum.sa-mp.com/index.php?topic=116240.0
#include <sscanf2> // http://forum.sa-mp.com/index.php?topic=145539.0
CMD:birosag(playerid, params[])
{
new player1;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFB0000FF,\"Nem vagy admin!\");
if(sscanf(params, \"u\", player1)) return SendClientMessage(playerid, 0xFB0000FF, \"Használat: /birosag [Játékos ID/Név]\");
if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, 0xFB0000FF, \"Nincs ilyen játékos!\");
if(player1 == playerid) return SendClientMessage(playerid, 0xFB0000FF, \"HIBA: Nem viheted magadat bíróság elé\");
//ide írd hogy mi történjen amikor beírja a parancsot
SetPlayerPos(player1, 1,1,1);// <-- például ez itt playerid helyett player1 et kell adni mert az az a játékos amit választunk
return 1;
}