Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. //Salut,
  2. //V-am pregatit un tutorial cum sa faceti un sistem de rent vehicle,
  3. //Sa incepem:
  4.  
  5. //O sa aveti nevoie sa descarcati ZCMD-ul.
  6. #include <zcmd>
  7.  
  8. //O sa creem un define pentru dialog
  9. #define DIALOG_RENTVEH1 1
  10.  
  11. //O sa creem niste define-uri pentru culori
  12. #define COLOR_MAYOR 0xB3F856FF
  13. #define COLOR_YELLOW 0xFFFF0000
  14. #define COLOR_WHITE 0xFFFFFFFF
  15.  
  16. //O sa facem variabilele care ne trebuie:
  17. new RentCar[MAX_PLAYERS];
  18. new RentedCar[MAX_PLAYERS];
  19.  
  20. //Acum o sa mergem la:
  21. public OnPlayerConnect(playerid)
  22. {
  23. RentedCar[playerid] = 0; //Aici cand player-ul se conecteaza pe server o sa aiba variabila pe 0
  24. RentCar[playerid] = -1; //Aici cand player-ul se conecteaza pe server o sa aiba variabila pe -1
  25. return 1;
  26. }
  27.  
  28. //Acum o sa mergem la:
  29. public OnPlayerDisconenect(playerid, reason)
  30. {
  31. if(RentedCar[playerid] == 1) //Aici cand player-ul se deconecteaza se verifica daca are o masina inchiriata
  32. {
  33. DestroyVehicle(RentCar[playerid]); //Daca are aceasta se va distruge
  34. RentedCar[playerid] = 0; // Aici se va seta pe 0
  35. RentCar[playerid] = -1; //Aici se va seta pe -1
  36. }
  37. return 1;
  38. }
  39.  
  40. //Acum o sa mergem la:
  41. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  42. {
  43. new string[64];
  44. switch(dialogid)
  45. {
  46. case DIALOG_RENTVEH1:
  47. {
  48. if(!response) return SendClientMessage(playerid, COLOR_WHITE, "Ai inchis meniul Rent Vehicle!"); //Aici se verifica daca player-ul a iesit din meniu
  49. new vehName[16], veh;
  50. switch(listitem)
  51. {
  52. case 0: veh = 560, vehName = "Sultan";
  53. case 1: veh = 522, vehName = "NRG-500";
  54. case 2: veh = 480, vehName = "Comet";
  55. case 3: veh = 495, vehName = "Sandking";
  56. case 4: veh = 565, vehName = "Flash";
  57. }
  58. format(string, sizeof(string), "Ai inchiriat un vehicul de tip %s.", vehName);
  59. SendClientMessage(playerid, COLOR_MAYOR, string); //Aici trimite mesajul jucatorului.
  60. RentedCar[playerid] = 1; //Aici se va seta variabila pe 1
  61. RentCar[playerid] = AddStaticVehicle(veh, 1062.3953, -1763.7389, 12.9339, -89.4600, 3, 3); //Aici o sa creeze vehiculul
  62. PutPlayerInVehicle(playerid, RentCar[playerid], 0); //Aici o sa puna jucatorul in vehicul
  63. }
  64. }
  65. return 1;
  66. }
  67.  
  68. //Acum o sa creez doua comenzi /rentvehicle si /unrentvehicle
  69. CMD:rentvehicle(playerid, params[])
  70. {
  71. if(IsPlayerConnected(playerid))
  72. {
  73. if(RentedCar[playerid] == 1) return SendClientMessage(playerid, COLOR_MAYOR, "Ai inchiriat deja un vehicul.");
  74. if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1110.6863,-1796.6810,16.5938)) return SendClientMessage(playerid, COLOR_MAYOR, "Nu esti la locatia potrivita.");
  75. ShowPlayerDialog(playerid, DIALOG_RENTVEH1, DIALOG_STYLE_LIST, "Rent Vehicle", "Sultan\nNRG-500\nComet\nSandking\nFlash", "Ok", "Inchide");
  76. }
  77. return 1;
  78. }
  79.  
  80. CMD:unrentvehicle(playerid, params[])
  81. {
  82. if(IsPlayerConnected(playerid))
  83. {
  84. if(RentedCar[playerid] == 0) return SendClientMessage(playerid, COLOR_MAYOR, "Nu ai un vehicul inchiriat.");
  85. RentedCar[playerid] = 0;
  86. DestroyVehicle(RentCar[playerid]);
  87. RentCar[playerid] = -1;
  88. SendClientMessage(playerid, COLOR_YELLOW, "Nu mai ai o masina inchiriata.");
  89. }
  90. return 1;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement