-
Sziasztok!
Van egy sűrgősségi rádió parancsom de az a baj vele, hogy mindenki látja ha ír valaki benne. Valaki visszaküldené nekem a hibás parancsot kijavítva?
if(strcmp(cmd, \"/d\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[80];
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Dark RPG: /d [szöveg]\");
return 1;
}
new seged2[50];
if(PlayerInfo[playerid][pRank] == 1) format(seged2, sizeof(seged2), \"*ORFK Kadét\");
else if(PlayerInfo[playerid][pLeader] == 1) format(seged2, sizeof(seged2), \"*ORFK Dandártábornagy\");
else if(PlayerInfo[playerid][pMember] == 1) format(seged2, sizeof(seged2), \"*Rendőr\");
else if(PlayerInfo[playerid][pLeader] == 4) format(seged2, sizeof(seged2), \"*OMSZ Főorvos\");
else if(PlayerInfo[playerid][pMember] == 4) format(seged2, sizeof(seged2), \"*Mentős\");
else if(PlayerInfo[playerid][pLeader] == 2) format(seged2, sizeof(seged2), \"*Tűzoltó Ezredes\");
else if(PlayerInfo[playerid][pMember] == 2) format(seged2, sizeof(seged2), \"*Tűzoltó\");
else if(PlayerInfo[playerid][szervLeader] == 4) format(seged2, sizeof(seged2), \"*T.E.K. Parancsnok\");
else if(PlayerInfo[playerid][szervTag] == 4) format(seged2, sizeof(seged2), \"*T.E.K. Tag\");
else if(PlayerInfo[playerid][szervLeader] == 2) format(seged2, sizeof(seged2), \"*Katona Vezérezredes\");
else if(PlayerInfo[playerid][szervTag] == 2) format(seged2, sizeof(seged2), \"*Katona\");
else if(PlayerInfo[playerid][szervLeader] == 5) format(seged2, sizeof(seged2), \"*N.N.I. Főnök\");
else if(PlayerInfo[playerid][szervTag] == 5) format(seged2, sizeof(seged2), \"*N.N.I. Tag\");
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s rendőr chatbe: %s\",y,m,d,h,mi,s,nev,result);
LoOoG(stringx);
format(string, sizeof(string), \"%s %s: %s , vége!*\", seged2, sendername, result);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
SendClientMessage(i, 0xff2e2eAA, string);
}
}
}
}
format(stringx, sizeof(stringx), \"Ismeretlen mondja(SürgösségiRádió): %s\", result);
ProxDetector(15.0, playerid, stringx,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
} else SendClientMessage(playerid,COLOR_GRAD2, \"Nem vagy rendőr/mentős/tekes/tűzoltó/nnis!\");
}
return 1;
}
-
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
ez a 2 sor helyett:
if(PlayerInfo[pLeader] == 1 || PlayerInfo[pMember] == 1 || PlayerInfo[pLeader] == 2 || PlayerInfo[pMember] == 2 || PlayerInfo[szervLeader] == 4 || PlayerInfo[szervTag] == 4 || PlayerInfo[szervLeader] == 5 || PlayerInfo[szervTag] == 5 || PlayerInfo[pMember] == 17)
nem értem miért volt 2 if szinte ugyanazzal a feltételekkel, főleg, hogy a 2.-ban volt olyan ami az első miatt nem is volt lehetséges...
a fő hiba az volt, hogy i helyett playerid volt a cella hivatkozás...
szóval ha a játékos rendőr
PlayerInfo[playerid][szervTag] == 1
akkor mindenkinek elküldte a szöveget, mert a parancs beírója volt ellenőrizve és nem az akinek éppen küldte az üzenetet...
-
Bocsi, de én ezt nem látom át teljesen :)
Elküldenéd nekem egyben az egész parancsot ha kérhetem?
-
if(strcmp(cmd, \"/d\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 5 || PlayerInfo[playerid][szervTag] == 5)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[80];
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
new h,mi,s,y,m,d;
getdate(y,m,d);
gettime(h,mi,s);
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Dark RPG: /d [szöveg]\");
return 1;
}
new seged2[50];
if(PlayerInfo[playerid][pRank] == 1) format(seged2, sizeof(seged2), \"*ORFK Kadét\");
else if(PlayerInfo[playerid][pLeader] == 1) format(seged2, sizeof(seged2), \"*ORFK Dandártábornagy\");
else if(PlayerInfo[playerid][pMember] == 1) format(seged2, sizeof(seged2), \"*Rendőr\");
else if(PlayerInfo[playerid][pLeader] == 4) format(seged2, sizeof(seged2), \"*OMSZ Főorvos\");
else if(PlayerInfo[playerid][pMember] == 4) format(seged2, sizeof(seged2), \"*Mentős\");
else if(PlayerInfo[playerid][pLeader] == 2) format(seged2, sizeof(seged2), \"*Tűzoltó Ezredes\");
else if(PlayerInfo[playerid][pMember] == 2) format(seged2, sizeof(seged2), \"*Tűzoltó\");
else if(PlayerInfo[playerid][szervLeader] == 4) format(seged2, sizeof(seged2), \"*T.E.K. Parancsnok\");
else if(PlayerInfo[playerid][szervTag] == 4) format(seged2, sizeof(seged2), \"*T.E.K. Tag\");
else if(PlayerInfo[playerid][szervLeader] == 2) format(seged2, sizeof(seged2), \"*Katona Vezérezredes\");
else if(PlayerInfo[playerid][szervTag] == 2) format(seged2, sizeof(seged2), \"*Katona\");
else if(PlayerInfo[playerid][szervLeader] == 5) format(seged2, sizeof(seged2), \"*N.N.I. Főnök\");
else if(PlayerInfo[playerid][szervTag] == 5) format(seged2, sizeof(seged2), \"*N.N.I. Tag\");
format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s rendőr chatbe: %s\",y,m,d,h,mi,s,nev,result);
LoOoG(stringx);
format(string, sizeof(string), \"%s %s: %s , vége!*\", seged2, sendername, result);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[pLeader] == 1 || PlayerInfo[pMember] == 1 || PlayerInfo[pLeader] == 2 || PlayerInfo[pMember] == 2 || PlayerInfo[szervLeader] == 4 || PlayerInfo[szervTag] == 4 || PlayerInfo[szervLeader] == 5 || PlayerInfo[szervTag] == 5 || PlayerInfo[pMember] == 17)
{
SendClientMessage(i, 0xff2e2eAA, string);
}
}
}
format(stringx, sizeof(stringx), \"Ismeretlen mondja(SürgösségiRádió): %s\", result);
ProxDetector(15.0, playerid, stringx,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
} else SendClientMessage(playerid,COLOR_GRAD2, \"Nem vagy rendőr/mentős/tekes/tűzoltó/nnis!\");
}
return 1;
}
-
Szerintem jó lesz, majd tesztelem. Köszönöm!
Megoldva