Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Salut,
- //V-am pregatit un tutorial cum sa faceti un sistem de rent vehicle,
- //Sa incepem:
- //Pentru inceput o sa creem un define pentru dialog
- #define DIALOG_RENTVEH1 1
- //O sa creem niste define-uri pentru culori
- #define COLOR_MAYOR 0xB3F856FF
- #define COLOR_YELLOW 0xFFFF0000
- #define COLOR_WHITE 0xFFFFFFFF
- //O sa facem variabilele care ne trebuie:
- new RentCar[MAX_PLAYERS];
- new RentedCar[MAX_PLAYERS];
- //Acum o sa mergem la:
- public OnPlayerConnect(playerid)
- {
- RentedCar[playerid] = 0; //Aici cand player-ul se conecteaza pe server o sa aiba variabila pe 0
- RentCar[playerid] = -1; //Aici cand player-ul se conecteaza pe server o sa aiba variabila pe -1
- return 1;
- }
- //Acum o sa mergem la:
- public OnPlayerDisconenect(playerid, reason)
- {
- if(RentedCar[playerid] == 1) //Aici cand player-ul se deconecteaza se verifica daca are o masina inchiriata
- {
- DestroyVehicle(RentCar[playerid]); //Daca are aceasta se va distruge
- RentedCar[playerid] = 0; // Aici se va seta pe 0
- RentCar[playerid] = -1; //Aici se va seta pe -1
- }
- return 1;
- }
- //Acum o sa mergem la:
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[64];
- switch(dialogid)
- {
- case DIALOG_RENTVEH1:
- {
- if(!response) return SendClientMessage(playerid, COLOR_WHITE, "Ai inchis meniul Rent Vehicle!"); //Aici se verifica daca player-ul a iesit din meniu
- new vehName[16], veh;
- switch(listitem)
- {
- case 0: veh = 560, vehName = "Sultan";
- case 1: veh = 522, vehName = "NRG-500";
- case 2: veh = 480, vehName = "Comet";
- case 3: veh = 495, vehName = "Sandking";
- case 4: veh = 565, vehName = "Flash";
- }
- format(string, sizeof(string), "Ai inchiriat un vehicul de tip %s.", vehName);
- SendClientMessage(playerid, COLOR_MAYOR, string); //Aici trimite mesajul jucatorului.
- RentedCar[playerid] = 1; //Aici se va seta variabila pe 1
- RentCar[playerid] = AddStaticVehicle(veh, 1062.3953, -1763.7389, 12.9339, -89.4600, 3, 3); //Aici o sa creeze vehiculul
- PutPlayerInVehicle(playerid, RentCar[playerid], 0); //Aici o sa puna jucatorul in vehicul
- }
- }
- return 1;
- }
- //Acum o sa creez doua comenzi /rentvehicle si /unrentvehicle
- CMD:rentvehicle(playerid, params[])
- {
- if(IsPlayerConnected(playerid))
- {
- if(RentedCar[playerid] == 1) return SendClientMessage(playerid, COLOR_MAYOR, "Ai inchiriat deja un vehicul.");
- if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1110.6863,-1796.6810,16.5938)) return SendClientMessage(playerid, COLOR_MAYOR, "Nu esti la locatia potrivita.");
- ShowPlayerDialog(playerid, DIALOG_RENTVEH1, DIALOG_STYLE_LIST, "Rent Vehicle", "Sultan\nNRG-500\nComet\nSandking\nFlash", "Ok", "Inchide");
- }
- return 1;
- }
- CMD:unrentvehicle(playerid, params[])
- {
- if(IsPlayerConnected(playerid))
- {
- if(RentedCar[playerid] == 0) return SendClientMessage(playerid, COLOR_MAYOR, "Nu ai un vehicul inchiriat.");
- RentedCar[playerid] = 0;
- DestroyVehicle(RentCar[playerid]);
- RentCar[playerid] = -1;
- SendClientMessage(playerid, COLOR_YELLOW, "Nu mai ai o masina inchiriata.");
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement