WeaponTimer[playerid] = SetTimerEx("WeaponHack", 1000, true, "d",playerid);
KillTimer(WeaponTimer[playerid]);
forward WeaponHack(playerid);
public WeaponHack(playerid)
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 1) return 0;
new string[128];
new w7;
new a7;
new day,month,year,hour,minute;
new ip[256];
for(new i; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, w7, a7);
if(w7 == 38 && a7 >= 1)
{
GetPlayerIp(playerid,ip,sizeof(ip));
getdate(year,month,day);
gettime(hour,minute);
format(string, sizeof(string), "%s was banned from the server. [Reason: Minigun]", PlayerName(playerid));
SendClientMessageToAll(_COLOR_RED, string);
SendClientMessage(playerid,_COLOR_RED," ");
SendClientMessage(playerid,_COLOR_RED," ");
SendClientMessage(playerid,_COLOR_RED,"You was banned from this server!");
SendClientMessage(playerid,_COLOR_WHITE,"Reason: Minigun");
SendClientMessage(playerid,_COLOR_WHITE,"Admin: Anti-Cheat");
format(string2, sizeof(string2), "Date: %d/%d/%d",day,month,year);
SendClientMessage(playerid,_COLOR_WHITE,string);
if (minute <= 9)
{
format(string,25,"Time: %d:0%d",hour,minute);
SendClientMessage(playerid,_COLOR_WHITE,string);
}
else
{
format(string,25,"Time: %d:%d",hour,minute);
SendClientMessage(playerid,_COLOR_WHITE,string);
}
format(string, sizeof(string), "IP: %s",ip);
SendClientMessage(playerid,_COLOR_WHITE,string;
if(LoggedIn[playerid] == 1) dUserSetINT(PlayerName(playerid)).("Banned",1);
WriteBanToFile(playerid, "Anti-Cheat", "Minigun");
BanEx(playerid,"Minigun");
return 1;
}
}
return 0;
}
Originally Posted by whitedragon
why you dont load it on gamemodeinit? there it more useful
|
new weaponhacktimer;
weaponhacktimer = SetTimer("WeaponHack", 1000, true);
forward WeaponHack(); public WeaponHack() { new string[128]; new w7; new a7; new day,month,year,hour,minute; new ip[256]; for(new j=0; j < MAX_PLAYERS; j++) { if(IsPlayerAdmin(j) || PlayerInfo[j][pAdmin] > 0) return 0; for(new i=0;i<13,i++) { GetPlayerWeaponData(j, i, w7, a7); if(w7 == 38 && a7 >= 1) { GetPlayerIp(j,ip,sizeof(ip)); getdate(year,month,day); gettime(hour,minute); format(string, sizeof(string), "%s was banned from the server. [Reason: Minigun]", PlayerName(playerid)); SendClientMessageToAll(_COLOR_RED, string); SendClientMessage(j,_COLOR_RED," "); SendClientMessage(j,_COLOR_RED," "); SendClientMessage(j,_COLOR_RED,"You was banned from this server!"); SendClientMessage(j,_COLOR_WHITE,"Reason: Minigun"); SendClientMessage(j,_COLOR_WHITE,"Admin: Anti-Cheat"); format(string2, sizeof(string2), "Date: %d/%d/%d",day,month,year); SendClientMessage(j,_COLOR_WHITE,string); if (minute <= 9) { format(string,25,"Time: %d:0%d",hour,minute); SendClientMessage(j,_COLOR_WHITE,string); } else { format(string,25,"Time: %d:%d",hour,minute); SendClientMessage(j,_COLOR_WHITE,string); } format(string, sizeof(string), "IP: %s",ip); SendClientMessage(j,_COLOR_WHITE,string; if(LoggedIn[j] == 1) dUserSetINT(PlayerName(playerid)).("Banned",1); WriteBanToFile(j, "Anti-Cheat", "Minigun"); BanEx(j,"Minigun"); } } } return 1; }
Originally Posted by DJDhan
You are sending playerid and then scanning all players
Put this at the Top somewhere Code:
new weaponhacktimer; Code:
weaponhacktimer = SetTimer("WeaponHack", 1000, true); Code:
forward WeaponHack(); public WeaponHack() { new string[128]; new w7; new a7; new day,month,year,hour,minute; new ip[256]; for(new i; i < 13; i++) { if(IsPlayerAdmin(i) || PlayerInfo[i][pAdmin] > 0) return 0; GetPlayerWeaponData(playerid, i, w7, a7); if(w7 == 38 && a7 >= 1) { GetPlayerIp(playerid,ip,sizeof(ip)); getdate(year,month,day); gettime(hour,minute); format(string, sizeof(string), "%s was banned from the server. [Reason: Minigun]", PlayerName(playerid)); SendClientMessageToAll(_COLOR_RED, string); SendClientMessage(playerid,_COLOR_RED," "); SendClientMessage(playerid,_COLOR_RED," "); SendClientMessage(playerid,_COLOR_RED,"You was banned from this server!"); SendClientMessage(playerid,_COLOR_WHITE,"Reason: Minigun"); SendClientMessage(playerid,_COLOR_WHITE,"Admin: Anti-Cheat"); format(string2, sizeof(string2), "Date: %d/%d/%d",day,month,year); SendClientMessage(playerid,_COLOR_WHITE,string); if (minute <= 9) { format(string,25,"Time: %d:0%d",hour,minute); SendClientMessage(playerid,_COLOR_WHITE,string); } else { format(string,25,"Time: %d:%d",hour,minute); SendClientMessage(playerid,_COLOR_WHITE,string); } format(string, sizeof(string), "IP: %s",ip); SendClientMessage(playerid,_COLOR_WHITE,string; if(LoggedIn[playerid] == 1) dUserSetINT(PlayerName(playerid)).("Banned",1); WriteBanToFile(playerid, "Anti-Cheat", "Minigun"); BanEx(playerid,"Minigun"); } } return 1; } |
Originally Posted by Headshot1108
Quote:
|
dcmd_weaps(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid)) {
if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /weaps [playerid]");
new player1, string[128], string2[64], WeapName[24], slot, weap, ammo, Count, x;
player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
format(string2,sizeof(string2),"[>> %s Weapons (id:%d) <<]", PlayerName2(player1), player1); SendClientMessage(playerid,blue,string2);
for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
if(Count < 1) return SendClientMessage(playerid,blue,"Player has no weapons");
if(Count >= 1)
{
for (slot = 0; slot < 14; slot++)
{
GetPlayerWeaponData(player1, slot, weap, ammo);
if( ammo != 0 && weap != 0)
{
GetWeaponName(weap, WeapName, sizeof(WeapName) );
if(ammo == 65535 || ammo == 1) format(string,sizeof(string),"%s%s (1)",string, WeapName );
else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo );
x++;
if(x >= 5)
{
SendClientMessage(playerid, blue, string);
x = 0;
format(string, sizeof(string), "");
}
else format(string, sizeof(string), "%s, ", string);
}
}
if(x <= 4 && x > 0) {
string[strlen(string)-3] = '.';
SendClientMessage(playerid, blue, string);
}
}
return 1;
} else return SendClientMessage(playerid, red, "Player is not connected");
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
}