#include < a_samp >#include < zcmd >#include < sscanf >#include < dini >#define FILTERSCRIPT#define narancs 0xFF9933AA#define szurke (0xAFAFAFAA)#define citrom (0xFFFF00AA)#define piros (0xFF0000AA)#define zold (0x33AA33AA)#define feher (0xFFFFFFAA)#define fekete 0x000000#define neon 0x00FFFFFF#undef MAX_PLAYERS#define MAX_PLAYERS 30enum badmin{admin,ban,as,aname[25],vip}new pi[MAX_PLAYERS][badmin];new lepve[MAX_PLAYERS];new str[128];new rpw[MAX_PLAYERS];public OnPlayerConnect(playerid){nullazas(playerid);format(str,sizeof(str),\"%s belépett a szerverre.\",nev(playerid));SendClientMessageToAll(narancs,str);new fajl[128];format(fajl,sizeof(fajl),\"/badmin/%s.ini\",nev(playerid));if(!fexist(fajl)){ ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,\"Regisztráció\",\"Írj be egy tetszõleges jelszót.\\nA késõbbiekben is ezt fogod használni.\",\"Oké\",\"Mégse\");}else{ ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,\"Belépés\",\"Írd be a jelszavad.\",\"Oké\",\"Mégse\");}return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){if(dialogid == 1){ if(!response) Kick(playerid); new file[128]; if(strlen(inputtext) == 0) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót.\\nA késõbbiekben is ezt fogod használni.\", \"Oké\", \"Mégse\"); return 0; } format(file,sizeof(file),\"/badmin/%s.ini\",nev(playerid)); if(!fexist(file)) { dini_Create(file); nullazas(playerid); dini_Set(file,\"jelszo\", inputtext); save(playerid); ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,\"Belépés\",\"Írd be a jelszavad.\",\"Oké\",\"Mégse\"); printf(\"%s sikeresen regisztrált.\", nev(playerid)); }}if(dialogid == 2){ new file[128]; format(file,sizeof(file),\"/badmin/%s.ini\",nev(playerid)); if(!response) Kick(playerid); new pw[64]; format(pw,64,\"%s\",dini_Get(file,\"jelszo\")); if(!strcmp(inputtext, pw, false)) { SendClientMessage(playerid,zold,\"Sikeres belépés.\"); load(playerid); lepve[playerid] = 1; if(pi[playerid][ban] == 1) { Ban(playerid); } } else { rpw[playerid] ++; SendClientMessage(playerid,piros,\"Rossz jelszó.\"); if(rpw[playerid] == 2) { Kick(playerid); } ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,\"Belépés\",\"Írd be a jelszavad.\",\"Oké\",\"Mégse\"); }}return 1;}public OnPlayerDisconnect(playerid){ format(str,sizeof(str),\"%s kilépett a szerverrõl.\",nev(playerid));SendClientMessageToAll(narancs,str);if(lepve[playerid] == 1){ save(playerid);}nullazas(playerid);return 1;}CMD:adadmin(playerid,params[]){if(pi[playerid][admin] == 3 || IsPlayerAdmin(playerid)){ new id,szint; new anev[24]; if(sscanf(params,\"uds\",id,szint)) return SendClientMessage(playerid,szurke,\"Használat:/adadmin [id][szint(0-3)] [adminnév]\"); if(szint >= 0 && szint <= 3) { format(str,128,\"%s %d adminjogot adott.\",pi[playerid][aname],szint); msg(id,str); format(str,128,\"%st kinevezted %d adminnak.\",nev(id),szint); msg(playerid,str); pi[id][admin] = szint; format(pi[id][aname],24,\"%s\",anev);} else msg(playerid, \"Az adminszint 0 és 3 között lehet.\");} else msg(playerid,\"Nem vagy admin.\");return 1;}CMD:a(playerid, params[]){if(pi[playerid][admin] >= 1 || pi[playerid][as] != 0){new szoveg[128]; if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,feher,\"Használat: /a [szöveg]\"); format(str, sizeof(str), \"AdminChat: %s(%d): %s\", pi[playerid][aname], pi[playerid][admin], szoveg);for(new i=0; i<MAX_PLAYERS; i++){ if(pi[admin] >= 1 ||pi[as] != 0) { SendClientMessage(i, zold, str); }}} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin.\"); return 1; }return 1;}CMD:asay(playerid, params[]){if(pi[playerid][admin] >= 1 || pi[playerid][as] != 0){new szoveg[128]; if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,feher,\"Használat: /asay [szöveg]\"); if(pi[playerid][admin] != 0) { format(str, sizeof(str), \"Admin %s: %s\", pi[playerid][aname], szoveg); SendClientMessageToAll(neon,str);}else if(pi[playerid][as] != 0){ format(str, sizeof(str), \"Adminsegéd %s: %s\", nev(playerid), szoveg); SendClientMessageToAll(neon,str);}} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin.\"); return 1; }return 1;}CMD:adminok(playerid, params[]){SendClientMessage(playerid, feher, \"Elérhetõ adminisztrátorok és segédek:\");for(new i=0; i<MAX_PLAYERS; i++){ if(pi[admin] != 0) { format(str, 128, \"Admin %s | Szint: %d\", pi[aname],pi[admin]); SendClientMessage(playerid, citrom, str);}else if(pi[as] == 1) { format(str, 128, \"Adminsegéd %s\", nev(i)); SendClientMessage(playerid, citrom, str);}}return 1;}CMD:as(playerid, params[]){if(pi[playerid][admin] >= 1){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /as [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, szurke, \"Nincs ilyen ID!\"); SendClientMessage(playerid, feher, \"Kinevezted adminsegédnek.\"); SendClientMessage(id, feher, \"Egy adminisztrátor kinevezett téged adminsegédnek.\"); pi[id][as] = 1; return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin.\"); return 1; }}CMD:vip(playerid, params[]){if(pi[playerid][admin] == 3){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /vip [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, szurke, \"Nincs ilyen ID!\"); SendClientMessage(playerid, feher, \"Kinevezted VIP-nek.\"); SendClientMessage(id, feher, \"Egy adminisztrátor kinevezett téged VIP-nek..\"); pi[id][vip] = 1; return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy fõadmin.\"); return 1; }}CMD:vipel(playerid, params[]){if(pi[playerid][admin] == 3){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /vipel [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, szurke, \"Nincs ilyen ID!\"); SendClientMessage(playerid, feher, \"Elvetted a VIP-et.\"); SendClientMessage(id, feher, \"Egy adminisztrátor elvette a VIP jogodat.\"); pi[id][vip] = 0; return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy fõadmin.\"); return 1; }}CMD:asel(playerid, params[]){if(pi[playerid][admin] >= 1){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /asel [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, szurke, \"Nincs ilyen ID!\"); SendClientMessage(playerid, feher, \"Elvetted az adminsegéd jogát.\"); SendClientMessage(id, feher, \"Egy adminisztrátor elvette az adminsegéd rangodat.\"); pi[id][as] = 0;} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin.\"); return 1; }return 1;}CMD:kick(playerid, params[]){if(pi[playerid][admin] >= 1 || pi[playerid][as] == 1){ if(pi[playerid][as] == 1){ new id; new indok[64]; if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,feher,\"Használat: /kick [id][indok]\"); format(str, 128, \"-= %s ki lett rúgva %s által. |=| Indoklás: %s =-\", nev(id), nev(playerid), indok); SendClientMessageToAll(piros, str); Kick(id);}else if(pi[playerid][admin] >= 1){ new id; new indok[64]; if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,feher,\"Használat: /kick [id][indok]\"); format(str, 128, \"-= %s ki lett rúgva %s által. |=| Indoklás: %s =-\", nev(id), pi[playerid][aname], indok); SendClientMessageToAll(piros, str); Kick(id);}} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin, vagy haladó adminsegéd.\"); }return 1;}CMD:ban(playerid, params[]){if(pi[playerid][admin] >= 1){new id;new indok[64];if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,feher,\"Használat: /ban [id][indok]\");pi[id][ban] = 1;format(str, 128, \"-= %s ki lett tiltva %s által. |=| Indoklás: %s =-\", nev(id), pi[playerid][aname], indok);SendClientMessageToAll(piros, str);Ban(id);return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy egyes szintû admin.\"); return 1; }}CMD:goto(playerid, params[]){if(pi[playerid][admin] >= 1 || pi[playerid][as] == 1){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /goto [id]\");new Float: X, Float: Y, Float: Z;GetPlayerPos(id, X, Y, Z);SetPlayerPos(playerid, X+2, Y, Z);return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy admin\"); return 1; }}CMD:get(playerid, params[]){if(pi[playerid][admin] >= 2){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,feher,\"Használat: /get [id]\");new Float: X, Float: Y, Float: Z;GetPlayerPos(playerid, X, Y, Z);SetPlayerPos(id, X+2, Y, Z);return 1;} else { SendClientMessage(playerid, szurke, \"Nem vagy admin\"); return 1; }}CMD:veh(playerid,params[]){if(pi[playerid][admin] >= 1 || pi[playerid][vip] != 0){new kocsi;if(sscanf(params,\"d\",kocsi)) return SendClientMessage(playerid,feher,\"Használat: /veh [kocsiid]\");new Float: X, Float: Y, Float: Z;GetPlayerPos(playerid, X, Y, Z);CreateVehicle(kocsi,X,Y+2,Z,0,0,0,600);msg(playerid,\"Kocsi lekérve.\");} else msg(playerid,\"Nem vagy 2es admin.\");return 1;}CMD:spec(playerid,params[]){if(pi[playerid][admin] >= 1){ new spec; if(sscanf(params,\"u\",spec)) return SendClientMessage(playerid, feher, \"Használat: /spec [id]\"); TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, spec); SendClientMessage(playerid, feher, \"Megfigyelés bekapcsolva.\"); SetPlayerInterior(playerid,GetPlayerInterior(spec)); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(spec));} else { SendClientMessage(playerid, piros, \"Nem vagy admin.\"); }return 1;}CMD:ip(playerid,params[]){if(pi[playerid][admin] >= 1 || pi[playerid][vip] != 0){ new id; if(sscanf(params,\"u\",id)) return SendClientMessage(playerid, feher, \"Használat: /ip [id]\"); new ipci[16]; GetPlayerIp(id,ipci,16); format(str,128,\"%s IP: %s\",nev(id),ipci); SendClientMessage(playerid, -1, str);} else { SendClientMessage(playerid, piros, \"Nem vagy admin.\"); }return 1;}CMD:specki(playerid){if(pi[playerid][admin] >= 1){ SendClientMessage(playerid, feher, \"Megfigyelés kikapcsolva.\"); TogglePlayerSpectating(playerid, 0); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,0,0,5);} else { SendClientMessage(playerid, piros, \"Nem vagy admin.\"); }return 1;}stock nev(id){new name[MAX_PLAYER_NAME];GetPlayerName(id,name,sizeof(name));return name;}stock msg(id,uzi[]){SendClientMessage(id,feher,uzi);}stock nullazas(id){lepve[id] = 0;pi[id][admin] = 0;pi[id][ban] = 0;pi[id][as] = 0;pi[id][vip] = 0;rpw[id] = 0;}stock save(id){new fajl[128];format(fajl,sizeof(fajl),\"/badmin/%s.ini\",nev(id));if(fexist(fajl)){ dini_IntSet(fajl,\"admin\", pi[id][admin]); dini_IntSet(fajl,\"ban\", pi[id][ban]); dini_IntSet(fajl,\"as\", pi[id][as]); dini_IntSet(fajl,\"vip\", pi[id][vip]); dini_Set(fajl,\"aname\", pi[id][aname]); dini_IntSet(fajl,\"penz\",GetPlayerMoney(id)); dini_IntSet(fajl,\"pont\",GetPlayerScore(id));}}stock load(id){new fajl[128];format(fajl,sizeof(fajl),\"/badmin/%s.ini\",nev(id));if(fexist(fajl)){pi[id][admin] = dini_Int(fajl,\"admin\");pi[id][ban] = dini_Int(fajl,\"ban\");pi[id][as] = dini_Int(fajl,\"as\");pi[id][vip] = dini_Int(fajl,\"vip\");format(pi[id][aname],24,\"%s\",dini_Get(fajl,\"aname\"));GivePlayerMoney(id,dini_Int(fajl,\"penz\"));SetPlayerScore(id,dini_Int(fajl,\"pont\"));}}
#include < a_samp >#include < dini >new name[ MAX_PLAYER_NAME ], file[ 128 ];public OnPlayerConnect( playerid ){ GetPlayerName( playerid, name, MAX_PLAYER_NAME ); format( file, sizeof( file ), \"Pénz/%s.ini\", name ); if( !dini_Exists( file ) ) { dini_Create( file ); dini_IntSet( file, \"Pénze\", 0 ); } else GivePlayerMoney( playerid, dini_Int( file, \"Pénz\" ) ); return 1;}public OnPlayerDisconnect( playerid, reason ){ GetPlayerName( playerid, name, MAX_PLAYER_NAME ); format( file, sizeof( file ), \"Pénz/%s.ini\", name ); dini_IntSet( file, \"Pénze\", GetPlayerMoney( playerid ) ); return 1;}