Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- •••• • • •••• ••••• ••••• •• •• ••••• •••••
- • • • • • • • • • • • • •
- •••• • • •••• • ••• • • • • ••••• •
- • • • • • • • • • •
- •••• • •••• • ••••• • • ••••• •••••
- */
- #include <a_samp>
- #include <a_mysql>
- #include <streamer>
- #include <foreach>
- #include <YSI\y_commands>
- #include <YSI\y_timers>
- #define function%0(%1) forward%0(%1); public%0(%1)
- #define MAX_CUSTOM_PICKUPS 100
- #define COLOR_KRED 0xFF0000FF
- #define COLOR_LIME 0x10F441AA
- new mpQuery[500], mpstring[128], Iterator: MyPickups<MAX_CUSTOM_PICKUPS>, Timer: CPMPK[MAX_PLAYERS], Text: MyPickupTD[2], Float: NewPos[3], bool: PlayerEditingPickup[MAX_PLAYERS];
- enum mpInfo
- {
- mpModel,
- mpType,
- Float: mpEnterX,
- Float: mpEnterY,
- Float: mpEnterZ,
- mpVehicleModel,
- mpVehicleColor1,
- mpVehicleColor2,
- mpVirtualWorld,
- mpPickup
- };
- new MyPickupInfo[MAX_CUSTOM_PICKUPS][mpInfo];
- public OnFilterScriptInit()
- {
- print("\n");
- print(" \4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4");
- print(" \4 S32_MyPickup \4");
- print(" \4 by \4");
- print(" \4 System32 \4");
- print(" \4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\4\n");
- mysql_connect("localhost", "root", "sa:mp", "");
- mysql_debug(1);
- MyPickupTD[0] = TextDrawCreate(98.000000, 300.000000, "Use ~r~~h~UP ~w~- ~r~~h~DOWN LEFT ~w~- ~r~~h~RIGHT Y ~w~- ~r~~h~N SPACE ~w~- ~r~~h~ENTER");
- TextDrawBackgroundColor(MyPickupTD[0], 255);
- TextDrawFont(MyPickupTD[0], 1);
- TextDrawLetterSize(MyPickupTD[0], 0.500000, 1.000000);
- TextDrawColor(MyPickupTD[0], -1);
- TextDrawSetOutline(MyPickupTD[0], 0);
- TextDrawSetProportional(MyPickupTD[0], 1);
- TextDrawSetShadow(MyPickupTD[0], 0);
- MyPickupTD[1] = TextDrawCreate(650.000000, 300.000000, ".");
- TextDrawBackgroundColor(MyPickupTD[1], 255);
- TextDrawFont(MyPickupTD[1], 1);
- TextDrawLetterSize(MyPickupTD[1], 0.000000, 1.000000);
- TextDrawColor(MyPickupTD[1], -1);
- TextDrawSetOutline(MyPickupTD[1], 0);
- TextDrawSetProportional(MyPickupTD[1], 1);
- TextDrawSetShadow(MyPickupTD[1], 1);
- TextDrawUseBox(MyPickupTD[1], 1);
- TextDrawBoxColor(MyPickupTD[1], 255);
- TextDrawTextSize(MyPickupTD[1], -20.000000, 0.000000);
- LoadMyPickups();
- return 1;
- }
- public OnFilterScriptExit()
- {
- TextDrawDestroy(MyPickupTD[0]);
- TextDrawDestroy(MyPickupTD[1]);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- PlayerEditingPickup[playerid] = false;
- stop CPMPK[playerid];
- return 1;
- }
- public OnPlayerPickUpDynamicPickup(playerid, pickupid)
- {
- foreach(MyPickups, mp)
- {
- if(pickupid == MyPickupInfo[mp][mpPickup])
- {
- if(MyPickupInfo[mp][mpVehicleModel] != 0)
- {
- if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid), DestroyVehicle(GetPlayerVehicleID(playerid));
- new Float: Pos[4], Vehicle[MAX_PLAYERS];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- GetPlayerFacingAngle(playerid, Pos[3]);
- Vehicle[playerid] = AddStaticVehicle(MyPickupInfo[mp][mpVehicleModel], Pos[0], Pos[1], Pos[2], Pos[3], MyPickupInfo[mp][mpVehicleColor1], MyPickupInfo[mp][mpVehicleColor2]);
- PutPlayerInVehicle(playerid, Vehicle[playerid], 0);
- }
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case 19000:
- {
- if(!response) return PlayerEditingPickup[playerid] = false, 0;
- switch(listitem)
- {
- case 0:
- {
- ShowPlayerDialog(playerid, 19001, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Model", "{FFFFFF}Enter the new pickup model!", "Ok", "Exit");
- }
- case 1:
- {
- ShowPlayerDialog(playerid, 19002, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Type", "{FFFFFF}Enter the new pickup type!", "Ok", "Exit");
- }
- case 2:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- CPMPK[playerid] = repeat CheckPlayerMyPickupKeys(playerid, mp);
- TextDrawShowForPlayer(playerid, MyPickupTD[0]);
- TextDrawShowForPlayer(playerid, MyPickupTD[1]);
- TogglePlayerControllable(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- }
- }
- case 3:
- {
- ShowPlayerDialog(playerid, 19003, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Vehicle Model", "{FFFFFF}Enter the new vehicle model!", "Ok", "Exit");
- }
- case 4:
- {
- ShowPlayerDialog(playerid, 19004, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - VirtualWorld", "{FFFFFF}Enter the new pickup virtualworld!", "Ok", "Exit");
- }
- case 5:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(MyPickupInfo[mp][mpVehicleModel] == 0) return SendClientMessage(playerid, COLOR_KRED, "This pickup is static (No vehicle model)"), ShowPlayerMyPickupDialog(playerid, mp);
- ShowPlayerDialog(playerid, 19005, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Color 1", "Enter the ID of color 1", "Ok", "Exit");
- }
- }
- }
- case 6:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(MyPickupInfo[mp][mpVehicleModel] == 0) return SendClientMessage(playerid, COLOR_KRED, "This pickup is static (No vehicle model)"), ShowPlayerMyPickupDialog(playerid, mp);
- ShowPlayerDialog(playerid, 19006, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Color 2", "Enter the ID of color 2", "Ok", "Exit");
- }
- }
- }
- case 7:
- {
- ShowPlayerDialog(playerid, 19007, DIALOG_STYLE_MSGBOX, "{FFFFFF}System32's Pickup Creator - Remove", "{FFFFFF}Are you sure you want remove this pickup?", "Yes", "No");
- }
- }
- }
- case 19001:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!response) return ShowPlayerMyPickupDialog(playerid, mp);
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 19001, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Model", "{FFFFFF}Enter the new pickup model!", "Ok", "Exit");
- if(!IsValidPickupID(strval(inputtext)))
- {
- SendClientMessage(playerid, COLOR_KRED, "Invalid pickup ID!");
- return ShowPlayerDialog(playerid, 19001, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Model", "{FFFFFF}Enter the new pickup model!", "Ok", "Exit");
- }
- MyPickupInfo[mp][mpModel] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Model is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- UpdateDynamicPickup(playerid);
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `Model` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19002:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!response) return ShowPlayerMyPickupDialog(playerid, mp);
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 19002, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Type", "{FFFFFF}Enter the new pickup type!", "Ok", "Exit");
- if(strval(inputtext) < 0 || strval(inputtext) > 23)
- {
- SendClientMessage(playerid, COLOR_KRED, "Invalid model! (0- 23)");
- return ShowPlayerDialog(playerid, 19002, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Type", "{FFFFFF}Enter the new pickup type!", "Ok", "Exit");
- }
- MyPickupInfo[mp][mpType] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Type is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- UpdateDynamicPickup(playerid);
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `Type` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19003:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!response) return ShowPlayerMyPickupDialog(playerid, mp);
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 19003, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Vehicle Model", "{FFFFFF}Enter the new vehicle model!", "Ok", "Exit");
- if(strval(inputtext) < 400 || strval(inputtext) > 611)
- {
- SendClientMessage(playerid, COLOR_KRED, "Invalid vehicle model! (400 - 611)");
- return ShowPlayerDialog(playerid, 19003, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Vehicle Model", "{FFFFFF}Enter the new vehicle model!", "Ok", "Exit");
- }
- MyPickupInfo[mp][mpVehicleModel] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Vehicle model is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `Vehicle Model` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19004:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!response) return ShowPlayerMyPickupDialog(playerid, mp);
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 19004, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - VirtualWorld", "{FFFFFF}Enter the new pickup virtualworld!", "Ok", "Exit");
- if(strval(inputtext) < -1 || strval(inputtext) > 2147483647) // 2147483647 is max number of virtualworlds
- {
- SendClientMessage(playerid, COLOR_KRED, "Invalid virtualworld ID! (-1 - 2147483647)");
- return ShowPlayerDialog(playerid, 19004, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - VirtualWorld", "{FFFFFF}Enter the new pickup virtualworld!", "Ok", "Exit");
- }
- MyPickupInfo[mp][mpVirtualWorld] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Virtualworld is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- UpdateDynamicPickup(playerid);
- format(mpQuery, sizeof(mpQuery), "UPDATE `mypickups` SET `VirtualWorld` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19005:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!IsValidColorID(strval(inputtext))) return SendClientMessage(playerid, COLOR_KRED, "Invalid color ID!"), ShowPlayerDialog(playerid, 19005, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Color 1", "Enter the ID of color 1", "Ok", "Exit");
- MyPickupInfo[mp][mpVehicleColor1] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Vehicle color 1 is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `Vehicle Color 1` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19006:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!IsValidColorID(strval(inputtext))) return SendClientMessage(playerid, COLOR_KRED, "Invalid color ID!"), ShowPlayerDialog(playerid, 19005, DIALOG_STYLE_INPUT, "{FFFFFF}System32's Pickup Creator - Color 1", "Enter the ID of color 1", "Ok", "Exit");
- MyPickupInfo[mp][mpVehicleColor2] = strval(inputtext);
- format(mpstring, sizeof(mpstring), "Vehicle color 2 is changed to: %d", strval(inputtext));
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- ShowPlayerMyPickupDialog(playerid, mp);
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `Vehicle Color 2` = %d WHERE `Pickup ID` = %d", strval(inputtext), mp);
- mysql_query(mpQuery);
- }
- }
- }
- case 19007:
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(!response) return ShowPlayerMyPickupDialog(playerid, mp);
- MyPickupInfo[mp][mpModel] = 0;
- MyPickupInfo[mp][mpType] = 0;
- MyPickupInfo[mp][mpEnterX] = 0.0;
- MyPickupInfo[mp][mpEnterY] = 0.0;
- MyPickupInfo[mp][mpEnterZ] = 0.0;
- MyPickupInfo[mp][mpVehicleModel] = 0;
- MyPickupInfo[mp][mpVehicleColor1] = 0;
- MyPickupInfo[mp][mpVehicleColor2] = 0;
- MyPickupInfo[mp][mpVirtualWorld] = 0;
- DestroyPickup(MyPickupInfo[mp][mpPickup]);
- SendClientMessage(playerid, COLOR_LIME, "Pickup at your position is removed");
- mysql_format(1, mpQuery, "DELETE FROM `mypickups` WHERE `Pickup ID` = %d", mp);
- mysql_query(mpQuery);
- Iter_Remove(MyPickups, mp);
- }
- }
- }
- }
- return 1;
- }
- function LoadMyPickups()
- {
- new largestring[512], MyPickupsCount, Duration = GetTickCount();
- for(new mp = 0; mp < MAX_CUSTOM_PICKUPS; mp++)
- {
- mysql_format(1, mpQuery, "SELECT * FROM `mypickups` WHERE `Pickup ID` = %d", mp);
- mysql_query(mpQuery);
- mysql_store_result();
- if(mysql_num_rows() == 1)
- {
- if(mysql_fetch_row_format(mpQuery, "|"))
- {
- mysql_fetch_field_row(largestring, "Model"); MyPickupInfo[mp][mpModel] = strval(largestring);
- mysql_fetch_field_row(largestring, "Type"); MyPickupInfo[mp][mpType] = strval(largestring);
- mysql_fetch_field_row(largestring, "EnterX"); MyPickupInfo[mp][mpEnterX] = floatstr(largestring);
- mysql_fetch_field_row(largestring, "EnterY"); MyPickupInfo[mp][mpEnterY] = floatstr(largestring);
- mysql_fetch_field_row(largestring, "EnterZ"); MyPickupInfo[mp][mpEnterZ] = floatstr(largestring);
- mysql_fetch_field_row(largestring, "Vehicle Model"); MyPickupInfo[mp][mpVehicleModel] = strval(largestring);
- mysql_fetch_field_row(largestring, "Vehicle Color 1"); MyPickupInfo[mp][mpVehicleColor1] = strval(largestring);
- mysql_fetch_field_row(largestring, "Vehicle Color 2"); MyPickupInfo[mp][mpVehicleColor2] = strval(largestring);
- mysql_fetch_field_row(largestring, "VirtualWorld"); MyPickupInfo[mp][mpVirtualWorld] = strval(largestring);
- MyPickupInfo[mp][mpPickup] = CreateDynamicPickup(MyPickupInfo[mp][mpModel], MyPickupInfo[mp][mpType], MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ], MyPickupInfo[mp][mpVirtualWorld]);
- Iter_Add(MyPickups, mp);
- MyPickupsCount ++;
- }
- }
- mysql_free_result();
- }
- return printf("Total number of dynamic pickups loaded: %d | Duration: %d ms", MyPickupsCount, (GetTickCount() - Duration));
- }
- function GetTotalMyPickups() return Iter_Count(MyPickups);
- function ShowPlayerMyPickupDialog(playerid, pickupid)
- {
- format(mpstring, sizeof(mpstring), "{FFFFFF}System32's Pickup Creator - Main | (%d)", pickupid);
- ShowPlayerDialog(playerid, 19000, DIALOG_STYLE_LIST, mpstring, "{FFFFFF}Model\nType\nPosition\nVehicle Model\nVirtualWorld\nVehicle Color 1\nVehicle Color 2\nRemove pickup", "Ok", "Exit");
- return 1;
- }
- function IsValidPickupID(pickupid)
- {
- switch(pickupid)
- {
- case 1240: return 1;
- case 1242: return 1;
- case 1239: return 1;
- case 1272: return 1;
- case 1273: return 1;
- case 1212: return 1;
- case 1241: return 1;
- case 1247: return 1;
- case 1248: return 1;
- case 1252: return 1;
- case 1253: return 1;
- case 1254: return 1;
- case 1274: return 1;
- case 1275: return 1;
- case 1277: return 1;
- case 1313: return 1;
- case 1314: return 1;
- case 1276: return 1;
- case 1310: return 1;
- case 1318: return 1;
- case 1279: return 1;
- default: return 0;
- }
- return 0;
- }
- function UpdateDynamicPickup(playerid)
- {
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- DestroyDynamicPickup(MyPickupInfo[mp][mpPickup]);
- MyPickupInfo[mp][mpPickup] = CreateDynamicPickup(MyPickupInfo[mp][mpModel], MyPickupInfo[mp][mpType], MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ], MyPickupInfo[mp][mpVirtualWorld]);
- }
- }
- return 1;
- }
- function UpdateDynamicPickupEx(playerid, pickupid, Float: X, Float: Y, Float: Z)
- {
- DestroyDynamicPickup(MyPickupInfo[pickupid][mpPickup]);
- MyPickupInfo[pickupid][mpPickup] = CreateDynamicPickup(MyPickupInfo[pickupid][mpModel], MyPickupInfo[pickupid][mpType], X, Y, Z, MyPickupInfo[pickupid][mpVirtualWorld]);
- return 1;
- }
- function IsValidColorID(colorid)
- {
- switch(colorid)
- {
- case 0 .. 126, 130, 131, 132, 142, 144, 146 .. 161, 173, 174, 175, 236, 237, 239, 243, 252: return 1;
- default: return 0;
- }
- return 0;
- }
- YCMD:createpickup(playerid, params[], help)
- {
- #pragma unused help
- #pragma unused params
- if(PlayerEditingPickup[playerid] == true) return SendClientMessage(playerid, COLOR_KRED, "Please finish current editing!");
- if(GetTotalMyPickups() > MAX_CUSTOM_PICKUPS) return format(mpstring, sizeof(mpstring), "Max pickups is %d", MAX_CUSTOM_PICKUPS), SendClientMessage(playerid, COLOR_KRED, mpstring);
- new mp, Float: Pos[4];
- mysql_format(1, mpQuery, "SELECT `Pickup ID` FROM `mypickups` ORDER BY `Pickup ID` DESC LIMIT 1");
- mysql_query(mpQuery);
- mysql_store_result();
- mp = mysql_fetch_int();
- mp++;
- mysql_free_result();
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- MyPickupInfo[mp][mpModel] = 1239;
- MyPickupInfo[mp][mpType] = 23;
- MyPickupInfo[mp][mpEnterX] = Pos[0];
- MyPickupInfo[mp][mpEnterY] = Pos[1];
- MyPickupInfo[mp][mpEnterZ] = Pos[2];
- MyPickupInfo[mp][mpVehicleModel] = 0;
- MyPickupInfo[mp][mpVehicleColor1] = 0;
- MyPickupInfo[mp][mpVehicleColor2] = 0;
- MyPickupInfo[mp][mpVirtualWorld] = 0;
- MyPickupInfo[mp][mpPickup] = CreateDynamicPickup(1239, 23, Pos[0], Pos[1], Pos[2], -1);
- mysql_format(1, mpQuery, "INSERT INTO `mypickups` (`Model`, `Type`, `EnterX`, `EnterY`, `EnterZ`, `Vehicle Model`, `Vehicle Color 1`, `Vehicle Color 2`, `VirtualWorld`, `Pickup ID`) VALUES (1239, 23, %f, %f, %f, 0, 0, 0, -1, %d)", Pos[0], Pos[1], Pos[2], mp);
- mysql_query(mpQuery);
- SendClientMessage(playerid, COLOR_LIME, "New dynamic pickup created on your location!");
- PlayerEditingPickup[playerid] = true;
- ShowPlayerMyPickupDialog(playerid, mp);
- Iter_Add(MyPickups, mp);
- return 1;
- }
- YCMD:editpickup(playerid, params[], help)
- {
- #pragma unused help
- #pragma unused params
- foreach(MyPickups, mp)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, MyPickupInfo[mp][mpEnterX], MyPickupInfo[mp][mpEnterY], MyPickupInfo[mp][mpEnterZ]))
- {
- if(PlayerEditingPickup[playerid] == true) return SendClientMessage(playerid, COLOR_KRED, "Please finish current editing!");
- SendClientMessage(playerid, COLOR_LIME, "You are editing pickup at your position!");
- PlayerEditingPickup[playerid] = true;
- ShowPlayerMyPickupDialog(playerid, mp);
- }
- }
- return 1;
- }
- timer CheckPlayerMyPickupKeys[200](playerid, pickupid)
- {
- new keys, ud, lr;
- GetPlayerKeys(playerid, keys, ud, lr);
- if(ud > 0)
- {
- if(keys == KEY_SPRINT) NewPos[0] += 1.0;
- else NewPos[0] += 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- else if(ud < 0)
- {
- if(keys == KEY_SPRINT) NewPos[0] -= 1.0;
- else NewPos[0] -= 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- if(lr > 0)
- {
- if(keys == KEY_SPRINT) NewPos[1] += 1.0;
- else NewPos[1] += 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- else if(lr < 0)
- {
- if(keys == KEY_SPRINT) NewPos[1] -= 1.0;
- else NewPos[1] -= 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- if(keys == KEY_YES)
- {
- NewPos[2] += 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- else if(keys == KEY_NO)
- {
- NewPos[2] -= 0.1;
- UpdateDynamicPickupEx(playerid, pickupid, MyPickupInfo[pickupid][mpEnterX] + NewPos[0], MyPickupInfo[pickupid][mpEnterY] + NewPos[1], MyPickupInfo[pickupid][mpEnterZ] + NewPos[2]);
- }
- if(keys == KEY_SECONDARY_ATTACK)
- {
- TogglePlayerControllable(playerid, 1);
- SetCameraBehindPlayer(playerid);
- TextDrawHideForPlayer(playerid, MyPickupTD[0]);
- TextDrawHideForPlayer(playerid, MyPickupTD[1]);
- MyPickupInfo[pickupid][mpEnterX] += NewPos[0];
- MyPickupInfo[pickupid][mpEnterY] += NewPos[1];
- MyPickupInfo[pickupid][mpEnterZ] += NewPos[2];
- format(mpstring, sizeof(mpstring), "New position of pickup is: X: %f Y: %f Z: %f", MyPickupInfo[pickupid][mpEnterX], MyPickupInfo[pickupid][mpEnterY], MyPickupInfo[pickupid][mpEnterZ]);
- SendClientMessage(playerid, COLOR_LIME, mpstring);
- PlayerEditingPickup[playerid] = false;
- mysql_format(1, mpQuery, "UPDATE `mypickups` SET `EnterX` = %f, `EnterY` = %f, `EnterZ` = %f WHERE `Pickup ID` = %d", MyPickupInfo[pickupid][mpEnterX], MyPickupInfo[pickupid][mpEnterY], MyPickupInfo[pickupid][mpEnterZ], pickupid);
- mysql_query(mpQuery);
- stop CPMPK[playerid];
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement