Sziasztok.
Van egy sürgõsségi rendszer amit csináltam:
if(strcmp(cmd, \"/d\", true) == 0 || strcmp(cmd, \"/surgossegi\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: (/d) [sürgõsségi chat]\");
return 1;
}
new frakcio[128];
if(PlayerInfo[playerid][pMember] == 1) { frakcio = \"Rendõr\"; }
else if(PlayerInfo[playerid][pLeader] == 1) { frakcio = \"Rendõr VezérEzredes\"; }
else if(PlayerInfo[playerid][szervTag] == 2) { frakcio = \"Katona\"; }
else if(PlayerInfo[playerid][szervLeader] == 2) { frakcio = \"Katona HadseregTábornok\"; }
else if(PlayerInfo[playerid][szervTag] == 1) { frakcio = \"SWAT\"; }
else if(PlayerInfo[playerid][szervLeader] == 1) { frakcio = \"SWAT Parancsnok\"; }
else if(PlayerInfo[playerid][pMember] == 4) { frakcio = \"Mentõs\"; }
else if(PlayerInfo[playerid][pLeader] == 4) { frakcio = \"Mentõs Professzor\"; }
format(string, sizeof(string), \"[sÜRGÕSSÉGI]%s %s: %s\", frakcio, sendername, result);
if (PlayerInfo[playerid][pMember] == 1 && PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][szervTag] == 2 && PlayerInfo[playerid][szervLeader] == 2 && PlayerInfo[playerid][szervTag] == 1 && PlayerInfo[playerid][szervLeader] == 1 && PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pLeader] == 4)
{
for(new i; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[pMember] == 1 && PlayerInfo[pLeader] == 1 && PlayerInfo[szervTag] == 2 && PlayerInfo[szervLeader] == 2 && PlayerInfo[szervTag] == 1 && PlayerInfo[szervLeader] == 1 && PlayerInfo[pMember] == 4 && PlayerInfo[pLeader] == 4)
{
SendClientMessage(i,COLOR_LIGHTRED,string);
}
}
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s %s sürgõsségibe: %s\",y,m,d,h,mi,s,frakcio,nev,result);
LoOoG(stringx);
} else SendClientMessage(playerid,COLOR_GRAD2,\"Nem vagy egyetlen egy rendvédelmi frakció tagja sem!\");
}
return 1;
}
Az a baj hogy benne vagyok abba a frakcióba ami használhatja és ezt irja ki folyton: Nem vagy egyetlen egy rendvédelmi frakció tagja sem!
if(strcmp(cmd, \"/rendõr\", true) == 0 || strcmp(cmd, \"/rendor\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /rendõr [JátékosID/NévRészlet]\");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if (PlayerInfo[playerid][pLeader] == 1 || Admin(playerid, 6))
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(PlayerInfo[para1][pMember] > 0)
{
SendClientMessage(playerid, COLOR_GREY, \"A játékosnak már van leaderes munkája!\");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pMember] = 1;
PlayerInfo[para1][pRank] = 1;
format(string, sizeof(string), \"%s felvett rendõrnek!\", sendername);
SendClientMessage(para1, 0x33CCFFAA, string);
format(string, sizeof(string), \"Felvetted %s rendõrnek.\", rag(giveplayer,3));
SendClientMessage(playerid, 0x33CCFFAA, string);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), \"<< %s felvette %s az AfterLife rendszolgálat-ba. >>\", sendername, rag(giveplayer,3));
SendFAdminMessage(COLOR_ADMIN,string);
SetPlayerColor(para1, COLOR_GRAD2);
if(PlayerInfo[para1][pSex] == 1)
{
PlayerInfo[para1][Munkaruha1] = 280;
SetPlayerSkin(para1,280);
}
if(PlayerInfo[para1][pSex] == 2)
{
PlayerInfo[para1][Munkaruha1] = 192;
SetPlayerSkin(para1,192);
}
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s felvette %s rendõrnek.\",y,m,d,h,mi,s,nev,rag(giveplayer,3));
LoOoG(stringx);
}
}//not connected
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \"Nem vagy rendõrfõnök!\");
}
}
return 1;
}
itt van a hiba szerintem:
if (PlayerInfo[playerid][pMember] == 1 && PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][szervTag] == 2 && PlayerInfo[playerid][szervLeader] == 2 && PlayerInfo[playerid][szervTag] == 1 && PlayerInfo[playerid][szervLeader] == 1 && PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pLeader] == 4)
a && egyenlõ \"és\"-el, így mindegyiknek meg kell, hogy feleljen az ember...
valószínûleg ezt szeretted volna:
|| ez a \"vagy\"
tehát:
if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][szervTag] == 2 || PlayerInfo[playerid][szervLeader] == 2 || PlayerInfo[playerid][szervTag] == 1 || PlayerInfo[playerid][szervLeader] == 1 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)