#include a_samp#include sscanf2#include zcmd#define DIALOG_WARNS 123new id, str[128];public OnPlayerConnect(playerid) { SetPVarInt(playerid, \"Warn\", 0); return 1;}CMD:warn(playerid, params[]) { if(!GetPVarInt(playerid, \"Admin\")) return 0; new szazalek; if(sscanf(params, \"us[64]i\", id, params, szazalek)) return SendClientMessage(playerid, -1, \"Használat: /warn [playerid/név] [indok] [százalék(15,25,50)]\"); if(!(1 < strlen(params) < 65)) return SendClientMessage(playerid, -1, \"Hiba. Az indoknak min. 2, max. 64 karakternek kell lennie!\"); if(szazalek != 15 || szazalek != 25 || szazalek != 50) return SendClientMessage(playerid, -1, \"Figyelmeztetése szintek: 15, 25 vagy 50\"); SetPVarInt(id, \"Warn\", GetPVarInt(id, \"Warn\")+szazalek); if(GetPVarInt(id, \"Warn\") >= 100) { format(str, sizeof(str), \"%s-nak/nek kigyûlt a 100 százalék figyelmeztetése, ezért kickelve lett a szerverrõl!\", Name(id)); SendClientMessageToAll(-1, str); Kick(id); return 1; }else{ format(str, sizeof(str), \"Admin %s %i százalék figyelmeztetésben részesítette %s-t! Indok: %s\", Name(playerid), szazalek, Name(id), params); SendClientMessageToAll(-1, str); } return 1;}CMD:unwarn(playerid, params[]) { if(!GetPVarInt(playerid, \"Admin\")) return 0; if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, -1, \"Használat: /warn [playerid/név]\"); if(GetPVarInt(id, \"Warn\") > 0) return SendClientMessage(playerid, -1, \"Hiba. Ennek a játékosnak nincs figyelmeztetése\"); SetPVarInt(id, \"Warn\", 0); format(str, sizeof(str), \"Admin, %s levette a figyelmeztetést %s alól!\", Name(playerid), Name(id)); SendClientMessageToAll(-1, str); return 1;}CMD:warns(playerid) { new count, string[512]; for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(GetPVarInt(i, \"Warn\") > 0) { format(str, sizeof(str), \"%i. %s - %i százalék\\n\", count, Name(i), GetPVarInt(i, \"Warn\")); strcat(string, str); count ++; } } ShowPlayerDialog(playerid, DIALOG_WARNS, DIALOG_STYLE_MSGBOX, \"Figyelmeztetések:\", string, \"Oké\", \"\"); return 1;}Name(playerid) { new n[24]; GetPlayerName(playerid, n, 24); return n;}
#include <a_samp>#include <zcmd>#include <sscanf>#include <dini>#include <mester> //Saját függvénykönyvtár.stock PName(playerid){new nev[MAX_PLAYER_NAME];GetPlayerName(playerid,nev,sizeof(nev));return nev;}stock wFile(playerid){new file[40];format(file,sizeof(file),\"Warn/%s.ini\",PName(playerid));return file;}CMD:warn(playerid,params[]){if(!IsPlayerAdmin(playerid)) return msg(playerid,piros,\"Nem vagy Rcon Admin\");new id,szazalek;new oka[60];if(sscanf(params,\"uis[60]\",id,szazalek,oka)) return msg(playerid,piros,\"Használat: /warn [iD/Névrészlet] [Warn százalék] [Oka]\");if(szazalek <= 0) return msg(playerid,piros,\"A százalék 1 - 100 - ig lehetséges\");if(szazalek >= 101) return msg(playerid,piros,\"A százalék 1 - 100 - ig lehetséges\");else if(id == INVALID_PLAYER_ID) return msg(playerid,piros,\"Nem létezõ játékos.\");else{dini_Create(wFile(id));dini_IntSet(wFile(id),\"warn\",szazalek);dini_Set(wFile(id),\"nev\",PName(id));new string[110];format(string,sizeof(string),\"%s warnolva lett %s által | Oka: %s | Figyelmeztetése: %i\",PName(playerid),PName(id),oka,szazalek);msgall(RED,string);}return 1;}CMD:unwarn(playerid,params[]){if(!IsPlayerAdmin(playerid)) return msg(playerid,piros,\"Nem vagy RCon admin\");new id;new oka[60];if(sscanf(params,\"us[60]\",id,oka)) return msg(playerid,piros,\"Használat: /unwarn [iD/Névrészlet] [Oka]\");else if(id == INVALID_PLAYER_ID) return msg(playerid,piros,\"Nem létezõ játékos\");else{ dini_Remove(wFile(id)); new string[128]; format(string,sizeof(string),\"%s unwarnolta %s -t | Oka: %s\",PName(playerid),PName(id),oka); msgall(RED,string);}return 1;}CMD:warns(playerid,params[]){msg(playerid,feher,\"Játékosok warnjai:\");for(new i; i < MAX_PLAYERS; i++){if(dini_Exists(wFile(i))){ new string[60]; format(string,sizeof(string),\"~~ %s ~~ %i százalék\",dini_Get(wFile(i),\"nev\"),dini_Int(wFile(i),\"warn\")); msg(playerid,RED,string);}}return 1;}public OnFilterScriptInit(){SetTimer(\"warncheck\",2000,true);return 1;}forward warncheck();public warncheck(){for(new i; i < MAX_PLAYERS; i++){ if(dini_Exists(wFile(i))) { if(dini_Int(wFile(i),\"warn\") >= 100) { new string[100]; format(string,sizeof(string),\"%s kickelve lett a szerver által | Oka: 100 százalékos Warn\",PName(i)); msgall(RED,string); dini_Remove(wFile(i)); Kick(i); } }}}