DarthXela

dxCars

Apr 2nd, 2013
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 25.83 KB | None | 0 0
  1. /***** Infos ************************************************************************************************************/
  2. /* Herzlichen Dank für den Download von dxCars!                                                                            */
  3. /* Bitte teile mir und anderen Benutzern im Release-Thread deine Meinung zu dxCars mit.                                 */
  4. /* Bei weiteren Fragen kontaktiere mich im Breadfish-Thread, per PN (DarthXela) oder per E-Mail an [email protected]. */
  5. /* In der scriptfiles/privatecars.cfg muss immer mindestens ein Fahrzeug stehen.                                        */
  6. /************************************************************************************************************************/
  7.  
  8. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9.  
  10. /***** Rechtliches ******************************************************************************************************/
  11. /* Dieses Script darf nach eigenen Wünschen angepasst und erweitert sowie z.B. in den Gamemode eingebunden werden.     */
  12. /* Du darfst das Script auch gern weitergeben, aber du darfst es nicht als Deins ausgeben.                              */
  13. /* Verkaufen darfst du das Script ebenfalls nicht. Du musst diesen Hinweis im Script lassen.                            */
  14. /*                                                                                                                      */
  15. /* Dieses Script ist geistiges Eigentum von Alexander Clausen.                                                          */
  16. /* © Copyright 2013 by Alexander Clausen.                                                                              */
  17. /************************************************************************************************************************/
  18.  
  19. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  20.  
  21. /***** Befehle **********************************************************************************************************/
  22. /*  /park       - Den zukünftigen Spawnpunkt des Fahrzeugs festlegen.                                                  */
  23. /*  /lock       - Das Fahrzeug abschließen.                                                                                */
  24. /*  /sellcar    - Das Fahrzeug verkaufen (Verkaufspreis immer 1/2 des ursprünglichen Preises)                          */
  25. /************************************************************************************************************************/
  26.  
  27. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  28.  
  29. #include <a_samp>
  30.  
  31. enum VInfo
  32. {
  33.     vOwner[32],
  34.     vBuyCar,
  35.     vPrice,
  36.     Float:vX,
  37.     Float:vY,
  38.     Float:vZ,
  39.     Float:vR,
  40.     vColor1,
  41.     vColor2,
  42.     vModel,
  43.     vLocked
  44. }
  45. new VehicleInfo[MAX_VEHICLES][VInfo];
  46. new Car_Pickup;
  47.  
  48. //Die Koordinaten in den geschweiften Klammern sind die 4 möglichen Spawns für gekauften Fahrzeuge.
  49. //Wenn man ein Auto kauft, wird es also zufällig an einer dieser Koordinaten gespawnt.
  50. //Es macht deshalb Sinn alle 4 Koordinaten auf EINEM Parkplatz zu haben.
  51. new Float:CarSpawn[4][4] =
  52. {
  53.     {523.5483,-1284.1775,16.9578,312.4323},
  54.     {528.5793,-1279.6379,16.9585,311.7369},
  55.     {535.1323,-1274.5292,16.9587,307.7129},
  56.     {542.4897,-1269.0133,16.9615,305.8788}
  57. };
  58.  
  59. public OnFilterScriptInit()
  60. {
  61.     for(new v=0; v<MAX_VEHICLES; v++)
  62.     {
  63.         strmid(VehicleInfo[v][vOwner], "Niemand", 0, 7, 32);
  64.         UnLockCar(v);
  65.     }
  66.     print("|------------- dxCars wird geladen -------------|");
  67.     LoadPrivateCars();
  68.     print("|------------- dxCars wurde geladen -------------|");
  69.     Car_Pickup = CreatePickup(1210, 2, 541.9863,-1292.5592,17.2422, -1); //Diese Koordinaten zur gewünschten Position des Autohaus-Pickups ändern.
  70.     return 1;
  71. }
  72.  
  73. public OnFilterScriptExit()
  74. {
  75.     SavePrivateCars();
  76.     return 1;
  77. }
  78.  
  79. public OnPlayerCommandText(playerid, cmdtext[])
  80. {
  81.     new string[128];
  82.     new name[32];
  83.     GetPlayerName(playerid, name, sizeof(name));
  84.     if (!strcmp("/park", cmdtext, true))
  85.     {
  86.         new v = GetPlayerVehicleID(playerid);
  87.         if(strcmp(name, VehicleInfo[v][vOwner])) return 1;
  88.         new Float:X, Float:Y, Float:Z, Float:R;
  89.         GetVehicleZAngle(v, R);
  90.         GetVehiclePos(v, X, Y, Z);
  91.         VehicleInfo[v][vX] = X;
  92.         VehicleInfo[v][vY] = Y;
  93.         VehicleInfo[v][vZ] = Z;
  94.         VehicleInfo[v][vR] = R;
  95.         return SendClientMessage(playerid, 0xFFFFFFFF, "Du hast deinen Wagen hier geparkt.");
  96.     }
  97.    
  98.     if (!strcmp("/lock", cmdtext, true))
  99.     {
  100.         new Float:X, Float:Y, Float:Z;
  101.         for(new v=0; v<MAX_VEHICLES; v++)
  102.         {
  103.             GetVehiclePos(v, X, Y, Z);
  104.             if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
  105.             {
  106.                 if(strcmp(name, VehicleInfo[v][vOwner]) == 0)
  107.                 {
  108.                     if(VehicleInfo[v][vLocked] == 1)
  109.                     {
  110.                         UnLockCar(v);
  111.                         GameTextForPlayer(playerid, "~w~Fahrzeug~g~ aufgeschlossen", 2000, 4);
  112.                     }
  113.                     else
  114.                     {
  115.                         LockCar(v);
  116.                         GameTextForPlayer(playerid, "~w~Fahrzeug~r~ abgeschlossen", 2000, 4);
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         return 1;
  122.     }
  123.     if (!strcmp("/sellcar", cmdtext, true))
  124.     {
  125.         new Float:X, Float:Y, Float:Z;
  126.         for(new v=0; v<MAX_VEHICLES; v++)
  127.         {
  128.             GetVehiclePos(v, X, Y, Z);
  129.             if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
  130.             {
  131.                 if(strcmp(name,VehicleInfo[v][vOwner], true)) return 1;
  132.                 new Float:price = VehicleInfo[v][vPrice]/2;
  133.                 new price2 = floatround(price, floatround_floor);
  134.                 format(string, sizeof(string), "Möchtest du dieses Fahrzeug wirklich verkaufen?\nDer Verkauf eines Fahrzeugs kann nicht mehr rückgängig gemacht weden.\nBeim Verkauf dieses Autos erhälst du %d$.", price2);
  135.                 ShowPlayerDialog(playerid,32767,DIALOG_STYLE_MSGBOX,"Fahrzeug verkaufen",string,"Verkaufen", "Abbrechen");
  136.             }
  137.         }
  138.         return 1;
  139.     }
  140.     return 0;
  141. }
  142.  
  143.  
  144. public OnPlayerStateChange(playerid, newstate, oldstate)
  145. {
  146.     return 1;
  147. }
  148.  
  149. public OnPlayerPickUpPickup(playerid, pickupid)
  150. {
  151.     if(pickupid == Car_Pickup)
  152.     {
  153.         ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Weiter", "Abbrechen");
  154.     }
  155.     return 1;
  156. }
  157.  
  158. public OnVehicleMod(playerid, vehicleid, componentid)
  159. {
  160.     return 1;
  161. }
  162.  
  163. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  164. {
  165.     return 1;
  166. }
  167.  
  168. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  169. {
  170.     if(VehicleInfo[vehicleid][vBuyCar])
  171.     {
  172.         VehicleInfo[vehicleid][vColor1] = color1;
  173.         VehicleInfo[vehicleid][vColor2] = color2;
  174.     }
  175.     return 1;
  176. }
  177.  
  178. public OnVehicleStreamIn(vehicleid, forplayerid)
  179. {
  180.     new name[32];
  181.     GetPlayerName(forplayerid, name, sizeof(name));
  182.     new v = vehicleid;
  183.     if(strcmp(VehicleInfo[v][vOwner], name, true)) return 1;
  184.     if(VehicleInfo[v][vLocked] == 1)
  185.     {
  186.         SetVehicleParamsForPlayer(v,forplayerid,0,1);
  187.     }
  188.     else
  189.     {
  190.         SetVehicleParamsForPlayer(v,forplayerid,0,0);
  191.     }
  192.     return 1;
  193. }
  194.  
  195. public OnVehicleStreamOut(vehicleid, forplayerid)
  196. {
  197.     return 1;
  198. }
  199.  
  200. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  201. {
  202.     new rand = random(4);
  203.     new name[32];
  204.     GetPlayerName(playerid, name, sizeof(name));
  205.     if(dialogid == 32767)
  206.     {
  207.         if(response)
  208.         {
  209.             new Float:X, Float:Y, Float:Z;
  210.             for(new v=0; v<MAX_VEHICLES; v++)
  211.             {
  212.                 GetVehiclePos(v, X, Y, Z);
  213.                 if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
  214.                 {
  215.                     if(strcmp(VehicleInfo[v][vOwner], name)) return 1;
  216.                     new Float:price = VehicleInfo[v][vPrice]/2;
  217.                     new price2 = floatround(price, floatround_floor);
  218.                     GivePlayerMoney(playerid, price2);
  219.                     SendClientMessage(playerid, 0xFFFFFFFF, "Du hast dein Fahrzeug erfolgreich verkauft.");
  220.                     DestroyVehicle(v);
  221.                     VehicleInfo[v][vModel] = 0;
  222.                     VehicleInfo[v][vX] = 0;
  223.                     VehicleInfo[v][vY] = 0;
  224.                     VehicleInfo[v][vZ] = 0;
  225.                     VehicleInfo[v][vR] = 0;
  226.                     VehicleInfo[v][vColor1] = 0;
  227.                     VehicleInfo[v][vColor2] = 0;
  228.                     VehicleInfo[v][vBuyCar] = 0;
  229.                 }
  230.             }
  231.         }
  232.         return 1;
  233.     }
  234.     if(dialogid == 32766)//Limousinen
  235.     {
  236.         if(response)
  237.         {
  238.             if(listitem == 0)//Admiral
  239.             {
  240.                 CreateBuyableCar(playerid, 445, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,20000,1);
  241.             }
  242.             if(listitem == 1)//Buccaneer
  243.             {
  244.                 CreateBuyableCar(playerid, 518, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,30000,1);
  245.             }
  246.             if(listitem == 2)//Elegant
  247.             {
  248.                 CreateBuyableCar(playerid, 507, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,35000,1);
  249.             }
  250.             if(listitem == 3)//Elegy
  251.             {
  252.                 CreateBuyableCar(playerid, 562, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,110000,1);
  253.             }
  254.             if(listitem == 4)//Emperor
  255.             {
  256.                 CreateBuyableCar(playerid, 585, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,27000,1);
  257.             }
  258.             if(listitem == 5)//Fortune
  259.             {
  260.                 CreateBuyableCar(playerid, 526, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,30000,1);
  261.             }
  262.             if(listitem == 6)//Majestic
  263.             {
  264.                 CreateBuyableCar(playerid, 517, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,40000,1);
  265.             }
  266.             if(listitem == 7)//Nebula
  267.             {
  268.                 CreateBuyableCar(playerid, 516, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,37000,1);
  269.             }
  270.             if(listitem == 8)//Premier
  271.             {
  272.                 CreateBuyableCar(playerid, 426, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,35000,1);
  273.             }
  274.             if(listitem == 9)//Sentinel
  275.             {
  276.                 CreateBuyableCar(playerid, 405, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,50000,1);
  277.             }
  278.             if(listitem == 10)//Stratum
  279.             {
  280.                 CreateBuyableCar(playerid, 561, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,35000,1);
  281.             }
  282.             if(listitem == 11)//Sultan
  283.             {
  284.                 CreateBuyableCar(playerid, 560, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,125000,1);
  285.             }
  286.             if(listitem == 12)//Washington
  287.             {
  288.                 CreateBuyableCar(playerid, 421, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,40000,1);
  289.             }
  290.         }
  291.         else
  292.         {
  293.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  294.             return 1;
  295.         }
  296.     }
  297.     if(dialogid == 32760)
  298.     {
  299.         if(response)
  300.         {
  301.             if(listitem == 0)
  302.             {
  303.                 ShowPlayerDialog(playerid, 32761, DIALOG_STYLE_LIST, "Autohaus - Normale Autos","Bobcat($9.500) \nPicador($11.500) \nSadler($12.000) \nSadler Shit($9.500) \nWalton($9.500) \nYosemite($23.000) \nHuntley($50.000) \nLandstalker($37.500) \nMesa($20.000) \nRancher($42.000) \nClub ($50.000)\nBurrito($12.500)","Kaufen","Abbrechen");
  304.                 return 1;
  305.             }
  306.             if(listitem == 1)
  307.             {
  308.                 ShowPlayerDialog(playerid, 32762, DIALOG_STYLE_LIST, "Autohaus - Lowrider","Blade($55.000) \nBroadway($37.000) \nRemington($60.000) \nSavanna($55.000) \nSlamvan($44000) \nTahoma($30.000) \nTornado($22.000) \nVoodoo($37.000)","Kaufen","Abbrechen");
  309.                 return 1;
  310.             }
  311.             if(listitem == 2)
  312.             {
  313.                 ShowPlayerDialog(playerid, 32763, DIALOG_STYLE_LIST, "Autohaus - Cabrios", "Comet($110.000) \nFeltzer($40.000) \nStallion($35.000) \nWindsor($45.000)", "Kaufen", "Abbrechen");
  314.                 return 1;
  315.             }
  316.             if(listitem == 3)
  317.             {
  318.                 ShowPlayerDialog(playerid, 32764, DIALOG_STYLE_LIST, "Autohaus - Sportwagen", "Banshee($115.000) \nBlista Compact($50.000) \nBullet($175.000) \nCheetah($195.000) \nEuros($80.000) \nFlash($80.000) \nInfernus($275.000) \nJester($95.000) \nPhoenix($100.000) \nSuper GT($160.000) \nTurismo($250.000) \nUranus($50.000) \nZR-350($105.000)\n Buffalo($125.000)", "Kaufen","Abbrechen");
  319.                 return 1;
  320.             }
  321.             if(listitem == 4)
  322.             {
  323.                 ShowPlayerDialog(playerid, 32765, DIALOG_STYLE_LIST, "Autohaus - Bikes", "Faggio($10.000) \nBF-400($45.000) \nNRG-500($180.000) \nPCJ-600($50.000) \nFCR-900($43.000) \nFreeway($50.000) \nWayfarer($20.000) \nSanchez($30.000) \nQuad($40.000)", "Kaufen", "Abbrechen");
  324.                 return 1;
  325.             }
  326.             if(listitem == 5)
  327.             {
  328.                 ShowPlayerDialog(playerid, 32766, DIALOG_STYLE_LIST, "Autohaus - Limousinen", "Admiral($20.000) \nBuccaneer($30.000) \nElegant($35.000) \nElegy($110.000) \nEmperor($27.000) \nFortune($30.000) \nMajestic($40.000) \nNebula($37.0000) \nPremier($35.000) \nSentinel($50.000) \nStratum($35.000) \nSultan($125.000) \nWashington($45.000)", "Kaufen", "Abbrechen");
  329.                 return 1;
  330.             }
  331.             return 1;
  332.         }
  333.         return 1;
  334.     }
  335.     if(dialogid == 32763)//Cabrios
  336.     {
  337.         if(response)
  338.         {
  339.             if(listitem == 0)//Comet
  340.             {
  341.                 CreateBuyableCar(playerid, 480, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,110000,1);
  342.             }
  343.             if(listitem == 1)//Feltzer
  344.             {
  345.                 CreateBuyableCar(playerid, 533, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,40000,1);
  346.             }
  347.             if(listitem == 2)//Stallion
  348.             {
  349.                 CreateBuyableCar(playerid, 439, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 35000,1);
  350.             }
  351.             if(listitem == 3)//Windsor
  352.             {
  353.                 CreateBuyableCar(playerid, 555, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,45000,1);
  354.             }
  355.         }
  356.         else
  357.         {
  358.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  359.             return 1;
  360.         }
  361.     }
  362.     if(dialogid == 32764)//Sportwagen
  363.     {
  364.         if(response)
  365.         {
  366.             if(listitem == 0)//Banshee
  367.             {
  368.                 CreateBuyableCar(playerid, 429, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,115000,1);
  369.             }
  370.             if(listitem == 1)//Blista Compact
  371.             {
  372.                 CreateBuyableCar(playerid, 496, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,50000,1);
  373.             }
  374.             if(listitem == 2)//Bullet
  375.             {
  376.                 CreateBuyableCar(playerid, 541, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 175000,1);
  377.             }
  378.             if(listitem == 3)//Cheetah
  379.             {
  380.                 CreateBuyableCar(playerid, 415, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 195000,1);
  381.             }
  382.             if(listitem == 4)//Euros
  383.             {
  384.                 CreateBuyableCar(playerid, 587, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,80000,1);
  385.             }
  386.             if(listitem == 5)//Flash
  387.             {
  388.                 CreateBuyableCar(playerid, 565, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,80000,1);
  389.             }
  390.             if(listitem == 6)//Infernus
  391.             {
  392.                 CreateBuyableCar(playerid, 411, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,275000,1);
  393.             }
  394.             if(listitem == 7)//Jester
  395.             {
  396.                 CreateBuyableCar(playerid, 559, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,95000,1);
  397.             }
  398.             if(listitem == 8)//Phoenix
  399.             {
  400.                 CreateBuyableCar(playerid, 603, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 100000,1);
  401.             }
  402.             if(listitem == 9)//Super GT
  403.             {
  404.                 CreateBuyableCar(playerid, 506, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,160000,1);
  405.             }
  406.             if(listitem == 10)//Turismo
  407.             {
  408.                 CreateBuyableCar(playerid, 451, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 250000,1);
  409.             }
  410.             if(listitem == 11)//Uranus
  411.             {
  412.                 CreateBuyableCar(playerid, 558, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,50000,1);
  413.             }
  414.             if(listitem == 12)//ZR-350
  415.             {
  416.                 CreateBuyableCar(playerid, 477, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,105000,1);
  417.             }
  418.             if(listitem == 13)//Buffalo
  419.             {
  420.                 CreateBuyableCar(playerid, 402, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,125000,1);
  421.             }
  422.         }
  423.         else
  424.         {
  425.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  426.             return 1;
  427.         }
  428.     }
  429.     if(dialogid == 32765)//Bikes
  430.     {
  431.         if(response)
  432.         {
  433.             if(listitem == 0)//Faggio
  434.             {
  435.                 CreateBuyableCar(playerid, 462, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,10000,1);
  436.             }
  437.             if(listitem == 1)//BF-400
  438.             {
  439.                 CreateBuyableCar(playerid, 581, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,45000,1);
  440.             }
  441.             if(listitem == 2)//NRG-500
  442.             {
  443.                 CreateBuyableCar(playerid, 522, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,180000,1);
  444.             }
  445.             if(listitem == 3)//PCJ-600
  446.             {
  447.                 CreateBuyableCar(playerid, 461, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,50000,1);
  448.             }
  449.             if(listitem == 4)//FCR-900
  450.             {
  451.                 CreateBuyableCar(playerid, 521, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,43000,1);
  452.             }
  453.             if(listitem == 5)//Freeway
  454.             {
  455.                 CreateBuyableCar(playerid, 463, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,50000,1);
  456.             }
  457.             if(listitem == 6)//Wayfarer
  458.             {
  459.                 CreateBuyableCar(playerid, 586, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,20000,1);
  460.             }
  461.             if(listitem == 7)//Sanchez
  462.             {
  463.                 CreateBuyableCar(playerid, 468, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,30000,1);
  464.             }
  465.             if(listitem == 8)//Quad
  466.             {
  467.                 CreateBuyableCar(playerid, 471, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,40000,1);
  468.             }
  469.         }
  470.         else
  471.         {
  472.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  473.             return 1;
  474.         }
  475.     }
  476.     if(dialogid == 32762)//Lowrider
  477.     {
  478.         if(response)
  479.         {
  480.             if(listitem == 0)//Blade
  481.             {
  482.                 CreateBuyableCar(playerid, 536, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 55000,1);
  483.             }
  484.             if(listitem == 1)//Broadway
  485.             {
  486.                 CreateBuyableCar(playerid, 575, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 37000,1);
  487.             }
  488.             if(listitem == 2)//Remington
  489.             {
  490.                 CreateBuyableCar(playerid, 534, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 60000,1);
  491.             }
  492.             if(listitem == 3)//Savanna
  493.             {
  494.                 CreateBuyableCar(playerid, 567, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 55000,1);
  495.             }
  496.             if(listitem == 4)//Slamvan
  497.             {
  498.                 CreateBuyableCar(playerid, 535, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 44000,1);
  499.             }
  500.             if(listitem == 5)//Tahoma
  501.             {
  502.                 CreateBuyableCar(playerid, 566, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 30000,1);
  503.             }
  504.             if(listitem == 6)//Tornado
  505.             {
  506.                 CreateBuyableCar(playerid, 576, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 22000,1);
  507.             }
  508.             if(listitem == 7)//Voodoo
  509.             {
  510.                 CreateBuyableCar(playerid, 412, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 37000,1);
  511.             }
  512.         }
  513.         else
  514.         {
  515.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  516.             return 1;
  517.         }
  518.     }
  519.  
  520.     if(dialogid == 32761)//Normale Autos
  521.     {
  522.         if(response)
  523.         {
  524.             if(listitem == 0)//Bobcat
  525.             {
  526.                 CreateBuyableCar(playerid, 422, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,9500,1);
  527.             }
  528.             if(listitem == 1)//Picador
  529.             {
  530.                 CreateBuyableCar(playerid, 600, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,11500,1);
  531.             }
  532.             if(listitem == 2)//Sadler
  533.             {
  534.                 CreateBuyableCar(playerid, 543, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,12000,1);
  535.             }
  536.             if(listitem == 3) //Sadler Shit
  537.             {
  538.                 CreateBuyableCar(playerid, 605, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,9500,1);
  539.             }
  540.             if(listitem == 4)//Walton
  541.             {
  542.                 CreateBuyableCar(playerid, 478, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,9500,1);
  543.             }
  544.             if(listitem == 5)//Yosemite
  545.             {
  546.                 CreateBuyableCar(playerid, 554, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 23000,1);
  547.             }
  548.             if(listitem == 6)//Huntley
  549.             {
  550.                 CreateBuyableCar(playerid, 579, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 37000,1);
  551.             }
  552.             if(listitem == 7)//Landstalker
  553.             {
  554.                 CreateBuyableCar(playerid, 400, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,35000,1);
  555.             }
  556.             if(listitem == 8)//Mesa
  557.             {
  558.                 CreateBuyableCar(playerid, 500, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1,20000,1);
  559.             }
  560.             if(listitem == 9)//Rancher
  561.             {
  562.                 CreateBuyableCar(playerid, 489, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 42000,1);
  563.             }
  564.             if(listitem == 10)//Club
  565.             {
  566.                 CreateBuyableCar(playerid, 589, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 50000,1);
  567.             }
  568.             if(listitem == 11)//Burrito
  569.             {
  570.                 CreateBuyableCar(playerid, 482, CarSpawn[rand][0],CarSpawn[rand][1],CarSpawn[rand][2],CarSpawn[rand][3],-1,-1, 12500,1);
  571.             }
  572.         }
  573.         else
  574.         {
  575.             ShowPlayerDialog(playerid, 32760, DIALOG_STYLE_LIST, "Autohaus", "Normale Autos \nLowrider \nCabrios \nSportwagen \nBikes \nLimousinen", "Auswählen", "Abbrechen");
  576.             return 1;
  577.         }
  578.     }
  579.     return 1;
  580. }
  581.  
  582. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  583. {
  584.     return 1;
  585. }
  586.  
  587. forward SavePrivateCars();
  588. public SavePrivateCars()
  589. {
  590.     new string[256];
  591.     new idx, File: file;
  592.     for(new v=0; v<MAX_VEHICLES; v++)
  593.     {
  594.         if(VehicleInfo[v][vBuyCar])
  595.         {
  596.             format(string, sizeof(string), "%s|%d|%d|%f|%f|%f|%f|%d|%d|%d\n",
  597.             VehicleInfo[v][vOwner],
  598.             VehicleInfo[v][vBuyCar],
  599.             VehicleInfo[v][vPrice],
  600.             VehicleInfo[v][vX],
  601.             VehicleInfo[v][vY],
  602.             VehicleInfo[v][vZ],
  603.             VehicleInfo[v][vR],
  604.             VehicleInfo[v][vColor1],
  605.             VehicleInfo[v][vColor2],
  606.             VehicleInfo[v][vModel]
  607.             );
  608.             if(idx == 0)
  609.             {
  610.                 file = fopen("privatecars.cfg", io_write);
  611.             }
  612.             else
  613.             {
  614.                 file = fopen("privatecars.cfg", io_append);
  615.             }
  616.             fwrite(file, string);
  617.             idx++;
  618.             fclose(file);
  619.         }
  620.     }
  621.     return 1;
  622. }
  623.  
  624.  
  625. forward LoadPrivateCars();
  626. public LoadPrivateCars()
  627. {
  628.     new arrCoords[10][64];
  629.     new strFromFile2[256];
  630.     new File: file = fopen("privatecars.cfg", io_read);
  631.     if (file)
  632.     {
  633.         new idx;
  634.         while (idx < sizeof(VehicleInfo))
  635.         {
  636.             fread(file, strFromFile2);
  637.             split(strFromFile2, arrCoords, '|');
  638.             if(strlen(arrCoords[0]))
  639.             {
  640.                 new veh = AddStaticVehicleEx (strval(arrCoords[9]), floatstr(arrCoords[3]), floatstr(arrCoords[4]), floatstr(arrCoords[5]), floatstr(arrCoords[6]), strval(arrCoords[7]), strval(arrCoords[8]), -1);
  641.                 strmid(VehicleInfo[veh][vOwner], arrCoords[0], 0, strlen(arrCoords[0]), 32);
  642.                 VehicleInfo[veh][vBuyCar] = strval(arrCoords[1]);
  643.                 VehicleInfo[veh][vPrice] = strval(arrCoords[2]);
  644.                 VehicleInfo[veh][vX] = floatstr(arrCoords[3]);
  645.                 VehicleInfo[veh][vY] = floatstr(arrCoords[4]);
  646.                 VehicleInfo[veh][vZ] = floatstr(arrCoords[5]);
  647.                 VehicleInfo[veh][vR] = floatstr(arrCoords[6]);
  648.                 VehicleInfo[veh][vColor1] = strval(arrCoords[7]);
  649.                 VehicleInfo[veh][vColor2] = strval(arrCoords[8]);
  650.                 VehicleInfo[veh][vModel] = strval(arrCoords[9]);
  651.                 if(strlen(VehicleInfo[veh][vOwner])) printf("Das private Fahrzeug mit der ID %d wurde geladen\n", veh);
  652.                 LockCar(veh);
  653.             }
  654.             idx++;
  655.         }
  656.         fclose(file);
  657.     }
  658.     return 1;
  659. }
  660.  
  661. forward split(const strsrc[], strdest[][], delimiter = '|');
  662. stock split(const strsrc[], strdest[][], delimiter = '|')
  663. {
  664.     new i, li, aNum, len, srclen = strlen(strsrc);
  665.     while(i <= srclen)
  666.     {
  667.         if (strsrc[i] == delimiter || i == srclen)
  668.         {
  669.             len = strmid(strdest[aNum], strsrc, li, i, 128);
  670.             strdest[aNum][len] = 0;
  671.             li = i + 1;
  672.             aNum++;
  673.         }
  674.         i++;
  675.     }
  676. }
  677.  
  678. forward CreateBuyableCar(playerid, carid, Float:X, Float:Y, Float:Z, Float:R, color1, color2, preis, type);
  679. public CreateBuyableCar(playerid, carid, Float:X, Float:Y, Float:Z, Float:R, color1, color2, preis, type)
  680. {
  681.     new money = GetPlayerMoney(playerid);
  682.     new string[128];
  683.     if(money > preis)
  684.     {
  685.         if(type == 1)
  686.         {
  687.             new name[32];
  688.             GetPlayerName(playerid,name,sizeof(name));
  689.             GivePlayerMoney(playerid, -preis);
  690.             new v = AddStaticVehicleEx (carid, X, Y, Z, R, color1, color2, -1);
  691.             strmid(VehicleInfo[v][vOwner], name, 0, strlen(name), MAX_PLAYER_NAME);
  692.             VehicleInfo[v][vModel] = carid;
  693.             VehicleInfo[v][vX] = X;
  694.             VehicleInfo[v][vY] = Y;
  695.             VehicleInfo[v][vZ] = Z;
  696.             VehicleInfo[v][vR] = R;
  697.             VehicleInfo[v][vColor1] = color1;
  698.             VehicleInfo[v][vColor2] = color2;
  699.             VehicleInfo[v][vBuyCar] = type;
  700.             VehicleInfo[v][vPrice] = preis;
  701.             LockCar(v);
  702.             format(string, sizeof(string), "Du findest dein neues Fahrzeug auf dem Parkplatz. Um es aufzuschließen, nutze /lock. Du hast $%d bezahlt.", preis);
  703.             SendClientMessage(playerid, 0xFFFFFFFF, string);
  704.             return 1;
  705.         }
  706.     }
  707.     else
  708.     {
  709.         SendClientMessage(playerid, 0xFFFFFFFF, "Du hast nicht genügend Geld für dieses Auto.");
  710.         return 1;
  711.     }
  712.     return 0;
  713. }
  714.  
  715. forward LockCar(carid);
  716. public LockCar(carid)
  717. {
  718.     for(new i = 0; i < MAX_PLAYERS; i++)
  719.     {
  720.         VehicleInfo[carid][vLocked] = 1;
  721.         SetVehicleParamsForPlayer(carid,i,0,1);
  722.     }
  723. }
  724.  
  725. forward UnLockCar(carid);
  726. public UnLockCar(carid)
  727. {
  728.     for(new i = 0; i < MAX_PLAYERS; i++)
  729.     {
  730.         VehicleInfo[carid][vLocked] = 0;
  731.         SetVehicleParamsForPlayer(carid,i,0,0);
  732.     }
  733. }
Advertisement
Add Comment
Please, Sign In to add comment