Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define Schwarz 0x000000FF
- #define Rot 0xE10000FF
- #define Gelb 0xFFE600FF
- #define HBlau 0x00FFFFFF
- #define DBlau 0x0000FFFF
- #define Blau 0x2E9AFEFF
- #define HGruen 0x00FF00FF
- #define Orange 0xFFAB00FF
- #define Weiss 0xFFFFFFFF
- #define Grau 0xDCDCDCFF
- #define Gold 0xD4A017AA
- #define Lila 0x7800FFFF
- #define Pink 0xFF00CDFF
- #define Gruen 0x009F32FF
- #define MAX_PING 600 // Maximaler Ping
- #define MAX_VEHSPEED 200 // Vehicle-Speed ( am besten so lassen! )
- #define MAX_PLAYERSPEED 65 // Runningspeed ( am besten so lassen! )
- #define ANTI_SPAWNKILL 5 // 5 Sekunden Schutz
- #define SPAMLIMIT 2 // 2 Sekunden ( am besten so lassen! )
- #define MAX_CBUG 1 // Maximale C-Bugs ( am besten so lassen! )
- #define Tuninghack //Wenn definiert, dann wird Spieler wegen Tuning im Interior 0 gekickt!
- new fmex[128];
- #define SCMToAllF(%0,%1,%2) format(fmex,128,%1,%2) && SendClientMessageToAll(%0, fmex)
- #define SCMF(%0,%1,%2) format(fmex,128,%2) && SendClientMessage(%0,%1,fmex)
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- forward AC_AntiCheatTimer();
- forward AC_AntiSpawnKill(playerid);
- forward AC_SpamReset(playerid);
- forward AC_pos(playerid);
- forward AC_ask(playerid);
- forward AC_Desktop_Function(playerid);
- forward AC_Kicke(playerid);
- forward AC_CheckWeapon(playerid);
- forward AC_CheckAim(playerid);
- forward AC_OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart);
- new Float:ACOldHealth[MAX_PLAYERS],
- Float:ACOldArmour[MAX_PLAYERS],
- ACNewMoney[MAX_PLAYERS],
- Float:ACNewArmour[MAX_PLAYERS],
- Float:ACNewHealth[MAX_PLAYERS],
- SpawnKillTimer[MAX_PLAYERS],
- SpamCount[MAX_PLAYERS],
- CBugCount[MAX_PLAYERS],
- Waffe[MAX_PLAYERS][47],
- nwh[MAX_PLAYERS][47],
- Shot[MAX_PLAYERS],
- ShotTime[MAX_PLAYERS],
- Float:OldPos[MAX_PLAYERS][3],
- Float:NewPos[MAX_PLAYERS][3],
- switched[MAX_PLAYERS],
- posbyserver[MAX_PLAYERS],
- AC_start[MAX_PLAYERS],
- Float:vPos[MAX_VEHICLES][4],
- Float:phealth[MAX_PLAYERS],
- Float:parmour[MAX_PLAYERS],
- AC_Desktop_Check[MAX_PLAYERS],
- AC_Desktop_Status[MAX_PLAYERS],
- AC_Desktop_Timer[MAX_PLAYERS],
- AC_Desktop_Timer_Started[MAX_PLAYERS],
- Desk[MAX_PLAYERS],
- EnterLockedV[MAX_PLAYERS],
- freezed[MAX_PLAYERS],
- AC_skin[MAX_PLAYERS],
- NoReloading[MAX_PLAYERS],
- CurrentWeapon[MAX_PLAYERS],
- CurrentAmmo[MAX_PLAYERS];
- forward AC_OnGameModeInit();
- forward AC_OnPlayerDeath(playerid,killerid,reason);
- forward AC_OnPlayerText(playerid,text[]);
- forward AC_OnPlayerEnterVehicle(playerid,vehicleid,ispassenger);
- forward AC_OnVehicleMod(playerid,vehicleid,componentid);
- forward AC_OnVehicleRespray(playerid,vehicleid,color1,color2);
- forward AC_OnVehiclePaintjob(playerid,vehicleid,paintjobid);
- forward AC_OnPlayerKeyStateChange(playerid,newkeys,oldkeys);
- forward AC_OnPlayerUpdate(playerid);
- forward AC_OnPlayerDisconnect(playerid,reason);
- forward AC_OnPlayerExitVehicle(playerid,vehicleid);
- forward AC_OnPlayerStateChange(playerid,newstate,oldstate);
- forward GivePlayerMoneyEx(playerid,money);
- forward SetPlayerMoneyEx(playerid,money);
- forward GivePlayerHealthEx(playerid,Float:health);
- forward SetPlayerHealthEx(playerid,Float:health);
- forward GivePlayerArmourEx(playerid,Float:armour);
- forward SetPlayerArmourEx(playerid,Float:armour);
- forward GivePlayerWeaponEx(playerid,Gun,Muni);
- forward SetPlayerPosEx(playerid,Float:x,Float:y,Float:z);
- forward TogglePlayerControllableEx(playerid,toggle);
- forward SetPlayerSkinEx(playerid,skinid);
- new badword[][] = {
- "Opfer","Lauch","Hure","Hurre","Nutte","Schlampe","Hurensohn","Hurrensohn","Wixxer","Wichser","Bastard","Bastart","Missgeburt","Hitler",
- "Hundesohn","Pisser","Noob","Arschloch","Bitch","Hitler","Fotze","Nazi","Nigga","Niggah"
- };
- forward AC_OnPlayerConnect(playerid);
- public AC_OnPlayerConnect(playerid)
- {
- new string[64], plname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plname, sizeof(plname));
- format(string, sizeof(string), "Accounts/%s.ini", plname);
- print(string);
- if(!dini_Exists(string))return gPlayerAccount[playerid] = 0, print("PlayerAccount 0");
- gPlayerAccount[playerid] = 1, print("PlayerAccount 1");
- return 1;
- }
- Function OnPlayerConnect(playerid)
- {
- AC_start[playerid] = 0,Desk[playerid] = 0;
- switched[playerid] = 0,EnterLockedV[playerid] = 0;
- Shot[playerid] = 0, ShotTime[playerid] = 0;
- SetPlayerHealthEx(playerid,100);
- AC_Desktop_Check[playerid] = 0,AC_Desktop_Timer_Started[playerid] = 0,AC_Desktop_Status[playerid] = 0;
- }
- Function OnPlayerDisconnect(playerid, reason)
- {
- if(IsPlayerInAnyVehicle(playerid))return 1;
- new Float:x,Float:y,Float:z,vehicleid = GetPlayerVehicleID(playerid);
- GetVehiclePos(vehicleid,x,y,z);
- vPos[vehicleid][0] = x,vPos[vehicleid][1] = y,vPos[vehicleid][2] = z;
- if(AC_Desktop_Timer_Started[playerid] == 1) { KillTimer(AC_Desktop_Timer[playerid]); }
- }
- Function OnPlayerDeath(playerid, killerid, reason)
- {
- if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
- {
- new vehicleid,vehiclemodel;
- vehicleid = GetPlayerVehicleID(killerid);
- vehiclemodel = GetVehicleModel(vehicleid);
- if(IsPlayerInAnyVehicle(playerid)) { return true; }
- if(vehiclemodel == 425) { return true; } // Hunter
- if(vehiclemodel == 432) { return true; } // Rhino
- if(vehiclemodel == 447) { return true; } // Seasparrow
- if(vehiclemodel == 476) { return true; } // Rustler
- if(vehiclemodel == 520) { return true; } // Hydra
- return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Driveby!",AC_Name(killerid)),Kicks(killerid);
- }
- }
- Function OnPlayerSpawn(playerid)
- {
- TogglePlayerControllableEx(playerid,1);
- parmour[playerid] = 0,phealth[playerid] = 0;
- Waffe[playerid][0] = 1, Waffe[playerid][1] = 1;
- SetPlayerHealthEx(playerid,10000000);
- SpawnKillTimer[playerid] = SetTimerEx("AC_AntiSpawnKill",888*ANTI_SPAWNKILL,false,"i",playerid);
- }
- Function OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(((oldkeys & KEY_FIRE) || (oldkeys==KEY_FIRE)) && ((newkeys & KEY_CROUCH) || (newkeys==KEY_CROUCH)) && (!IsPlayerInAnyVehicle(playerid)))
- {
- CBugCount[playerid] ++;
- if(CBugCount[playerid] >= MAX_CBUG)SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: C-Bug!",AC_Name(playerid)),Kicks(playerid);
- }
- }
- Function OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_ONFOOT && (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER))
- {
- if(EnterLockedV[playerid] <= 0)return 1;
- if(EnterLockedV[playerid] == GetPlayerVehicleID(playerid))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Enter locked Vehicle!",AC_Name(playerid));
- }
- }
- public OnGameModeInit()
- {
- SetTimer("AC_AntiCheatTimer",100,true);
- SetTimer("AC_CheckWeapon",888*2,true);
- }
- Function OnVehicleRespray(playerid,vehicleid,color1,color2)
- {
- #if defined Tuninghack
- if(GetPlayerInterior(playerid) == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Tuning-Hack!",AC_Name(playerid)),Kicks(playerid);
- #endif
- return 1;
- }
- Function OnVehiclePaintjob(playerid,vehicleid,paintjobid)
- {
- #if defined Tuninghack
- if(GetPlayerInterior(playerid) == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Tuning-Hack!",AC_Name(playerid)),Kicks(playerid);
- #endif
- return 1;
- }
- Function OnPlayerText(playerid, text[])
- {
- if(AC_anty(text))SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: IP / Adresse.",AC_Name(playerid)),Kicks(playerid);
- SpamCount[playerid] ++;
- SetTimerEx("AC_SpamReset",888*SPAMLIMIT,false,"i",playerid);
- if(SpamCount[playerid] > SPAMLIMIT)return SpamCount[playerid] = 0, SCMToAllF(Rot,"Spieler '%s' wurde von Server gekickt. Grund: Spam!",AC_Name(playerid)),Kicks(playerid);
- new ir = 0;
- for(;ir<sizeof(badword);ir++)if(strfind(text,badword[ir],false) != -1)SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Badword!",AC_Name(playerid)),Kicks(playerid);
- }
- Function OnVehicleMod(playerid,vehicleid,componentid)
- {
- #if defined Tuninghack
- if(GetPlayerInterior(playerid) == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Tuning-Hack!",AC_Name(playerid)),Kicks(playerid);
- #endif
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(Desktop_Timer_Started[playerid] == 0)
- {
- Desktop_Timer[playerid] = SetTimerEx("Desktop_Function",1000,1,"d",playerid);
- Desktop_Timer_Started[playerid] = 1;
- }
- Desktop_Check[playerid] += 1;
- if(Desk[playerid] >= 1)Desk[playerid] = 0;
- new lib[32], name[32];
- if(GetPlayerAnimationIndex(playerid))
- {
- GetAnimationName(GetPlayerAnimationIndex(playerid),lib,32,name,32);
- if(!strcmp(lib, "SWIM", true && !IsPlayerInWater(playerid)))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Flyhack!",AC_Name(playerid)),Kicks(playerid);
- }
- if(AC_Desktop_Timer_Started[playerid] == 0)
- {
- AC_Desktop_Timer[playerid] = SetTimerEx("Desktop_Function",888,1,"d",playerid);
- AC_Desktop_Timer_Started[playerid] = 1;
- }
- AC_Desktop_Check[playerid] += 1;
- new keys, ud, lr;
- GetPlayerKeys(playerid, keys, ud, lr);
- if((ud != 128 && ud != 0 && ud != -128) || (lr != 128 && lr != 0 && lr != -128))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Joypad!",AC_Name(playerid)),Kicks(playerid);
- return 1;
- }
- stock Float:AC_Distance(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ) return floatsqroot(floatadd(floatadd(floatpower(floatsub(X, PointX), 2.0), floatpower(floatsub(Y, PointY), 2.0)), floatpower(floatsub(Z, PointZ), 2.0)));
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
- {
- if((sound[playerid]) == 1)
- {
- PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
- PlayerPlaySound(playerid,17802,0.0,0.0,0.0);
- return 1;
- }
- if(issuerid == INVALID_PLAYER_ID)return 1;
- new Float:Pos_AA[3],Float:Pos_A[3],Float:d; GetPlayerPos(playerid,Pos_AA[0],Pos_AA[1],Pos_AA[2]),GetPlayerPos(issuerid,Pos_A[0],Pos_A[1],Pos_A[2]);
- d = AC_Distance(Pos_AA[0],Pos_AA[1],Pos_AA[2],Pos_A[0],Pos_A[1],Pos_A[2]);
- if(d >= 30 && GetPlayerWeapon(issuerid) != 34)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Distancehack!",AC_Name(issuerid)),Kicks(issuerid);
- return 1;
- }
- //=*=*=*=*=**=*=*=*=*=*=*=*=*=*==*=*=*=*=*=*=*=*=*=*==*=*=*=*=*=* Anti Cheat *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=**=
- stock Float:AC_GetDistanceBetweenPoints(Float:rx1,Float:ry1,Float:rz1,Float:rx2,Float:ry2,Float:rz2){
- return floatadd(floatadd(floatsqroot(floatpower(floatsub(rx1,rx2),2)),floatsqroot(floatpower(floatsub(ry1,ry2),2))),floatsqroot(floatpower(floatsub(rz1,rz2),2)));
- }
- public AC_AntiSpawnKill(playerid){
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- OldPos[playerid][0] = x,OldPos[playerid][1] = y,OldPos[playerid][2] = z;
- switched[playerid] = 1;
- KillTimer(SpawnKillTimer[playerid]);
- SetPlayerHealthEx(playerid,100),SetTimerEx("AC_ask",888*2,false,"i",playerid);
- return 1;
- }
- public AC_SpamReset(playerid)
- {
- SpamCount[playerid] = 0,CBugCount[playerid] = 0;
- return 1;
- }
- public AC_AntiCheatTimer(){
- new i = 0,Float:health,Float:armour,surf;
- for(; i<MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i))continue;
- if(AC_start[i] == 0)continue;
- if(Desk[i] >= 1)continue;
- if(IsPlayerNPC(i))continue;
- GetPlayerHealth(i,health);
- GetPlayerArmour(i,armour);
- new SAC_Name[MAX_PLAYER_NAME]; GetPlayerName(i,SAC_Name,MAX_PLAYER_NAME);
- if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Jetpack!",SAC_Name),Kicks(i);
- else if(GetPlayerPing(i) > MAX_PING)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Zu hoher Ping! ( %i / %i )",SAC_Name,GetPlayerPing(i),MAX_PING),Kicks(i);
- else if(GetPlayerMoney(i) > ACNewMoney[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Moneyhack!",SAC_Name),Kicks(i);//
- else if(health > ACNewHealth[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Healthhack!",SAC_Name),Kicks(i);
- else if(armour > ACNewArmour[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Armourhack!",SAC_Name),Kicks(i);
- else if(freezed[i] == 1 && AC_GetPlayerSpeed(i) > 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Unfreeze!",SAC_Name),Kicks(i);
- else if(AC_GetPlayerSpeed(i) > MAX_PLAYERSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
- else if(GetPlayerSkin(i) != AC_skin[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Skinchanger!",SAC_Name),Kicks(i);
- else if(IsPlayerInAnyVehicle(i))if(AC_GetVehicleSpeed(GetPlayerVehicleID(i)) > MAX_VEHSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
- surf = GetPlayerSurfingVehicleID(i);
- if(!(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID) && (AC_GetVehicleSpeed(surf) > 0))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Carsurf!",SAC_Name),Kicks(i);
- if(switched[i] == 2)
- {
- GetPlayerPos(i,NewPos[i][0],NewPos[i][1],NewPos[i][2]);
- new Float:d = AC_Distance(OldPos[i][0],OldPos[i][1],OldPos[i][2],NewPos[i][0],NewPos[i][1],NewPos[i][2]);
- if(d >= 18 && posbyserver[i] != 1)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Airbrake / Teleporthack!",SAC_Name),Kicks(i);
- switched[i] = 1;
- }
- else if(switched[i] == 1)GetPlayerPos(i,OldPos[i][0],OldPos[i][1],OldPos[i][2]),switched[i] = 2;
- }
- return 1;
- }
- public AC_CheckWeapon(playerid){
- new Weaps[13][2],AC_Namee[MAX_PLAYER_NAME];
- if(SpawnWaffenVar[playerid] == 0)
- {
- for(new i = 0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerNPC(i))continue;
- if(!IsPlayerConnected(i))continue;
- GetPlayerName(i,AC_Namee,MAX_PLAYER_NAME);
- for(new _w = 0; _w < 13; _w++)
- {
- GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
- if(Weaps[_w][0] <= 0 && Waffe[i][Weaps[_w][0]] != 1)continue;
- else if(Weaps[_w][0] < 1 && Weaps[_w][0] > 47)continue;
- else if(Weaps[_w][0] <= 0 || Weaps[_w][1] <= 0)continue;
- else if(nwh[i][Weaps[_w][0]] == 1){nwh[i][Weaps[_w][0]] = 0; SetPlayerAmmo(i,_w,0); continue;}
- else if(Waffe[i][Weaps[_w][0]] <= 0 && nwh[i][Weaps[_w][0]] == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Waffenhack!",AC_Namee),Kicks(i);
- }
- }
- }
- return 1;
- }
- public GivePlayerWeaponEx(playerid,Gun,Muni){
- Waffe[playerid][Gun] = 1;
- return GivePlayerWeapon(playerid, Gun, Muni);
- }
- public GivePlayerMoneyEx(playerid,money){
- ACNewMoney[playerid] = ACNewMoney[playerid] + money;
- return GivePlayerMoney(playerid,ACNewMoney[playerid]);
- }
- public SetPlayerMoneyEx(playerid,money){
- ACNewMoney[playerid] = money;
- ResetPlayerMoney(playerid);
- return GivePlayerMoney(playerid,ACNewMoney[playerid]);
- }
- public SetPlayerArmourEx(playerid,Float:armour){
- ACNewArmour[playerid] = armour;
- parmour[playerid] = armour;
- return SetPlayerArmour(playerid,armour);
- }
- public GivePlayerArmourEx(playerid,Float:armour){
- new Float:oarmour;
- GetPlayerArmour(playerid,oarmour);
- ACOldArmour[playerid] = oarmour;
- ACNewArmour[playerid] = armour += oarmour;
- parmour[playerid] = armour += oarmour;
- return SetPlayerArmour(playerid,armour + oarmour);
- }
- public SetPlayerHealthEx(playerid,Float:health){
- ACNewHealth[playerid] = health;
- phealth[playerid] = health;
- return SetPlayerHealth(playerid,health);
- }
- public GivePlayerHealthEx(playerid,Float:health){
- new Float:ohealth;
- GetPlayerHealth(playerid,ohealth);
- ACOldHealth[playerid] = ohealth;
- ACNewHealth[playerid] = ohealth += health;
- phealth[playerid] = ohealth += health;
- return SetPlayerHealth(playerid,ohealth+health);
- }
- public SetPlayerPosEx(playerid,Float:x,Float:y,Float:z){
- posbyserver[playerid] = 1;
- SetTimerEx("AC_pos",888*2,false,"i",playerid);
- return SetPlayerPos(playerid,x,y,z);
- }
- public SetPlayerSkinEx(playerid,skinid){
- AC_skin[playerid] = skinid;
- return SetPlayerSkin(playerid,skinid);
- }
- public TogglePlayerControllableEx(playerid,toggle){
- switch(toggle)
- {
- case 0:freezed[playerid] = 1;
- case 1:freezed[playerid] = 0;
- }
- return TogglePlayerControllableEx(playerid,toggle);
- }
- stock AC_IsAPlane(vehicleid){
- switch(GetVehicleModel(vehicleid))
- {
- case 460,464,476,511,512,513,519,520,553,577,592,593: return 1;
- }
- return 0;
- }
- stock AC_IsAHelicopter(vehicleid){
- switch(GetVehicleModel(vehicleid))
- {
- case 417,425,447,465,469,487,488,497,501,548,563: return 1;
- }
- return 0;
- }
- stock AC_anty(string[]){
- if(strfind(string,"www.",true)!=-1 || strfind(string,"http://",true)!=-1 || strfind(string,".com",true)!=-1 || strfind(string,".de",true)!=-1 || strfind(string,".net",true)!=-1 || strfind(string,".tk",true)!=-1 || strfind(string,"91.",true)!=-1 || strfind(string,"195.",true)!=-1 ||strfind(string,".pl",true)!=-1|| strfind(string,".org",true)!=-1||
- strfind(string,"89.",true)!=-1 || strfind(string,"176.",true)!=-1 || strfind(string,":7777",true)!=-1 || strfind(string,"8.",true)!=-1 || strfind(string,"68.",true)!=-1 || strfind(string,"195.",true)!=-1 || strfind(string,"216.",true)!=-1|| strfind(string,"109.",true)!=-1||
- strfind(string,"37.",true)!=-1 || strfind(string,"95.",true)!=-1 || strfind(string,"77.",true)!=-1 || strfind(string,"174.",true)!=-1 || strfind(string,"202.",true)!=-1 || strfind(string,"212.",true)!=-1 || strfind(string,"188.",true)!=-1|| strfind(string,"31.",true)!=-1||
- strfind(string,"46.",true)!=-1 || strfind(string,"178.",true)!=-1 || strfind(string,"70.",true)!=-1 || strfind(string,"168.",true)!=-1 || strfind(string,"99.",true)!=-1 || strfind(string,"120.",true)!=-1 || strfind(string,"47.",true)!=-1|| strfind(string,"253.",true)!=-1||
- strfind(string,"85.",true)!=-1 || strfind(string,"86.",true)!=-1 || strfind(string,"9.",true)!=-1 || strfind(string,"208.",true)!=-1 || strfind(string,"64.",true)!=-1 || strfind(string,"34.",true)!=-1 || strfind(string,"78.",true)!=-1|| strfind(string,"100.",true)!=-1||
- strfind(string,"182.",true)!=-1 || strfind(string,"82.",true)!=-1 || strfind(string,"164.",true)!=-1 || strfind(string,"23.",true)!=-1 || strfind(string,"101.",true)!=-1 || strfind(string,"0.",true)!=-1 || strfind(string,"79.",true)!=-1)
- return true;
- return false;
- }
- stock AC_GetVehicleSpeed(vehicleid){
- new Float:xPos[3];
- GetVehicleVelocity(vehicleid, xPos[0], xPos[1], xPos[2]);
- return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
- }
- stock AC_Name(playerid){
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- return Name;
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(Desk[playerid] >= 2)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: AFK-Ghost!",AC_Name(playerid)),Kicks(playerid);
- if(GetPlayerAmmo(playerid) <= 1 && (weaponid >= 1 && weaponid <= 47))Waffe[playerid][weaponid] = 0,nwh[playerid][weaponid] = 1;
- if(weaponid != 38)
- {
- if((gettime() - ShotTime[playerid]) < 1)Shot[playerid]+=1;
- else Shot[playerid]=0;
- if(Shot[playerid] > 10)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Rapid-Fire!",AC_Name(playerid)),Kicks(playerid);
- ShotTime[playerid] = gettime();
- }
- if(hittype == BULLET_HIT_TYPE_PLAYER)
- {
- if(hitid == INVALID_PLAYER_ID)return 1;
- if(Desk[hitid] >= 1)return 1;
- new Float:health,Float:armour; GetPlayerHealth(hitid,health),GetPlayerArmour(hitid,armour);
- if(IsPlayerNPC(hitid))return 1;
- if(armour > 1)
- {
- if(armour < parmour[hitid])parmour[hitid] = armour;
- else return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Godmode!",AC_Name(hitid)),Kicks(hitid);
- }
- else
- {
- if(health < phealth[hitid])phealth[hitid] = health;
- else return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Godmode!",AC_Name(hitid)),Kicks(hitid);
- }
- }
- if(AC_IsWeaponWithAmmo(weaponid))
- {
- new count = 0;
- if(weaponid != CurrentWeapon[playerid]) CurrentWeapon[playerid] = weaponid, CurrentAmmo[playerid] = AC_GetPlayerWeaponAmmo(playerid,weaponid), count++;
- if(AC_GetPlayerWeaponAmmo(playerid,weaponid) > CurrentAmmo[playerid] || AC_GetPlayerWeaponAmmo(playerid,weaponid) < CurrentAmmo[playerid]) CurrentAmmo[playerid] = AC_GetPlayerWeaponAmmo(playerid,weaponid),NoReloading[playerid] = 0,count++;
- if(AC_GetPlayerWeaponAmmo(playerid,weaponid) != 0 && AC_GetPlayerWeaponAmmo(playerid,weaponid) == CurrentAmmo[playerid] && count == 0)
- {
- NoReloading[playerid]++;
- if(NoReloading[playerid] >= 5)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Unlimmited Ammo / No Reloading!",AC_Name(playerid));
- }
- }
- return 1;
- }
- stock AC_GetPlayerSpeed(playerid) {
- if(playerid != INVALID_PLAYER_ID)
- {
- new Float:PosAB[3],Float:PS;
- GetPlayerVelocity(playerid, PosAB[0], PosAB[1], PosAB[2]);
- PS = floatsqroot(PosAB[0]*PosAB[0] + PosAB[1]*PosAB[1] + PosAB[2]*PosAB[2])*200;
- return floatround(PS,floatround_round);
- }
- return INVALID_PLAYER_ID;
- }
- public AC_pos(playerid)return posbyserver[playerid] = 0;
- public AC_ask(playerid)return AC_start[playerid] = 1;
- stock AC_CheckFireArm(weaponid) {
- switch(weaponid)
- {
- case 16..39, 41..43: return 1;
- default: return 0;
- }
- return 0;
- }
- stock AC_SetVehiclePosEx(vehicleid,Float:x,Float:y,Float:z){
- vPos[vehicleid][0] = x,vPos[vehicleid][1] = y,vPos[vehicleid][2] = z;
- return SetVehiclePos(vehicleid,x,y,z);
- }
- public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat){
- new Float:x,Float:y,Float:z; GetVehiclePos(vehicleid, x, y, z);
- if(vPos[vehicleid][0] == 0.0 && vPos[vehicleid][1] == 0.0 && vPos[vehicleid][2] == 0.0)vPos[vehicleid][0] = x,vPos[vehicleid][1] = y,vPos[vehicleid][2] = z;
- new Float:dis = AC_Distance(vPos[vehicleid][0],vPos[vehicleid][1],vPos[vehicleid][2], x,y,z);
- if(dis > 5)return AC_SetVehiclePosEx(vehicleid,vPos[vehicleid][0],vPos[vehicleid][1],vPos[vehicleid][2]);
- else vPos[vehicleid][0] = x,vPos[vehicleid][1] = y,vPos[vehicleid][2] = z;
- return 1;
- }
- public AC_Desktop_Function(playerid){
- if(IsPlayerNPC(playerid))return 1;
- if(AC_Desktop_Check[playerid] > 0)AC_Desktop_Status[playerid] = 0;
- else if(AC_Desktop_Check[playerid] <= 0)AC_Desktop_Status[playerid] +=1;
- AC_Desktop_Check[playerid] = 0;
- if(AC_Desktop_Status[playerid] >= 3)AC_Desktop_Status[playerid] = 0;
- else if(AC_Desktop_Status[playerid] == 1)return Desk[playerid] = 1;
- else if(AC_Desktop_Status[playerid] >= 2)return Desk[playerid] = 2;
- return 1;
- }
- stock AC_IsPlayerMoving(playerid){
- new Float:Velocity[3];
- GetPlayerVelocity(playerid, Velocity[0], Velocity[1], Velocity[2]);
- if(Velocity[0] == 0 && Velocity[1] == 0 && Velocity[2] == 0) return false;
- return true;
- }
- stock AC_IsABike(vid){
- new modelid = GetVehicleModel(vid);
- if(modelid == 509||modelid ==510||modelid ==581||modelid ==522||modelid ==521||modelid ==523||modelid ==586||modelid ==481||modelid ==462||modelid ==448||modelid ==461||modelid ==463||modelid ==468||modelid ==471) return 1;
- else return 0;
- }
- stock AC_IsWeaponWithAmmo(weaponid)
- {
- switch(weaponid)
- {
- case 16..18, 22..39, 41..42: return 1;
- default: return 0;
- }
- return 0;
- }
- stock AC_GetPlayerWeaponAmmo(playerid,weaponid)
- {
- new wd[2][13];
- for(new i; i<13; i++)GetPlayerWeaponData(playerid,i,wd[0][i],wd[1][i]);
- for(new i; i<13; i++)if(weaponid == wd[0][i]) return wd[1][i];
- return 0;
- }
- stock Kicks(playerid)return SetTimerEx("AC_Kicke",50,false,"i",playerid);
- public AC_Kicke(playerid)
- {
- Kick(playerid);
- return 1;
- }
- stock FreezePlayer(playerid)
- {
- TogglePlayerControllableEx(playerid, 0);
- return 1;
- }
- stock UnFreezePlayer(playerid)
- {
- TogglePlayerControllableEx(playerid, 1);
- return 1;
- }
- #define GivePlayerMoney GivePlayerWeaponEx
- #define SetPlayerMoney SetPlayerMoneyEx
- #define GivePlayerHealth GivePlayerHealthEx
- #define SetPlayerHealth SetPlayerHealthEx
- #define GivePlayerArmour GivePlayerArmourEx
- #define SetPlayerArmour SetPlayerArmourEx
- #define GivePlayerWeapon GivePlayerWeaponEx
- #define SetPlayerPos SetPlayerPosEx
- #define TogglePlayerControllable TogglePlayerControllableEx
- #define SetPlayerSkin SetPlayerSkinEx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement