Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Include AntiCheat by NicK
- #define PLAYER_CHEAT_CARSPAM 1
- #define PLAYER_CHEAT_CRASHBULLET 2
- #define PLAYER_CHEAT_CRASHATTACH 3
- #define PLAYER_CHEAT_FAKEKILL 4
- #define PLAYER_CHEAT_FLOODPINT 5
- #define PLAYER_CHEAT_CRASHMOD 6
- #define PLAYER_CHEAT_CRASHBIKE 7
- forward OnPlayerCheat(playerid, cheat); // Detecção do cheating
- public OnPlayerStateChange(playerid, newstate, oldstate) {
- if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_PASSENGER) {
- if(GetPVarInt(playerid, "anticheat_crashbike") > gettime())
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_CRASHBIKE);
- SetPVarInt(playerid, "anticheat_crashbike", gettime() + 1);
- }
- if(newstate == PLAYER_STATE_DRIVER) {
- if(GetPVarInt(playerid, "anticheat_carspamtime") > gettime()) {
- if(GetPVarInt(playerid, "anticheat_carspam") > 2)
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_CARSPAM);
- SetPVarInt(playerid, "anticheat_carspam", GetPVarInt(playerid, "anticheat_carspam")+1);
- }
- else
- SetPVarInt(playerid, "anticheat_carspam",0);
- SetPVarInt(playerid, "anticheat_carspamtime", gettime() + 2);
- }
- return CallLocalFunction("AntiCheat_OnPlayerStateChange", "iii", playerid, newstate, oldstate);
- }
- forward AntiCheat_OnPlayerStateChange(playerid, newstate, oldstate);
- #if defined _ALS_OnPlayerStateChange
- #undef OnPlayerStateChange
- #else
- #define _ALS_OnPlayerStateChange
- #endif
- #define OnPlayerStateChange AntiCheat_OnPlayerStateChange
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
- if(hittype != BULLET_HIT_TYPE_NONE) {
- if((fX <= -1000.0 || fX >= 1000.0) || (fY <= -1000.0 || fY >= 1000.0) || (fZ <= -1000.0 || fZ >= 1000.0)) {
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_CRASHBULLET), 0;
- }
- }
- return CallLocalFunction("AntiCheat_OnPlayerWeaponShot", "iiiifff", playerid, weaponid, hittype, hitid, fX, fY, fZ);
- }
- forward AntiCheat_OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
- #if defined _ALS_OnPlayerWeaponShot
- #undef OnPlayerWeaponShot
- #else
- #define _ALS_OnPlayerWeaponShot
- #endif
- #define OnPlayerWeaponShot AntiCheat_OnPlayerWeaponShot
- public OnPlayerDeath(playerid, killerid, reason) {
- if(killerid != INVALID_PLAYER_ID) {
- if(playerid == killerid) return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_FAKEKILL);
- if(GetPlayerTeam(playerid) != NO_TEAM)
- if(GetPlayerTeam(playerid) == GetPlayerTeam(killerid))
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_FAKEKILL);
- if(GetPVarInt(playerid, "anticheat_fakekilltime") > gettime()) {
- if(GetPVarInt(playerid, "anticheat_fakekill") > 2)
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_FAKEKILL);
- SetPVarInt(playerid, "anticheat_fakekill", GetPVarInt(playerid, "anticheat_fakekill")+1);
- }
- else
- SetPVarInt(playerid, "anticheat_fakekill",0);
- SetPVarInt(playerid, "anticheat_fakekilltime", gettime() + 3);
- }
- return CallLocalFunction("AntiCheat_OnPlayerDeath", "iii", playerid, killerid, reason);
- }
- forward AntiCheat_OnPlayerDeath(playerid, killerid, reason);
- #if defined _ALS_OnPlayerDeath
- #undef OnPlayerDeath
- #else
- #define _ALS_OnPlayerDeath
- #endif
- #define OnPlayerDeath AntiCheat_OnPlayerDeath
- public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid,Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,Float:fRotX, Float:fRotY, Float:fRotZ,Float:fScaleX, Float:fScaleY, Float:fScaleZ) {
- if((modelid == 392) || (fOffsetX <= -1000.0 || fOffsetX >= 1000.0) || (fOffsetY <= -1000.0 || fOffsetY >= 1000.0) || (fOffsetZ <= -1000.0 || fOffsetZ >= 1000.0) || (fScaleX <= -1000.0 || fScaleX >= 1000.0) || (fScaleY <= -1000.0 || fScaleY >= 1000.0) || (fScaleZ <= -1000.0 || fScaleZ >= 1000.0))
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_CRASHATTACH);
- return CallLocalFunction("Ant_OnPlayerEditAttachedObject", "iiiiifffffffff", playerid, response, index, modelid, boneid, fOffsetX,fOffsetY, fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);
- }
- forward Ant_OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid,Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,Float:fRotX, Float:fRotY, Float:fRotZ,Float:fScaleX, Float:fScaleY, Float:fScaleZ);
- #if defined _ALS_OnPlayerEditAttachedObject
- #undef OnPlayerEditAttachedObject
- #else
- #define _ALS_OnPlayerEditAttachedObject
- #endif
- #define OnPlayerEditAttachedObject Ant_OnPlayerEditAttachedObject
- new AntiCheat_legalmods[49][22] = {
- {400, 1024,1021,1020,1019,1018,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {401, 1145,1144,1143,1142,1020,1019,1017,1013,1007,1006,1005,1004,1003,1001,0000,0000,0000,0000},
- {404, 1021,1020,1019,1017,1016,1013,1007,1002,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {405, 1023,1021,1020,1019,1018,1014,1001,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {410, 1024,1023,1021,1020,1019,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
- {415, 1023,1019,1018,1017,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {418, 1021,1020,1016,1006,1002,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {420, 1021,1019,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {421, 1023,1021,1020,1019,1018,1016,1014,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {422, 1021,1020,1019,1017,1013,1007,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {426, 1021,1019,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {436, 1022,1021,1020,1019,1017,1013,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
- {439, 1145,1144,1143,1142,1023,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
- {477, 1021,1020,1019,1018,1017,1007,1006,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {478, 1024,1022,1021,1020,1013,1012,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {489, 1024,1020,1019,1018,1016,1013,1006,1005,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
- {491, 1145,1144,1143,1142,1023,1021,1020,1019,1018,1017,1014,1007,1003,0000,0000,0000,0000,0000},
- {492, 1016,1006,1005,1004,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {496, 1143,1142,1023,1020,1019,1017,1011,1007,1006,1003,1002,1001,0000,0000,0000,0000,0000,0000},
- {500, 1024,1021,1020,1019,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {516, 1021,1020,1019,1018,1017,1016,1015,1007,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
- {517, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1016,1007,1003,1002,0000,0000,0000,0000,0000},
- {518, 1145,1144,1143,1142,1023,1020,1018,1017,1013,1007,1006,1005,1003,1001,0000,0000,0000,0000},
- {527, 1021,1020,1018,1017,1015,1014,1007,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {529, 1023,1020,1019,1018,1017,1012,1011,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000},
- {534, 1185,1180,1179,1178,1127,1126,1125,1124,1123,1122,1106,1101,1100,0000,0000,0000,0000,0000},
- {535, 1121,1120,1119,1118,1117,1116,1115,1114,1113,1110,1109,0000,0000,0000,0000,0000,0000,0000},
- {536, 1184,1183,1182,1181,1128,1108,1107,1105,1104,1103,0000,0000,0000,0000,0000,0000,0000,0000},
- {540, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1004,1001,0000,0000,0000,0000},
- {542, 1145,1144,1021,1020,1019,1018,1015,1014,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {546, 1145,1144,1143,1142,1024,1023,1019,1018,1017,1007,1006,1004,1002,1001,0000,0000,0000,0000},
- {547, 1143,1142,1021,1020,1019,1018,1016,1003,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {549, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1012,1011,1007,1003,1001,0000,0000,0000,0000},
- {550, 1145,1144,1143,1142,1023,1020,1019,1018,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000},
- {551, 1023,1021,1020,1019,1018,1016,1006,1005,1003,1002,0000,0000,0000,0000,0000,0000,0000,0000},
- {558, 1168,1167,1166,1165,1164,1163,1095,1094,1093,1092,1091,1090,1089,1088,0000,0000,0000,0000},
- {559, 1173,1162,1161,1160,1159,1158,1072,1071,1070,1069,1068,1067,1066,1065,0000,0000,0000,0000},
- {560, 1170,1169,1141,1140,1139,1138,1033,1032,1031,1030,1029,1028,1027,1026,0000,0000,0000,0000},
- {561, 1157,1156,1155,1154,1064,1063,1062,1061,1060,1059,1058,1057,1056,1055,1031,1030,1027,1026},
- {562, 1172,1171,1149,1148,1147,1146,1041,1040,1039,1038,1037,1036,1035,1034,0000,0000,0000,0000},
- {565, 1153,1152,1151,1150,1054,1053,1052,1051,1050,1049,1048,1047,1046,1045,0000,0000,0000,0000},
- {567, 1189,1188,1187,1186,1133,1132,1131,1130,1129,1102,0000,0000,0000,0000,0000,0000,0000,0000},
- {575, 1177,1176,1175,1174,1099,1044,1043,1042,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {576, 1193,1192,1191,1190,1137,1136,1135,1134,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {580, 1023,1020,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {585, 1145,1144,1143,1142,1020,1019,1017,1013,1007,1006,1005,1004,1003,1001,1018,1023,0000,0000},
- {589, 1145,1144,1024,1020,1018,1017,1016,1013,1007,1006,1005,1004,1000,0000,0000,0000,0000,0000},
- {600, 1022,1020,1018,1017,1013,1007,1006,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000},
- {603, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000}
- };
- AntiCheat_iswheelmodel(modelid)
- {
- new wheelmodels[17] = {1025,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1096,1097,1098};
- for(new i; i < sizeof(wheelmodels); i++)
- {
- if (modelid == wheelmodels[i])
- return true;
- }
- return false;
- }
- AntiCheat_IllegalCarNitroIde(carmodel)
- {
- new illegalvehs[29] = { 581, 523, 462, 521, 463, 522, 461, 448, 468, 586, 509, 481, 510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 590, 569, 537, 538, 570, 449 };
- for(new i; i < sizeof(illegalvehs); i++)
- {
- if (carmodel == illegalvehs[i])
- return true;
- }
- return false;
- }
- AntiCheat_islegalcarmod(vehicleide, componentid) {
- new modok = false;
- // stereo, hydraulics & nos (1x 2x 3x) are special.
- if ( (AntiCheat_iswheelmodel(componentid)) || (componentid == 1086) || (componentid == 1087) || ((componentid >= 1008) && (componentid <= 1010))) {
- new nosblocker = AntiCheat_IllegalCarNitroIde(vehicleide);
- if (!nosblocker)
- modok = true;
- } else {
- // check if the specified model CAN use this particular mod.
- for(new I; I < sizeof(AntiCheat_legalmods); I++) {
- if (AntiCheat_legalmods[I][0] == vehicleide) { // first is car IDE
- for(new J = 1; J < 22; J++) { // start with 1
- if (AntiCheat_legalmods[I][J] == componentid)
- modok = true;
- }
- }
- }
- }
- return modok;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- if(!AntiCheat_islegalcarmod(vehicleid, componentid))
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_CRASHMOD), 0;
- return CallLocalFunction("AntiCheat_OnVehicleMod", "iii", playerid, vehicleid, componentid);
- }
- forward AntiCheat_OnVehicleMod(playerid, vehicleid, componentid);
- #if defined _ALS_OnVehicleMod
- #undef OnVehicleMod
- #else
- #define _ALS_OnVehicleMod
- #endif
- #define OnVehicleMod AntiCheat_OnVehicleMod
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- if(GetPVarInt(playerid, "anticheat_respraytime") > gettime()) {
- if(GetPVarInt(playerid, "anticheat_respray") > 1)
- return CallLocalFunction("OnPlayerCheat", "ii", playerid, PLAYER_CHEAT_FLOODPINT);
- SetPVarInt(playerid, "anticheat_respray", GetPVarInt(playerid, "anticheat_respray")+1);
- }
- else
- SetPVarInt(playerid, "anticheat_respray",0);
- SetPVarInt(playerid, "anticheat_respraytime", gettime() + 2);
- return CallLocalFunction("AntiCheat_OnVehicleRespray", "iiii", playerid, vehicleid, color1, color2);
- }
- forward AntiCheat_OnVehicleRespray(playerid, vehicleid, color1, color2);
- #if defined _ALS_OnVehicleRespray
- #undef OnVehicleRespray
- #else
- #define _ALS_OnVehicleRespray
- #endif
- #define OnVehicleRespray AntiCheat_OnVehicleRespray
- /*
- Include gerada em 28/03/2015 por Nícolas Corrêa
- www.brasilmegatrucker.com
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement