Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <Dini>
- //------------------------------------------------------------------------------
- #define MAX_PICK 1000
- #define SAVING_SYSTEM 1
- //------------------------------------------------------------------------------
- enum pInfo
- {
- pPickup,
- pID,
- pType,
- pWorld,
- Float:pX,
- Float:pY,
- Float:pZ
- }
- //------------------------------------------------------------------------------
- new PickupInfo[MAX_PICK][pInfo];
- new pickid, removeid, Started[MAX_PLAYERS], CreatePickups[MAX_PLAYERS], ID, Type;
- new Text:Textdraw[10];
- //------------------------------------------------------------------------------
- CMD:createpickup(playerid, params[])
- {
- new string[5];
- TextDrawShowForPlayer(playerid, Textdraw[0]);
- TextDrawShowForPlayer(playerid, Textdraw[1]);
- TextDrawShowForPlayer(playerid, Textdraw[2]);
- TextDrawShowForPlayer(playerid, Textdraw[3]);
- TextDrawShowForPlayer(playerid, Textdraw[4]);
- TextDrawShowForPlayer(playerid, Textdraw[5]);
- TextDrawShowForPlayer(playerid, Textdraw[6]);
- TextDrawShowForPlayer(playerid, Textdraw[7]);
- TextDrawShowForPlayer(playerid, Textdraw[8]);
- SelectTextDraw(playerid, 0xFFFFFFFF);
- format(string, sizeof(string), "%d", pickid);
- TextDrawSetString(Textdraw[9], string);
- TextDrawShowForPlayer(playerid, Textdraw[9]);
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Welcome to {FF0000}HY's Dynamic Pickup Creator{FFFFFF}.");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Select your option, and press {FF0000}'C' {FFFFFF}to start creating pickups.");
- Started[playerid] = 1;
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- if(clickedid == Textdraw[4])
- {
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Please, input below new pickup's ID.");
- ShowPlayerDialog(playerid, 1500, DIALOG_STYLE_INPUT, "Pickup ID", "{FFFFFF}Please, input below the new pickup's ID:\n\n{FF0000}WARNING: {FFFFFF}Please, use a valid pickup ID.", "Continue", "Exit");
- }
- else if(clickedid == Textdraw[6])
- {
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Please, input below new pickup's type.");
- ShowPlayerDialog(playerid, 1501, DIALOG_STYLE_INPUT, "Pickup ID", "{FFFFFF}Please, input below the new pickup's type:\n\n{FF0000}WARNING: {FFFFFF}Most used types are between {FF0000}1 & 3{FFFFFF}.", "Continue", "Exit");
- }
- else if(clickedid == Textdraw[8])
- {
- #if SAVING_SYSTEM == 1
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Please, input below the pickup's ID wich you want to delete.");
- ShowPlayerDialog(playerid, 1502, DIALOG_STYLE_INPUT, "Remove", "{FFFFFF}Please, input below the new pickup's type:\n\n{FF0000}WARNING: {FFFFFF}Must be a valid pickup ID.", "Continue", "Exit");
- #endif
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_CROUCH)
- {
- if(Started[playerid] == 1)
- {
- new string[50];
- Started[playerid] = 2;
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Press {FF0000}'LMB' {FFFFFF}to create pickups, and press {FF0000}'C' {FFFFFF}to edit script.");
- format(string, sizeof(string), "Enabled");
- TextDrawSetString(Textdraw[3], string);
- TextDrawColor(Textdraw[3], 16711935);
- TextDrawShowForPlayer(playerid, Textdraw[3]);
- CreatePickups[playerid] = 1;
- }
- else if(Started[playerid] == 2)
- {
- new string[50];
- Started[playerid] = 1;
- TextDrawShowForPlayer(playerid, Textdraw[0]);
- TextDrawShowForPlayer(playerid, Textdraw[1]);
- TextDrawShowForPlayer(playerid, Textdraw[2]);
- TextDrawShowForPlayer(playerid, Textdraw[4]);
- TextDrawShowForPlayer(playerid, Textdraw[5]);
- TextDrawShowForPlayer(playerid, Textdraw[6]);
- TextDrawShowForPlayer(playerid, Textdraw[7]);
- TextDrawShowForPlayer(playerid, Textdraw[8]);
- SelectTextDraw(playerid, 0xFFFFFFFF);
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, -1, "{FF0000}[h-Pickups]: {FFFFFF}Now, you can edit the script.");
- format(string, sizeof(string), "Pauzed");
- TextDrawSetString(Textdraw[3], string);
- TextDrawColor(Textdraw[3], -16776961);
- TextDrawShowForPlayer(playerid, Textdraw[3]);
- CreatePickups[playerid] = 0;
- }
- }
- if(newkeys & KEY_FIRE)
- {
- if(CreatePickups[playerid] == 1)
- {
- new Float:X, Float:Y, Float:Z, string[144], file[50];
- GetPlayerPos(playerid, X, Y, Z);
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- format(string, sizeof(string), "{FF0000}[h-Pickups]: {FFFFFF}Pickup: {FF0000}%d {FFFFFF}created.", pickid);
- SendClientMessage(playerid, -1, string);
- #if SAVING_SYSTEM == 1
- PickupInfo[pickid][pID] = ID;
- PickupInfo[pickid][pType] = Type;
- PickupInfo[pickid][pWorld] = 0;
- PickupInfo[pickid][pX] = X;
- PickupInfo[pickid][pY] = Y;
- PickupInfo[pickid][pZ] = Z;
- PickupInfo[pickid][pPickup] = CreatePickup(PickupInfo[pickid][pID], PickupInfo[pickid][pType], X, Y, Z, 0);
- format(file, sizeof(file), "Pickups/%d.ini", pickid);
- if(!fexist(file))
- {
- dini_Create(file);
- dini_IntSet(file, "Pickup ID", PickupInfo[pickid][pID]);
- dini_IntSet(file, "Pickup Type", PickupInfo[pickid][pType]);
- dini_IntSet(file, "Pickup World", PickupInfo[pickid][pWorld]);
- dini_FloatSet(file, "Pickup X", PickupInfo[pickid][pX]);
- dini_FloatSet(file, "Pickup Y", PickupInfo[pickid][pY]);
- dini_FloatSet(file, "Pickup Z", PickupInfo[pickid][pZ]);
- }
- pickid++;
- #endif
- #if SAVING_SYSTEM == 2
- new pick[144];
- new File:filee = fopen("pickups.txt", io_append);
- format(pick, sizeof(pick), "CreatePickup(%i, %i, %f, %f, %f, 0);\r\n", PickupInfo[pickid][pID], PickupInfo[pickid][pType], X, Y, Z);
- fwrite(filee, pick);
- fclose(filee);
- #endif
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1500)
- {
- if(response)
- {
- new string[5], mess[100];
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1500, DIALOG_STYLE_INPUT, "Pickup ID", "{FFFFFF}Please, input below the new pickup's ID:\n\n{FF0000}WARNING: {FFFFFF}Write something in box.", "Continue", "Exit");
- ID = strval(inputtext);
- format(string, sizeof(string), "%d", ID);
- TextDrawSetString(Textdraw[5], string);
- TextDrawShowForPlayer(playerid, Textdraw[5]);
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- format(mess, sizeof(mess), "{FF0000}[h-Pickups]: {FFFFFF}New pickup's ID it's: {FF0000}%d{FFFFFF}.", ID);
- SendClientMessage(playerid, -1, mess);
- }
- }
- if(dialogid == 1501)
- {
- if(response)
- {
- new string[5], mess[100];
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1501, DIALOG_STYLE_INPUT, "Pickup ID", "{FFFFFF}Please, input below the new pickup's type:\n\n{FF0000}WARNING: {FFFFFF}Most used types are between {FF0000}1 & 3{FFFFFF}.", "Continue", "Exit");
- Type = strval(inputtext);
- format(string, sizeof(string), "%d", Type);
- TextDrawSetString(Textdraw[7], string);
- TextDrawShowForPlayer(playerid, Textdraw[7]);
- for(new i = 0; i < 16; i++) SendClientMessage(playerid, -1, " ");
- format(mess, sizeof(mess), "{FF0000}[h-Pickups]: {FFFFFF}New pickup's type it's: {FF0000}%d{FFFFFF}.", Type);
- SendClientMessage(playerid, -1, mess);
- }
- }
- if(dialogid == 1502)
- {
- if(response)
- {
- new file[50], string[100];
- removeid = strval(inputtext);
- format(file, sizeof(file), "Pickups/%d.ini", removeid);
- if(!fexist(file))
- {
- SendClientMessage(playerid, -1, "{FF0000}ERROR: {FFFFFF}This pickup's ID doesn't exist in data-base.");
- }
- else
- {
- DestroyPickup(PickupInfo[removeid][pPickup]);
- PickupInfo[removeid][pID] = -1;
- PickupInfo[removeid][pType] = -1;
- PickupInfo[removeid][pWorld] = -999999999;
- PickupInfo[removeid][pX] = 0;
- PickupInfo[removeid][pY] = 0;
- PickupInfo[removeid][pZ] = 0;
- dini_Remove(file);
- format(string, sizeof(string), "{FF0000}[h-Pickups]: {FFFFFF}Pickup {FF0000}%d {FFFFFF}has been removed.", removeid);
- SendClientMessage(playerid, -1, string);
- }
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- Textdraw[0] = TextDrawCreate(639.599975, 431.579986, "usebox");
- TextDrawLetterSize(Textdraw[0], 0.000000, 1.591482);
- TextDrawTextSize(Textdraw[0], -3.599999, 0.000000);
- TextDrawAlignment(Textdraw[0], 1);
- TextDrawColor(Textdraw[0], 0);
- TextDrawUseBox(Textdraw[0], true);
- TextDrawBoxColor(Textdraw[0], 255);
- TextDrawSetShadow(Textdraw[0], 0);
- TextDrawSetOutline(Textdraw[0], 0);
- TextDrawFont(Textdraw[0], 0);
- //--------------------------------------------------------------------------
- Textdraw[1] = TextDrawCreate(646.799865, 431.579986, "usebox");
- TextDrawLetterSize(Textdraw[1], 0.000000, 1.508518);
- TextDrawTextSize(Textdraw[1], 625.199890, 0.000000);
- TextDrawAlignment(Textdraw[1], 1);
- TextDrawColor(Textdraw[1], 0);
- TextDrawUseBox(Textdraw[1], true);
- TextDrawBoxColor(Textdraw[1], 255);
- TextDrawSetShadow(Textdraw[1], 0);
- TextDrawSetOutline(Textdraw[1], 0);
- TextDrawFont(Textdraw[1], 0);
- //--------------------------------------------------------------------------
- Textdraw[2] = TextDrawCreate(1.600022, 430.826751, "Creator:");
- TextDrawLetterSize(Textdraw[2], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[2], 1);
- TextDrawColor(Textdraw[2], -1);
- TextDrawSetShadow(Textdraw[2], 0);
- TextDrawSetOutline(Textdraw[2], 1);
- TextDrawBackgroundColor(Textdraw[2], 51);
- TextDrawFont(Textdraw[2], 2);
- TextDrawSetProportional(Textdraw[2], 1);
- //--------------------------------------------------------------------------
- Textdraw[3] = TextDrawCreate(97.599983, 430.826721, "Pauzed");
- TextDrawLetterSize(Textdraw[3], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[3], 1);
- TextDrawColor(Textdraw[3], -16776961);
- TextDrawSetShadow(Textdraw[3], 0);
- TextDrawSetOutline(Textdraw[3], 1);
- TextDrawBackgroundColor(Textdraw[3], 51);
- TextDrawFont(Textdraw[3], 2);
- TextDrawSetProportional(Textdraw[3], 1);
- //--------------------------------------------------------------------------
- Textdraw[4] = TextDrawCreate(205.599945, 430.080078, "Pickup ID:");
- TextDrawLetterSize(Textdraw[4], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[4], 1);
- TextDrawColor(Textdraw[4], -1);
- TextDrawSetShadow(Textdraw[4], 0);
- TextDrawSetOutline(Textdraw[4], 1);
- TextDrawBackgroundColor(Textdraw[4], 51);
- TextDrawFont(Textdraw[4], 2);
- TextDrawSetProportional(Textdraw[4], 1);
- TextDrawSetSelectable(Textdraw[4], true);
- //--------------------------------------------------------------------------
- Textdraw[5] = TextDrawCreate(305.600036, 430.080078, "1239");
- TextDrawLetterSize(Textdraw[5], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[5], 1);
- TextDrawColor(Textdraw[5], -5963521);
- TextDrawSetShadow(Textdraw[5], 0);
- TextDrawSetOutline(Textdraw[5], 1);
- TextDrawBackgroundColor(Textdraw[5], 51);
- TextDrawFont(Textdraw[5], 2);
- TextDrawSetProportional(Textdraw[5], 1);
- //--------------------------------------------------------------------------
- Textdraw[6] = TextDrawCreate(384.000000, 430.080047, "Type:");
- TextDrawLetterSize(Textdraw[6], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[6], 1);
- TextDrawColor(Textdraw[6], -1);
- TextDrawSetShadow(Textdraw[6], 0);
- TextDrawSetOutline(Textdraw[6], 1);
- TextDrawBackgroundColor(Textdraw[6], 51);
- TextDrawFont(Textdraw[6], 2);
- TextDrawSetProportional(Textdraw[6], 1);
- TextDrawSetSelectable(Textdraw[6], true);
- //--------------------------------------------------------------------------
- Textdraw[7] = TextDrawCreate(442.400024, 430.080108, "1");
- TextDrawLetterSize(Textdraw[7], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[7], 1);
- TextDrawColor(Textdraw[7], -5963521);
- TextDrawSetShadow(Textdraw[7], 0);
- TextDrawSetOutline(Textdraw[7], 1);
- TextDrawBackgroundColor(Textdraw[7], 51);
- TextDrawFont(Textdraw[7], 2);
- TextDrawSetProportional(Textdraw[7], 1);
- //--------------------------------------------------------------------------
- Textdraw[8] = TextDrawCreate(491.199890, 428.586669, "Delete");
- TextDrawLetterSize(Textdraw[8], 0.417999, 1.988267);
- TextDrawAlignment(Textdraw[8], 1);
- TextDrawColor(Textdraw[8], -16776961);
- TextDrawSetShadow(Textdraw[8], 0);
- TextDrawSetOutline(Textdraw[8], 1);
- TextDrawBackgroundColor(Textdraw[8], 51);
- TextDrawFont(Textdraw[8], 2);
- TextDrawSetProportional(Textdraw[8], 1);
- TextDrawSetSelectable(Textdraw[8], true);
- //--------------------------------------------------------------------------
- Textdraw[9] = TextDrawCreate(588.799743, 430.826660, "1000");
- TextDrawLetterSize(Textdraw[9], 0.449999, 1.600000);
- TextDrawAlignment(Textdraw[9], 1);
- TextDrawColor(Textdraw[9], 16711935);
- TextDrawSetShadow(Textdraw[9], 0);
- TextDrawSetOutline(Textdraw[9], 1);
- TextDrawBackgroundColor(Textdraw[9], 51);
- TextDrawFont(Textdraw[9], 2);
- TextDrawSetProportional(Textdraw[9], 1);
- //--------------------------------------------------------------------------
- ID = 1239;
- Type = 1;
- //--------------------------------------------------------------------------
- LoadPickups();
- return 1;
- }
- //------------------------------------------------------------------------------
- stock LoadPickups()
- {
- new file[50];
- for(new i = 0; i < MAX_PICK; i++)
- {
- format(file, sizeof(file), "Pickups/%d.ini", i);
- if(fexist(file))
- {
- PickupInfo[i][pID] = dini_Int(file, "Pickup ID");
- PickupInfo[i][pType] = dini_Int(file, "Pickup Type");
- PickupInfo[i][pX] = dini_Float(file, "Pickup X");
- PickupInfo[i][pY] = dini_Float(file, "Pickup Y");
- PickupInfo[i][pZ] = dini_Float(file, "Pickup Z");
- PickupInfo[i][pPickup] = CreatePickup(PickupInfo[i][pID], PickupInfo[i][pType], PickupInfo[i][pX], PickupInfo[i][pY], PickupInfo[i][pZ], 0);
- pickid++;
- }
- }
- printf("LOADED PICKUPS: %d", pickid);
- return 1;
- }
- //------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement