Advertisement
Guest User

Haukes Rentcarsystem

a guest
Apr 27th, 2010
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 28.46 KB | None | 0 0
  1. /*--------------------------------------------------------------------------------------*\
  2. !       H_RentSystem © by Hauke Marquardt aka |-|auke                                   !
  3. !----------------------------------------------------------------------------------------!
  4. ! You are not allowed to delete the Compyrights and change the names of the variables.   !
  5. ! Du darfst die Copyrights nicht entfernen, und die Namen der Variablen nicht ändern !  !
  6. !----------------------------------------------------------------------------------------!
  7. !         Please visit my Site at: http://www.1000zet.net                                !
  8. !         Bitte besuch´doch mal meine Seite: http://www.1000zet.net                         !
  9. -----------------------------------------------------------------------------------------!
  10. !                                                                                        !
  11. !        Support and Informations: hauke.marquardt@1000zet.net                           !
  12. !           Support und Informationen:  hauke.marquardt@1000zet.net                      !
  13. \*--------------------------------------------------------------------------------------*/
  14. #include <a_samp>
  15. /***************************** Einstellungen *******************************/
  16. //================================================
  17. // Gib hier die Koordinaten des Kaufpickups ein
  18. new Float:H_RentPlaceX=746.4490;
  19. new Float:H_RentPlaceY=-1349.0807;
  20. new Float:H_RentPlaceZ=13.5084;
  21. //================================================
  22. // Die Zeit, in Minuten, für die man ein Auto / Motorrad mietet.
  23. new H_RentMinutes= 10;
  24. //================================================
  25. // Wenn beim Pickupaufnehmen das Mietmenü kommen soll,
  26. // "true" einsetzten. Ansonsten "false"
  27. new bool:PickupBenutzen= true;
  28. //================================================
  29. // Mit "//" auskommentieren, wenn man Autos stehlen darf.
  30. #define H_DontAllowStealing
  31. //================================================
  32. // "//" Wegmachen, wenn man Autos stehlen darf.
  33. // #define H_AllowStealing
  34. //================================================
  35. // Bei Liveansicht "true" eingeben. Wenn man eine Liste
  36. // möchte, "false" einsetzten.
  37. new bool:Livebenutzen= false;
  38. //================================================
  39. // Wenn das Auto beim Anfang den Mietens abgeschlossen sein
  40. // soll, setze "true" ein. Wenn nicht, benutze "false"
  41. new bool:H_LockEingabe= false;
  42. /***************************************************************************/
  43.  
  44. #define Farbauswahl 900
  45. #define Carauswahl 901
  46. #define ListAutos 902
  47. #define ListSchnelle 903
  48. #define ListBikes 904
  49. forward H_OrderCar(playerid,CarNumber,CarColor);
  50. forward H_CarCountDown();
  51. forward LiveView(playerid,Nummer,CarColor);
  52. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  53. new H_PlayerCarID[MAX_PLAYERS]=999;
  54. new H_PlayerCar[MAX_PLAYERS];
  55. new H_PlayerCount[MAX_PLAYERS];
  56. new H_ChoosenColor[MAX_PLAYERS];
  57. new bool:H_RentedCar[MAX_PLAYERS];
  58. new bool:H_CarLocked[MAX_PLAYERS];
  59. new H_ShowCar[MAX_PLAYERS];
  60. new PlayerShowCar[MAX_PLAYERS];
  61. new IsLiveViewing[MAX_PLAYERS]=0;
  62. new Text:H_CarRent[MAX_PLAYERS];
  63. new H_RentedCars=0;
  64. new H_CarSpawn= 1;
  65. new H_Pickup;
  66. new Float:ShowCarSpawnX=745.7913,Float:ShowCarSpawnY=-1373.2169,Float:ShowCarSpawnZ=25.5163,Float:ShowCarSpawnRot=208.1557;
  67. new Float:H_CarSpawns[4][4]=
  68. {
  69.     {757.2670,-1333.6682,13.3656,178.7771},
  70.     {752.1066,-1333.6682,13.3649,180.8010},
  71.     {746.8506,-1333.6682,13.3671,179.9579},
  72.     {741.2214,-1333.6682,13.3660,180.5529}
  73. };
  74. new H_Cars[11][256]=
  75. {
  76.     {604,500,"Glendale"},           // Glendale Shit
  77.     {421,700,"Washington"},         // Washington
  78.     {419,850,"Esperanto"},          // Esperanto
  79.     {551,950,"Merit"},              // Merit
  80.     {410,950,"Manana"},             // Manana
  81.     {401,890,"Bravura"},            // Bravura
  82.     {405,1200,"Sentinel"},          // Sentinel
  83.     {439,1200,"Stallion"},          // Stallion
  84.     {560,1300,"Sultan"},            // Sultan
  85.     {533,1350,"Felitzer"},          // Felitzer
  86.     {480,1400,"Comet"}              // Comet
  87. };
  88. new H_SportCars[8][256]=
  89. {
  90.     {489,1000,"Club"},              // Club
  91.     {496,1400,"Blista Compact"},    // Blista Compact
  92.     {576,1500,"Tornado"},           // Tornado
  93.     {475,1850,"Sabre"},             // Sabre
  94.     {429,2000,"Bangshee Banger"},   // Bangshee Banger
  95.     {402,3000,"Buffalo"},           // Buffalo
  96.     {451,3200,"Turismo"},           // Turismo
  97.     {411,3400,"Infernus"}           // Infernus
  98. };
  99. new H_Bikes[7][256]=
  100. {
  101.     {481,50,"BMX"},                 // BMX
  102.     {462,300,"Fraggio"},            // Fraggio
  103.     {468,450,"Sanchez"},            // Sanchez
  104.     {461,600,"PCJ-600"},            // PCJ-600
  105.     {463,650,"Freeway"},            // Freeway
  106.     {522,800,"NRG 500"},            // NRG 500
  107.     {586,1000,"Wayfarer"}           // Wayfarer
  108. };
  109.  
  110. public OnFilterScriptInit()
  111. {
  112.     SetTimer("H_CarCountDown",60000,1);
  113.     H_Pickup=CreatePickup(1210,1,H_RentPlaceX,H_RentPlaceY,H_RentPlaceZ);
  114.     for(new i = 0;i<MAX_PLAYERS;i++)
  115.         {
  116.             H_CarRent[i] = TextDrawCreate(493.0,127.000000,"H_CarRent");
  117.             TextDrawAlignment(H_CarRent[i],0);
  118.             TextDrawBackgroundColor(H_CarRent[i],0x000000FF);
  119.             TextDrawFont(H_CarRent[i],1);
  120.             TextDrawLetterSize(H_CarRent[i],0.23,1.4);
  121.             TextDrawColor(H_CarRent[i],0x2F5426FF);
  122.             TextDrawSetProportional(H_CarRent[i],1);
  123.             TextDrawSetShadow(H_CarRent[i],1);
  124.             TextDrawSetOutline(H_CarRent[i],1);
  125.         }
  126.     return 1;
  127. }
  128. public OnPlayerConnect(playerid)
  129. {
  130.     SetPlayerMapIcon(playerid, 98, H_RentPlaceX, H_RentPlaceY, H_RentPlaceZ, 55, 0);
  131.     return 1;
  132. }
  133. public OnPlayerDisconnect(playerid, reason)
  134. {
  135.     DestroyVehicle(H_PlayerCar[playerid]);
  136.     H_PlayerCarID[playerid]=999;
  137.     H_PlayerCar[playerid]=0;
  138.     H_PlayerCount[playerid]=H_RentMinutes;
  139.     H_ChoosenColor[playerid]=0;
  140.     H_CarLocked[playerid]=true;
  141.     H_RentedCars-=1;
  142.     return 1;
  143. }
  144. public OnPlayerSpawn(playerid)
  145. {
  146.     H_PlayerCount[playerid]=H_RentMinutes;
  147.     H_CarLocked[playerid]=H_LockEingabe;
  148.     return 1;
  149. }
  150. public OnPlayerCommandText(playerid, cmdtext[])
  151. {
  152.     if (strcmp("/rentinfo", cmdtext, true, 10) == 0)
  153.         {
  154.             new Message[128];
  155.             format(Message,sizeof(Message),"Du hast dein Auto noch für %d Minuten",H_PlayerCount[playerid]);
  156.             SendClientMessage(playerid,0x0099FFFF,"=== Rentinfo ===");
  157.             if(PickupBenutzen==true)
  158.                 {
  159.                     SendClientMessage(playerid,0x0099FFFF,"/rentcar   Im Pickup benutzen des Autohauses zu benutzen");
  160.                 }
  161.             SendClientMessage(playerid,0x0099FFFF,"/lockcar   Schließt das Auto ab");
  162.             SendClientMessage(playerid,0x0099FFFF,"/opencar   Öffnet das Auto");
  163.             SendClientMessage(playerid,0x0099FFFF,Message);
  164.             return 1;
  165.         }
  166.     if (strcmp("/rentcar", cmdtext, true, 10) == 0)
  167.         {
  168.             if(PlayerToPoint(4,playerid,H_RentPlaceX,H_RentPlaceY,H_RentPlaceZ))
  169.                 {
  170.                     ShowPlayerDialog(playerid,900,DIALOG_STYLE_LIST,"Autofarben","Schwarz\nBlau\nRot\nGrün\nGelb\nRosa\nGrau\nHell-Blau\nHell-Rot\nHell-Grün\nHell-Grau\nWeiß","Auswählen","Abbrechen");
  171.                 }
  172.             else
  173.                 {
  174.                     SendClientMessage(playerid,0xFFFF33FF,"Du stehst bei keiner Autovermietung");
  175.                 }
  176.             return 1;
  177.         }
  178.     #if defined H_DontAllowStealing
  179.     if (strcmp("/lockcar", cmdtext, true, 10) == 0)
  180.         {
  181.             SendClientMessage(playerid,0xFFFF33FF,"Auto abgeschlossen");
  182.             H_CarLocked[playerid] = true;
  183.             return 1;
  184.         }
  185.     if (strcmp("/opencar", cmdtext, true, 10) == 0)
  186.         {
  187.             SendClientMessage(playerid,0xFFFF33FF,"Auto aufgeschlossen");
  188.             H_CarLocked[playerid] = false;
  189.             return 1;
  190.         }
  191.     #endif
  192.     return 0;
  193. }
  194.  
  195. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  196. {
  197.     #if defined H_DontAllowStealing
  198.     for(new ID=0;ID<MAX_PLAYERS;ID++)
  199.         {
  200.             if(H_PlayerCarID[ID] == vehicleid && vehicleid != 999)
  201.                 {
  202.                     if(H_CarLocked[ID] == true)
  203.                         {
  204.                             TogglePlayerControllable(playerid,0);
  205.                             TogglePlayerControllable(playerid,1);
  206.                             new name[MAX_PLAYER_NAME],ErrorMessage[128];
  207.                             GetPlayerName(ID,name,MAX_PLAYER_NAME);
  208.                             format(ErrorMessage,128,"*Abgeschlossen* Dieses Auto hat %s gemietet",name);
  209.                             SendClientMessage(playerid,0xCCCCCCFF,ErrorMessage);
  210.                         }
  211.                     else if(H_CarLocked[ID] == false)
  212.                         {
  213.                             if(ID != playerid)
  214.                                 {
  215.                                     new name[MAX_PLAYER_NAME],ErrorMessage[128];
  216.                                     GetPlayerName(ID,name,MAX_PLAYER_NAME);
  217.                                     format(ErrorMessage,128,"*Aufgeschlossen* Du hast %s´s gemietetes Auto gestohlen",name);
  218.                                     SendClientMessage(playerid,0xCCCCCCFF,ErrorMessage);
  219.                                 }
  220.                             else
  221.                                 {
  222.                                     new ErrorMessage[128];
  223.                                     format(ErrorMessage,128,"*Aufgeschlossen* Du hast dein Auto noch für %d Minuten",H_PlayerCount[playerid]);
  224.                                     SendClientMessage(playerid,0xCCCCCCFF,ErrorMessage);
  225.                                 }
  226.                         }
  227.                 }
  228.         }
  229.     #endif
  230.     #if defined H_AllowedStealing
  231.     for(new ID=0;ID<MAX_PLAYERS;ID++)
  232.         {
  233.             if(H_PlayerCarID[ID] == vehicleid && vehicleid != 999)
  234.                 {
  235.                     if(ID != playerid)
  236.                         {
  237.                             new name[MAX_PLAYER_NAME],ErrorMessage[128];
  238.                             GetPlayerName(ID,name,MAX_PLAYER_NAME);
  239.                             format(ErrorMessage,128,"Du hast %s´s gemietetes Auto gestohlen",name);
  240.                             SendClientMessage(playerid,0xCCCCCCFF,ErrorMessage);
  241.                         }
  242.                     else
  243.                         {
  244.                             new ErrorMessage[128];
  245.                             format(ErrorMessage,128,"Du hast dein Auto noch für %d Minuten",H_PlayerCount[playerid]);
  246.                             SendClientMessage(playerid,0xCCCCCCFF,ErrorMessage);
  247.                 }
  248.         }
  249.     #endif
  250.     return 1;
  251. }
  252. public OnPlayerPickUpPickup(playerid, pickupid)
  253. {
  254.     if(pickupid == H_Pickup)
  255.         {
  256.             if(PickupBenutzen==false)
  257.                 {
  258.                     SendClientMessage(playerid,0x999999FF,"Benutze /rentcar");
  259.                 }
  260.             if(PickupBenutzen==true)
  261.                 {
  262.                     ShowPlayerDialog(playerid,900,DIALOG_STYLE_LIST,"Autofarben","Schwarz\nBlau\nRot\nGrün\nGelb\nRosa\nGrau\nHell-Blau\nHell-Rot\nHell-Grün\nHell-Grau\nWeiß","Auswählen","Abbrechen");
  263.                 }
  264.         }
  265.     return 1;
  266. }
  267. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  268. {
  269.     if(IsLiveViewing[playerid]==1)
  270.         {
  271.             if(newkeys == KEY_LOOK_RIGHT || newkeys == KEY_ANALOG_RIGHT)
  272.                 {
  273.                             new CAR=PlayerShowCar[playerid]+=1;
  274.                             new string[246];
  275.                             DestroyVehicle(H_ShowCar[playerid]);
  276.                             H_ShowCar[playerid]=CreateVehicle(H_Cars[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  277.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  278.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Cars[CAR][2],H_Cars[CAR][1],H_RentMinutes);
  279.                             TextDrawSetString(H_CarRent[playerid],string);
  280.                 }
  281.             if(newkeys == KEY_LOOK_LEFT || newkeys == KEY_ANALOG_LEFT)
  282.                 {
  283.                             new CAR=PlayerShowCar[playerid]-=1;
  284.                             new string[246];
  285.                             DestroyVehicle(H_ShowCar[playerid]);
  286.                             H_ShowCar[playerid]=CreateVehicle(H_Cars[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  287.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  288.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Cars[CAR][2],H_Cars[CAR][1],H_RentMinutes);
  289.                             TextDrawSetString(H_CarRent[playerid],string);
  290.                 }
  291.             if(newkeys == 16)
  292.                 {
  293.                     GivePlayerMoney(playerid,-H_Cars[PlayerShowCar[playerid]][1]);
  294.                     SetCameraBehindPlayer(playerid);
  295.                     SetPlayerVirtualWorld(playerid,0);
  296.                     IsLiveViewing[playerid]=0;
  297.                     TogglePlayerControllable(playerid,1);
  298.                     DestroyVehicle(H_ShowCar[playerid]);
  299.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  300.                     H_OrderCar(playerid,H_Cars[PlayerShowCar[playerid]][0],H_ChoosenColor[playerid]);
  301.                     PlayerShowCar[playerid]=0;
  302.                 }
  303.             if(newkeys == KEY_ACTION) //Tab
  304.                 {
  305.                     SetCameraBehindPlayer(playerid);
  306.                     DestroyVehicle(H_ShowCar[playerid]);
  307.                     SetPlayerVirtualWorld(playerid,0);
  308.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  309.                     TogglePlayerControllable(playerid,1);
  310.                     IsLiveViewing[playerid]=0;
  311.                     PlayerShowCar[playerid]=0;
  312.                     DestroyVehicle(H_ShowCar[playerid]);
  313.                     SetPlayerPos(playerid,H_RentPlaceX,H_RentPlaceY,H_RentPlaceZ);
  314.                 }
  315.         }
  316.     if(IsLiveViewing[playerid]==2)
  317.         {
  318.             if(newkeys == KEY_LOOK_RIGHT || newkeys == KEY_ANALOG_RIGHT)
  319.                 {
  320.                             new CAR=PlayerShowCar[playerid]+=1;
  321.                             new string[246];
  322.                             DestroyVehicle(H_ShowCar[playerid]);
  323.                             H_ShowCar[playerid]=CreateVehicle(H_SportCars[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  324.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  325.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_SportCars[CAR][2],H_SportCars[CAR][1],H_RentMinutes);
  326.                             TextDrawSetString(H_CarRent[playerid],string);
  327.                 }
  328.             if(newkeys == KEY_LOOK_LEFT || newkeys == KEY_ANALOG_LEFT)
  329.                 {
  330.                             new CAR=PlayerShowCar[playerid]-=1;
  331.                             new string[246];
  332.                             DestroyVehicle(H_ShowCar[playerid]);
  333.                             H_ShowCar[playerid]=CreateVehicle(H_SportCars[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  334.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  335.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_SportCars[CAR][2],H_SportCars[CAR][1],H_RentMinutes);
  336.                             TextDrawSetString(H_CarRent[playerid],string);
  337.                 }
  338.             if(newkeys == 16)
  339.                 {
  340.                     GivePlayerMoney(playerid,-H_SportCars[PlayerShowCar[playerid]][1]);
  341.                     SetCameraBehindPlayer(playerid);
  342.                     SetPlayerVirtualWorld(playerid,0);
  343.                     IsLiveViewing[playerid]=0;
  344.                     TogglePlayerControllable(playerid,1);
  345.                     DestroyVehicle(H_ShowCar[playerid]);
  346.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  347.                     H_OrderCar(playerid,H_SportCars[PlayerShowCar[playerid]][0],H_ChoosenColor[playerid]);
  348.                     PlayerShowCar[playerid]=0;
  349.                 }
  350.             if(newkeys == KEY_ACTION) //Tab
  351.                 {
  352.                     SetCameraBehindPlayer(playerid);
  353.                     DestroyVehicle(H_ShowCar[playerid]);
  354.                     SetPlayerVirtualWorld(playerid,0);
  355.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  356.                     TogglePlayerControllable(playerid,1);
  357.                     IsLiveViewing[playerid]=0;
  358.                     PlayerShowCar[playerid]=0;
  359.                     DestroyVehicle(H_ShowCar[playerid]);
  360.                     SetPlayerPos(playerid,H_RentPlaceX,H_RentPlaceY,H_RentPlaceZ);
  361.                 }
  362.         }
  363.     if(IsLiveViewing[playerid]==3)
  364.         {
  365.             if(newkeys == KEY_LOOK_RIGHT || newkeys == KEY_ANALOG_RIGHT)
  366.                 {
  367.                             new CAR=PlayerShowCar[playerid]+=1;
  368.                             new string[246];
  369.                             DestroyVehicle(H_ShowCar[playerid]);
  370.                             H_ShowCar[playerid]=CreateVehicle(H_Bikes[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  371.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  372.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Bikes[CAR][2],H_Bikes[CAR][1],H_RentMinutes);
  373.                             TextDrawSetString(H_CarRent[playerid],string);
  374.                 }
  375.             if(newkeys == KEY_LOOK_LEFT || newkeys == KEY_ANALOG_LEFT)
  376.                 {
  377.                             new CAR=PlayerShowCar[playerid]-=1;
  378.                             new string[246];
  379.                             DestroyVehicle(H_ShowCar[playerid]);
  380.                             H_ShowCar[playerid]=CreateVehicle(H_Bikes[CAR][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,H_ChoosenColor[playerid],H_ChoosenColor[playerid],-1);
  381.                             SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  382.                             format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Bikes[CAR][2],H_Bikes[CAR][1],H_RentMinutes);
  383.                             TextDrawSetString(H_CarRent[playerid],string);
  384.                 }
  385.             if(newkeys == 16)
  386.                 {
  387.                     GivePlayerMoney(playerid,-H_Bikes[PlayerShowCar[playerid]][1]);
  388.                     SetCameraBehindPlayer(playerid);
  389.                     SetPlayerVirtualWorld(playerid,0);
  390.                     IsLiveViewing[playerid]=0;
  391.                     TogglePlayerControllable(playerid,1);
  392.                     DestroyVehicle(H_ShowCar[playerid]);
  393.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  394.                     H_OrderCar(playerid,H_Bikes[PlayerShowCar[playerid]][0],H_ChoosenColor[playerid]);
  395.                     PlayerShowCar[playerid]=0;
  396.                 }
  397.             if(newkeys == KEY_ACTION) //Tab
  398.                 {
  399.                     SetCameraBehindPlayer(playerid);
  400.                     DestroyVehicle(H_ShowCar[playerid]);
  401.                     SetPlayerVirtualWorld(playerid,0);
  402.                     TextDrawHideForPlayer(playerid,H_CarRent[playerid]);
  403.                     TogglePlayerControllable(playerid,1);
  404.                     IsLiveViewing[playerid]=0;
  405.                     PlayerShowCar[playerid]=0;
  406.                     DestroyVehicle(H_ShowCar[playerid]);
  407.                     SetPlayerPos(playerid,H_RentPlaceX,H_RentPlaceY,H_RentPlaceZ);
  408.                 }
  409.         }
  410.     return 1;
  411. }
  412. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  413. {
  414.     if(dialogid==900)
  415.         {
  416.             if(response)
  417.                 {
  418.                     if(listitem==0){H_ChoosenColor[playerid]=0;}
  419.                     else if(listitem==1){H_ChoosenColor[playerid]=125;}
  420.                     else if(listitem==2){H_ChoosenColor[playerid]=3;}
  421.                     else if(listitem==3){H_ChoosenColor[playerid]=44;}
  422.                     else if(listitem==4){H_ChoosenColor[playerid]=6;}
  423.                     else if(listitem==5){H_ChoosenColor[playerid]=126;}
  424.                     else if(listitem==6){H_ChoosenColor[playerid]=13;}
  425.                     else if(listitem==7){H_ChoosenColor[playerid]=7;}
  426.                     else if(listitem==8){H_ChoosenColor[playerid]=70;}
  427.                     else if(listitem==9){H_ChoosenColor[playerid]=16;}
  428.                     else if(listitem==10){H_ChoosenColor[playerid]=8;}
  429.                     else if(listitem==11){H_ChoosenColor[playerid]=1;}
  430.                     ShowPlayerDialog(playerid,901,DIALOG_STYLE_LIST,"Car Verleih","Normale Autos        Preise: 500$ bis 1400$\nSportwagen      Preise: 1000$ bis 3400$\n2 Räder           Preise: 50$ - 1000$","Auswählen","Abbrechen");
  431.                 }
  432.         }
  433.     if(dialogid==901)
  434.         {
  435.             if(response)
  436.                 {
  437.                     if(listitem==0)
  438.                         {
  439.                             if(Livebenutzen==true)
  440.                                 {
  441.                                     LiveView(playerid,1,H_ChoosenColor[playerid]);
  442.                                     return 1;
  443.                                 }
  444.                             ShowPlayerDialog(playerid,902,DIALOG_STYLE_LIST,"Car Verleih","Glendale Shit    Preis: 500$\nWashington Preis: 700$\nEsperanto  Preis: 850$\nMerit      Preis: 950$\nManana     Preis: 950$\nBravura    Preis: 890$\nSentinel   Preis: 1200$\nStallion      Preis: 1200$\nSultan        Preis: 1300$\nFelitzer      Preis: 1350$\nComet     Preis: 1400$","Auswählen","Abbrechen");
  445.                         }
  446.                     else if(listitem==1)
  447.                         {
  448.                             if(Livebenutzen==true)
  449.                                 {
  450.                                     LiveView(playerid,2,H_ChoosenColor[playerid]);
  451.                                     return 1;
  452.                                 }
  453.                             ShowPlayerDialog(playerid,903,DIALOG_STYLE_LIST,"Car Verleih","Club         Preis: 1000$\nBlista Compact        Preis: 1400$\nTornado       Preis: 1500$\nSabre         Preis: 1850$\nBangshee Banger   Preis: 2000$\nBuffalo           Preis: 3000$\nTurismo       Preis: 3200$\nInfernus      Preis: 3400$","Auswählen","Abbrechen");
  454.                         }
  455.                     else if(listitem==2)
  456.                         {
  457.                             if(Livebenutzen==true)
  458.                                 {
  459.                                     LiveView(playerid,3,H_ChoosenColor[playerid]);
  460.                                     return 1;
  461.                                 }
  462.                             ShowPlayerDialog(playerid,904,DIALOG_STYLE_LIST,"Car Verleih","Fraggio          Preis: 50$\nBMX         Preis: 300$\nSanchez        Preis: 450$\nPCJ-600        Preis: 600$\nFreeway        Preis: 650$\nNRG 500        Preis: 800$\nWayfarer       Preis: 1000$\n","Auswählen","Abbrechen");
  463.                         }
  464.                 }
  465.             else
  466.                 {
  467.                     SendClientMessage(playerid,0x999999FF,"Mieten abgebrochen");
  468.                 }
  469.         }
  470.     if(dialogid==902)
  471.         {
  472.             new Text[256];
  473.             if(response)
  474.                 {
  475.                     if(GetPlayerMoney(playerid) >= H_Cars[listitem][1])
  476.                         {
  477.                             H_OrderCar(playerid,H_Cars[listitem][0],H_ChoosenColor[playerid]);
  478.                             GivePlayerMoney(playerid,-H_Cars[listitem][1]);
  479.                             format(Text,sizeof(Text),"Du hast %s für %d$ %d Minuten lang gemietet",H_Cars[listitem][2],H_Cars[listitem][1],H_RentMinutes);
  480.                             SendClientMessage(playerid,0x00FF00FF,Text);
  481.                         }
  482.                     else
  483.                         {
  484.                             SendClientMessage(playerid,0xFF6600FF,"Du hast nicht genug Geld");
  485.                         }
  486.                 }
  487.             else
  488.                 {
  489.                     SendClientMessage(playerid,0x999999FF,"Mieten abgebrochen");
  490.                 }
  491.         }
  492.     if(dialogid==903)
  493.         {
  494.             new Text[256];
  495.             if(response)
  496.                 {
  497.                     if(GetPlayerMoney(playerid) >= H_SportCars[listitem][1])
  498.                         {
  499.                             H_OrderCar(playerid,H_SportCars[listitem][0],H_ChoosenColor[playerid]);
  500.                             GivePlayerMoney(playerid,-H_SportCars[listitem][1]);
  501.                             format(Text,sizeof(Text),"Du hast %s für %d$ %d Minuten lang gemietet",H_SportCars[listitem][2],H_SportCars[listitem][1],H_RentMinutes);
  502.                             SendClientMessage(playerid,0x00FF00FF,Text);
  503.                         }
  504.                     else
  505.                         {
  506.                             SendClientMessage(playerid,0xFF6600FF,"Du hast nicht genug Geld");
  507.                         }
  508.                 }
  509.             else
  510.                 {
  511.                     SendClientMessage(playerid,0x999999FF,"Mieten abgebrochen");
  512.                 }
  513.         }
  514.     if(dialogid==904)
  515.         {
  516.             new Text[256];
  517.             if(response)
  518.                 {
  519.                     if(GetPlayerMoney(playerid) >= H_Bikes[listitem][1])
  520.                         {
  521.                             H_OrderCar(playerid,H_Bikes[listitem][0],H_ChoosenColor[playerid]);
  522.                             GivePlayerMoney(playerid,-H_Bikes[listitem][1]);
  523.                             format(Text,sizeof(Text),"Du hast %s für %d$ %d Minuten lang gemietet",H_Bikes[listitem][2],H_Bikes[listitem][1],H_RentMinutes);
  524.                             SendClientMessage(playerid,0x00FF00FF,Text);
  525.                         }
  526.                     else
  527.                         {
  528.                             SendClientMessage(playerid,0xFF6600FF,"Du hast nicht genug Geld");
  529.                         }
  530.                 }
  531.             else
  532.                 {
  533.                     SendClientMessage(playerid,0x999999FF,"Mieten abgebrochen");
  534.                 }
  535.         }
  536.     return 1;
  537. }
  538. public H_OrderCar(playerid,CarNumber,CarColor)
  539. {
  540.     if(H_RentedCar[playerid]==true){SendClientMessage(playerid,0xFF6600FF,"Du hast schon ein Auto gemietet");return 1;}
  541.     if(H_CarSpawn == 1){H_PlayerCar[playerid]=CreateVehicle(CarNumber,H_CarSpawns[0][0],H_CarSpawns[0][1],H_CarSpawns[0][2],H_CarSpawns[0][3],CarColor,CarColor,-1);H_CarSpawn=2;}
  542.     else if(H_CarSpawn == 2){H_PlayerCar[playerid]=CreateVehicle(CarNumber,H_CarSpawns[0][0],H_CarSpawns[0][1],H_CarSpawns[0][2],H_CarSpawns[0][3],CarColor,CarColor,-1);H_CarSpawn=3;}
  543.     else if(H_CarSpawn == 3){H_PlayerCar[playerid]=CreateVehicle(CarNumber,H_CarSpawns[0][0],H_CarSpawns[0][1],H_CarSpawns[0][2],H_CarSpawns[0][3],CarColor,CarColor,-1);H_CarSpawn=4;}
  544.     else if(H_CarSpawn == 4){H_PlayerCar[playerid]=CreateVehicle(CarNumber,H_CarSpawns[0][0],H_CarSpawns[0][1],H_CarSpawns[0][2],H_CarSpawns[0][3],CarColor,CarColor,-1);H_CarSpawn=1;}
  545.     PutPlayerInVehicle(playerid,H_PlayerCar[playerid],0);
  546.     H_PlayerCarID[playerid]=GetPlayerVehicleID(playerid);
  547.     H_RentedCar[playerid]=true;
  548.     H_RentedCars+=1;
  549.     return 1;
  550. }
  551. public H_CarCountDown()
  552.     {
  553.         for(new i=0;i<MAX_PLAYERS;i++)
  554.             {
  555.                 if(IsPlayerConnected(i) && H_RentedCar[i] != false)
  556.                     {
  557.                         H_PlayerCount[i] -= 1;
  558.                         if(H_PlayerCount[i] == 1)
  559.                             {
  560.                                 SendClientMessage(i,0xFF6600FF,"Du musst dein Auto in 1 Minute abgeben");
  561.                             }
  562.                         else if(H_PlayerCount[i] == 0)
  563.                             {
  564.                                 new Float:H_PlayerX, Float:H_PlayerY, Float:H_PlayerZ;
  565.                                 GetPlayerPos(i,H_PlayerX,H_PlayerY,H_PlayerZ);
  566.                                 RemovePlayerFromVehicle(i);
  567.                                 SetPlayerPos(i,H_PlayerX,H_PlayerY,H_PlayerZ);
  568.                                 DestroyVehicle(H_PlayerCar[i]);
  569.                                 H_PlayerCount[i]=H_RentMinutes;
  570.                                 H_PlayerCarID[i]=999;
  571.                                 H_RentedCar[i]=false;
  572.                                 SendClientMessage(i,0xFF6600FF,"Du hast den Wagen abgegeben");
  573.                             }
  574.                     }
  575.             }
  576.     }
  577. public LiveView(playerid,Nummer,CarColor)
  578.     {
  579.         if(Nummer == 1)
  580.             {
  581.                 new string[246];
  582.                 PlayerShowCar[playerid]=0;
  583.                 TogglePlayerControllable(playerid, 0);
  584.                 SetPlayerVirtualWorld(playerid,99+playerid);
  585.                 SetPlayerCameraPos(playerid,753.8704,-1380.7031,25.6922);
  586.                 SetPlayerCameraLookAt(playerid,750.2994,-1377.7664,25.6922);
  587.                 H_ShowCar[playerid]=CreateVehicle(H_Cars[0][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,CarColor,CarColor,-1);
  588.                 SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  589.                 format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~y~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Cars[0][2],H_Cars[0][1],H_RentMinutes);
  590.                 IsLiveViewing[playerid]=1;
  591.                 TextDrawShowForPlayer(playerid,H_CarRent[playerid]);
  592.                 TextDrawSetString(H_CarRent[playerid],string);
  593.             }
  594.         else if(Nummer == 2)
  595.             {
  596.                 new string[246];
  597.                 PlayerShowCar[playerid]=0;
  598.                 TogglePlayerControllable(playerid, 0);
  599.                 SetPlayerVirtualWorld(playerid,99+playerid);
  600.                 SetPlayerCameraPos(playerid,753.8704,-1380.7031,25.6922);
  601.                 SetPlayerCameraLookAt(playerid,750.2994,-1377.7664,25.6922);
  602.                 H_ShowCar[playerid]=CreateVehicle(H_SportCars[0][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,CarColor,CarColor,-1);
  603.                 SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  604.                 format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_SportCars[0][2],H_SportCars[0][1],H_RentMinutes);
  605.                 IsLiveViewing[playerid]=2;
  606.                 TextDrawShowForPlayer(playerid,H_CarRent[playerid]);
  607.                 TextDrawSetString(H_CarRent[playerid],string);
  608.             }
  609.         else if(Nummer == 3)
  610.             {
  611.                 new string[246];
  612.                 PlayerShowCar[playerid]=0;
  613.                 TogglePlayerControllable(playerid, 0);
  614.                 SetPlayerVirtualWorld(playerid,99+playerid);
  615.                 SetPlayerCameraPos(playerid,753.8704,-1380.7031,25.6922);
  616.                 SetPlayerCameraLookAt(playerid,750.2994,-1377.7664,25.6922);
  617.                 H_ShowCar[playerid]=CreateVehicle(H_Bikes[0][0],ShowCarSpawnX,ShowCarSpawnY,ShowCarSpawnZ,ShowCarSpawnRot,CarColor,CarColor,-1);
  618.                 SetVehicleVirtualWorld(H_ShowCar[playerid],99+playerid);
  619.                 format(string,sizeof(string),"~r~===== Miethaus =====~n~~y~Fahrzeug: ~w~%s~n~~g~Preis: ~w~$%d/%dMin.~n~~n~~g~Numpad 4 und 6~n~Fahrzeug wechseln~n~Kaufen mit Enter~n~Tab zum Abbrechen",H_Bikes[0][2],H_Bikes[0][1],H_RentMinutes);
  620.                 IsLiveViewing[playerid]=3;
  621.                 TextDrawShowForPlayer(playerid,H_CarRent[playerid]);
  622.                 TextDrawSetString(H_CarRent[playerid],string);
  623.             }
  624.     }
  625. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  626. {
  627.     if(IsPlayerConnected(playerid))
  628.     {
  629.         new Float:oldposx, Float:oldposy, Float:oldposz;
  630.         new Float:tempposx, Float:tempposy, Float:tempposz;
  631.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  632.         tempposx = (oldposx -x);
  633.         tempposy = (oldposy -y);
  634.         tempposz = (oldposz -z);
  635.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  636.         {
  637.             return 1;
  638.         }
  639.     }
  640.     return 0;
  641. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement