Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // forum.sa-mp.com/showthread.php?p=1448018
- #include <a_samp>
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define CREMA_ADMIN 0xFFFFD4D4
- static
- Armas[MAX_PLAYERS][13],
- Municion[MAX_PLAYERS][13],
- temp_arm[13][2],
- w_nombre[MAX_PLAYER_NAME],
- w_str[128],
- Timer_Armas[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- Timer_Armas[playerid] = SetTimerEx("Comprobar_Cheat", 10000, 1, "i", playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- for(new slot = 0; slot < 13; slot++)
- {
- Armas[playerid][slot] = 0;
- Municion[playerid][slot] = 0;
- }
- KillTimer(Timer_Armas[playerid]);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext, "/test", true))
- {
- EntregarArma(playerid, 29, 999);
- EntregarArma(playerid, 30, 999);
- EntregarArma(playerid, 31, 999);
- return 1;
- }
- if(!strcmp(cmdtext, "/armas", true))
- {
- if(IsPlayerAdmin(playerid))
- {
- new tienen = 0;
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- for (new W = 0; W < 13; W++)
- {
- GetPlayerWeaponData(playerid, W, temp_arm[W][0], temp_arm[W][1]);
- if(temp_arm[W][0] != Armas[playerid][W] || temp_arm[W][1] != Municion[playerid][W])
- {
- GetPlayerName(playerid, w_nombre, sizeof(w_nombre));
- format(w_str, sizeof(w_str), "Armas - %s.", w_nombre);
- SendClientMessage(playerid, CREMA_ADMIN, w_str);
- GetWeaponName(temp_arm[W][0], w_nombre,sizeof(w_nombre));
- format(w_str, sizeof(w_str), "%s - Municion: %i. ( cheat )", w_nombre, temp_arm[W][1]);
- SendClientMessage(playerid, COLOR_RED, w_str);
- tienen += 1;
- }
- if((temp_arm[W][0] == Armas[playerid][W] && temp_arm[W][1] == Municion[playerid][W]) && (Municion[playerid][W] != 0 && Armas[playerid][W] != 0))
- {
- GetPlayerName(playerid, w_nombre, sizeof(w_nombre));
- format(w_str, sizeof(w_str), "Armas - %s.", w_nombre);
- SendClientMessage(playerid, CREMA_ADMIN, w_str);
- GetWeaponName(temp_arm[W][0], w_nombre,sizeof(w_nombre));
- format(w_str, sizeof(w_str), "%s - Municion: %i.", w_nombre, temp_arm[W][1]);
- SendClientMessage(playerid, COLOR_GREEN, w_str);
- tienen += 1;
- }
- }
- }
- }
- if(tienen == 0)
- {
- SendClientMessage(playerid, CREMA_ADMIN, "* No hay usuarios con armas.");
- return 1;
- }
- }
- return 1;
- }
- return 0;
- }
- stock EntregarArma(playerid, arma, municion)
- {
- new slot = GetWeaponSlot(arma);
- if(Armas[playerid][slot] == arma) Municion[playerid][slot] += municion;
- else if(Armas[playerid][slot] != arma) Municion[playerid][slot] = municion;
- Armas[playerid][slot] = arma;
- GivePlayerWeapon(playerid, arma, municion);
- return 1;
- }
- forward Comprobar_Cheat(playerid);
- public Comprobar_Cheat(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- for (new W = 0; W < 13; W++)
- {
- GetPlayerWeaponData(playerid, W, temp_arm[W][0], temp_arm[W][1]);
- if(temp_arm[W][0] != Armas[playerid][W])
- {
- GetPlayerName(playerid, w_nombre, sizeof(w_nombre));
- format(w_str, sizeof(w_str), "**[AVISO]: - Revisá a %s(%i), posible cheat de armas ( /armas ). - **", w_nombre, playerid);
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerAdmin(i) && IsPlayerConnected(i))
- {
- SendClientMessage(i, COLOR_RED, w_str);
- }
- }
- }
- if(temp_arm[W][1] != Municion[playerid][W])
- {
- GetPlayerName(playerid, w_nombre, sizeof(w_nombre));
- format(w_str, sizeof(w_str), "**[AVISO]: - Revisá a %s(%i), posible cheat de municion ( /armas ). - **", w_nombre, playerid);
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerAdmin(i))
- {
- SendClientMessage(i, COLOR_RED, w_str);
- }
- }
- }
- }
- }
- return 1;
- }
- stock GetWeaponSlot(weaponid)
- {
- new slot;
- switch(weaponid)
- {
- case 0,1: slot = 0;
- case 2 .. 9: slot = 1;
- case 10 .. 15: slot = 10;
- case 16 .. 18, 39: slot = 8;
- case 22 .. 24: slot =2;
- case 25 .. 27: slot = 3;
- case 28, 29, 32: slot = 4;
- case 30, 31: slot = 5;
- case 33, 34: slot = 6;
- case 35 .. 38: slot = 7;
- case 40: slot = 12;
- case 41 .. 43: slot = 9;
- case 44 .. 46: slot = 11;
- }
- return slot;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement