Guest User

Untitled

a guest
Jun 1st, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.51 KB | None | 0 0
  1. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2. {
  3.     if(dialogid == DIALOG_ERROR)
  4.     {
  5.         ShowDialog(playerid, DialogReturn[playerid]);
  6.         return 1;
  7.     }
  8.     DialogReturn[playerid] = dialogid;
  9.     if(dialogid == DIALOG_VEHICLE)
  10.     {
  11.         if(response)
  12.         {
  13.             switch(listitem)
  14.             {
  15.                 case 0:
  16.                 {
  17.                     new vehicleid = GetPlayerVehicleID(playerid);
  18.                     new engine, lights, alarm, doors, bonnet, boot, objective;
  19.                     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  20.                     if(engine == 1) { engine = 0; lights = 0; }
  21.                     else { engine = 1; lights = 1; }
  22.                     SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  23.                 }
  24.                 case 1:
  25.                 {
  26.                     new vehicleid = GetPlayerVehicleID(playerid);
  27.                     new engine, lights, alarm, doors, bonnet, boot, objective;
  28.                     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  29.                     if(lights == 1) lights = 0; else lights = 1;
  30.                     SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  31.                 }
  32.                 case 2:
  33.                 {
  34.                     new vehicleid = GetPlayerVehicleID(playerid);
  35.                     new engine, lights, alarm, doors, bonnet, boot, objective;
  36.                     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  37.                     if(bonnet == 1) bonnet = 0; else bonnet = 1;
  38.                     SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  39.                 }
  40.                 case 3:
  41.                 {
  42.                     new vehicleid = GetPlayerVehicleID(playerid);
  43.                     new engine, lights, alarm, doors, bonnet, boot, objective;
  44.                     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  45.                     if(boot == 1) boot = 0; else boot = 1;
  46.                     SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  47.                 }
  48.                 case 4:
  49.                 {
  50.                     new id = GetPVarInt(playerid, "DialogValue1");
  51.                     if(GetPlayerVehicleAccess(playerid, id) < 2)
  52.                     {
  53.                         ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
  54.                         return 1;
  55.                     }
  56.                     new msg[128];
  57.                     VehicleCreated[id] = 0;
  58.                     new money = VehicleValue[id]/2;
  59.                     GivePlayerMoney(playerid, money);
  60.                     format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
  61.                     SendClientMessage(playerid, COLOR_WHITE, msg);
  62.                     RemovePlayerFromVehicle(playerid);
  63.                     DestroyVehicle(VehicleID[id]);
  64.                     SaveVehicle(id);
  65.                 }
  66.                 case 5:
  67.                 {
  68.                     new vehicleid = GetPVarInt(playerid, "DialogValue1");
  69.                     if(GetPlayerVehicleAccess(playerid, vehicleid) < 2)
  70.                     {
  71.                         ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
  72.                         return 1;
  73.                     }
  74.                     GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
  75.                     GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
  76.                     VehicleInterior[vehicleid] = GetPlayerInterior(playerid);
  77.                     VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid);
  78.                     SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
  79.                     UpdateVehicle(vehicleid, 1);
  80.                     PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
  81.                     SaveVehicle(vehicleid);
  82.                 }
  83.                 case 6:
  84.                 {
  85.                     ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
  86.                 }
  87.             }
  88.         }
  89.         return 1;
  90.     }
  91.     if(dialogid == DIALOG_VEHICLE_BUY)
  92.     {
  93.         if(response)
  94.         {
  95.             if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
  96.             {
  97.                 ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
  98.                 return 1;
  99.             }
  100.             new id = GetPVarInt(playerid, "DialogValue1");
  101.             if(GetPlayerMoney(playerid) < VehicleValue[id])
  102.             {
  103.                 ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
  104.                 return 1;
  105.             }
  106.             new freeid = GetFreeVehicleID();
  107.             if(!freeid)
  108.             {
  109.                 ShowErrorDialog(playerid, "Vehicle dealership is out of stock!");
  110.                 return 1;
  111.             }
  112.             GivePlayerMoney(playerid, -VehicleValue[id]);
  113.             new dealerid = strval(VehicleOwner[id]);
  114.             VehicleCreated[freeid] = VEHICLE_PLAYER;
  115.             VehicleModel[freeid] = VehicleModel[id];
  116.             VehiclePos[freeid] = DealershipPos[dealerid];
  117.             VehicleColor[freeid] = VehicleColor[id];
  118.             VehicleInterior[freeid] = VehicleInterior[id];
  119.             VehicleWorld[freeid] = VehicleWorld[id];
  120.             VehicleValue[freeid] = VehicleValue[id];
  121.             GetPlayerName(playerid, VehicleOwner[freeid], sizeof(VehicleOwner[]));
  122.             VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
  123.             for(new d=0; d < sizeof(VehicleTrunk[]); d++)
  124.             {
  125.                 VehicleTrunk[freeid][d][0] = 0;
  126.                 VehicleTrunk[freeid][d][1] = 0;
  127.             }
  128.             for(new d=0; d < sizeof(VehicleMods[]); d++)
  129.             {
  130.                 VehicleMods[freeid][d] = 0;
  131.             }
  132.             VehiclePaintjob[freeid] = 255;
  133.             VehicleLock[freeid] = 0;
  134.             VehicleAlarm[freeid] = 0;
  135.             UpdateVehicle(freeid, 0);
  136.             SaveVehicle(freeid);
  137.             new msg[128];
  138.             format(msg, sizeof(msg), "You have bought this vehicle for $%d", VehicleValue[id]);
  139.             SendClientMessage(playerid, COLOR_WHITE, msg);
  140.             RemovePlayerFromVehicle(playerid);
  141.         }
  142.         else
  143.         {
  144.             RemovePlayerFromVehicle(playerid);
  145.         }
  146.         return 1;
  147.     }
  148.     if(dialogid == DIALOG_VEHICLE_SELL)
  149.     {
  150.         if(response)
  151.         {
  152.             if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
  153.             {
  154.                 ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
  155.                 return 1;
  156.             }
  157.             new targetid = GetPVarInt(playerid, "DialogValue1");
  158.             new id = GetPVarInt(playerid, "DialogValue2");
  159.             new price = GetPVarInt(playerid, "DialogValue3");
  160.             if(GetPlayerMoney(playerid) < price)
  161.             {
  162.                 ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
  163.                 return 1;
  164.             }
  165.             new msg[128];
  166.             GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[]));
  167.             GivePlayerMoney(playerid, -price);
  168.             GivePlayerMoney(targetid, price);
  169.             SaveVehicle(id);
  170.             format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
  171.             SendClientMessage(playerid, COLOR_WHITE, msg);
  172.             format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
  173.             SendClientMessage(targetid, COLOR_WHITE, msg);
  174.         }
  175.         else
  176.         {
  177.             new targetid = GetPVarInt(playerid, "DialogValue1");
  178.             new msg[128];
  179.             format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
  180.             SendClientMessage(targetid, COLOR_WHITE, msg);
  181.         }
  182.         return 1;
  183.     }
  184.     if(dialogid == DIALOG_FINDVEHICLE)
  185.     {
  186.         if(response)
  187.         {
  188.             new id;
  189.             sscanf(inputtext[4], "d", id);
  190.             if(IsValidVehicle(id))
  191.             {
  192.                 TrackCar[playerid] = VehicleID[id];
  193.                 SendClientMessage(playerid, COLOR_WHITE, "Your vehicle's location is shown on your minimap");
  194.             }
  195.         }
  196.         return 1;
  197.     }
  198.     if(dialogid == DIALOG_TRUNK)
  199.     {
  200.         if(response)
  201.         {
  202.             SetPVarInt(playerid, "DialogValue2", listitem);
  203.             ShowDialog(playerid, DIALOG_TRUNK_ACTION);
  204.         }
  205.         else
  206.         {
  207.             new id = GetPVarInt(playerid, "DialogValue1");
  208.             ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF);
  209.         }
  210.         return 1;
  211.     }
  212.     if(dialogid == DIALOG_TRUNK_ACTION)
  213.     {
  214.         if(response)
  215.         {
  216.             new id = GetPVarInt(playerid, "DialogValue1");
  217.             new slot = GetPVarInt(playerid, "DialogValue2");
  218.             switch(listitem)
  219.             {
  220.             case 0:
  221.             {
  222.                 new weaponid = GetPlayerWeapon(playerid);
  223.                 if(weaponid == 0)
  224.                 {
  225.                     ShowErrorDialog(playerid, "You don't have a weapon in your hands!");
  226.                     return 1;
  227.                 }
  228.                 VehicleTrunk[id][slot][0] = weaponid;
  229.                 if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1;
  230.                 else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid);
  231.                 RemovePlayerWeapon(playerid, weaponid);
  232.                 SaveVehicle(id);
  233.             }
  234.             case 1:
  235.             {
  236.                 if(VehicleTrunk[id][slot][1] <= 0)
  237.                 {
  238.                     ShowErrorDialog(playerid, "This slot is empty!");
  239.                     return 1;
  240.                 }
  241.                 GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]);
  242.                 VehicleTrunk[id][slot][0] = 0;
  243.                 VehicleTrunk[id][slot][1] = 0;
  244.                 SaveVehicle(id);
  245.             }
  246.             }
  247.         }
  248.         ShowDialog(playerid, DIALOG_TRUNK);
  249.         return 1;
  250.     }
  251.     if(dialogid == DIALOG_VEHICLE_PLATE)
  252.     {
  253.         if(response)
  254.         {
  255.             if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
  256.             {
  257.                 ShowErrorDialog(playerid, "Invalid length!");
  258.                 return 1;
  259.             }
  260.             new id = GetPVarInt(playerid, "DialogValue1");
  261.             new vehicleid = VehicleID[id];
  262.             strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
  263.             SaveVehicle(id);
  264.             SetVehicleNumberPlate(vehicleid, inputtext);
  265.             SetVehicleToRespawn(vehicleid);
  266.             new msg[128];
  267.             format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
  268.             SendClientMessage(playerid, COLOR_WHITE, msg);
  269.         }
  270.         else ShowDialog(playerid, DIALOG_VEHICLE);
  271.         return 1;
  272.     }
  273.     if(dialogid == DIALOG_EDITVEHICLE)
  274.     {
  275.         if(response)
  276.         {
  277.             new id = GetPVarInt(playerid, "DialogValue1");
  278.             new nr, params[128];
  279.             sscanf(inputtext, "ds", nr, params);
  280.             switch(nr)
  281.             {
  282.             case 1:
  283.             {
  284.                 new value = strval(params);
  285.                 if(value < 0) value = 0;
  286.                 VehicleValue[id] = value;
  287.                 UpdateVehicleLabel(id, 1);
  288.                 SaveVehicle(id);
  289.                 ShowDialog(playerid, DIALOG_EDITVEHICLE);
  290.             }
  291.             case 2:
  292.             {
  293.                 new value;
  294.                 if(IsNumeric(params)) value = strval(params);
  295.                 else value = GetVehicleModelIDFromName(params);
  296.                 if(value < 400 || value > 611)
  297.                 {
  298.                     ShowErrorDialog(playerid, "Invalid vehicle model!");
  299.                     return 1;
  300.                 }
  301.                 VehicleModel[id] = value;
  302.                 for(new i=0; i < sizeof(VehicleMods[]); i++)
  303.                 {
  304.                     VehicleMods[id][i] = 0;
  305.                 }
  306.                 VehiclePaintjob[id] = 255;
  307.                 UpdateVehicle(id, 1);
  308.                 SaveVehicle(id);
  309.                 ShowDialog(playerid, DIALOG_EDITVEHICLE);
  310.             }
  311.             case 3:
  312.             {
  313.                 new color1, color2;
  314.                 sscanf(params, "dd", color1, color2);
  315.                 VehicleColor[id][0] = color1;
  316.                 VehicleColor[id][1] = color2;
  317.                 SaveVehicle(id);
  318.                 ChangeVehicleColor(VehicleID[id], color1, color2);
  319.                 ShowDialog(playerid, DIALOG_EDITVEHICLE);
  320.             }
  321.             case 4:
  322.             {
  323.                 if(strlen(params) < 1 || strlen(params) > 8)
  324.                 {
  325.                     ShowErrorDialog(playerid, "Invalid length!");
  326.                     return 1;
  327.                 }
  328.                 strmid(VehicleNumberPlate[id], params, 0, sizeof(params));
  329.                 SaveVehicle(id);
  330.                 SetVehicleNumberPlate(VehicleID[id], params);
  331.                 SetVehicleToRespawn(VehicleID[id]);
  332.                 ShowDialog(playerid, DIALOG_EDITVEHICLE);
  333.             }
  334.             case 5:
  335.             {
  336.                 DestroyVehicle(VehicleID[id]);
  337.                 if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
  338.                 {
  339.                     Delete3DTextLabel(VehicleLabel[id]);
  340.                 }
  341.                 VehicleCreated[id] = 0;
  342.                 SaveVehicle(id);
  343.                 new msg[128];
  344.                 format(msg, sizeof(msg), "You have deleted vehicle id %d", id);
  345.                 SendClientMessage(playerid, COLOR_WHITE, msg);
  346.             }
  347.             case 6:
  348.             {
  349.                 if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  350.                 {
  351.                     ShowErrorDialog(playerid, "You are not driving the vehicle!");
  352.                     return 1;
  353.                 }
  354.                 GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
  355.                 GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
  356.                 VehicleInterior[id] = GetPlayerInterior(playerid);
  357.                 VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
  358.                 SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
  359.                 UpdateVehicle(id, 1);
  360.                 PutPlayerInVehicle(playerid, VehicleID[id], 0);
  361.                 SaveVehicle(id);
  362.                 ShowDialog(playerid, DIALOG_EDITVEHICLE);
  363.             }
  364.             case 7:
  365.             {
  366.                 new Float:x, Float:y, Float:z;
  367.                 GetVehiclePos(VehicleID[id], x, y, z);
  368.                 SetPlayerPos(playerid, x, y, z+1);
  369.                 new msg[128];
  370.                 format(msg, sizeof(msg), "You have teleported to vehicle id %d", id);
  371.                 SendClientMessage(playerid, COLOR_WHITE, msg);
  372.             }
  373.             }
  374.         }
  375.         return 1;
  376.     }
  377.     return 0;
  378. }
Advertisement
Add Comment
Please, Sign In to add comment