-
Üdvözlök Mindenkit!
Van egy /börtön parancsom és hát eddig úgy volt hogy, csak rendõr csukhat le és maximálisan 3000 másodpercre lehetett. Nos nekem viszont van másik 2 rendvédelmi szervezetem és megírtam hogy, a másik két szervezet mennyire tudjon lecsukni milyen rangon. Megemeltem a 3000 másodpercet 8000 másodpercre. viszont nekem az a gondom hogy valamiért egyik szervezet/frakció se tudd börtönbe csukni mert valamiért elkeveri az else függvényeket. A pawno semmi féle hibát nem jelez. Ebben kérném a segítségeteket! Mindenkinek köszönöm a segítséget elõre is és elnézést ha rossz helyre nyitottam meg a témát!
kódrészlet:
if(strcmp(cmd, \"/börtön\", true) == 0 || strcmp(cmd, \"/borton\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, \"BloueWard RPG: /börtön [idõtartam] [indok]\");
return 1;
}
new time = strval(tmp);
if(time < 30 || time > 8000)
{
SendClientMessage(playerid, COLOR_GRAD2, \"{FFFFFF}Információk:\");
SendClientMessage(playerid, COLOR_GRAD2, \"{33CCFF}1. Nemzeti Nyomozó Iroda: {FFFFFF}Az idõtartam 30 másodperc és 8000 másodperc között legyen\");
SendClientMessage(playerid, COLOR_GRAD2, \"{2641FE}2. Terorr Elhárítási Központ: {FFFFFF}Az idõtartam 30 másodperc és 6000 másodperc között legyen\");
SendClientMessage(playerid, COLOR_GRAD2, \"{0000FF}3. Rendõrség: {FFFFFF}Az idõtartam 30 másodperc és 3000 másodperc között legyen\");
return 1;
}
new suspect = GetClosestPlayer(playerid);
new giveplayername[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[64];
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, \"BloueWard RPG: /börtön [idõtartam] [indok]\");
return 1;
}
if(IsPlayerConnected(suspect))
{
if(PlayerToPoint(6.0, playerid, -1301.0054,2708.2629,50.1141))
{
if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
{
if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 6)
{ // Nemzeti Nyomozó Iroda
if(PlayerInfo[playerid][pRank] == 1) if( time > 2000) { SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 2000 mp-re tudod lecsukni!\"); return 1; } // Nyomozó
if(PlayerInfo[playerid][pRank] == 2) if( time > 3000) { SendClientMessage(playerid, COLOR_GRAD2,\" Ügynök rangal maximálisan 2500 mp-re tudod lecsukni!\"); return 1; } // Ügynök
if(PlayerInfo[playerid][pRank] == 3) if( time > 4000) { SendClientMessage(playerid, COLOR_GRAD2,\" Fõnyomozó rangal maximálisan 3000 mp-re tudod lecsukni!\"); return 1; } // Fõnyomozó
if(PlayerInfo[playerid][pRank] == 4) if( time > 5000) { SendClientMessage(playerid, COLOR_GRAD2,\" Különleges ügynök rangal maximálisan 4000 mp-re tudod lecsukni!\"); return 1; } // Különleges ügynök
if(PlayerInfo[playerid][pRank] == 5) if( time > 6000) { SendClientMessage(playerid, COLOR_GRAD2,\" Fõfelügyelõ rangal maximálisan 6000 mp-re tudod lecsukni!\"); return 1; } // Fõfelügyelõ
if(PlayerInfo[playerid][pRank] == 6) if( time > 7000) { SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató-helyettes rangal maximálisan 7000 mp-re tudod lecsukni!\"); return 1; } // Igazgató-helyettes
if(PlayerInfo[playerid][pRank] == 7) if( time > 8000) { SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató rangal maximálisan 8000 mp-re tudod lecsukni!\"); return 1; } // Igazgató-helyettes
if(PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4)
{
// Terorr Elhárítási Központ
if(PlayerInfo[playerid][szervRang] == 1) if(time > 1000) { SendClientMessage(playerid, COLOR_GRAD2, \" Újonc rangal maximálisan 1000 mp-re tudod lecsukni!\"); return 1; } // Újonc
if(PlayerInfo[playerid][szervRang] == 2) if(time > 1300) { SendClientMessage(playerid, COLOR_GRAD2, \" Közlegény rangal maximálisan 1300 mp-re tudod lecsukni!\"); return 1; } // Közlegény
if(PlayerInfo[playerid][szervRang] == 3) if(time > 1500) { SendClientMessage(playerid, COLOR_GRAD2, \" Tiszt rangal maximálisan 1500 mp-re tudod lecsukni!\"); return 1; } // Tiszt
if(PlayerInfo[playerid][szervRang] == 4) if(time > 2000) { SendClientMessage(playerid, COLOR_GRAD2, \" Kommandós rangal maximálisan 2000 mp-re tudod lecsukni!\"); return 1; } // Kommandós
if(PlayerInfo[playerid][szervRang] == 5) if(time > 2500) { SendClientMessage(playerid, COLOR_GRAD2, \" Hadnagy rangal maximálisan 2500 mp-re tudod lecsukni!\"); return 1; } // Hadnagy
if(PlayerInfo[playerid][szervRang] == 6) if(time > 3000) { SendClientMessage(playerid, COLOR_GRAD2, \" FõHadnagy rangal maximálisan 3000 mp-re tudod lecsukni!\"); return 1; } // FõHadnagy
if(PlayerInfo[playerid][szervRang] == 7) if(time > 3500) { SendClientMessage(playerid, COLOR_GRAD2, \" Százados rangal maximálisan 3500 mp-re tudod lecsukni!\"); return 1; } // Százados
if(PlayerInfo[playerid][szervRang] == 8) if(time > 4500) { SendClientMessage(playerid, COLOR_GRAD2, \" Kapitány rangal maximálisan 4000 mp-re tudod lecsukni!\"); return 1; } // Kapitány
if(PlayerInfo[playerid][szervRang] == 9) if(time > 5000) { SendClientMessage(playerid, COLOR_GRAD2, \" MásodParancsnok rangal maximálisan 5000 mp-re tudod lecsukni!\"); return 1; } // MásodParancsnok
if(PlayerInfo[playerid][szervRang] == 10) if(time > 6000) { SendClientMessage(playerid, COLOR_GRAD2, \" Parancsnok rangal maximálisan 6000 mp-re tudod lecsukni!\"); return 1; } // Parancsnok
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
{
// Rendõrség
if(PlayerInfo[playerid][pRank] == 1) if(time > 500) { SendClientMessage(playerid, COLOR_GRAD2, \"Õrmester rangal maximálisan 500 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 2) if(time > 600) { SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzsõrmester rangal maximálisan 600 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 3) if(time > 700) { SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzsõrmester rangal maximálisan 700 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 4) if(time > 800) { SendClientMessage(playerid, COLOR_GRAD2, \"Zászlós rangal maximálisan 800 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 5) if(time > 900) { SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzszászlós rangal maximálisan 900 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 6) if(time > 1000) { SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzszászlós rangal maximálisan 1000 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 7) if(time > 1200) { SendClientMessage(playerid, COLOR_GRAD2, \"Hadnagy rangal maximálisan 1200 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 8) if(time > 1400) { SendClientMessage(playerid, COLOR_GRAD2, \"Fõhadnagy rangal maximálisan 1400 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 9) if(time > 1800) { SendClientMessage(playerid, COLOR_GRAD2, \"Százados rangal maximálisan 1800 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 10) if(time > 2000) { SendClientMessage(playerid, COLOR_GRAD2, \"Õrnagy rangal maximálisan 2000 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 11) if(time > 2300) { SendClientMessage(playerid, COLOR_GRAD2, \"Alezredes rangal maximálisan 2300 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 12) if(time > 2600) { SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes rangal maximálisan 2600 mp-re tudod lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 13) if(time > 3000) { SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 14) if(time > 3000) { SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); return 1; }
if(PlayerInfo[playerid][pRank] == 15) if(time > 3000) { SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); return 1; }
SafeResetPlayerWeapons(suspect);
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
format(stringx, sizeof(stringx), \"* %s lecsukott téged %d másodpercre | Oka: %s\", nev, time,result);
SendClientMessage(suspect, COLOR_LIGHTBLUE, stringx);
PlayerInfo[playerid][XP] += 100;
PlayerInfo[playerid][Penz] += 5000;
SafeGivePlayerMoney(playerid, 5000);
varoskassza -= 5000;
format(stringx, sizeof(stringx), \"Lecsuktad %s %d másodpercre! Kaptál 100 XP-t és 5000Ft prémiúmot!\", rag(giveplayername,3), time);
SendClientMessage(playerid, COLOR_LIGHTBLUE, stringx);
format(stringx, sizeof(stringx),\"<< %s lecsukta %s %d másodpercre | Oka: %s >>\", nev, rag(giveplayername,3), time,result);
ABroadCast(COLOR_ADMIN,stringx,2);
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][NNI/ TEK/ Rendõr] %s rendõr lecsukta %s %d másodpercre | Oka: %s\",y,m,d,h,mi,s, nev, rag(giveplayername,3), time,result);
LoOoG(stringx);
if(PlayerToPoint(6.0, playerid, -1301.0054,2708.2629,50.1141)) SetPlayerVirtualWorld(suspect,0);
new randomj;
randomj = random(sizeof(RandomJailSpawn));
SetPlayerPos(suspect, RandomJailSpawn[randomj][0], RandomJailSpawn[randomj][1], RandomJailSpawn[randomj][2]);
SetPlayerInterior(suspect, 10);
PlayerInfo[suspect][pJailTime] = time;
PlayerInfo[suspect][pJailed] = 3;
PlayerCuffed[suspect] = 0;
PlayerCuffedTime[suspect] = 0;
TogglePlayerControllable(suspect,1);
ClearAnimations(giveplayerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD2,\"Nem Vagy Rendõr!\");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2,\"Nem Vagy A Terorr Elhárítás Központ Tagja!\");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, \"Nem Vagy A Nemzeti Nyomozó Iroda Tagja!\");
}
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy a rendõrség bõrtõn oldali bejáratánál!\");
}
else
{
SendClientMessage(playerid, COLOR_GREY, \"Nincs senki a közelben.\");
return 1;
}
}
return 1;
}
-
Nos elõször is ez itt elég nagy hülyeség:
if(time < 30 || time > 8000)
{
SendClientMessage(playerid, COLOR_GRAD2, \"{FFFFFF}Információk:\");
SendClientMessage(playerid, COLOR_GRAD2, \"{33CCFF}1. Nemzeti Nyomozó Iroda: {FFFFFF}Az idõtartam 30 másodperc és 8000 másodperc között legyen\");
SendClientMessage(playerid, COLOR_GRAD2, \"{2641FE}2. Terorr Elhárítási Központ: {FFFFFF}Az idõtartam 30 másodperc és 6000 másodperc között legyen\");
SendClientMessage(playerid, COLOR_GRAD2, \"{0000FF}3. Rendõrség: {FFFFFF}Az idõtartam 30 másodperc és 3000 másodperc között legyen\");
return 1;
}
Ezt így kéne megoldani:
if(time < 30 || time > 8000)
{
if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 6)
return SendClientMessage(playerid, COLOR_GRAD2, \"{33CCFF}1. Nemzeti Nyomozó Iroda: {FFFFFF}Az idõtartam 30 másodperc és 8000 másodperc között legyen\");
else if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4)
return SendClientMessage(playerid, COLOR_GRAD2, \"{2641FE}2. Terorr Elhárítási Központ: {FFFFFF}Az idõtartam 30 másodperc és 6000 másodperc között legyen\");
else if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
return SendClientMessage(playerid, COLOR_GRAD2, \"{0000FF}3. Rendõrség: {FFFFFF}Az idõtartam 30 másodperc és 3000 másodperc között legyen\");
}
Tehát. Te azt írtad le, hogy bármilyen frakcióba van írassa ki mind a 3 szöveget. Így most csak a megfelelõ embernek írja ki, aki abba a frakcióba tartozik.
A rangokat pedig switchel oldanám meg. Egy példa:
switch(PlayerInfo[playerid][pRank])
{
case 1: if(time > 2000) return SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 2000 mp-re tudod lecsukni!\");
//És így tovább a többi ranggal
}
És látom, hogy általában return 1-et használsz, ha nem akarod, hogy tovább menjen a kód. Ezt elég azzal is(ha csak egy függvény, ha több akkor a return 1-et kell használni), hogy return SendClientMessage(playerid, -1, \"Ez egy visszatérési szöveg\"); és így nem megy tovább a kód, hanem kiírja.
UI.: Viszont, ha if-eknél akarsz maradni az elõbbihez akkor ajánlom így:
if(PlayerInfo[playerid][pRank] == 1 && time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 2000 mp-re tudod lecsukni!\"); } // Nyomozó
else if(PlayerInfo[playerid][pRank] == 2 && time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 3000 mp-re tudod lecsukni!\");
Ilyenkor szokott fontos és hasznos lenni a &&(és) és a ||(vagy) jel az if-eknél.
-
Ez eddig oké viszont valahol ott a baj ahol a frakciók / szervek lecsukása van. Sejtésem szerint rosszul van rendezve a függvény és ezért buggol. Viszont nincs rá ötletem hogy, lehetne ezt jól rendezni mert, 3 frakció/szerv van és úgy akarom hogy else-vel tagadja amit lent láttok is! A segítségeket elõre is köszönöm szépen!
if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 6)
{ // Nemzeti Nyomozó Iroda
if(PlayerInfo[playerid][pRank] == 1) if( time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 2000 mp-re tudod lecsukni!\"); } // Nyomozó
if(PlayerInfo[playerid][pRank] == 2) if( time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Ügynök rangal maximálisan 2500 mp-re tudod lecsukni!\"); } // Ügynök
if(PlayerInfo[playerid][pRank] == 3) if( time > 4000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Fõnyomozó rangal maximálisan 3000 mp-re tudod lecsukni!\"); } // Fõnyomozó
if(PlayerInfo[playerid][pRank] == 4) if( time > 5000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Különleges ügynök rangal maximálisan 4000 mp-re tudod lecsukni!\"); } // Különleges ügynök
if(PlayerInfo[playerid][pRank] == 5) if( time > 6000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Fõfelügyelõ rangal maximálisan 6000 mp-re tudod lecsukni!\"); } // Fõfelügyelõ
if(PlayerInfo[playerid][pRank] == 6) if( time > 7000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató-helyettes rangal maximálisan 7000 mp-re tudod lecsukni!\"); } // Igazgató-helyettes
if(PlayerInfo[playerid][pRank] == 7) if( time > 8000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató rangal maximálisan 8000 mp-re tudod lecsukni!\"); } // Igazgató-helyettes
if(PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4)
{
// Terorr Elhárítási Központ
if(PlayerInfo[playerid][szervRang] == 1) if(time > 1000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Újonc rangal maximálisan 1000 mp-re tudod lecsukni!\"); } // Újonc
if(PlayerInfo[playerid][szervRang] == 2) if(time > 1300) { return SendClientMessage(playerid, COLOR_GRAD2, \" Közlegény rangal maximálisan 1300 mp-re tudod lecsukni!\"); } // Közlegény
if(PlayerInfo[playerid][szervRang] == 3) if(time > 1500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Tiszt rangal maximálisan 1500 mp-re tudod lecsukni!\"); } // Tiszt
if(PlayerInfo[playerid][szervRang] == 4) if(time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Kommandós rangal maximálisan 2000 mp-re tudod lecsukni!\"); } // Kommandós
if(PlayerInfo[playerid][szervRang] == 5) if(time > 2500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Hadnagy rangal maximálisan 2500 mp-re tudod lecsukni!\"); } // Hadnagy
if(PlayerInfo[playerid][szervRang] == 6) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \" FõHadnagy rangal maximálisan 3000 mp-re tudod lecsukni!\"); } // FõHadnagy
if(PlayerInfo[playerid][szervRang] == 7) if(time > 3500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Százados rangal maximálisan 3500 mp-re tudod lecsukni!\"); } // Százados
if(PlayerInfo[playerid][szervRang] == 8) if(time > 4500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Kapitány rangal maximálisan 4000 mp-re tudod lecsukni!\"); } // Kapitány
if(PlayerInfo[playerid][szervRang] == 9) if(time > 5000) { return SendClientMessage(playerid, COLOR_GRAD2, \" MásodParancsnok rangal maximálisan 5000 mp-re tudod lecsukni!\"); } // MásodParancsnok
if(PlayerInfo[playerid][szervRang] == 10) if(time > 6000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Parancsnok rangal maximálisan 6000 mp-re tudod lecsukni!\"); } // Parancsnok
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
{
// Rendõrség
if(PlayerInfo[playerid][pRank] == 1) if(time > 500) { return SendClientMessage(playerid, COLOR_GRAD2, \"Õrmester rangal maximálisan 500 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 2) if(time > 600) { return SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzsõrmester rangal maximálisan 600 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 3) if(time > 700) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzsõrmester rangal maximálisan 700 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 4) if(time > 800) { return SendClientMessage(playerid, COLOR_GRAD2, \"Zászlós rangal maximálisan 800 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 5) if(time > 900) { return SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzszászlós rangal maximálisan 900 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 6) if(time > 1000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzszászlós rangal maximálisan 1000 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 7) if(time > 1200) { return SendClientMessage(playerid, COLOR_GRAD2, \"Hadnagy rangal maximálisan 1200 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 8) if(time > 1400) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõhadnagy rangal maximálisan 1400 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 9) if(time > 1800) { return SendClientMessage(playerid, COLOR_GRAD2, \"Százados rangal maximálisan 1800 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 10) if(time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Õrnagy rangal maximálisan 2000 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 11) if(time > 2300) { return SendClientMessage(playerid, COLOR_GRAD2, \"Alezredes rangal maximálisan 2300 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 12) if(time > 2600) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes rangal maximálisan 2600 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 13) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 14) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 15) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
SafeResetPlayerWeapons(suspect);
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
format(stringx, sizeof(stringx), \"* %s lecsukott téged %d másodpercre | Oka: %s\", nev, time,result);
SendClientMessage(suspect, COLOR_LIGHTBLUE, stringx);
PlayerInfo[playerid][XP] += 100;
PlayerInfo[playerid][Penz] += 5000;
SafeGivePlayerMoney(playerid, 5000);
varoskassza -= 5000;
format(stringx, sizeof(stringx), \"Lecsuktad %s %d másodpercre! Kaptál 100 XP-t és 5000Ft prémiúmot!\", rag(giveplayername,3), time);
SendClientMessage(playerid, COLOR_LIGHTBLUE, stringx);
format(stringx, sizeof(stringx),\"<< %s lecsukta %s %d másodpercre | Oka: %s >>\", nev, rag(giveplayername,3), time,result);
ABroadCast(COLOR_ADMIN,stringx,2);
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][NNI/ TEK/ Rendõr] %s rendõr lecsukta %s %d másodpercre | Oka: %s\",y,m,d,h,mi,s, nev, rag(giveplayername,3), time,result);
LoOoG(stringx);
if(PlayerToPoint(6.0, playerid, -1301.0054,2708.2629,50.1141)) SetPlayerVirtualWorld(suspect,0);
new randomj;
randomj = random(sizeof(RandomJailSpawn));
SetPlayerPos(suspect, RandomJailSpawn[randomj][0], RandomJailSpawn[randomj][1], RandomJailSpawn[randomj][2]);
SetPlayerInterior(suspect, 10);
PlayerInfo[suspect][pJailTime] = time;
PlayerInfo[suspect][pJailed] = 3;
PlayerCuffed[suspect] = 0;
PlayerCuffedTime[suspect] = 0;
TogglePlayerControllable(suspect,1);
ClearAnimations(giveplayerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD2,\"Nem Vagy Rendõr!\");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2,\"Nem Vagy A Terorr Elhárítás Központ Tagja!\");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, \"Nem Vagy A Nemzeti Nyomozó Iroda Tagja!\");
}
}
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy a rendõrség bõrtõn oldali bejáratánál!\");
}
else
{
SendClientMessage(playerid, COLOR_GREY, \"Nincs senki a közelben.\");
return 1;
}
}
return 1;
}
-
Tessék, talán így. (Lehet kitöröltem zárásokat amik kellenének, majd ellenõrizd)
if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 6)
{ // Nemzeti Nyomozó Iroda
if(PlayerInfo[playerid][pRank] == 1 && time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Nyomozó rangal maximálisan 2000 mp-re tudod lecsukni!\"); } // Nyomozó
if(PlayerInfo[playerid][pRank] == 2) if( time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Ügynök rangal maximálisan 2500 mp-re tudod lecsukni!\"); } // Ügynök
if(PlayerInfo[playerid][pRank] == 3) if( time > 4000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Fõnyomozó rangal maximálisan 3000 mp-re tudod lecsukni!\"); } // Fõnyomozó
if(PlayerInfo[playerid][pRank] == 4) if( time > 5000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Különleges ügynök rangal maximálisan 4000 mp-re tudod lecsukni!\"); } // Különleges ügynök
if(PlayerInfo[playerid][pRank] == 5) if( time > 6000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Fõfelügyelõ rangal maximálisan 6000 mp-re tudod lecsukni!\"); } // Fõfelügyelõ
if(PlayerInfo[playerid][pRank] == 6) if( time > 7000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató-helyettes rangal maximálisan 7000 mp-re tudod lecsukni!\"); } // Igazgató-helyettes
if(PlayerInfo[playerid][pRank] == 7) if( time > 8000) { return SendClientMessage(playerid, COLOR_GRAD2,\" Igazgató rangal maximálisan 8000 mp-re tudod lecsukni!\"); } // Igazgató-helyettes
}
else if(PlayerInfo[playerid][szervLeader] == 4 || PlayerInfo[playerid][szervTag] == 4)
{
// Terorr Elhárítási Központ
if(PlayerInfo[playerid][szervRang] == 1 && time > 1000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Újonc rangal maximálisan 1000 mp-re tudod lecsukni!\"); } // Újonc
if(PlayerInfo[playerid][szervRang] == 2) if(time > 1300) { return SendClientMessage(playerid, COLOR_GRAD2, \" Közlegény rangal maximálisan 1300 mp-re tudod lecsukni!\"); } // Közlegény
if(PlayerInfo[playerid][szervRang] == 3) if(time > 1500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Tiszt rangal maximálisan 1500 mp-re tudod lecsukni!\"); } // Tiszt
if(PlayerInfo[playerid][szervRang] == 4) if(time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Kommandós rangal maximálisan 2000 mp-re tudod lecsukni!\"); } // Kommandós
if(PlayerInfo[playerid][szervRang] == 5) if(time > 2500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Hadnagy rangal maximálisan 2500 mp-re tudod lecsukni!\"); } // Hadnagy
if(PlayerInfo[playerid][szervRang] == 6) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \" FõHadnagy rangal maximálisan 3000 mp-re tudod lecsukni!\"); } // FõHadnagy
if(PlayerInfo[playerid][szervRang] == 7) if(time > 3500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Százados rangal maximálisan 3500 mp-re tudod lecsukni!\"); } // Százados
if(PlayerInfo[playerid][szervRang] == 8) if(time > 4500) { return SendClientMessage(playerid, COLOR_GRAD2, \" Kapitány rangal maximálisan 4000 mp-re tudod lecsukni!\"); } // Kapitány
if(PlayerInfo[playerid][szervRang] == 9) if(time > 5000) { return SendClientMessage(playerid, COLOR_GRAD2, \" MásodParancsnok rangal maximálisan 5000 mp-re tudod lecsukni!\"); } // MásodParancsnok
if(PlayerInfo[playerid][szervRang] == 10) if(time > 6000) { return SendClientMessage(playerid, COLOR_GRAD2, \" Parancsnok rangal maximálisan 6000 mp-re tudod lecsukni!\"); } // Parancsnok
}
else if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
{
// Rendõrség
if(PlayerInfo[playerid][pRank] == 1 && time > 500) { return SendClientMessage(playerid, COLOR_GRAD2, \"Õrmester rangal maximálisan 500 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 2) if(time > 600) { return SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzsõrmester rangal maximálisan 600 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 3) if(time > 700) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzsõrmester rangal maximálisan 700 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 4) if(time > 800) { return SendClientMessage(playerid, COLOR_GRAD2, \"Zászlós rangal maximálisan 800 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 5) if(time > 900) { return SendClientMessage(playerid, COLOR_GRAD2, \"Tõrzszászlós rangal maximálisan 900 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 6) if(time > 1000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõtõrzszászlós rangal maximálisan 1000 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 7) if(time > 1200) { return SendClientMessage(playerid, COLOR_GRAD2, \"Hadnagy rangal maximálisan 1200 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 8) if(time > 1400) { return SendClientMessage(playerid, COLOR_GRAD2, \"Fõhadnagy rangal maximálisan 1400 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 9) if(time > 1800) { return SendClientMessage(playerid, COLOR_GRAD2, \"Százados rangal maximálisan 1800 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 10) if(time > 2000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Õrnagy rangal maximálisan 2000 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 11) if(time > 2300) { return SendClientMessage(playerid, COLOR_GRAD2, \"Alezredes rangal maximálisan 2300 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 12) if(time > 2600) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes rangal maximálisan 2600 mp-re tudod lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 13) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 14) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
if(PlayerInfo[playerid][pRank] == 15) if(time > 3000) { return SendClientMessage(playerid, COLOR_GRAD2, \"Ezredes feletti rangal maximálisan 3000 mp-re tudsz lecsukni!\"); }
}
else return SendClientMessage(playerid, -1, \"Nem vagy rendvédelmi tag!\");
SafeResetPlayerWeapons(suspect);
new nev[32];
GetPlayerName(playerid, nev, sizeof(nev));
format(stringx, sizeof(stringx), \"* %s lecsukott téged %d másodpercre | Oka: %s\", nev, time,result);
SendClientMessage(suspect, COLOR_LIGHTBLUE, stringx);
PlayerInfo[playerid][XP] += 100;
PlayerInfo[playerid][Penz] += 5000;
SafeGivePlayerMoney(playerid, 5000);
varoskassza -= 5000;
format(stringx, sizeof(stringx), \"Lecsuktad %s %d másodpercre! Kaptál 100 XP-t és 5000Ft prémiúmot!\", rag(giveplayername,3), time);
SendClientMessage(playerid, COLOR_LIGHTBLUE, stringx);
format(stringx, sizeof(stringx),\"<< %s lecsukta %s %d másodpercre | Oka: %s >>\", nev, rag(giveplayername,3), time,result);
ABroadCast(COLOR_ADMIN,stringx,2);
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][NNI/ TEK/ Rendõr] %s rendõr lecsukta %s %d másodpercre | Oka: %s\",y,m,d,h,mi,s, nev, rag(giveplayername,3), time,result);
LoOoG(stringx);
if(PlayerToPoint(6.0, playerid, -1301.0054,2708.2629,50.1141)) SetPlayerVirtualWorld(suspect,0);
new randomj;
randomj = random(sizeof(RandomJailSpawn));
SetPlayerPos(suspect, RandomJailSpawn[randomj][0], RandomJailSpawn[randomj][1], RandomJailSpawn[randomj][2]);
SetPlayerInterior(suspect, 10);
PlayerInfo[suspect][pJailTime] = time;
PlayerInfo[suspect][pJailed] = 3;
PlayerCuffed[suspect] = 0;
PlayerCuffedTime[suspect] = 0;
TogglePlayerControllable(suspect,1);
ClearAnimations(giveplayerid);
}
else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy a rendõrség bõrtõn oldali bejáratánál!\");
}
else
{
SendClientMessage(playerid, COLOR_GREY, \"Nincs senki a közelben.\");
return 1;
}
}
return 1;
}
-
Köszönöm! Viszont ha, már megnyitottam a témát úgyszint ehhez a parancshoz tartozik a dolog van egy ilyen része a parancsnak
format(stringx, sizeof(stringx),\"<< %s lecsukta %s %d másodpercre | Oka: %s >>\", nev, rag(giveplayername,3), time,result);
ebbe bugol az egyik névlekérés mégpedig a giveplayername. Ezt hogy lehetne javítani?
itt a névlekérés sorai is!
new giveplayername[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
Ezzel az a problémám hogy, mikor beírom a parancsot és lecsukja az elsõnél ki írja a játékos nevét aki lecsukta tökéletesen viszont a második %s-nél mindig id 0-nak a nevét írja! Elõre Köszönöm A Segítséget!
-
Próbáld meg, hogy átírod erre a névlekérést:
GetPlayerName(suspect, giveplayername, sizeof(giveplayername));
Mivel a suspect változóba belerakja a legközelebbi játékos ID-jét vagyis akit le fog csukni, és annak az ID-nek kéred le a nevét.
Azért az ID 0-nak kérte le, mert a giveplayerid változó értéke 0 volt, mivel nem abba a változóba mentette akit le akarsz csukni
-
Lucio nagyon szépen köszönöm a segítséget és a magyarázatot sokat tanultam belõle! Zárok és profi vagy :D
-
Ugyan... Semmiség :D