Elõször a script legelejére:
#include <a_samp>
#include <zcmd> // A parancsfeldolgozó amit használunk (hatékonyabb mint az strcmp több parancsnál, bõvebben róla : http://sampforum.hu/index.php?topic=32497.0 )
new bool:ellenoriz;/* Globális változó (a különbség a sima és e közt, hogy míg a sima az adott
kódnál fut, ez müködik többnél is, ez lehet enum is akár, ha több adatot akarunk kezelni egyszerübben */
Másodjára, mindegy hová csak ne eljárásba rakd :D :
CMD:taskafel(playerid, params[])
{
ellenoriz = true;
SendClientMessage(playerid, -1, \"A játékos beírta a parancsot így beálítottuk a bool értékét igazra\");
return 1;
}
CMD:rabol(playerid, params[])
{
if(ellenoriz == true) // Ha a bool értéke igaz ( Mivel igaz csak úgy lehet ha beírta a parancsunkat, ha nem igaz ergo nem írta be az adott parancsot
{
SendClientMessage(playerid, -1, \"Te rabolhatsz mert beírtad a parancsot\");
}
else
{
SendClientMessage(playerid, -1, \"Te nem rabolhatsz. Rabláshoz elõször /tarskafel\");
}
return 1;
}
E: Két dolog csak:
1. Elnézést az ékezetek miatt de valamiért a pawno-ba írt ékezeteket a fórum nem kezeli :/
2. Az strcmp a leggyorsabb parancsfeldolgozó, DE! csak kevés parancs esetén. Erre az strcmp is tökéletes , de több parancs esetén a ZCMD gyorsabban kezeli az adatokat/parancsokat és egyszerûbb is a használata.
Beraktam de szerintem rossz helyre mert erroros lett
if(strcmp(cmd, \"/kisbolt-raboleq\", true) == 0 )
{
if(IsPlayerConnected(playerid))
{
if(kisboltrabol2 == 0)
{
if(PlayerToPoint(20.0, playerid, -24.8997,-55.5550,1003.5469) )
{
if(PlayerInfo[playerid][szervTag] == 1 || PlayerInfo[playerid][szervLeader] == 1 || PlayerInfo[playerid][szervTag] == 2 || PlayerInfo[playerid][szervLeader] == 2)
{
if(PlayerInfo[playerid][szervTag] == 1 || PlayerInfo[playerid][szervLeader] == 1)
{
SzervUzi(1, COLOR_LIGHTRED, \"[bANDAÜZENET]: Elkezdtétek pakolni a pénzt!\");
}
else if(PlayerInfo[playerid][szervTag] == 2 || PlayerInfo[playerid][szervLeader] == 2)
{
SzervUzi(2, COLOR_LIGHTRED, \"[bANDAÜZENET]: Elkezdtétek pakolni a pénzt!\");
}
SendClientMessage(playerid,COLOR_LIGHTRED,\"Elkezdted pakolni a pénzt...\");
RobTimer[playerid] = SetTimerEx(\"elegvolt3\", 300*60*2, false, \"i\", playerid);
TogglePlayerControllable(playerid, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
ApplyAnimation(playerid, \"SHOP\", \"ROB_Loop_Threat\", 4.0, 1, 0, 0, 0, 0);
SendRadioMessage(1, 0x33AA33AA,\"Központ:Minden egységnek figyelem!!!\");
SendRadioMessage(1, 0x33AA33AA,\"Központ:Kirabolták A kisboltot EQ ban!\");
SendRadioMessage(1, 0x33AA33AA,\"Központ:Minden szabad egység menjen oda!\");
SendRadioMessage(9, 0x33AA33AA,\"Központ:Minden egységnek figyelem!!!\");
SendRadioMessage(9, 0x33AA33AA,\"Központ:Kirabolták A kisboltot EQ ban!\");
SendRadioMessage(9, 0x33AA33AA,\"Központ:Minden szabad egység menjen oda!\");
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
format(string, sizeof(string), \"* %s elkezdte pakolni a pénzt a táskába\", nev);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerChatBubble(playerid, \"elkezdte pakolni a pénzt a táskába\", COLOR_PURPLE, 80.0, 10000);
}else SendClientMessage(playerid,0x165AC0FF,\"Nem vagy bandatag.\");
}else SendClientMessage(playerid,0x165AC0FF,\"Nem vagy kisboltban, vagy nem rég rabolták ki.\");
}else SendClientMessage(playerid,0x165AC0FF,\"Nem vagy kisboltban, vagy nem rég rabolták ki.\");
}
}
Hova illeszem?
Táska:
if(strcmp(cmd, \"/táskafel\", true) == 0 || strcmp(cmd, \"/tf\", true) == 0)
{
ellenoriz = true;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(PlayerInfo[playerid][szervTag] == 1 || PlayerInfo[playerid][szervLeader] == 1 || PlayerInfo[playerid][szervLeader] == 3 || PlayerInfo[playerid][szervTag] == 3)
{
if(IsPlayerInRangeOfPoint(playerid, 6, 2495.9277,-1696.8187,1014.7422))
{
SetPlayerAttachedObject(playerid, 6, 1550, 1, 0.1, -0.3, 0, 0, 40, 0, 1, 1, 1);
SendClientMessage(playerid,COLOR_GREEN,\"Táska felvéve\");
}
else SendClientMessage(playerid,COLOR_GRAD2,\"Csak a táskáknál tudod felvenni!\");
}
else SendClientMessage(playerid,COLOR_GRAD2, \"Nem vagy egy banda tagja sem.\");
return 1;
}
itt beirtam amit mondtál és itt jo minden semmi error sincs csak a rablás résznél nem tudom hova kéne beirni.
egyépként a /kisbolt-raboleq parancs müködik teszteltem.