// Table of legit mods (minus NOS, hydraulic and wheels) for specific vehicles.
new legalmods[48][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},
{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}
};
iswheelmodel(modelid) {
new wheelmodels[17] = {1025,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1096,1097,1098};
foreach(wheelmodels, I) {
if (modelid == wheelmodels[I])
return true;
}
return false;
}
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 };
foreach(illegalvehs, I) {
if (carmodel == illegalvehs[I])
return true;
}
return false;
}
// assumes player is in a car - make sure it is.
illegal_nos_vehicle(PlayerID) {
new carid = GetPlayerVehicleID(PlayerID);
new playercarmodel = GetVehicleModel(carid);
return IllegalCarNitroIde(playercarmodel);
}
stock islegalcarmod(vehicleide, componentid) {
new modok = false;
// stereo, hydraulics & nos (1x 2x 3x) are special.
if ( (iswheelmodel(componentid)) || (componentid == 1086) || (componentid == 1087) || ((componentid >= 1008) && (componentid <= 1010))) {
new nosblocker = IllegalCarNitroIde(vehicleide);
if (!nosblocker)
modok = true;
} else {
// check if the specified model CAN use this particular mod.
foreach(legalmods, I) {
if (legalmods[I][0] == vehicleide) { // first is car IDE
for(new J = 1; J < 22; J++) { // start with 1
if (legalmods[I][J] == componentid)
modok = true;
}
}
}
}
return modok;
}
OnVehicleMod(playerid, vehicleid, componentid) {
new vehicleide = GetVehicleModel(vehicleid);
new modok = islegalcarmod(vehicleide, componentid);
if (!modok) {
AddEchoMessageEx("[invalid_mod] %s %d %d %d %d %d", pNickname[playerid], playerid, vehicleid, vehicleide, componentid);
banaplayer(ANTICHEAT_ID, PlayerID, "Fuck you and your mods!");
return 0;
}
return 1;
}
banaplayer(ANTICHEAT_ID, PlayerID, "Fuck you and your mods!"); |
error 017: undefined symbol "wheelmodels@YSII_Ag" error 017: undefined symbol "wheelmodels@YSII_Ag" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line
iswheelmodel(modelid) { new wheelmodels[17] = {1025,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1096,1097,1098}; foreach(wheelmodels, I) { if (modelid == wheelmodels[I]) return true; } return false; }
#define foreach(%1,%2) for (new %2 = 0; %2 < sizeof(%1); %2++ )
D:\2231\lronboy\My Documents\Downloads\New Folder\gamemodes\GTDM2.pwn(28876) : error 017: undefined symbol "YSI_gSwheelmodels"
D:\2231\lronboy\My Documents\Downloads\New Folder\gamemodes\GTDM2.pwn(28876) : error 017: undefined symbol "YSI_gAwheelmodels"
D:\2231\lronboy\My Documents\Downloads\New Folder\gamemodes\GTDM2.pwn(28876) : warning 215: expression has no effect
D:\2231\lronboy\My Documents\Downloads\New Folder\gamemodes\GTDM2.pwn(28876) : error 001: expected token: ";", but found "]"
D:\2231\lronboy\My Documents\Downloads\New Folder\gamemodes\GTDM2.pwn(28876) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
I downloaded it, and made big performance optimizations on it, so it will eat less CPU. |
stock IsVehicleComponentLegal(vehicleid, componentid) {
new s_LegalMods[][] = {
{54273792, 0, 16776704, 7, 0, 0},
{35268602, 0, 16776704, 7, 245760, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{37431173, 0, 16776704, 7, 0, 0},
{45893379, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{62531466, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{42862474, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{36767556, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{36177722, 0, 16776704, 7, 0, 0},
{45958913, 0, 16776704, 7, 0, 0},
{37365632, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{36177786, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{41560010, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{42084234, 0, 16776704, 7, 245760, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{37619648, 0, 16776704, 7, 0, 0},
{57685808, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{52242293, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{46024584, 0, 16776704, 7, 245760, 0},
{33621873, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{43651022, 0, 16776704, 7, 49152, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{54011648, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{37717909, 0, 16776704, 7, 0, 0},
{43976588, 0, 16776704, 7, 245760, 0},
{43395050, 0, 16776704, 7, 245760, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{37144450, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{43917258, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, -67107785, 0, 35389440},
{33556224, 0, 16776704, 67002375, 0, 0},
{33556224, 0, 16776704, 7047, 1, 31457280},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{60688338, 0, 16776704, 7, 245760, 0},
{33556224, 0, 16776704, 7, 0, 0},
{37537536, 0, 16776704, 7, 196608, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{59639766, 0, 16776704, 7, 245760, 0},
{37553929, 0, 16776704, 7, 49152, 0},
{33556224, 0, 16776704, 7, 0, 0},
{43917194, 0, 16776704, 7, 245760, 0},
{43779962, 0, 16776704, 7, 245760, 0},
{45942636, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, -512, 7, 0, 504},
{33556224, 0, 16777214, 7, -1073741824, 8199},
{-33552640, 3, 16776704, 7, 15360, 1536},
{-838859008, -8388608, 16776705, 7, 1006632960, 0},
{33556224, 1020, 16776704, 7, 3932160, 6144},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 8380416, 16776704, 7, 62914560, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 71, 62, 1006632960},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 7168, 16776704, 15, 0, 245760},
{33556224, 0, 16776704, 7, 960, -1073741824},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{43386818, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{51849201, 0, 16776704, 7, 196608, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{0, 0, 0, 0, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{39200752, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{60688322, 0, 16776704, 7, 245760, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0},
{33556224, 0, 16776704, 7, 0, 0}
};
// These is the only case with componentids > 1191 (saves ~1kb in the array)
if (vehicleid == 576 && (componentid == 1192 || componentid == 1193))
return true;
if (1000 <= componentid <= 1191 && 400 <= vehicleid <= 611) {
componentid -= 1000;
vehicleid -= 400;
return (s_LegalMods[vehicleid][componentid >>> 5] & 1 << (componentid & 31)) || false;
}
return false;
}