McBastard112

LA FS

Apr 4th, 2013
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 16.66 KB | None | 0 0
  1. /***********************************************************
  2.  * LA FS Fahrschulsystem (c) 2013 by Logan                 *
  3.  * Qualifikationssystem für Skripting Battle Turnier 2013  *
  4.  * Die einzelnen Prüfungen kosten absichtlich kein Geld    *
  5.  **********************************************************/
  6.  
  7. #define FILTERSCRIPT //für Leute, die ZCMD benutzen
  8.  
  9. //SPEICHERUNGSART WÄHLEN
  10. #define SAVE 1 //1 entspricht MySQL,2 entspricht SQLITE
  11. // ======================================================
  12.  
  13. //Zwingend benötigte Includes
  14. #include <a_samp>
  15. // =======================================================
  16.  
  17. //Je nach gewählter Speicherungsart werden benötigte Sachen deklariert bzw. definiert
  18. #if SAVE == 1
  19.     #include <a_mysql> //Achtung, du benötigst mindestens R7 des MySQL Plugins von BlueG. Frühere Versionen funktionieren nicht!
  20.     #define SQL_HOST "anpassen" //anpassen
  21.     #define SQL_USER "anpassen" //anpassen
  22.     #define SQL_PASS "anpassen" //anpassen
  23.     #define SQL_DATA "anpassen" //an den Namen der Datenbank anpassen
  24.     new dbhandle; //DBHandle für MySQL Verbindung 
  25. #elseif SAVE == 2
  26.     new DB:database; //Um die ID der SQLite Datenbank zwischenzuspeichern
  27. #else
  28.     #error SAVE besitzt einen ungueltigen Wert. Nur 1 oder 2 ist moeglich!
  29. #endif
  30.  
  31. #define TABLE "fsauto" //Name der Tabelle anpassbar (für SQLite oder MySQL Tabelle)
  32. #define GRÜN 0x008000FF
  33. // =================================================================================
  34.  
  35. // Dialog Enum
  36. enum
  37. {
  38.     DIALOG_FS = 400 //Wenn schon benutzt, dann abändern
  39. };
  40.  
  41. // ===================================================================================
  42.  
  43. // NICHT ÜBER DIE LINIE WEITER EDITIEREN, WENN IHR KEIN PAWN KÖNNT!
  44. // ====== DO NOT EDIT ========== DO NOT EDIT =========== DO NOT EDIT ======== DO NOT EDIT ======= DO NOT EDIT ==============
  45. // ====== DO NOT EDIT ========== DO NOT EDIT =========== DO NOT EDIT ======== DO NOT EDIT ======= DO NOT EDIT ==============
  46. // ====== DO NOT EDIT ========== DO NOT EDIT =========== DO NOT EDIT ======== DO NOT EDIT ======= DO NOT EDIT ==============
  47. // ====== DO NOT EDIT ========== DO NOT EDIT =========== DO NOT EDIT ======== DO NOT EDIT ======= DO NOT EDIT ==============
  48. // ====== DO NOT EDIT ========== DO NOT EDIT =========== DO NOT EDIT ======== DO NOT EDIT ======= DO NOT EDIT ==============
  49.  
  50. enum eSpielerInfo
  51. {
  52.     pName[MAX_PLAYER_NAME+1], //+1 da der NULL Terminator ja auch eine Zelle benötigt, damit es wirklich 24 Zellen sind und nicht 23 ;)
  53.     pAuto,
  54.     pBike,
  55.     pLKW
  56. }
  57.  
  58. enum eFahrStationen
  59. {
  60.     Float:fX,
  61.     Float:fY,
  62.     Float:fZ,
  63.     Float:fnextX,
  64.     Float:fnextY,
  65.     Float:fnextZ,
  66.     Float:fRad
  67. }
  68.  
  69. enum eFahrInfo
  70. {
  71.     bool:fAktiv,
  72.     fCheckpoint,
  73.     fVehicleid,
  74.     fArt
  75. }
  76.  
  77. new SpielerInfo[MAX_PLAYERS][eSpielerInfo];
  78. new Fahrstationen[][eFahrStationen] = {
  79.     {-2034.5909,-73.4294,34.7546,-1947.0322,-67.1409,25.4910,7.0},
  80.     {-1947.0322,-67.1409,25.4910,-1811.2249,-118.6313,5.0517,7.0},
  81.     {-1811.2249,-118.6313,5.0517,-1797.6959,17.7970,14.5378,7.0},
  82.     {-1797.6959,17.7970,14.5378,-1802.4938,226.8123,14.5299,7.0},
  83.     {-1802.4938,226.8123,14.5299,-1742.1429,303.8414,6.6218,7.0},
  84.     {-1742.1429,303.8414,6.6218,-1846.1176,413.7618,16.5772,7.0},
  85.     {-1846.1176,413.7618,16.5772,-1831.0403,520.2454,31.7044,7.0},
  86.     {-1831.0403,520.2454,31.7044,-1894.1261,653.0386,37.4152,7.0},
  87.     {-1894.1261,653.0386,37.4152,-1917.9962,737.7111,44.8738,7.0},
  88.     {-1917.9962,737.7111,44.8738,-1990.4030,735.8693,44.8770,7.0},
  89.     {-1990.4030,735.8693,44.8770,-2007.9432,664.3254,42.6214,7.0},
  90.     {-2007.9432,664.3254,42.6214,-2008.8557,420.4761,34.5927,7.0},
  91.     {-2008.8557,420.4761,34.5927,-2009.5245,157.9915,27.1160,7.0},
  92.     {-2009.5245,157.9915,27.1160,-2009.9578,37.3618,32.3767,7.0},
  93.     {-2009.9578,37.3618,32.3767,-2091.1091,10.5349,34.7473,7.0},
  94.     {-2091.1091,10.5349,34.7473,-2090.7344,-64.7782,34.7507,7.0},
  95.     {-2090.7344,-64.7782,34.7507,-2053.1812,-73.6055,34.7365,7.0},
  96.     {-2053.1812,-73.6055,34.7365,-2023.1753,-97.6587,34.7504,7.0},
  97.     {-2023.1753,-97.6587,34.7504,0.0,0.0,0.0,7.0}
  98. };
  99. new Fahren[MAX_PLAYERS][eFahrInfo];
  100. // =============================================================================
  101.  
  102. // CALLBACKS
  103. public OnFilterScriptInit()
  104. {
  105.     print("\n--------------------------------------");
  106.     print(" LA FS by Logan successfully loaded.");
  107.     print("--------------------------------------\n");
  108.     #if SAVE == 1
  109.         dbhandle = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
  110.         if(mysql_ping())
  111.             printf("Die MySQL-Verbindung wurde erfolgreich aufgebaut.\n(Host: %s,Datenbank: %s)",SQL_HOST,SQL_DATA);
  112.         else {
  113.             print("[LAFS] [ERROR]: Die MySQL-Verbindung ist fehlgeschlagen.\nBitte passe die MySQL Zugangsdaten im Filterscript an!\nDer Server wird heruntergefahren!");
  114.             SendRconCommand("exit");
  115.         }
  116.         CreateTableIfNotExist();
  117.     #elseif SAVE == 2
  118.         database = db_open("la_fs.db");
  119.         print("[LAFS]: SQLite-Verbindung zur Datebank la_fs hergestellt");
  120.         CreateTableIfNotExist();
  121.     #endif
  122.     AddStaticPickup(1239,1,-2046.4668,-97.4066,35.1641,-1);
  123.     return 1;
  124. }
  125.  
  126. public OnFilterScriptExit()
  127. {
  128.     for(new i;i!=MAX_PLAYERS;i++) {
  129.         if(!IsPlayerConnected(i))continue;
  130.         if(GetPVarInt(i,"logged") != 1)continue;
  131.         SavePlayer(i);
  132.     }
  133.     return 1;
  134. }
  135.  
  136. public OnPlayerSpawn(playerid)
  137. {
  138.     if(GetPVarInt(playerid,"logged") == 0 && !IsPlayerNPC(playerid)) {
  139.         GetPlayerName(playerid,SpielerInfo[playerid][pName],MAX_PLAYER_NAME+1);
  140.         mysql_real_escape_string(SpielerInfo[playerid][pName],SpielerInfo[playerid][pName]);
  141.         new str[120];
  142.         #if SAVE == 1
  143.             format(str,sizeof str,"SELECT `ID` FROM `"TABLE"` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
  144.             mysql_function_query(dbhandle,str,true,"CheckAccount","i",playerid);
  145.         #else
  146.             new DBResult:result;
  147.             format(str,sizeof str,"SELECT `ID` FROM `"TABLE"` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
  148.             result = db_query(database,str);
  149.             new count = db_num_rows(result);
  150.             db_free_result(result);
  151.             if(count == 1) {
  152.                 format(str,sizeof str,"SELECT `Auto`,`Bike`,`LKW` FROM `"TABLE"` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
  153.                 result = db_query(database,str);
  154.                 db_get_field_assoc(result,"Auto",str,3);
  155.                 SpielerInfo[playerid][pAuto] = strval(str);
  156.                 db_get_field_assoc(result,"Bike",str,3);
  157.                 SpielerInfo[playerid][pBike] = strval(str);
  158.                 db_get_field_assoc(result,"LKW",str,3);
  159.                 SpielerInfo[playerid][pLKW] = strval(str);
  160.                 db_free_result(result);
  161.                 SetPVarInt(playerid,"logged",1);
  162.             }
  163.             else {
  164.                 format(str,sizeof str,"INSERT INTO `"TABLE"` (`Name`) VALUES ('%s')",SpielerInfo[playerid][pName]);
  165.                 db_query(database,str);
  166.                 SetPVarInt(playerid,"logged",1);
  167.             }
  168.         #endif
  169.     }
  170.     return 1;
  171. }
  172.  
  173. public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
  174. {
  175.     if(newkeys & KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid,3,-2046.4668,-97.4066,35.1641) && !IsPlayerInAnyVehicle(playerid)) //ENTER TASTE
  176.     {
  177.         if(Fahren[playerid][fAktiv] == true)return SendClientMessage(playerid,-1,"Du bist derzeit noch in einer Fahrstunde!");
  178.         ShowPlayerDialog(playerid,DIALOG_FS,DIALOG_STYLE_LIST,"Automatische Fahrschule - Scheinart","Autoschein\nMotorradschein\nLKW-Schein","OK","Abbrechen");
  179.     }
  180.     return 1;
  181. }
  182.  
  183. public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
  184. {
  185.     if(response) {
  186.         switch(dialogid) {
  187.             case DIALOG_FS: {
  188.                 switch(listitem) {
  189.                     case 0: {
  190.                         if(SpielerInfo[playerid][pAuto])return SendClientMessage(playerid,-1,"Du besitzt bereits den Autoschein!");
  191.                         Fahren[playerid][fVehicleid] = CreateVehicle(405,-2072.4856,-83.1894,34.8911,180.6287,1,1,-1);
  192.                         PutPlayerInVehicle(playerid,Fahren[playerid][fVehicleid],0);
  193.                         Fahren[playerid][fCheckpoint] = 0;
  194.                         Fahren[playerid][fArt] = 0;
  195.                         Fahren[playerid][fAktiv] = true;
  196.                         SendClientMessage(playerid,-1,"Fahrstunde gestartet, fahre nun die Checkpoints ab!");
  197.                         SetPlayerRaceCheckpoint(playerid,0,Fahrstationen[0][fX],Fahrstationen[0][fY],Fahrstationen[0][fZ],Fahrstationen[0][fnextX],Fahrstationen[0][fnextY],Fahrstationen[0][fnextZ],Fahrstationen[0][fRad]);
  198.                     }
  199.                     case 1: {
  200.                         if(SpielerInfo[playerid][pBike])return SendClientMessage(playerid,-1,"Du besitzt bereits den Motorradschein!");
  201.                         Fahren[playerid][fVehicleid] = CreateVehicle(461,-2072.4856,-83.1894,34.8911,180.6287,1,1,-1);
  202.                         PutPlayerInVehicle(playerid,Fahren[playerid][fVehicleid],0);
  203.                         Fahren[playerid][fCheckpoint] = 0;
  204.                         Fahren[playerid][fArt] = 1;
  205.                         Fahren[playerid][fAktiv] = true;
  206.                         SendClientMessage(playerid,-1,"Fahrstunde gestartet, fahre nun die Checkpoints ab!");
  207.                         SetPlayerRaceCheckpoint(playerid,0,Fahrstationen[0][fX],Fahrstationen[0][fY],Fahrstationen[0][fZ],Fahrstationen[0][fnextX],Fahrstationen[0][fnextY],Fahrstationen[0][fnextZ],Fahrstationen[0][fRad]);
  208.                     }
  209.                     case 2: {
  210.                         if(SpielerInfo[playerid][pLKW])return SendClientMessage(playerid,-1,"Du besitzt bereits den LKW-Schein!");
  211.                         Fahren[playerid][fVehicleid] = CreateVehicle(578,-2072.4856,-83.1894,34.8911,180.6287,1,1,-1);
  212.                         PutPlayerInVehicle(playerid,Fahren[playerid][fVehicleid],0);
  213.                         Fahren[playerid][fCheckpoint] = 0;
  214.                         Fahren[playerid][fArt] = 2;
  215.                         Fahren[playerid][fAktiv] = true;
  216.                         SendClientMessage(playerid,-1,"Fahrstunde gestartet, fahre nun die Checkpoints ab!");
  217.                         SetPlayerRaceCheckpoint(playerid,0,Fahrstationen[0][fX],Fahrstationen[0][fY],Fahrstationen[0][fZ],Fahrstationen[0][fnextX],Fahrstationen[0][fnextY],Fahrstationen[0][fnextZ],Fahrstationen[0][fRad]);
  218.                     }
  219.                 }
  220.             }
  221.         }
  222.     }
  223.     return 0; //wg Filterscript
  224. }
  225.  
  226. public OnPlayerEnterRaceCheckpoint(playerid)
  227. {
  228.     if(Fahren[playerid][fAktiv] == true) {
  229.         Fahren[playerid][fCheckpoint]++;
  230.         DisablePlayerRaceCheckpoint(playerid);
  231.         new nextcp = Fahren[playerid][fCheckpoint];
  232.         if(nextcp == sizeof Fahrstationen) {
  233.             new Float:hp;
  234.             Fahren[playerid][fAktiv] = false;
  235.             GetVehicleHealth(GetPlayerVehicleID(playerid),hp);
  236.             DestroyVehicle(GetPlayerVehicleID(playerid));
  237.             if(hp >= 900) {
  238.                 GameTextForPlayer(playerid,"~g~Bestanden",3000,4);
  239.                 switch(Fahren[playerid][fArt]) {
  240.                     case 0: SpielerInfo[playerid][pAuto] = 1;
  241.                     case 1: SpielerInfo[playerid][pBike] = 1;
  242.                     case 2: SpielerInfo[playerid][pLKW] = 1;
  243.                 }
  244.             }
  245.             else {
  246.                 SendClientMessage(playerid,-1,"Du bist durchgefallen, weil du das Fahrzeug zu arg beschädigt hast!");
  247.             }
  248.         }
  249.         else if((sizeof Fahrstationen - nextcp) == 1) {
  250.             SetPlayerRaceCheckpoint(playerid,1,Fahrstationen[nextcp][fX],Fahrstationen[nextcp][fY],Fahrstationen[nextcp][fZ],Fahrstationen[nextcp][fnextX],Fahrstationen[nextcp][fnextY],Fahrstationen[nextcp][fnextZ],Fahrstationen[nextcp][fRad]);
  251.         }
  252.         else {
  253.             SetPlayerRaceCheckpoint(playerid,0,Fahrstationen[nextcp][fX],Fahrstationen[nextcp][fY],Fahrstationen[nextcp][fZ],Fahrstationen[nextcp][fnextX],Fahrstationen[nextcp][fnextY],Fahrstationen[nextcp][fnextZ],Fahrstationen[nextcp][fRad]);
  254.         }
  255.     }
  256.     return 1;
  257. }
  258.  
  259. public OnPlayerStateChange(playerid,newstate,oldstate)
  260. {
  261.     if(newstate == PLAYER_STATE_DRIVER && Fahren[playerid][fAktiv] == false) {
  262.         new model = GetVehicleModel(GetPlayerVehicleID(playerid));
  263.         if((IsCar(model) && SpielerInfo[playerid][pAuto] != 1) || (IsBike(model) && SpielerInfo[playerid][pBike] != 1) || (IsLKW(model) && SpielerInfo[playerid][pLKW] != 1)) {
  264.             SetPlayerDrunkLevel(playerid,6000);
  265.             SendClientMessage(playerid,-1,"Du hast keinen Fuehrerschein und kannst nicht richtig fahren!");
  266.         }
  267.     }
  268.     else if(Fahren[playerid][fAktiv] == false && (SpielerInfo[playerid][pAuto] != 1 || SpielerInfo[playerid][pBike] != 1 || SpielerInfo[playerid][pLKW] != 1)) {
  269.         SetPlayerDrunkLevel(playerid,0);
  270.     }
  271.     return 1;
  272. }
  273.  
  274. public OnPlayerExitVehicle(playerid,vehicleid)
  275. {
  276.     if(Fahren[playerid][fAktiv] == true) {
  277.         SendClientMessage(playerid,-1,"Du bist durchgefallen, weil du dein Fahrzeug verlassen hast!");
  278.         Fahren[playerid][fAktiv] = false;
  279.         DestroyVehicle(GetPlayerVehicleID(playerid));
  280.         DisablePlayerRaceCheckpoint(playerid);
  281.     }
  282.     return 1;
  283. }
  284.  
  285. public OnVehicleDeath(vehicleid,killerid) //Die Killerid kann auch jmd. anderes sein, da ich die playerid nicht migeliefert bekomme, kann ichs nicht anders "abchecken"
  286. {
  287.     for(new i;i!=MAX_PLAYERS;i++) {
  288.         if(!IsPlayerConnected(i))continue;
  289.         if(Fahren[i][fAktiv] == false)continue;
  290.         if(Fahren[i][fVehicleid] != vehicleid)continue;
  291.         DestroyVehicle(Fahren[i][fVehicleid]);
  292.         Fahren[i][fAktiv] = false;
  293.         SendClientMessage(i,-1,"Du bist durchgefallen, weil du dein Fahrzeug zerstoert hast!");
  294.         DisablePlayerRaceCheckpoint(i);
  295.     }
  296.     return 1;
  297. }
  298.  
  299. public OnPlayerDisconnect(playerid,reason)
  300. {
  301.     if(!IsPlayerNPC(playerid)) {
  302.         SavePlayer(playerid);
  303.     }
  304.     else if(Fahren[playerid][fAktiv] == true) {
  305.         DestroyVehicle(GetPlayerVehicleID(playerid));
  306.         Fahren[playerid][fAktiv] = false;
  307.         DisablePlayerRaceCheckpoint(playerid);
  308.     }
  309.     return 1;
  310. }
  311.  
  312. public OnPlayerCommandText(playerid,cmdtext[])
  313. {
  314.     if(!strcmp(cmdtext,"/fs",true)) {
  315.         SetPlayerPos(playerid,-2046.4668,-97.4066,35.1641);
  316.     }
  317.     return 0;
  318. }
  319. // ======================================================================================================
  320.  
  321. // THREADED QUERYS
  322.  #if SAVE == 1
  323.     forward CheckAccount(playerid);
  324.     public CheckAccount(playerid)
  325.     {
  326.         new rows,fields;
  327.         cache_get_data(rows,fields);
  328.         new query[130];
  329.         if(!rows) {
  330.             format(query,sizeof query,"INSERT INTO `"TABLE"` (`Name`) VALUES ('%s')",SpielerInfo[playerid][pName]);
  331.             mysql_function_query(dbhandle,query,false,"","");
  332.         }
  333.         else {
  334.             format(query,sizeof query,"SELECT `Auto`,`Bike`,`LKW` FROM `"TABLE"` WHERE `Name` = '%s'",SpielerInfo[playerid][pName]);
  335.             mysql_function_query(dbhandle,query,true,"LoadAccount","i",playerid);
  336.         }
  337.         return 1;
  338.     }
  339.      
  340.     forward LoadAccount(playerid);
  341.     public LoadAccount(playerid)
  342.     {
  343.         new store[20];
  344.         cache_get_field_content(0,"Auto",store,dbhandle); SpielerInfo[playerid][pAuto] = strval(store);
  345.         cache_get_field_content(0,"Bike",store,dbhandle); SpielerInfo[playerid][pBike] = strval(store);
  346.         cache_get_field_content(0,"LKW",store,dbhandle); SpielerInfo[playerid][pLKW] = strval(store);
  347.         return 1;
  348.     }
  349.  #endif
  350.  // =========================================================================================================
  351.  
  352. // METHODEN
  353. CreateTableIfNotExist()
  354. {
  355.     new str[400]; //Muss so groß sein, da MySQL Query 350 Zeichen hat
  356.     #if SAVE == 1
  357.         str = "CREATE TABLE IF NOT EXISTS `"TABLE"` ("; //Formatieren des Strings für die Tabellenerstellung bei Nichtexistenz
  358.         strcat(str,"`ID` int(3) NOT NULL AUTO_INCREMENT,");
  359.         strcat(str,"`Name` varchar(24) COLLATE latin1_german1_ci NOT NULL,");
  360.         strcat(str,"`Auto` tinyint(2) NOT NULL DEFAULT '0',");
  361.         strcat(str,"`Bike` tinyint(2) NOT NULL DEFAULT '0',");
  362.         strcat(str,"`LKW` tinyint(2) NOT NULL DEFAULT '0',");
  363.         strcat(str,"PRIMARY KEY (`ID`)");
  364.         strcat(str,") ENGINE=MyISAM DEFAULT CHARSET=latin1");
  365.         strcat(str," COLLATE=latin1_german1_ci AUTO_INCREMENT=1;");
  366.         mysql_function_query(dbhandle,str,false,"",""); //Abschicken des Querys zur Tabellenerstellung
  367.     #else
  368.         str = "CREATE TABLE IF NOT EXISTS `"TABLE"` (`ID` INTEGER PRIMARY KEY AUTOINCREMENT,`Name` TEXT(24),`Auto` INTEGER,`Bike` INTEGER,`LKW` INTEGER);"; //Query für SQLite Table
  369.         db_query(database,str); //Abschicken des Querys
  370.     #endif
  371.     return 1;
  372. }
  373.  
  374. SavePlayer(playerid)
  375. {
  376.     new query[128];
  377.     #if SAVE == 1
  378.         format(query,sizeof query,"UPDATE `"TABLE"` SET `Name` = '%s',`Auto` = '%d',`Bike` = '%d',`LKW` = '%d' WHERE `Name` = '%s'",
  379.         SpielerInfo[playerid][pName],SpielerInfo[playerid][pAuto],SpielerInfo[playerid][pBike],SpielerInfo[playerid][pLKW],SpielerInfo[playerid][pName]);
  380.         mysql_function_query(dbhandle,query,false,"","");
  381.     #else
  382.         format(query,sizeof query,"UPDATE `"TABLE"` SET `Name` = '%s',`Auto` = '%d',`Bike` = '%d',`LKW` = '%d' WHERE `Name` = '%s'",
  383.         SpielerInfo[playerid][pName],SpielerInfo[playerid][pAuto],SpielerInfo[playerid][pBike],SpielerInfo[playerid][pLKW],SpielerInfo[playerid][pName]);
  384.         db_query(database,query);
  385.     #endif
  386.     return 1;
  387. }
  388.  
  389. IsBike(modelid)
  390. {
  391.     switch(modelid) {
  392.         case 448,461..463,468,471,481,509,510,521..523,581,586: return 1;
  393.     }
  394.     return 0;
  395. }
  396.  
  397. IsCar(modelid)
  398. {
  399.     switch(modelid) {
  400.         case 416,445,602,485,568,429,499,424,536,496,504,422,609,498,401,575,518,402,541,482,438,457,527,483,524,415,542,589,480,596,599,597,598,578,
  401.         507,562,585,419,587,490,533,544,565,455,530,526,466,604,492,474,434,502,503,494,579,545,411,546,559,508,571,400,403,517,410,551,500,418,
  402.         572,423,516,582,467,404,514,603,600,413,426,436,547,489,441,594,479,534,505,442,440,475,543,605,495,567,428,405,458,580,439,561,409,560,
  403.         550,506,601,574,566,549,420,459,576,583,451,558,540,491,412,478,421,529,555,456,554,477: return 1;
  404.     }
  405.     return 0;
  406. }
  407.  
  408. IsLKW(modelid)
  409. {
  410.     switch(modelid) {
  411.         case 524,578,455,403,443,514,515,408,573,406: return 1;
  412.     }
  413.     return 0;
  414. }
  415. // ==================================================================================================
Add Comment
Please, Sign In to add comment