Advertisement
Guest User

Untitled

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