Serverside for weapons
#2

Quote:
Originally Posted by jamal1992
Посмотреть сообщение
I started o make anti-cheat and i don`t have ideea how to make that serverside for weapons, anybody can help me with informations ?
Simple example:
PHP код:
// Init checker for players
static bool:cheater[MAX_PLAYER_NAME];
stock GivePlayerValidWeapon(playeridweaponidammo) {    
     new 
         
str[16]
     ;
     
format(strsizeof(str), "WEAPON%d"weaponid);
     
SetPVarInt(playeridstrweaponid);
     
format(strsizeof(str), "AMMO%d"weaponid);
     
SetPVarInt(playeridstrGetrPVarInt(playeridstr) + ammo);
     
GivePlayerWeapon(playeridweaponidammo);   
}
stock GetPlayerValidAmmo(playerid) {
     new 
weaponid GetPlayerWeapon(playerid);
     if (!
weaponid) return 0;
     new 
         
str[16]
     ;
     
format(strsizeof(str), "AMMO%d"weaponid);
     return 
GetPVarInt(playeridstr);
}
stock GetPlayerValidWeapon(playerid) {
     new 
weaponid GetPlayerWeapon(playerid);
     if (!
weaponid) return 0;
     new 
         
str[16]
     ;
     
format(strsizeof(str), "WEAPON%d"weaponid);
     return 
GetPVarInt(playeridstr);
}
stock ResetPlayerValidWeapon(playerid) {
     new 
         
str[16]
     ;
     for (new 
i47i++) {
         
format(strsizeof(str), "AMMO%d"i);
         
DeletePVar(playeridstr);
         
format(strsizeof(str), "WEAPON%d"i);
         
DeletePVar(playeridstr);
     }
}
forward KickPlayer(playerid);
public 
KickPlayer(playerid) {
     
Kick(playerid);
     return 
true;
}
public 
OnPlayerSpawn(playerid) {
     
GivePlayerValidWeapon(playerid31200); // Give M4 ammo x200
     
return true;
}
public 
OnPlayerDisconnect(playeridreason) {
     
ResetPlayerValidWeapon(playerid); // Reset all weapons
     
cheater[playerid] = false;
     return 
true;
}
public 
OnPlayerUpdate(playerid) {
     if (
GetPlayerValidWeapon(playerid) != GetPlayerWeapon(playerid) && !cheater[playerid]) { // Cheсk hack weapon
           
new
                
msg[256],
                
name[MAX_PLAYER_NAME],
                
weapon[24]
           ;
           
GetPlayerName(playeridnamesizeof(name));
           
GetWeaponName(GetPlayerWeapon(playerid), weaponsizeof(weapon));
           
format(msgsizeof(msg), "Srever: %s(%d) has kicked for WeaponHack %s"nameplayeridweapon);
           
SendClientMessageToAll(-1msg);
           
SetTimerEx("KickPlayer"2000"i"playerid); // Kick cheater
           
cheater[playerid] = true;
     }
     return 
true;

Reply


Messages In This Thread
Serverside for weapons - by jamal1992 - 31.08.2015, 19:57
Re: Serverside for weapons - by Logofero - 31.08.2015, 20:23
Re: Serverside for weapons - by Vince - 31.08.2015, 20:50
Re: Serverside for weapons - by Logofero - 31.08.2015, 21:05
Re: Serverside for weapons - by Logofero - 31.08.2015, 21:12
Re: Serverside for weapons - by Logofero - 31.08.2015, 21:18
Re: Serverside for weapons - by jamal1992 - 31.08.2015, 21:31
Re: Serverside for weapons - by jamal1992 - 31.08.2015, 21:40

Forum Jump:


Users browsing this thread: 1 Guest(s)