Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_ERROR)
- {
- ShowDialog(playerid, DialogReturn[playerid]);
- return 1;
- }
- DialogReturn[playerid] = dialogid;
- if(dialogid == DIALOG_VEHICLE)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(engine == 1) { engine = 0; lights = 0; }
- else { engine = 1; lights = 1; }
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- }
- case 1:
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(lights == 1) lights = 0; else lights = 1;
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- }
- case 2:
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(bonnet == 1) bonnet = 0; else bonnet = 1;
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- }
- case 3:
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(boot == 1) boot = 0; else boot = 1;
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- }
- case 4:
- {
- new id = GetPVarInt(playerid, "DialogValue1");
- if(GetPlayerVehicleAccess(playerid, id) < 2)
- {
- ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
- return 1;
- }
- new msg[128];
- VehicleCreated[id] = 0;
- new money = VehicleValue[id]/2;
- GivePlayerMoney(playerid, money);
- format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- RemovePlayerFromVehicle(playerid);
- DestroyVehicle(VehicleID[id]);
- SaveVehicle(id);
- }
- case 5:
- {
- new vehicleid = GetPVarInt(playerid, "DialogValue1");
- if(GetPlayerVehicleAccess(playerid, vehicleid) < 2)
- {
- ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
- return 1;
- }
- GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
- GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
- VehicleInterior[vehicleid] = GetPlayerInterior(playerid);
- VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid);
- SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
- UpdateVehicle(vehicleid, 1);
- PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
- SaveVehicle(vehicleid);
- }
- case 6:
- {
- ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
- }
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_VEHICLE_BUY)
- {
- if(response)
- {
- if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
- {
- ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
- return 1;
- }
- new id = GetPVarInt(playerid, "DialogValue1");
- if(GetPlayerMoney(playerid) < VehicleValue[id])
- {
- ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
- return 1;
- }
- new freeid = GetFreeVehicleID();
- if(!freeid)
- {
- ShowErrorDialog(playerid, "Vehicle dealership is out of stock!");
- return 1;
- }
- GivePlayerMoney(playerid, -VehicleValue[id]);
- new dealerid = strval(VehicleOwner[id]);
- VehicleCreated[freeid] = VEHICLE_PLAYER;
- VehicleModel[freeid] = VehicleModel[id];
- VehiclePos[freeid] = DealershipPos[dealerid];
- VehicleColor[freeid] = VehicleColor[id];
- VehicleInterior[freeid] = VehicleInterior[id];
- VehicleWorld[freeid] = VehicleWorld[id];
- VehicleValue[freeid] = VehicleValue[id];
- GetPlayerName(playerid, VehicleOwner[freeid], sizeof(VehicleOwner[]));
- VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
- for(new d=0; d < sizeof(VehicleTrunk[]); d++)
- {
- VehicleTrunk[freeid][d][0] = 0;
- VehicleTrunk[freeid][d][1] = 0;
- }
- for(new d=0; d < sizeof(VehicleMods[]); d++)
- {
- VehicleMods[freeid][d] = 0;
- }
- VehiclePaintjob[freeid] = 255;
- VehicleLock[freeid] = 0;
- VehicleAlarm[freeid] = 0;
- UpdateVehicle(freeid, 0);
- SaveVehicle(freeid);
- new msg[128];
- format(msg, sizeof(msg), "You have bought this vehicle for $%d", VehicleValue[id]);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- RemovePlayerFromVehicle(playerid);
- }
- else
- {
- RemovePlayerFromVehicle(playerid);
- }
- return 1;
- }
- if(dialogid == DIALOG_VEHICLE_SELL)
- {
- if(response)
- {
- if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
- {
- ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
- return 1;
- }
- new targetid = GetPVarInt(playerid, "DialogValue1");
- new id = GetPVarInt(playerid, "DialogValue2");
- new price = GetPVarInt(playerid, "DialogValue3");
- if(GetPlayerMoney(playerid) < price)
- {
- ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
- return 1;
- }
- new msg[128];
- GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[]));
- GivePlayerMoney(playerid, -price);
- GivePlayerMoney(targetid, price);
- SaveVehicle(id);
- format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
- SendClientMessage(targetid, COLOR_WHITE, msg);
- }
- else
- {
- new targetid = GetPVarInt(playerid, "DialogValue1");
- new msg[128];
- format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
- SendClientMessage(targetid, COLOR_WHITE, msg);
- }
- return 1;
- }
- if(dialogid == DIALOG_FINDVEHICLE)
- {
- if(response)
- {
- new id;
- sscanf(inputtext[4], "d", id);
- if(IsValidVehicle(id))
- {
- TrackCar[playerid] = VehicleID[id];
- SendClientMessage(playerid, COLOR_WHITE, "Your vehicle's location is shown on your minimap");
- }
- }
- return 1;
- }
- if(dialogid == DIALOG_TRUNK)
- {
- if(response)
- {
- SetPVarInt(playerid, "DialogValue2", listitem);
- ShowDialog(playerid, DIALOG_TRUNK_ACTION);
- }
- else
- {
- new id = GetPVarInt(playerid, "DialogValue1");
- ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF);
- }
- return 1;
- }
- if(dialogid == DIALOG_TRUNK_ACTION)
- {
- if(response)
- {
- new id = GetPVarInt(playerid, "DialogValue1");
- new slot = GetPVarInt(playerid, "DialogValue2");
- switch(listitem)
- {
- case 0:
- {
- new weaponid = GetPlayerWeapon(playerid);
- if(weaponid == 0)
- {
- ShowErrorDialog(playerid, "You don't have a weapon in your hands!");
- return 1;
- }
- VehicleTrunk[id][slot][0] = weaponid;
- if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1;
- else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid);
- RemovePlayerWeapon(playerid, weaponid);
- SaveVehicle(id);
- }
- case 1:
- {
- if(VehicleTrunk[id][slot][1] <= 0)
- {
- ShowErrorDialog(playerid, "This slot is empty!");
- return 1;
- }
- GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]);
- VehicleTrunk[id][slot][0] = 0;
- VehicleTrunk[id][slot][1] = 0;
- SaveVehicle(id);
- }
- }
- }
- ShowDialog(playerid, DIALOG_TRUNK);
- return 1;
- }
- if(dialogid == DIALOG_VEHICLE_PLATE)
- {
- if(response)
- {
- if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
- {
- ShowErrorDialog(playerid, "Invalid length!");
- return 1;
- }
- new id = GetPVarInt(playerid, "DialogValue1");
- new vehicleid = VehicleID[id];
- strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
- SaveVehicle(id);
- SetVehicleNumberPlate(vehicleid, inputtext);
- SetVehicleToRespawn(vehicleid);
- new msg[128];
- format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- else ShowDialog(playerid, DIALOG_VEHICLE);
- return 1;
- }
- if(dialogid == DIALOG_EDITVEHICLE)
- {
- if(response)
- {
- new id = GetPVarInt(playerid, "DialogValue1");
- new nr, params[128];
- sscanf(inputtext, "ds", nr, params);
- switch(nr)
- {
- case 1:
- {
- new value = strval(params);
- if(value < 0) value = 0;
- VehicleValue[id] = value;
- UpdateVehicleLabel(id, 1);
- SaveVehicle(id);
- ShowDialog(playerid, DIALOG_EDITVEHICLE);
- }
- case 2:
- {
- new value;
- if(IsNumeric(params)) value = strval(params);
- else value = GetVehicleModelIDFromName(params);
- if(value < 400 || value > 611)
- {
- ShowErrorDialog(playerid, "Invalid vehicle model!");
- return 1;
- }
- VehicleModel[id] = value;
- for(new i=0; i < sizeof(VehicleMods[]); i++)
- {
- VehicleMods[id][i] = 0;
- }
- VehiclePaintjob[id] = 255;
- UpdateVehicle(id, 1);
- SaveVehicle(id);
- ShowDialog(playerid, DIALOG_EDITVEHICLE);
- }
- case 3:
- {
- new color1, color2;
- sscanf(params, "dd", color1, color2);
- VehicleColor[id][0] = color1;
- VehicleColor[id][1] = color2;
- SaveVehicle(id);
- ChangeVehicleColor(VehicleID[id], color1, color2);
- ShowDialog(playerid, DIALOG_EDITVEHICLE);
- }
- case 4:
- {
- if(strlen(params) < 1 || strlen(params) > 8)
- {
- ShowErrorDialog(playerid, "Invalid length!");
- return 1;
- }
- strmid(VehicleNumberPlate[id], params, 0, sizeof(params));
- SaveVehicle(id);
- SetVehicleNumberPlate(VehicleID[id], params);
- SetVehicleToRespawn(VehicleID[id]);
- ShowDialog(playerid, DIALOG_EDITVEHICLE);
- }
- case 5:
- {
- DestroyVehicle(VehicleID[id]);
- if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
- {
- Delete3DTextLabel(VehicleLabel[id]);
- }
- VehicleCreated[id] = 0;
- SaveVehicle(id);
- new msg[128];
- format(msg, sizeof(msg), "You have deleted vehicle id %d", id);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- case 6:
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
- {
- ShowErrorDialog(playerid, "You are not driving the vehicle!");
- return 1;
- }
- GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
- GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
- VehicleInterior[id] = GetPlayerInterior(playerid);
- VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
- SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
- UpdateVehicle(id, 1);
- PutPlayerInVehicle(playerid, VehicleID[id], 0);
- SaveVehicle(id);
- ShowDialog(playerid, DIALOG_EDITVEHICLE);
- }
- case 7:
- {
- new Float:x, Float:y, Float:z;
- GetVehiclePos(VehicleID[id], x, y, z);
- SetPlayerPos(playerid, x, y, z+1);
- new msg[128];
- format(msg, sizeof(msg), "You have teleported to vehicle id %d", id);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- }
- }
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment