Pytelek

AVC.inc

Dec 29th, 2013
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.53 KB | None | 0 0
  1. /*
  2. Anti Vehicle Crash v 0.1d
  3. */
  4.  
  5. #include <a_samp>
  6.  
  7. #define OnVehicleMod IVM_OnVehicleMod
  8.  
  9. forward OnVehicleInvalidMod(playerid, vehicleid);
  10. forward IVM_OnVehicleMod(playerid, vehicleid, componentid);
  11.  
  12. new mods[48][22] = {
  13.     {400, 1024,1021,1020,1019,1018,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  14.     {401, 1145,1144,1143,1142,1020,1019,1017,1013,1007,1006,1005,1004,1003,1001,0000,0000,0000,0000},
  15.     {404, 1021,1020,1019,1017,1016,1013,1007,1002,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  16.     {405, 1023,1021,1020,1019,1018,1014,1001,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  17.     {410, 1024,1023,1021,1020,1019,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  18.     {415, 1023,1019,1018,1017,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  19.     {418, 1021,1020,1016,1006,1002,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  20.     {420, 1021,1019,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  21.     {421, 1023,1021,1020,1019,1018,1016,1014,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  22.     {422, 1021,1020,1019,1017,1013,1007,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  23.     {426, 1021,1019,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  24.     {436, 1022,1021,1020,1019,1017,1013,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  25.     {439, 1145,1144,1143,1142,1023,1017,1013,1007,1003,1001,0000,0000,0000,0000,0000,0000,0000,0000},
  26.     {477, 1021,1020,1019,1018,1017,1007,1006,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  27.     {478, 1024,1022,1021,1020,1013,1012,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  28.     {489, 1024,1020,1019,1018,1016,1013,1006,1005,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
  29.     {491, 1145,1144,1143,1142,1023,1021,1020,1019,1018,1017,1014,1007,1003,0000,0000,0000,0000,0000},
  30.     {492, 1016,1006,1005,1004,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  31.     {496, 1143,1142,1023,1020,1019,1017,1011,1007,1006,1003,1002,1001,0000,0000,0000,0000,0000,0000},
  32.     {500, 1024,1021,1020,1019,1013,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  33.     {516, 1021,1020,1019,1018,1017,1016,1015,1007,1004,1002,1000,0000,0000,0000,0000,0000,0000,0000},
  34.     {517, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1016,1007,1003,1002,0000,0000,0000,0000,0000},
  35.     {518, 1145,1144,1143,1142,1023,1020,1018,1017,1013,1007,1006,1005,1003,1001,0000,0000,0000,0000},
  36.     {527, 1021,1020,1018,1017,1015,1014,1007,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  37.     {529, 1023,1020,1019,1018,1017,1012,1011,1007,1006,1003,1001,0000,0000,0000,0000,0000,0000,0000},
  38.     {534, 1185,1180,1179,1178,1127,1126,1125,1124,1123,1122,1106,1101,1100,0000,0000,0000,0000,0000},
  39.     {535, 1121,1120,1119,1118,1117,1116,1115,1114,1113,1110,1109,0000,0000,0000,0000,0000,0000,0000},
  40.     {536, 1184,1183,1182,1181,1128,1108,1107,1105,1104,1103,0000,0000,0000,0000,0000,0000,0000,0000},
  41.     {540, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1004,1001,0000,0000,0000,0000},
  42.     {542, 1145,1144,1021,1020,1019,1018,1015,1014,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  43.     {546, 1145,1144,1143,1142,1024,1023,1019,1018,1017,1007,1006,1004,1002,1001,0000,0000,0000,0000},
  44.     {547, 1143,1142,1021,1020,1019,1018,1016,1003,1000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  45.     {549, 1145,1144,1143,1142,1023,1020,1019,1018,1017,1012,1011,1007,1003,1001,0000,0000,0000,0000},
  46.     {550, 1145,1144,1143,1142,1023,1020,1019,1018,1006,1005,1004,1003,1001,0000,0000,0000,0000,0000},
  47.     {551, 1023,1021,1020,1019,1018,1016,1006,1005,1003,1002,0000,0000,0000,0000,0000,0000,0000,0000},
  48.     {558, 1168,1167,1166,1165,1164,1163,1095,1094,1093,1092,1091,1090,1089,1088,0000,0000,0000,0000},
  49.     {559, 1173,1162,1161,1160,1159,1158,1072,1071,1070,1069,1068,1067,1066,1065,0000,0000,0000,0000},
  50.     {560, 1170,1169,1141,1140,1139,1138,1033,1032,1031,1030,1029,1028,1027,1026,0000,0000,0000,0000},
  51.     {561, 1157,1156,1155,1154,1064,1063,1062,1061,1060,1059,1058,1057,1056,1055,1031,1030,1027,1026},
  52.     {562, 1172,1171,1149,1148,1147,1146,1041,1040,1039,1038,1037,1036,1035,1034,0000,0000,0000,0000},
  53.     {565, 1153,1152,1151,1150,1054,1053,1052,1051,1050,1049,1048,1047,1046,1045,0000,0000,0000,0000},
  54.     {567, 1189,1188,1187,1186,1133,1132,1131,1130,1129,1102,0000,0000,0000,0000,0000,0000,0000,0000},
  55.     {575, 1177,1176,1175,1174,1099,1044,1043,1042,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  56.     {576, 1193,1192,1191,1190,1137,1136,1135,1134,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  57.     {580, 1023,1020,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  58.     {589, 1145,1144,1024,1020,1018,1017,1016,1013,1007,1006,1005,1004,1000,0000,0000,0000,0000,0000},
  59.     {600, 1022,1020,1018,1017,1013,1007,1006,1005,1004,0000,0000,0000,0000,0000,0000,0000,0000,0000},
  60.     {603, 1145,1144,1143,1142,1024,1023,1020,1019,1018,1017,1007,1006,1001,0000,0000,0000,0000,0000}
  61. };
  62.  
  63. stock nonitrov(vmodel)
  64. {
  65.     new v[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};
  66.     for(new i = 0; i != sizeof(v); ++i)
  67.     {
  68.         if(vmodel == v[i])
  69.         {
  70.             return 1;
  71.         }
  72.     }
  73.     return 0;
  74. }
  75.  
  76. stock IsValidTune(vehicleid, componentid)
  77. {
  78.     new o = 0;
  79.     new vmodel = GetVehicleModel(vehicleid);
  80.     if ((componentid == 1086) || (componentid == 1087) || (componentid == 1008) || (componentid == 1009) || (componentid == 1010))
  81.     {
  82.         if((componentid == 1025) || (componentid == 1073) || (componentid == 1074) || (componentid == 1075) || (componentid == 1076) || (componentid == 1077) || (componentid == 1078) || (componentid == 1079) || (componentid == 1080) || (componentid == 1081) || (componentid == 1082) || (componentid == 1083) || (componentid == 1084) || (componentid == 1085) || (componentid == 1096) || (componentid == 1097) || (componentid == 1098))
  83.         {
  84.             new z = nonitrov(vmodel);
  85.             if(!z)
  86.             {
  87.                 o = 1;
  88.             }
  89.         }
  90.     }
  91.     else
  92.     {
  93.         for(new i = 0; i != sizeof(mods); ++i)
  94.         {
  95.             if(mods[i][0] == vmodel)
  96.             {
  97.                 for(new l = 1; l < 22; l++)
  98.                 {
  99.                     if(mods[i][l] == componentid)
  100.                     {
  101.                         o = 1;
  102.                     }
  103.                 }
  104.             }
  105.         }
  106.     }
  107.     return o;
  108. }
  109.  
  110. public OnVehicleMod(playerid, vehicleid, componentid)
  111. {
  112.     new k = IsValidTune(vehicleid, componentid);
  113.     if(!k)
  114.     {
  115.         CallRemoteFunction("OnVehicleInvalidMod", "dd", playerid, vehicleid);
  116.         return 0;
  117.     }
  118.     CallLocalFunction("IVM_OnVehicleMod", "ddd", playerid, vehicleid, componentid);
  119.     return 1;
  120. }
  121. #if defined _ALS_OnVehicleMod
  122.   #undef OnVehicleMod
  123. #else
  124. #define _ALS_OnVehicleMod
  125. #endif
Advertisement
Add Comment
Please, Sign In to add comment