Guest User

Autohaussystem

a guest
May 19th, 2012
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 40.65 KB | None | 0 0
  1. /*
  2. _____________________________________________________________________________________________________________________________
  3.  
  4. Autohaussystem 1.0
  5. _____________________________________________________________________________________________________________________________
  6.  
  7. Dieses Filterscript wurde von 'Ping' Erstellt (2009)
  8. _____________________________________________________________________________________________________________________________
  9.  
  10. Dieses Filterscript wurde von 'G.F.Scripter' Geupdatet (2012)
  11. _____________________________________________________________________________________________________________________________
  12.  
  13. Funktionen :
  14.     -   Man kann Sich EIN Fahrzeug Kaufen.
  15.     -   Man kann Sein Fahrzeug mit /carlock abschließen und das Fahrzeug ist damit sicher vor Dieben.
  16.     -   Man kann Sein Fahrzeug mit /asverkaufen an Mitspieler verkaufen.
  17.     -   Man kann Sein Fahrzeug mit /averkaufen an den Server verkaufen.(man bekommt die Hälfte vom Normalen Preis wieder.
  18.     -   Man kann Sein Fahrzeug mit /parken Parken.
  19.     -   Man kann Sein Fahrzeug mit /umlackieren Umlackieren.
  20.     -   Lichter Gemappt.
  21.    
  22.     Weiteres findest du unter /fzh.
  23. ______________________________________________________________________________________________________________________________
  24. */
  25.  
  26.  
  27.  
  28. #include <a_samp>
  29. #include <float>
  30.  
  31. #define RESETCARS
  32.  
  33. #define CARSELL
  34.  
  35. #if defined CARSELL
  36. #include <utils>
  37. #endif
  38.  
  39. #define COLOR_GRAD1 0xB4B5B7FF
  40. #define COLOR_GRAD2 0xBFC0C2FF
  41. #define COLOR_GRAD3 0xCBCCCEFF
  42. #define COLOR_GRAD4 0xD8D8D8FF
  43. #define COLOR_GRAD5 0xE3E3E3FF
  44. #define COLOR_GRAD6 0xF0F0F0FF
  45. #define WEISS 0xFFFFFFFF
  46. #define COLOR_GREEN 0x33AA33AA
  47. #define COLOR_RED 0xAA3333AA
  48. #define COLOR_LIGHTRED 0xFF6347AA
  49. #define COLOR_LIGHTBLUE 0x33CCFFAA
  50. #define COLOR_LIGHTGREEN 0x9ACD32AA
  51. #define COLOR_YELLOW 0xFFFF00AA
  52. #define COLOR_YELLOW2 0xF5DEB3AA
  53. #define COLOR_WHITE 0xFFFFFFAA
  54.  
  55. forward SetVehicleParamsForAll(carid,objective,doorslocked);
  56. forward CreateTunedCar(playerid);
  57. forward DelayDestroyCar(playerid);
  58. forward DelaySetVehicleParams(playerid);
  59. forward ResetAutohausSpawns();
  60.  
  61. enum ahCar
  62. {
  63.     Typ,
  64.     Float:X,
  65.     Float:Y,
  66.     Float:Z,
  67.     Float:Rotation,
  68.     Status,
  69.     Lock,
  70.     Carid,
  71.     Paintjob,
  72.     Color1,
  73.     Color2,
  74.     mod1,
  75.     mod2,
  76.     mod3,
  77.     mod4,
  78.     mod5,
  79.     mod6,
  80.     mod7,
  81.     mod8,
  82.     mod9,
  83.     mod10,
  84.     mod11,
  85.     mod12,
  86.     mod13,
  87.     mod14,
  88.     mod15,
  89.     mod16,
  90.     mod17,
  91. };
  92. new Carlist[MAX_PLAYERS][ahCar];
  93.  
  94. enum ahSpawn
  95. {
  96.     Float:X,
  97.     Float:Y,
  98.     Float:Z,
  99.     Float:Rotation,
  100. };
  101. new Carspawns[2][ahSpawn] = {
  102.     {739.7457,-1343.8668,13.2828,270.2592},
  103.     {-1639.3599,1198.1665,6.9527,269.9673}
  104. };
  105.  
  106. enum ahModel
  107. {
  108.     Name[128],
  109.     Autohaus,
  110.     Modelid,
  111.     Carid,
  112.     Price,
  113.     Repair,
  114.     Float:X,
  115.     Float:Y,
  116.     Float:Z,
  117.     Float:Rotation,
  118. };
  119. new Buylist[34][ahModel] = {
  120.     {"Stallion",0,439,-1,750000,5000,783.0,-1335.0,13.2,121.1},
  121.     {"Feltzer",0,533,-1,500000,3000,783.0,-1340.0,13.2,121.1},
  122.     {"Windsor",0,555,-1,450000,3400,783.0,-1345.0,13.2,121.1},
  123.     {"Blade",0,536,-1,350000,3000,783.0,-1350.0,13.2,121.1},
  124.     {"Remington",0,534,-1,500000,3000,783.0,-1355.0,13.2,121.1},
  125.     {"Savanna",0,567,-1,350000,3000,783.0,-1360.0,13.2,121.1},
  126.     {"Slamvan",0,535,-1,500000,3000,783.0,-1365.0,13.2,121.1},
  127.     {"Voodoo",0,412,-1,500000,3000,783.0,-1370.0,13.2,121.1},
  128.     {"Huntley",0,579,-1,200000,1000,783.0,-1375.0,13.2,121.1},
  129.     {"Buccaneer",0,518,-1,120000,1000,783.0,-1380.0,13.2,121.1},
  130.     {"Clover",0,542,-1,35000,500,765.0,-1360.0,13.4,301.1},
  131.     {"Elegant",0,507,-1,40000,650,765.0,-1365.0,13.4,301.1},
  132.     {"Elegy",0,562,-1,1500000,10000,765.0,-1370.0,13.4,301.1},
  133.     {"Esperanto",0,419,-1,65000,650,765.0,-1375.0,13.4,301.1},
  134.     {"Fortune",0,526,-1,35000,500,765.0,-1380.0,13.4,301.1},
  135.     {"Sultan",0,560,-1,1500000,10000,766.0,-1333.0,13.3,211.1},
  136.     {"Sunrise",0,550,-1,300000,2000,761.0,-1333.0,13.3,211.1},
  137.     {"Vincent",0,540,-1,280000,2000,756.0,-1333.0,13.3,211.1},
  138.     {"Alpha",0,602,-1,230000,2000,751.0,-1333.0,13.3,211.1},
  139.     {"Banshee",0,429,-1,1000000,5500,746.0,-1333.0,13.3,211.1},
  140.     {"Blista Compact",1,496,-1,350000,2500,-1668.6447,1207.0372,7.0249,309.5959},
  141.     {"Buffalo",1,402,-1,500000,3000,-1663.6709,1215.2883,7.0234,274.9868},
  142.     {"Bullet",1,541,-1,7500000,17500,-1651.3892,1210.3469,7.0208,281.3321},
  143.     {"Cheetah",1,415,-1,4000000,10000,-1677.3560,1207.8099,13.4461,208.2602},
  144.     {"Club",1,589,-1,70000,750,-1665.7789,1222.4406,13.4485,279.6459},
  145.     {"Euros",1,587,-1,650000,7000,-1660.7256,1217.6407,13.4444,283.1553},
  146.     {"Infernus",1,411,-1,1500000,7000,-1653.2462,1210.7842,13.4460,266.7211},
  147.     {"Jester",1,559,-1,1500000,10000,-1676.0128,1207.1641,20.9248,261.5029},
  148.     {"Phoenix",1,603,-1,600000,4000,-1664.4386,1206.8241,20.9289,332.5978},
  149.     {"Super GT",1,506,-1,12500000,20000,-1651.6372,1208.2538,20.9231,305.1015},
  150.     {"Turismo",1,451,-1,13000000,20000,-1665.1248,1222.7113,20.9265,267.4103},
  151.     {"Uranus",1,558,-1,850000,10000,-1661.1943,1217.9629,20.9268,286.1662},
  152.     {"ZR-350",1,477,-1,6500000,7000,-1654.3116,1214.8097,20.9267,173.5712},
  153.     {"Faggio",0,462,-1,10000,500,750.7272,-1358.3872,13.0996,273.7736}
  154. };
  155.  
  156. new Spectating[MAX_PLAYERS][1];
  157.  
  158. // begin of tuning component list
  159. new spoiler[20][0] = {
  160.     {1000},
  161.     {1001},
  162.     {1002},
  163.     {1003},
  164.     {1014},
  165.     {1015},
  166.     {1016},
  167.     {1023},
  168.     {1058},
  169.     {1060},
  170.     {1049},
  171.     {1050},
  172.     {1138},
  173.     {1139},
  174.     {1146},
  175.     {1147},
  176.     {1158},
  177.     {1162},
  178.     {1163},
  179.     {1164}
  180. };
  181.  
  182. new nitro[3][0] = {
  183.     {1008},
  184.     {1009},
  185.     {1010}
  186. };
  187.  
  188. new fbumper[23][0] = {
  189.     {1117},
  190.     {1152},
  191.     {1153},
  192.     {1155},
  193.     {1157},
  194.     {1160},
  195.     {1165},
  196.     {1167},
  197.     {1169},
  198.     {1170},
  199.     {1171},
  200.     {1172},
  201.     {1173},
  202.     {1174},
  203.     {1175},
  204.     {1179},
  205.     {1181},
  206.     {1182},
  207.     {1185},
  208.     {1188},
  209.     {1189},
  210.     {1192},
  211.     {1193}
  212. };
  213.  
  214. new rbumper[22][0] = {
  215.     {1140},
  216.     {1141},
  217.     {1148},
  218.     {1149},
  219.     {1150},
  220.     {1151},
  221.     {1154},
  222.     {1156},
  223.     {1159},
  224.     {1161},
  225.     {1166},
  226.     {1168},
  227.     {1176},
  228.     {1177},
  229.     {1178},
  230.     {1180},
  231.     {1183},
  232.     {1184},
  233.     {1186},
  234.     {1187},
  235.     {1190},
  236.     {1191}
  237. };
  238.  
  239. new exhaust[28][0] = {
  240.     {1018},
  241.     {1019},
  242.     {1020},
  243.     {1021},
  244.     {1022},
  245.     {1028},
  246.     {1029},
  247.     {1037},
  248.     {1043},
  249.     {1044},
  250.     {1045},
  251.     {1046},
  252.     {1059},
  253.     {1064},
  254.     {1065},
  255.     {1066},
  256.     {1089},
  257.     {1092},
  258.     {1104},
  259.     {1105},
  260.     {1113},
  261.     {1114},
  262.     {1126},
  263.     {1127},
  264.     {1129},
  265.     {1132},
  266.     {1135},
  267.     {1136}
  268. };
  269.  
  270. new bventr[2][0] = {
  271.     {1042},
  272.     {1044}
  273. };
  274.  
  275. new bventl[2][0] = {
  276.     {1043},
  277.     {1045}
  278. };
  279.  
  280. new bscoop[4][0] = {
  281.     {1004},
  282.     {1005},
  283.     {1011},
  284.     {1012}
  285. };
  286.  
  287. new rscoop[13][0] = {
  288.     {1006},
  289.     {1032},
  290.     {1033},
  291.     {1035},
  292.     {1038},
  293.     {1053},
  294.     {1054},
  295.     {1055},
  296.     {1061},
  297.     {1067},
  298.     {1068},
  299.     {1088},
  300.     {1091}
  301. };
  302.  
  303. new lskirt[21][0] = {
  304.     {1007},
  305.     {1026},
  306.     {1031},
  307.     {1036},
  308.     {1039},
  309.     {1042},
  310.     {1047},
  311.     {1048},
  312.     {1056},
  313.     {1057},
  314.     {1069},
  315.     {1070},
  316.     {1090},
  317.     {1093},
  318.     {1106},
  319.     {1108},
  320.     {1118},
  321.     {1119},
  322.     {1133},
  323.     {1122},
  324.     {1134}
  325. };
  326.  
  327. new rskirt[21][0] = {
  328.     {1017},
  329.     {1027},
  330.     {1030},
  331.     {1040},
  332.     {1041},
  333.     {1051},
  334.     {1052},
  335.     {1062},
  336.     {1063},
  337.     {1071},
  338.     {1072},
  339.     {1094},
  340.     {1095},
  341.     {1099},
  342.     {1101},
  343.     {1102},
  344.     {1107},
  345.     {1120},
  346.     {1121},
  347.     {1124},
  348.     {1137}
  349. };
  350.  
  351. new hydraulics[1][0] = {
  352.     {1087}
  353. };
  354.  
  355. new base[1][0] = {
  356.     {1086}
  357. };
  358.  
  359. new rbbars[2][0] = {
  360.     {1109},
  361.     {1110}
  362. };
  363.  
  364. new fbbars[2][0] = {
  365.     {1115},
  366.     {1116}
  367. };
  368.  
  369. new wheels[17][0] = {
  370.     {1025},
  371.     {1073},
  372.     {1074},
  373.     {1075},
  374.     {1076},
  375.     {1077},
  376.     {1078},
  377.     {1079},
  378.     {1080},
  379.     {1081},
  380.     {1082},
  381.     {1083},
  382.     {1084},
  383.     {1085},
  384.     {1096},
  385.     {1097},
  386.     {1098}
  387. };
  388.  
  389. new lights[2][0] = {
  390.     {1013},
  391.     {1024}
  392. };
  393. // end of tuning component list
  394.  
  395. #if defined CARSELL
  396. new offerCar[MAX_PLAYERS][2];
  397. #endif
  398.  
  399. ini_GetKey( line[] )
  400. {
  401.     new keyRes[256];
  402.     keyRes[0] = 0;
  403.     if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  404.     strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  405.     return keyRes;
  406. }
  407.  
  408. ini_GetValue( line[] )
  409. {
  410.     new valRes[256];
  411.     valRes[0]=0;
  412.     if ( strfind( line , "=" , true ) == -1 ) return valRes;
  413.     strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  414.     return valRes;
  415. }
  416.  
  417. strtok(const string[], &index)
  418. {
  419.     new length = strlen(string);
  420.     while ((index < length) && (string[index] <= ' '))
  421.     {
  422.         index++;
  423.     }
  424.  
  425.     new offset = index;
  426.     new result[20];
  427.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  428.     {
  429.         result[index - offset] = string[index];
  430.         index++;
  431.     }
  432.     result[index - offset] = EOS;
  433.     return result;
  434. }
  435.  
  436. IsAutohausCar(carid)
  437. {
  438.     new i;
  439.     for(i=0; i<sizeof(Buylist); i++)
  440.     {
  441.         if(Buylist[i][Carid]==carid) { return i; }
  442.     }
  443.     return -1;
  444. }
  445.  
  446. GetPlayerFromCarlistCar(carid)
  447. {
  448.     new i;
  449.     for(i=0; i<sizeof(Carlist); i++)
  450.     {
  451.         if(Carlist[i][Carid]==carid) { return i; }
  452.     }
  453.     return -1;
  454. }
  455.  
  456. GetModType(componentid)
  457. {
  458.     new i;
  459.     for(i=0; i<20; i++)
  460.     {
  461.         if(spoiler[i][0]==componentid) { return 1; }
  462.     }
  463.     for(i=0; i<3; i++)
  464.     {
  465.         if(nitro[i][0]==componentid) { return 2; }
  466.     }
  467.     for(i=0; i<23; i++)
  468.     {
  469.         if(fbumper[i][0]==componentid) { return 3; }
  470.     }
  471.     for(i=0; i<22; i++)
  472.     {
  473.         if(rbumper[i][0]==componentid) { return 4; }
  474.     }
  475.     for(i=0; i<28; i++)
  476.     {
  477.         if(exhaust[i][0]==componentid) { return 5; }
  478.     }
  479.     for(i=0; i<2; i++)
  480.     {
  481.         if(bventr[i][0]==componentid) { return 6; }
  482.     }
  483.     for(i=0; i<2; i++)
  484.     {
  485.         if(bventl[i][0]==componentid) { return 7; }
  486.     }
  487.     for(i=0; i<4; i++)
  488.     {
  489.         if(bscoop[i][0]==componentid) { return 8; }
  490.     }
  491.     for(i=0; i<13; i++)
  492.     {
  493.         if(rscoop[i][0]==componentid) { return 9; }
  494.     }
  495.     for(i=0; i<21; i++)
  496.     {
  497.         if(lskirt[i][0]==componentid) { return 10; }
  498.     }
  499.     for(i=0; i<21; i++)
  500.     {
  501.         if(rskirt[i][0]==componentid) { return 11; }
  502.     }
  503.     if(hydraulics[0][0]==componentid) { return 12; }
  504.     if(base[0][0]==componentid) { return 13; }
  505.     for(i=0; i<2; i++)
  506.     {
  507.         if(rbbars[i][0]==componentid) { return 14; }
  508.     }
  509.     for(i=0; i<2; i++)
  510.     {
  511.         if(fbbars[i][0]==componentid) { return 15; }
  512.     }
  513.     for(i=0; i<17; i++)
  514.     {
  515.         if(wheels[i][0]==componentid) { return 16; }
  516.     }
  517.     for(i=0; i<2; i++)
  518.     {
  519.         if(lights[i][0]==componentid) { return 17; }
  520.     }
  521.     return 0;
  522. }
  523.  
  524. public OnFilterScriptInit()
  525. {
  526.     print("----------------------------------");
  527.     print(" ~*~ SimpleAutohaus 1.0 ~*~");
  528.     print(" ~*~  (c)  ping         ~*~");
  529.     print(" ~*~  (c)  G.F.Scripter ~*~");
  530.     print("----------------------------------\n");
  531.  
  532.     new i;
  533.     for(i=0; i<sizeof(Buylist); i++)
  534.     {
  535.         Buylist[i][Carid]=CreateVehicle(Buylist[i][Modelid],Buylist[i][X],Buylist[i][Y],Buylist[i][Z],Buylist[i][Rotation],-1,-1,-1);
  536.     }
  537.     for(i=0; i<MAX_PLAYERS; i++)
  538.     {
  539.         Spectating[i][0]=-1;
  540.     }
  541.     return 1;
  542. }
  543.  
  544. public OnPlayerConnect(playerid)
  545. {
  546.     CreateObject(1215, 786.79998779297, -1344, 13.10000038147, 0, 0, 0);
  547.     CreateObject(1215, 753.5, -1330.1999511719, 13.10000038147, 0, 0, 0);
  548.     CreateObject(18451, 734.40002441406, -1350, 13, 0, 0, 30);
  549.     CreateObject(1215, 773.7998046875, -1330.599609375, 13.10000038147, 0, 0, 0);
  550.     CreateObject(1215, 762.40002441406, -1330.3000488281, 13.10000038147, 0, 0, 0);
  551.     CreateObject(1215, 768, -1330.4000244141, 13.10000038147, 0, 0, 0);
  552.     CreateObject(1215, 770.70001220703, -1330.5, 13.10000038147, 0, 0, 0);
  553.     CreateObject(1215, 765.09997558594, -1330.3000488281, 13.10000038147, 0, 0, 0);
  554.     CreateObject(1215, 759.40002441406, -1330.1999511719, 13.10000038147, 0, 0, 0);
  555.     CreateObject(1215, 756.29998779297, -1330.1999511719, 13.10000038147, 0, 0, 0);
  556.     CreateObject(1215, 750.40002441406, -1330.1999511719, 13.10000038147, 0, 0, 0);
  557.     CreateObject(1215, 735.90002441406, -1330.1999511719, 13.10000038147, 0, 0, 0);
  558.     CreateObject(1215, 747.79998779297, -1330.1999511719, 13.10000038147, 0, 0, 0);
  559.     CreateObject(1215, 744.29998779297, -1330.0999755859, 13.10000038147, 0, 0, 0);
  560.     CreateObject(1215, 741, -1330.099609375, 13.10000038147, 0, 0, 0);
  561.     CreateObject(1215, 738.099609375, -1330.099609375, 13.10000038147, 0, 0, 0);
  562.     CreateObject(1215, 782, -1330.7998046875, 13.10000038147, 0, 0, 0);
  563.     CreateObject(1215, 786.8994140625, -1330.8994140625, 13.10000038147, 0, 0, 0);
  564.     CreateObject(1215, 786.8994140625, -1330.8994140625, 13.10000038147, 0, 0, 0);
  565.     CreateObject(1215, 786.7998046875, -1344, 13.10000038147, 0, 0, 0);
  566.     CreateObject(1215, 786.59997558594, -1384.5, 13.300000190735, 0, 0, 0);
  567.     CreateObject(1215, 786.7998046875, -1363.099609375, 13.10000038147, 0, 0, 0);
  568.     CreateObject(1215, 773.79998779297, -1384.5, 13.300000190735, 0, 0, 0);
  569.     CreateObject(1215, 782.099609375, -1384.5, 13.300000190735, 0, 0, 0);
  570.     new dateiname[MAX_PLAYER_NAME+4];
  571.     new playername[MAX_PLAYER_NAME];
  572.     Carlist[playerid][Typ]=-1; Carlist[playerid][X]=0.0; Carlist[playerid][Y]=0.0; Carlist[playerid][Z]=0.0;
  573.     Carlist[playerid][Rotation]=0.0; Carlist[playerid][Status]=0; Carlist[playerid][Lock]=0; Carlist[playerid][Carid]=-1;
  574.     Carlist[playerid][Color1]=-1; Carlist[playerid][Color2]=-1; Carlist[playerid][mod1]=-1; Carlist[playerid][mod2]=-1;
  575.     Carlist[playerid][mod3]=-1; Carlist[playerid][mod4]=-1; Carlist[playerid][mod5]=-1; Carlist[playerid][mod6]=-1;
  576.     Carlist[playerid][mod7]=-1; Carlist[playerid][mod8]=-1; Carlist[playerid][mod9]=-1; Carlist[playerid][mod10]=-1;
  577.     Carlist[playerid][mod11]=-1; Carlist[playerid][mod12]=-1; Carlist[playerid][mod13]=-1; Carlist[playerid][mod14]=-1;
  578.     Carlist[playerid][mod15]=-1; Carlist[playerid][mod16]=-1; Carlist[playerid][mod17]=-1; Carlist[playerid][Paintjob]=-1;
  579.     Spectating[playerid][0]=-1;
  580.     #if defined CARSELL
  581.     offerCar[playerid]={-1,0};
  582.     #endif
  583.     GetPlayerName(playerid, playername, sizeof(playername));
  584.     format(dateiname, sizeof(dateiname), "%s.car", playername);
  585.     if (fexist(dateiname))
  586.     {
  587.         new File: CarFile = fopen(dateiname, io_read);
  588.         if ( CarFile )
  589.         {
  590.             new key[ 256 ];
  591.             new Data[ 256 ];
  592.             while ( fread( CarFile , Data , sizeof( Data ) ) )
  593.             {
  594.                 key = ini_GetKey(Data);
  595.                 if(strcmp(key,"AH_Typ",true)==0) { Carlist[playerid][Typ]=strval(ini_GetValue(Data)); }
  596.                 else if(strcmp(key,"AH_X",true)==0) { Carlist[playerid][X]=floatstr(ini_GetValue(Data)); }
  597.                 else if(strcmp(key,"AH_Y",true)==0) { Carlist[playerid][Y]=floatstr(ini_GetValue(Data)); }
  598.                 else if(strcmp(key,"AH_Z",true)==0) { Carlist[playerid][Z]=floatstr(ini_GetValue(Data)); }
  599.                 else if(strcmp(key,"AH_Rot",true)==0) { Carlist[playerid][Rotation]=floatstr(ini_GetValue(Data)); }
  600.                 else if(strcmp(key,"AH_Status",true)==0) { Carlist[playerid][Status]=strval(ini_GetValue(Data)); }
  601.                 else if(strcmp(key,"AH_Lock",true)==0) { Carlist[playerid][Lock]=strval(ini_GetValue(Data)); }
  602.                 else if(strcmp(key,"AH_Paintjob",true)==0) { Carlist[playerid][Paintjob]=strval(ini_GetValue(Data)); }
  603.                 else if(strcmp(key,"AH_Color1",true)==0) { Carlist[playerid][Color1]=strval(ini_GetValue(Data)); }
  604.                 else if(strcmp(key,"AH_Color2",true)==0) { Carlist[playerid][Color2]=strval(ini_GetValue(Data)); }
  605.                 else if(strcmp(key,"AH_mod1",true)==0) { Carlist[playerid][mod1]=strval(ini_GetValue(Data)); }
  606.                 else if(strcmp(key,"AH_mod2",true)==0) { Carlist[playerid][mod2]=strval(ini_GetValue(Data)); }
  607.                 else if(strcmp(key,"AH_mod3",true)==0) { Carlist[playerid][mod3]=strval(ini_GetValue(Data)); }
  608.                 else if(strcmp(key,"AH_mod4",true)==0) { Carlist[playerid][mod4]=strval(ini_GetValue(Data)); }
  609.                 else if(strcmp(key,"AH_mod5",true)==0) { Carlist[playerid][mod5]=strval(ini_GetValue(Data)); }
  610.                 else if(strcmp(key,"AH_mod6",true)==0) { Carlist[playerid][mod6]=strval(ini_GetValue(Data)); }
  611.                 else if(strcmp(key,"AH_mod7",true)==0) { Carlist[playerid][mod7]=strval(ini_GetValue(Data)); }
  612.                 else if(strcmp(key,"AH_mod8",true)==0) { Carlist[playerid][mod8]=strval(ini_GetValue(Data)); }
  613.                 else if(strcmp(key,"AH_mod9",true)==0) { Carlist[playerid][mod9]=strval(ini_GetValue(Data)); }
  614.                 else if(strcmp(key,"AH_mod10",true)==0) { Carlist[playerid][mod10]=strval(ini_GetValue(Data)); }
  615.                 else if(strcmp(key,"AH_mod11",true)==0) { Carlist[playerid][mod11]=strval(ini_GetValue(Data)); }
  616.                 else if(strcmp(key,"AH_mod12",true)==0) { Carlist[playerid][mod12]=strval(ini_GetValue(Data)); }
  617.                 else if(strcmp(key,"AH_mod13",true)==0) { Carlist[playerid][mod13]=strval(ini_GetValue(Data)); }
  618.                 else if(strcmp(key,"AH_mod14",true)==0) { Carlist[playerid][mod14]=strval(ini_GetValue(Data)); }
  619.                 else if(strcmp(key,"AH_mod15",true)==0) { Carlist[playerid][mod15]=strval(ini_GetValue(Data)); }
  620.                 else if(strcmp(key,"AH_mod16",true)==0) { Carlist[playerid][mod16]=strval(ini_GetValue(Data)); }
  621.                 else if(strcmp(key,"AH_mod17",true)==0) { Carlist[playerid][mod17]=strval(ini_GetValue(Data)); }
  622.             }
  623.         }
  624.         fclose(CarFile);
  625.         if(Carlist[playerid][Typ]!=-1 && Carlist[playerid][Status]==1)
  626.         {
  627.             Carlist[playerid][Carid]=CreateTunedCar(playerid);
  628.         }
  629.     }
  630.     SetTimerEx("DelaySetVehicleParams",10000,0,"i",playerid);
  631.     return 1;
  632. }
  633.  
  634. public OnPlayerDisconnect(playerid)
  635. {
  636.     new dateiname[MAX_PLAYER_NAME+4];
  637.     new playername[MAX_PLAYER_NAME];
  638.     new var[256];
  639.     GetPlayerName(playerid, playername, sizeof(playername));
  640.     format(dateiname, sizeof(dateiname), "%s.car", playername);
  641.     new File: CarFile = fopen(dateiname, io_write);
  642.     format(var, 256, "AH_Typ=%i\n", Carlist[playerid][Typ]); fwrite(CarFile, var);
  643.     format(var, 256, "AH_X=%f\n", Carlist[playerid][X]); fwrite(CarFile, var);
  644.     format(var, 256, "AH_Y=%f\n", Carlist[playerid][Y]); fwrite(CarFile, var);
  645.     format(var, 256, "AH_Z=%f\n", Carlist[playerid][Z]); fwrite(CarFile, var);
  646.     format(var, 256, "AH_Rot=%f\n", Carlist[playerid][Rotation]); fwrite(CarFile, var);
  647.     format(var, 256, "AH_Status=%i\n", Carlist[playerid][Status]); fwrite(CarFile, var);
  648.     format(var, 256, "AH_Lock=%i\n", Carlist[playerid][Lock]); fwrite(CarFile, var);
  649.     format(var, 256, "AH_Paintjob=%i\n", Carlist[playerid][Paintjob]); fwrite(CarFile, var);
  650.     format(var, 256, "AH_Color1=%i\n", Carlist[playerid][Color1]); fwrite(CarFile, var);
  651.     format(var, 256, "AH_Color2=%i\n", Carlist[playerid][Color2]); fwrite(CarFile, var);
  652.     format(var, 256, "AH_mod1=%i\n", Carlist[playerid][mod1]); fwrite(CarFile, var);
  653.     format(var, 256, "AH_mod2=%i\n", Carlist[playerid][mod2]); fwrite(CarFile, var);
  654.     format(var, 256, "AH_mod3=%i\n", Carlist[playerid][mod3]); fwrite(CarFile, var);
  655.     format(var, 256, "AH_mod4=%i\n", Carlist[playerid][mod4]); fwrite(CarFile, var);
  656.     format(var, 256, "AH_mod5=%i\n", Carlist[playerid][mod5]); fwrite(CarFile, var);
  657.     format(var, 256, "AH_mod6=%i\n", Carlist[playerid][mod6]); fwrite(CarFile, var);
  658.     format(var, 256, "AH_mod7=%i\n", Carlist[playerid][mod7]); fwrite(CarFile, var);
  659.     format(var, 256, "AH_mod8=%i\n", Carlist[playerid][mod8]); fwrite(CarFile, var);
  660.     format(var, 256, "AH_mod9=%i\n", Carlist[playerid][mod9]); fwrite(CarFile, var);
  661.     format(var, 256, "AH_mod10=%i\n", Carlist[playerid][mod10]); fwrite(CarFile, var);
  662.     format(var, 256, "AH_mod11=%i\n", Carlist[playerid][mod11]); fwrite(CarFile, var);
  663.     format(var, 256, "AH_mod12=%i\n", Carlist[playerid][mod12]); fwrite(CarFile, var);
  664.     format(var, 256, "AH_mod13=%i\n", Carlist[playerid][mod13]); fwrite(CarFile, var);
  665.     format(var, 256, "AH_mod14=%i\n", Carlist[playerid][mod14]); fwrite(CarFile, var);
  666.     format(var, 256, "AH_mod15=%i\n", Carlist[playerid][mod15]); fwrite(CarFile, var);
  667.     format(var, 256, "AH_mod16=%i\n", Carlist[playerid][mod16]); fwrite(CarFile, var);
  668.     format(var, 256, "AH_mod17=%i\n", Carlist[playerid][mod17]); fwrite(CarFile, var);
  669.     fclose(CarFile);
  670.     if(Carlist[playerid][Carid]!=-1)
  671.     {
  672.         SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  673.         DestroyVehicle(Carlist[playerid][Carid]);
  674.         Carlist[playerid][Carid]=-1;
  675.     }
  676.     if (Spectating[playerid][0]!=-1)
  677.     {
  678.         SetVehicleParamsForAll(Buylist[Spectating[playerid][0]][Carid],0,0);
  679.         Spectating[playerid][0]=-1;
  680.     }
  681.     return 1;
  682. }
  683.  
  684. public OnVehicleDeath(vehicleid, killerid)
  685. {
  686.     new i;
  687.     for(i=0; i<MAX_PLAYERS; i++)
  688.     {
  689.         if(Carlist[i][Carid]==vehicleid)
  690.         {
  691.             SetTimerEx("DelayDestroyCar",3000,0,"i",i);
  692.             return 1;
  693.         }
  694.     }
  695.     return 1;
  696. }
  697.  
  698. public OnPlayerCommandText(playerid, cmdtext[])
  699. {
  700.     new cmd[128], idx, string[128];
  701.     #if defined CARSELL
  702.     new tmp[128];
  703.     #endif
  704.     cmd = strtok(cmdtext, idx);
  705.  
  706.     if (strcmp("/fzh", cmd, true, 10) == 0)
  707.     {
  708.         if(IsPlayerConnected(playerid))
  709.         {
  710.             SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  711.             SendClientMessage(playerid, COLOR_WHITE,"*** ----------Fahrzueg Menü---------- ***");
  712.             SendClientMessage(playerid, COLOR_GRAD3,"*** Allgemein *** /parken /carlock /umlackieren ***");
  713.             SendClientMessage(playerid, COLOR_GRAD3,"*** Autohaus  *** /akaufen /averkaufen /averlassen");
  714.             #if defined CARSELL
  715.             SendClientMessage(playerid, COLOR_GRAD3,"*** Auto Verkaufen *** /asverkaufen /vkabbrechen /kaufen");
  716.             SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  717.             #endif
  718.         }
  719.         return 1;
  720.     }
  721.     else if (strcmp("/parken", cmd, true, 10) == 0)
  722.     {
  723.         if (IsPlayerInVehicle(playerid,Carlist[playerid][Carid]))
  724.         {
  725.             GetVehiclePos(Carlist[playerid][Carid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z]);
  726.             GetVehicleZAngle(Carlist[playerid][Carid],Carlist[playerid][Rotation]);
  727.             SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug wurde Erfolgreich Geparkt!");
  728.         }
  729.         else { SendClientMessage(playerid, WEISS, "Das ist nicht dein Fahrzeug!"); }
  730.         return 1;
  731.     }
  732.     else if (strcmp("/carlock", cmd, true, 10) == 0)
  733.     {
  734.         if (Carlist[playerid][Typ]!=-1)
  735.         {
  736.             if (Carlist[playerid][Carid]!=-1)
  737.             {
  738.                 if (Carlist[playerid][Lock]==0)
  739.                 {
  740.                     Carlist[playerid][Lock]=1;
  741.                     SetVehicleParamsForAll(Carlist[playerid][Carid],0,1);
  742.                     SetVehicleParamsForPlayer(Carlist[playerid][Carid],playerid,0,0);
  743.                     SendClientMessage(playerid, WEISS, "Sie haben ihr Fahrzeug {FF0000}Abgeschlossen!");
  744.                 }
  745.                 else
  746.                 {
  747.                     Carlist[playerid][Lock]=0;
  748.                     SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  749.                     SendClientMessage(playerid, WEISS, "Sie haben ihr Fahrzeug {00FF00}Aufgeschlossen!");
  750.                 }
  751.             }
  752.             else { SendClientMessage(playerid, WEISS, "Du hast einen Motorschaden, Rufe einen Mechaniker!"); }
  753.         }
  754.         else { SendClientMessage(playerid, WEISS, "Du hast kein Fahrzeug!"); }
  755.         return 1;
  756.     }
  757.     else if (strcmp("/umlackieren", cmd, true, 10) == 0)
  758.     {
  759.         if (Carlist[playerid][Typ]!=-1)
  760.         {
  761.             if (Carlist[playerid][Carid]!=-1)
  762.             {
  763.                 ChangeVehicleColor(Carlist[playerid][Carid],Carlist[playerid][Color1],Carlist[playerid][Color2]);
  764.                 SendClientMessage(playerid, COLOR_RED, "Fahrzeug Umlackiert");
  765.             }
  766.             else { SendClientMessage(playerid, WEISS, "Dein Fahrzeug hat einen Schaden, Reperiere es erst!"); }
  767.         }
  768.         else { SendClientMessage(playerid, WEISS, "Du hast kein Fahrzeug!"); }
  769.         return 1;
  770.     }
  771.     else if (strcmp("/averlassen", cmd, true, 10) == 0)
  772.     {
  773.         if (Spectating[playerid][0]!=-1)
  774.         {
  775.             TogglePlayerControllable(playerid,1);
  776.             SetVehicleParamsForAll(Buylist[Spectating[playerid][0]][Carid],0,0);
  777.             Spectating[playerid][0]=-1;
  778.             RemovePlayerFromVehicle(playerid);
  779.         }
  780.         else { SendClientMessage(playerid, WEISS, "Du bist in Keinem Fahrzeug vom Einenm Autohaus!"); }
  781.         return 1;
  782.     }
  783.     else if (strcmp("/akaufen", cmd, true, 10) == 0)
  784.     {
  785.         if (Spectating[playerid][0]!=-1)
  786.         {
  787.             if (Carlist[playerid][Typ]==-1)
  788.             {
  789.                 new price = Buylist[Spectating[playerid][0]][Price];
  790.                 if (price <= GetPlayerMoney(playerid))
  791.                 {
  792.                     new autohaus=Buylist[Spectating[playerid][0]][Autohaus];
  793.                     GivePlayerMoney(playerid, - price);
  794.                     Carlist[playerid][Typ]=Spectating[playerid][0]; Carlist[playerid][X]=Carspawns[autohaus][X]; Carlist[playerid][Y]=Carspawns[autohaus][Y];
  795.                     Carlist[playerid][Z]=Carspawns[autohaus][Z]; Carlist[playerid][Rotation]=Carspawns[autohaus][Rotation]; Carlist[playerid][Status]=1; Carlist[playerid][Lock]=0;
  796.                     Carlist[playerid][Carid]=CreateVehicle(Buylist[Spectating[playerid][0]][Modelid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z],Carlist[playerid][Rotation],-1,-1,-1);
  797.                     SetVehicleParamsForAll(Buylist[Spectating[playerid][0]][Carid],0,0);
  798.                     TogglePlayerControllable(playerid,1);
  799.                     Spectating[playerid][0]=-1;
  800.                     RemovePlayerFromVehicle(playerid);
  801.                     format(string,128,"Glückwunsch, Sie haben für %s$ eine/einen %i!",Buylist[Carlist[playerid][Typ]][Name],price);
  802.                     SendClientMessage(playerid, COLOR_RED, string);
  803.                     SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Du kannst Dein Auto Auf/ZU Schließen. Mit /lock.");
  804.                     SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Für Hilfen /carhelp.");
  805.                     SendClientMessage(playerid, COLOR_YELLOW, "Autohaus: Das Fahrzeug ist Am Auslieferungspunkt. Viel Spaß damit.!");
  806.                 }
  807.                 else { format(string, 128, "Nicht genug Geld (Du Brauchst: $%i)!", price); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
  808.             }
  809.             else { SendClientMessage(playerid, WEISS, "Du hast schon ein Fahrzeug, Benutze /pcarsell um es An einen Spieler u Verkaufen oder /sellcar um Es Für die Hälfte zu Verkaufen!"); }
  810.         }
  811.         else { SendClientMessage(playerid, WEISS, "Sie sind Nicht am Autohaus 'Intercars'!"); }
  812.         return 1;
  813.     }
  814.     else if (strcmp("/averkaufen", cmd, true, 10) == 0)
  815.     {
  816.         if (Carlist[playerid][Typ]!=-1)
  817.         {
  818.             new price = (Buylist[Carlist[playerid][Typ]][Price]/5)*4;
  819.             if (IsPlayerInVehicle(playerid,Carlist[playerid][Carid])) { RemovePlayerFromVehicle(playerid); }
  820.             GivePlayerMoney(playerid, price);
  821.             DestroyVehicle(Carlist[playerid][Carid]);
  822.             Carlist[playerid][Typ]=-1; Carlist[playerid][X]=0.0; Carlist[playerid][Y]=0.0; Carlist[playerid][Z]=0.0;
  823.             Carlist[playerid][Rotation]=0.0; Carlist[playerid][Status]=0; Carlist[playerid][Lock]=0; Carlist[playerid][Carid]=-1;
  824.             Carlist[playerid][Color1]=-1; Carlist[playerid][Color2]=-1; Carlist[playerid][mod1]=-1; Carlist[playerid][mod2]=-1;
  825.             Carlist[playerid][mod3]=-1; Carlist[playerid][mod4]=-1; Carlist[playerid][mod5]=-1; Carlist[playerid][mod6]=-1;
  826.             Carlist[playerid][mod7]=-1; Carlist[playerid][mod8]=-1; Carlist[playerid][mod9]=-1; Carlist[playerid][mod10]=-1;
  827.             Carlist[playerid][mod11]=-1; Carlist[playerid][mod12]=-1; Carlist[playerid][mod13]=-1; Carlist[playerid][mod14]=-1;
  828.             Carlist[playerid][mod15]=-1; Carlist[playerid][mod16]=-1; Carlist[playerid][mod17]=-1; Carlist[playerid][Paintjob]=-1;
  829.             format(string,128,"Du hast dein Fahrzeug Für %i$ Verkauft!",price);
  830.             SendClientMessage(playerid, COLOR_RED, string);
  831.         }
  832.         else { SendClientMessage(playerid, WEISS, "Du hast kein Fahrzeug!"); }
  833.         return 1;
  834.     }
  835.     #if defined RESETCARS
  836.     else if (strcmp("/resetcars", cmd, true, 10) == 0)
  837.     {
  838.         if(CallRemoteFunction("IsAdmin","i",playerid)) { ResetAutohausSpawns(); }
  839.         return 1;
  840.     }
  841.     #endif
  842.     #if defined CARSELL
  843.     else if (strcmp("/asverkaufen", cmd, true, 10) == 0)
  844.     {
  845.         tmp = strtok(cmdtext, idx);
  846.         if (!strlen(tmp))
  847.         {
  848.             SendClientMessage(playerid, WEISS, "Benutzung: /asverkaufen [Spielerid] [Preis]");
  849.             return 1;
  850.         }
  851.         new sellplayerid = ReturnUser(tmp);
  852.         tmp = strtok(cmdtext, idx);
  853.         if (!strlen(tmp))
  854.         {
  855.             SendClientMessage(playerid, WEISS, "Benutzung: /asverkaufen [Spielerid] [Preis]");
  856.             return 1;
  857.         }
  858.         new price = strval(tmp);
  859.         if (price<0)
  860.         {
  861.             SendClientMessage(playerid, WEISS, "Der Preis muss Über 0$ Sein.");
  862.             return 1;
  863.         }
  864.         if (Carlist[playerid][Typ]==-1)
  865.         {
  866.             SendClientMessage(playerid, WEISS, "Du hast kein Fahrzeug!");
  867.             return 1;
  868.         }
  869.         if (!IsPlayerConnected(sellplayerid))
  870.         {
  871.             SendClientMessage(playerid, WEISS, "Dieser Spieler ist Offlinee.");
  872.             return 1;
  873.         }
  874.         offerCar[sellplayerid][0]=playerid;
  875.         offerCar[sellplayerid][1]=price;
  876.         new playername[MAX_PLAYER_NAME];
  877.         new sellplayername[MAX_PLAYER_NAME];
  878.         GetPlayerName(playerid,playername,sizeof(playername));
  879.         GetPlayerName(sellplayerid,sellplayername,sizeof(sellplayername));
  880.         format(string,128,"Du Verkaufst %s Dein Fahrzeug für %i$!",sellplayername,price);
  881.         SendClientMessage(playerid, COLOR_RED, string);
  882.         SendClientMessage(playerid, COLOR_YELLOW, "Verkauf abbrechen /cancelsell.");
  883.         format(string,128,"%s Verkauft seinen %s für %i$.",playername,Buylist[Carlist[playerid][Typ]][Name],price);
  884.         SendClientMessage(sellplayerid, COLOR_RED, string);
  885.         SendClientMessage(sellplayerid, COLOR_YELLOW, "Fahrzeug Kaufen mit /kaufen.");
  886.         return 1;
  887.     }
  888.     else if (strcmp("/vkabbrechen", cmd, true, 10) == 0)
  889.     {
  890.         for (new i=0; i<MAX_PLAYERS; i++)
  891.         {
  892.             if (offerCar[i][0]==playerid)
  893.             {
  894.                 offerCar[i]={-1,0};
  895.                 SendClientMessage(playerid, COLOR_RED, "Verkauft Abgebrochen.");
  896.                 if (IsPlayerConnected(i))
  897.                 {
  898.                     new playername[MAX_PLAYER_NAME];
  899.                     GetPlayerName(playerid,playername,sizeof(playername));
  900.                     format(string,128,"%s cancelled the deal.",playername);
  901.                     SendClientMessage(i, COLOR_GREEN, string);
  902.                 }
  903.                 return 1;
  904.             }
  905.         }
  906.         SendClientMessage(playerid, WEISS, "Du verkaufst Kein Fahrzeug!");
  907.         return 1;
  908.     }
  909.     else if (strcmp("/kaufen", cmd, true, 10) == 0)
  910.     {
  911.         if (offerCar[playerid][0]!=-1)
  912.         {
  913.             if (IsPlayerConnected(offerCar[playerid][0]))
  914.             {
  915.                 if (Carlist[playerid][Typ]==-1)
  916.                 {
  917.                     if (Carlist[offerCar[playerid][0]][Typ]!=-1)
  918.                     {
  919.                         if (GetPlayerMoney(playerid)>=offerCar[playerid][1])
  920.                         {
  921.                             new sellerid=offerCar[playerid][0];
  922.                             new price=offerCar[playerid][1];
  923.                             offerCar[playerid]={-1,0};
  924.                             GivePlayerMoney(playerid, - price);
  925.                             GivePlayerMoney(sellerid, price);
  926.                             Carlist[playerid][Typ]=Carlist[sellerid][Typ];
  927.                             Carlist[playerid][X]=Carlist[sellerid][X];
  928.                             Carlist[playerid][Y]=Carlist[sellerid][Y];
  929.                             Carlist[playerid][Z]=Carlist[sellerid][Z];
  930.                             Carlist[playerid][Rotation]=Carlist[sellerid][Rotation];
  931.                             Carlist[playerid][Status]=Carlist[sellerid][Status];
  932.                             Carlist[playerid][Lock]=Carlist[sellerid][Lock];
  933.                             Carlist[playerid][Carid]=Carlist[sellerid][Carid];
  934.                             Carlist[playerid][Color1]=Carlist[sellerid][Color1];
  935.                             Carlist[playerid][Color2]=Carlist[sellerid][Color2];
  936.                             Carlist[playerid][mod1]=Carlist[sellerid][mod1];
  937.                             Carlist[playerid][mod2]=Carlist[sellerid][mod2];
  938.                             Carlist[playerid][mod3]=Carlist[sellerid][mod3];
  939.                             Carlist[playerid][mod4]=Carlist[sellerid][mod4];
  940.                             Carlist[playerid][mod5]=Carlist[sellerid][mod5];
  941.                             Carlist[playerid][mod6]=Carlist[sellerid][mod6];
  942.                             Carlist[playerid][mod7]=Carlist[sellerid][mod7];
  943.                             Carlist[playerid][mod8]=Carlist[sellerid][mod8];
  944.                             Carlist[playerid][mod9]=Carlist[sellerid][mod9];
  945.                             Carlist[playerid][mod10]=Carlist[sellerid][mod10];
  946.                             Carlist[playerid][mod11]=Carlist[sellerid][mod11];
  947.                             Carlist[playerid][mod12]=Carlist[sellerid][mod12];
  948.                             Carlist[playerid][mod13]=Carlist[sellerid][mod13];
  949.                             Carlist[playerid][mod14]=Carlist[sellerid][mod14];
  950.                             Carlist[playerid][mod15]=Carlist[sellerid][mod15];
  951.                             Carlist[playerid][mod16]=Carlist[sellerid][mod16];
  952.                             Carlist[playerid][mod17]=Carlist[sellerid][mod17];
  953.                             Carlist[playerid][Paintjob]=Carlist[sellerid][Paintjob];
  954.                             Carlist[sellerid][Typ]=-1; Carlist[sellerid][X]=0.0; Carlist[sellerid][Y]=0.0; Carlist[sellerid][Z]=0.0;
  955.                             Carlist[sellerid][Rotation]=0.0; Carlist[sellerid][Status]=0; Carlist[sellerid][Lock]=0; Carlist[sellerid][Carid]=-1;
  956.                             Carlist[sellerid][Color1]=-1; Carlist[sellerid][Color2]=-1; Carlist[sellerid][mod1]=-1; Carlist[sellerid][mod2]=-1;
  957.                             Carlist[sellerid][mod3]=-1; Carlist[sellerid][mod4]=-1; Carlist[sellerid][mod5]=-1; Carlist[sellerid][mod6]=-1;
  958.                             Carlist[sellerid][mod7]=-1; Carlist[sellerid][mod8]=-1; Carlist[sellerid][mod9]=-1; Carlist[sellerid][mod10]=-1;
  959.                             Carlist[sellerid][mod11]=-1; Carlist[sellerid][mod12]=-1; Carlist[sellerid][mod13]=-1; Carlist[sellerid][mod14]=-1;
  960.                             Carlist[sellerid][mod15]=-1; Carlist[sellerid][mod16]=-1; Carlist[sellerid][mod17]=-1; Carlist[sellerid][Paintjob]=-1;
  961.                             if (Carlist[playerid][Status]==1)
  962.                             {
  963.                                 SetVehicleParamsForAll(Carlist[playerid][Carid],0,Carlist[playerid][Lock]);
  964.                                 SetVehicleParamsForPlayer(Carlist[playerid][Carid],playerid,0,0);
  965.                             }
  966.                             format(string,128,"Glückwunsch, Sie haben für %s$ eine/einen %i!",Buylist[Carlist[playerid][Typ]][Name],price);
  967.                             SendClientMessage(playerid, COLOR_RED, string);
  968.                             SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Du kannst Dein Auto Auf/ZU Schließen. Mit /lock.");
  969.                             SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Für Hilfen /carhelp.");
  970.                             SendClientMessage(playerid, COLOR_YELLOW, "Autohaus: Das Fahrzeug ist Am Auslieferungspunkt. Viel Spaß damit.!");
  971.                             new playername[MAX_PLAYER_NAME];
  972.                             GetPlayerName(playerid,playername,sizeof(playername));
  973.                             format(string,128,"You sold %s your car for $%i!",playername, price);
  974.                             SendClientMessage(sellerid, COLOR_RED, string);
  975.                         }
  976.                         else
  977.                         {
  978.                             format(string, 128, "Zu Wenig Geld (Du Brauchst: $%i)!", offerCar[playerid][1]);
  979.                             SendClientMessage(playerid, WEISS, string);
  980.                         }
  981.                     }
  982.                     else
  983.                     {
  984.                         offerCar[playerid]={-1,0};
  985.                         SendClientMessage(playerid, WEISS, "Der Verkäufer Verkauft kein Fahrzeug. Er ist Ein Betrüger!(melde ihn Bei der Polizei!).");
  986.                     }
  987.                 }
  988.                 else
  989.                 {
  990.                     SendClientMessage(playerid, WEISS, "Du hast schon Ein Fahrzeug!");
  991.                 }
  992.             }
  993.             else
  994.             {
  995.                 offerCar[playerid]={-1,0};
  996.                 SendClientMessage(playerid, WEISS, "Der Verkäufer ist Offline.");
  997.             }
  998.         }
  999.         else
  1000.         {
  1001.             SendClientMessage(playerid, WEISS, "Es gibt keine Autos im Angebot.");
  1002.         }
  1003.         return 1;
  1004.     }
  1005.     #endif
  1006.     return 0;
  1007. }
  1008.  
  1009. public OnPlayerStateChange(playerid, newstate, oldstate)
  1010. {
  1011.     if(newstate == PLAYER_STATE_DRIVER)
  1012.     {
  1013.         new vehicleid = GetPlayerVehicleID(playerid);
  1014.         new typ;
  1015.         typ=IsAutohausCar(vehicleid);
  1016.         if(typ!=-1)
  1017.         {
  1018.             new string[128];
  1019.             TogglePlayerControllable(playerid,0);
  1020.             Spectating[playerid][0]=typ;
  1021.             SetVehicleParamsForAll(vehicleid,0,1);
  1022.             SendClientMessage(playerid, COLOR_YELLOW, "~*~ Fahrzeug Verkauf ~*~");
  1023.             format(string,128,"Name: %s",Buylist[typ][Name]);
  1024.             SendClientMessage(playerid, COLOR_YELLOW, string);
  1025.             format(string,128,"Preis: $%i",Buylist[typ][Price]);
  1026.             SendClientMessage(playerid, COLOR_YELLOW, string);
  1027.             format(string,128,"Reperaturkosten: %i$",Buylist[typ][Repair]);
  1028.             SendClientMessage(playerid, COLOR_YELLOW, string);
  1029.             SendClientMessage(playerid, COLOR_GREEN, "Dieses auto Steht zum Verkauf. Um es zu Kaufen tippen Sie , /buycar");
  1030.             SendClientMessage(playerid, COLOR_GREEN, "Wenn Sie es NICHT Kaufen wollen Tippen Sie , /exitcar");
  1031.         }
  1032.     }
  1033.     return 1;
  1034. }
  1035.  
  1036. public OnVehicleMod(playerid,vehicleid,componentid)
  1037. {
  1038.     if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1039.     if(playerid!=-1)
  1040.     {
  1041.         new mod=GetModType(componentid);
  1042.         switch (mod)
  1043.         {
  1044.             case 1: { Carlist[playerid][mod1]=componentid; }
  1045.             case 2: { Carlist[playerid][mod2]=componentid; }
  1046.             case 3: { Carlist[playerid][mod3]=componentid; }
  1047.             case 4: { Carlist[playerid][mod4]=componentid; }
  1048.             case 5: { Carlist[playerid][mod5]=componentid; }
  1049.             case 6: { Carlist[playerid][mod6]=componentid; }
  1050.             case 7: { Carlist[playerid][mod7]=componentid; }
  1051.             case 8: { Carlist[playerid][mod8]=componentid; }
  1052.             case 9: { Carlist[playerid][mod9]=componentid; }
  1053.             case 10: { Carlist[playerid][mod10]=componentid; }
  1054.             case 11: { Carlist[playerid][mod11]=componentid; }
  1055.             case 12: { Carlist[playerid][mod12]=componentid; }
  1056.             case 13: { Carlist[playerid][mod13]=componentid; }
  1057.             case 14: { Carlist[playerid][mod14]=componentid; }
  1058.             case 15: { Carlist[playerid][mod15]=componentid; }
  1059.             case 16: { Carlist[playerid][mod16]=componentid; }
  1060.             case 17: { Carlist[playerid][mod17]=componentid; }
  1061.             default: { new string[128]; format(string,128,"Unbekannte Tuning's id: %i",componentid); print(string); }
  1062.         }
  1063.     }
  1064.     return 1;
  1065. }
  1066.  
  1067. public OnVehiclePaintjob(playerid,vehicleid, paintjobid)
  1068. {
  1069.     if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1070.     if(playerid!=-1)
  1071.     {
  1072.         Carlist[playerid][Paintjob]=paintjobid;
  1073.     }
  1074.     return 1;
  1075. }
  1076.  
  1077. public OnVehicleRespray(playerid,vehicleid, color1, color2)
  1078. {
  1079.     if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1080.     if(playerid!=-1)
  1081.     {
  1082.         Carlist[playerid][Color1]=color1;
  1083.         Carlist[playerid][Color2]=color2;
  1084.     }
  1085.     return 1;
  1086. }
  1087.  
  1088. public SetVehicleParamsForAll(carid,objective,doorslocked)
  1089. {
  1090.     new i;
  1091.     for(i=0; i<MAX_PLAYERS; i++) { SetVehicleParamsForPlayer(carid,i,objective,doorslocked); }
  1092. }
  1093.  
  1094. public CreateTunedCar(playerid)
  1095. {
  1096.     if(IsPlayerConnected(playerid) && Carlist[playerid][Typ]!=-1)
  1097.     {
  1098.         new carid=CreateVehicle(Buylist[Carlist[playerid][Typ]][Modelid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z],Carlist[playerid][Rotation],-1,-1,-1);
  1099.         if(Carlist[playerid][Lock]==1)
  1100.         {
  1101.             SetVehicleParamsForAll(carid,0,1);
  1102.             SetVehicleParamsForPlayer(carid,playerid,0,0);
  1103.         }
  1104.         if(Carlist[playerid][mod1]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod1]); }
  1105.         if(Carlist[playerid][mod2]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod2]); }
  1106.         if(Carlist[playerid][mod3]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod3]); }
  1107.         if(Carlist[playerid][mod4]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod4]); }
  1108.         if(Carlist[playerid][mod5]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod5]); }
  1109.         if(Carlist[playerid][mod6]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod6]); }
  1110.         if(Carlist[playerid][mod7]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod7]); }
  1111.         if(Carlist[playerid][mod8]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod8]); }
  1112.         if(Carlist[playerid][mod9]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod9]); }
  1113.         if(Carlist[playerid][mod10]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod10]); }
  1114.         if(Carlist[playerid][mod11]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod11]); }
  1115.         if(Carlist[playerid][mod12]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod12]); }
  1116.         if(Carlist[playerid][mod13]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod13]); }
  1117.         if(Carlist[playerid][mod14]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod14]); }
  1118.         if(Carlist[playerid][mod15]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod15]); }
  1119.         if(Carlist[playerid][mod16]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod16]); }
  1120.         if(Carlist[playerid][mod17]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod17]); }
  1121.         if(Carlist[playerid][Paintjob]!=-1) { ChangeVehiclePaintjob(carid,Carlist[playerid][Paintjob]); }
  1122.         if(Carlist[playerid][Color1]!=-1) { ChangeVehicleColor(carid,Carlist[playerid][Color1],Carlist[playerid][Color2]); }
  1123.         return carid;
  1124.     }
  1125.     return -1;
  1126. }
  1127.  
  1128. public DelayDestroyCar(playerid)
  1129. {
  1130.     SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  1131.     DestroyVehicle(Carlist[playerid][Carid]);
  1132.     Carlist[playerid][Status]=0;
  1133.     Carlist[playerid][Carid]=-1;
  1134.     return 1;
  1135. }
  1136.  
  1137. public DelaySetVehicleParams(playerid)
  1138. {
  1139.     if(!IsPlayerConnected(playerid)) { return 0; }
  1140.     new i;
  1141.     for(i=0; i<MAX_PLAYERS; i++)
  1142.  
  1143.     {
  1144.         if(Carlist[i][Carid]!=-1 && Carlist[i][Lock]==1) { SetVehicleParamsForPlayer(Carlist[i][Carid],playerid,0,1); }
  1145.         if(Spectating[i][0]!=-1) { SetVehicleParamsForPlayer(Buylist[Spectating[i][0]][Carid],playerid,0,1); }
  1146.     }
  1147.     return 1;
  1148. }
  1149.  
  1150. public ResetAutohausSpawns()
  1151. {
  1152.     new i;
  1153.     for(i=0; i<sizeof(Buylist); i++) { SetVehicleToRespawn(Buylist[i][Carid]); }
  1154. }
Advertisement
Add Comment
Please, Sign In to add comment