#include <a_samp>#include <Dini>#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 // dcmdhez kell#define MAX_WANTED_LEVEL 6 // Itt állítod be, mennyi legyen a maximum körözési szint#define ResetWantedLevel true // Itt tudod engedélyezni, hogy nullázza a körözési szintet halál után (true = engedélyez || false = tílt)new File[64];enum PlayerInfo {pWantedLevel // Ide menti el/tölti be ideiglenesen azt, hogy mennyi a körözési szint};main(){print(\"\\n----------------------------------\");print(\" WantedLevel System Loaded...\");print(\"----------------------------------\\n\");}new pInfo[MAX_PLAYERS][PlayerInfo]; // Az enumhoz kell...public OnPlayerConnect(playerid) // Ha a játékos csatlakozik..{ format(File, 64, \"Jatekos/%s.ini\", pName(playerid));if(dini_Exists(File)) // ..és létezik a dini fájl..{pInfo[playerid][pWantedLevel] = dini_Int(File, \"WantedLevel\"); // ..akkor állítsa át a változó értékét arra, amit fáljból kiolvasott..}else // ..viszont, ha nem létezik a dini fájl..{dini_Create(File); // ..csinálja meg..dini_IntSet(File, \"WantedLevel\", 0); // ..írja bele hogy WantedLevel=0.pInfo[playerid][pWantedLevel] = dini_Int(File, \"WantedLevel\");}return 1;}public OnPlayerDisconnect(playerid) // Ha a játékos kilép..{ format(File, 64, \"Jatekos/%s.ini\", pName(playerid)); // a dinidini_IntSet(File, \"WantedLevel\", pInfo[playerid][pWantedLevel]); // ..akkor mentse el a dini fáljba, amit az enumba tárolt.new string[64];format(string, 64, \"%s WL: %d\", pName(playerid), pInfo[playerid][pWantedLevel]);print(string);return 1;}public OnPlayerSpawn(playerid) // Ha a játékos lespawnolt..{ SetPlayerWantedLevel(playerid, pInfo[playerid][pWantedLevel]); // ..állítsa át a körözési szintet arra, amit tartalmaz az enum változó.new string[128];format(string,128,\"Körözési szinted: %d\", pInfo[playerid][pWantedLevel]); // Formázza a körözési szintet..SendClientMessage(playerid, -1, string); // ..és kiírja mennyi a körözési szint}public OnPlayerDeath(playerid, killerid, reason) // Ha a játékos meghalt..{ #if ResetWantedLevel == true // ..és engedélyezve van az, hogy nullázza a körözési szintet.. SetPlayerWantedLevel(playerid, 0); // ..akkor nullázza.#endif//Ha false-ra írod át a true-t akkor az OnPlayerSpawn-nál újra átírja arra, ami volt.return 1;}dcmd_setwantedlevel(playerid,params[]) // parancs{new Index;new tmp[256]; tmp = strtok(params,Index); // playerid/játékosnévnew tmp2[256]; tmp2 = strtok(params,Index); // körözési szintif(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) // ha nem írt be playerid-t || ha nem írt be WantedLevel-t || ha a WantedLevel nem szám{SendClientMessage(playerid, -1, \"HASZNÁLAT: /setwantedlevel [JátékosID] [wantedlevel)]\"); // Hibaüzenetreturn 1;}new player2 = strval(tmp); // kiválasztott játékos ID/játékosnévnew wantedlevel = strval(tmp2); // WantedLevelif(wantedlevel <= MAX_WANTED_LEVEL) // Ha a beírt WantedLevel(körözési szint) nem nagyobb mint a MAX_WANTED_LEVEL (alapból 6){ if(IsPlayerConnected(player2)) { new string[128]; SetPlayerWantedLevel(player2, wantedlevel); // Átcseréli arra a körözési szintet amit beírtál a playerid után format(string,128,\"%s Körözési szintje: %d\", pName(player2), wantedlevel); // játékos körözési szintjének formázása SendClientMessageToAll(-1, string); // Elküldi mindenkinek, hogy a kiválasztott játékosnak mennyi a körözési szintje pInfo[player2][pWantedLevel] = wantedlevel; // Átcseréli az enum változót arra ami be lett írva}else{ SendClientMessage(playerid, -1, \"Játékos nincs csatlakozva\");}}else // Ha többet írtál be mint amennyi be van állítva a MAX_WANTED_LEVEL-nél..{ new string[128]; format(string, 128, \"Maximum WantedLevel: %d\", MAX_WANTED_LEVEL); // ..akkor ez a hibaüzenet jön ki.SendClientMessage(playerid, -1, string);}return 1;}dcmd_wantedlist(playerid, params[]){#pragma unused params //ez arra szolgál, hogy ne dobjon nekünk \"symbol never use\" warningot.. new strwl[128];for(new i = 0; i < MAX_PLAYERS; i++) //ez a ciklus szolgál arra, hogy listázzuk az összeset akinek több mint 0 a körözési szint{if(pInfo[pWantedLevel] > 0) //hogyha a körözési szintje nagyobb mint egy, csak akkor listázza{ format(strwl, 128, \"Név: %s || Körözésiszint: %i\",pName(i), pInfo[pWantedLevel]); //formázzuk a küldendõ szöveget SendClientMessage(playerid, -1, strwl); //az strwl a küldendõ szöveg}}return 1;}public OnPlayerCommandText(playerid, cmdtext[]){dcmd(setwantedlevel,14,cmdtext); // A dcmd-hez kelldcmd(wantedlist,10,cmdtext);return 0;} /*Ezzel tudod lekérni a játékos nevét egyszerûbbenpl:new string[128];format(string,128,\"A neved: %s\", pName(playerid));SendClientMessage(playerid, -1, string);*/new pname[24];pName(playerid){GetPlayerName(playerid, pname, sizeof(pname));return pname;}stock IsNumeric(string[]){for (new i = 0, j = strlen(string); i < j; i++){if (string > \'9\' || string < \'0\') return 0;}return 1;}
GameMode-ba illeszd bele (saját script, írj ha valami hibát találsz) #include <a_samp>#include <Dini>#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 // dcmdhez kell#define MAX_WANTED_LEVEL 6 // Itt állítod be, mennyi legyen a maximum körözési szint#define ResetWantedLevel true // Itt tudod engedélyezni, hogy nullázza a körözési szintet halál után (true = engedélyez || false = tílt)new File[64];enum PlayerInfo {pWantedLevel // Ide menti el/tölti be ideiglenesen azt, hogy mennyi a körözési szint};main(){print(\"\\n----------------------------------\");print(\" WantedLevel System Loaded...\");print(\"----------------------------------\\n\");}new pInfo[MAX_PLAYERS][PlayerInfo]; // Az enumhoz kell...public OnPlayerConnect(playerid) // Ha a játékos csatlakozik..{ format(File, 64, \"Jatekos/%s.ini\", pName(playerid));if(dini_Exists(File)) // ..és létezik a dini fájl..{pInfo[playerid][pWantedLevel] = dini_Int(File, \"WantedLevel\"); // ..akkor állítsa át a változó értékét arra, amit fáljból kiolvasott..}else // ..viszont, ha nem létezik a dini fájl..{dini_Create(File); // ..csinálja meg..dini_IntSet(File, \"WantedLevel\", 0); // ..írja bele hogy WantedLevel=0.pInfo[playerid][pWantedLevel] = dini_Int(File, \"WantedLevel\");}return 1;}public OnPlayerDisconnect(playerid) // Ha a játékos kilép..{ format(File, 64, \"Jatekos/%s.ini\", pName(playerid)); // a dinidini_IntSet(File, \"WantedLevel\", pInfo[playerid][pWantedLevel]); // ..akkor mentse el a dini fáljba, amit az enumba tárolt.new string[64];format(string, 64, \"%s WL: %d\", pName(playerid), pInfo[playerid][pWantedLevel]);print(string);return 1;}public OnPlayerSpawn(playerid) // Ha a játékos lespawnolt..{ SetPlayerWantedLevel(playerid, pInfo[playerid][pWantedLevel]); // ..állítsa át a körözési szintet arra, amit tartalmaz az enum változó.new string[128];format(string,128,\"Körözési szinted: %d\", pInfo[playerid][pWantedLevel]); // Formázza a körözési szintet..SendClientMessage(playerid, -1, string); // ..és kiírja mennyi a körözési szint}public OnPlayerDeath(playerid, killerid, reason) // Ha a játékos meghalt..{ #if ResetWantedLevel == true // ..és engedélyezve van az, hogy nullázza a körözési szintet.. SetPlayerWantedLevel(playerid, 0); // ..akkor nullázza.#endif//Ha false-ra írod át a true-t akkor az OnPlayerSpawn-nál újra átírja arra, ami volt.return 1;}dcmd_setwantedlevel(playerid,params[]) // parancs{new Index;new tmp[256]; tmp = strtok(params,Index); // playerid/játékosnévnew tmp2[256]; tmp2 = strtok(params,Index); // körözési szintif(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) // ha nem írt be playerid-t || ha nem írt be WantedLevel-t || ha a WantedLevel nem szám{SendClientMessage(playerid, -1, \"HASZNÁLAT: /setwantedlevel [JátékosID] [wantedlevel)]\"); // Hibaüzenetreturn 1;}new player2 = strval(tmp); // kiválasztott játékos ID/játékosnévnew wantedlevel = strval(tmp2); // WantedLevelif(wantedlevel <= MAX_WANTED_LEVEL) // Ha a beírt WantedLevel(körözési szint) nem nagyobb mint a MAX_WANTED_LEVEL (alapból 6){ if(IsPlayerConnected(player2)) { new string[128]; SetPlayerWantedLevel(player2, wantedlevel); // Átcseréli arra a körözési szintet amit beírtál a playerid után format(string,128,\"%s Körözési szintje: %d\", pName(player2), wantedlevel); // játékos körözési szintjének formázása SendClientMessageToAll(-1, string); // Elküldi mindenkinek, hogy a kiválasztott játékosnak mennyi a körözési szintje pInfo[player2][pWantedLevel] = wantedlevel; // Átcseréli az enum változót arra ami be lett írva}else{ SendClientMessage(playerid, -1, \"Játékos nincs csatlakozva\");}}else // Ha többet írtál be mint amennyi be van állítva a MAX_WANTED_LEVEL-nél..{ new string[128]; format(string, 128, \"Maximum WantedLevel: %d\", MAX_WANTED_LEVEL); // ..akkor ez a hibaüzenet jön ki.SendClientMessage(playerid, -1, string);}return 1;}dcmd_wantedlist(playerid, params[]){#pragma unused params //ez arra szolgál, hogy ne dobjon nekünk \"symbol never use\" warningot.. new strwl[128];for(new i = 0; i < MAX_PLAYERS; i++) //ez a ciklus szolgál arra, hogy listázzuk az összeset akinek több mint 0 a körözési szint{if(pInfo[pWantedLevel] > 0) //hogyha a körözési szintje nagyobb mint egy, csak akkor listázza{ format(strwl, 128, \"Név: %s || Körözésiszint: %i\",pName(i), pInfo[pWantedLevel]); //formázzuk a küldendõ szöveget SendClientMessage(playerid, -1, strwl); //az strwl a küldendõ szöveg}}return 1;}public OnPlayerCommandText(playerid, cmdtext[]){dcmd(setwantedlevel,14,cmdtext); // A dcmd-hez kelldcmd(wantedlist,10,cmdtext);return 0;} /*Ezzel tudod lekérni a játékos nevét egyszerûbbenpl:new string[128];format(string,128,\"A neved: %s\", pName(playerid));SendClientMessage(playerid, -1, string);*/new pname[24];pName(playerid){GetPlayerName(playerid, pname, sizeof(pname));return pname;}stock IsNumeric(string[]){for (new i = 0, j = strlen(string); i < j; i++){if (string > \'9\' || string < \'0\') return 0;}return 1;}