Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Dodajte ove definicije na početak koda
- #define MAX_PLAYER_ATTACHED_OBJECTS 10
- #define BOJA_ZELENA 0x00FF0050
- // Ja sam koristio YCMD vi prilagodite sebi tako i objekte :D
- // Dodajte ove varijable
- new AttachmentObjects[][] = {
- {18632, "Kovčeg"},
- {18633, "Torba"},
- {18634, "Novac"},
- {18635, "Srce"},
- {18636, "Pilula"},
- {18637, "Nož"},
- {18638, "Pištolj"},
- {18639, "Shotgun"},
- {18640, "Sprej"},
- {18641, "Foto aparat"},
- {18642, "Dildo"},
- {18643, "Mobilni"},
- {18644, "Sat"},
- {19006, "Policijska značka"},
- {19200, "Gitara"},
- {19348, "Pizza"},
- {19349, "Hamburger"},
- {19350, "Hot Dog"},
- {19351, "Sladoled"},
- {19352, "Pivo"}
- };
- // Dialozi
- enum {
- DIALOG_ATTACH,
- DIALOG_ATTACH_INDEX,
- DIALOG_ATTACH_EDIT,
- DIALOG_ATTACH_REMOVE,
- }
- // Komanda za attachment
- YCMD:attach(playerid, params[], help)
- {
- new string[128];
- strcat(string, "1. Dodaj novi objekat\n");
- strcat(string, "2. Uredi postojeći objekat\n");
- strcat(string, "3. Ukloni objekat\n");
- strcat(string, "4. Ukloni sve objekte");
- ShowPlayerDialog(playerid, DIALOG_ATTACH, DIALOG_STYLE_LIST,
- "Attachment Menu", string, "Izaberi", "Izlaz");
- return 1;
- }
- // Dodajte ovo u OnDialogResponse
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_ATTACH:
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0: // Dodaj novi
- {
- new string[1024];
- for(new i = 0; i < sizeof(AttachmentObjects); i++)
- {
- format(string, sizeof(string), "%s%s\n", string, AttachmentObjects[i][1]);
- }
- ShowPlayerDialog(playerid, DIALOG_ATTACH_INDEX, DIALOG_STYLE_LIST,
- "Izaberi Objekat", string, "Dodaj", "Nazad");
- }
- case 1: // Uredi postojeći
- {
- new string[512];
- for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, i))
- {
- format(string, sizeof(string), "%sSlot %d\n", string, i);
- }
- }
- if(strlen(string) < 1)
- {
- SendClientMessage(playerid, BOJA_CRVENA, "Nemate prikačenih objekata!");
- return ShowPlayerDialog(playerid, DIALOG_ATTACH, DIALOG_STYLE_LIST,
- "Attachment Menu", "1. Dodaj novi objekat\n2. Uredi postojeći objekat\n3. Ukloni objekat\n4. Ukloni sve objekte",
- "Izaberi", "Izlaz");
- }
- ShowPlayerDialog(playerid, DIALOG_ATTACH_EDIT, DIALOG_STYLE_LIST,
- "Izaberi Slot", string, "Uredi", "Nazad");
- }
- case 2: // Ukloni
- {
- new string[512];
- for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, i))
- {
- format(string, sizeof(string), "%sSlot %d\n", string, i);
- }
- }
- if(strlen(string) < 1)
- {
- SendClientMessage(playerid, BOJA_CRVENA, "Nemate prikačenih objekata!");
- return ShowPlayerDialog(playerid, DIALOG_ATTACH, DIALOG_STYLE_LIST,
- "Attachment Menu", "1. Dodaj novi objekat\n2. Uredi postojeći objekat\n3. Ukloni objekat\n4. Ukloni sve objekte",
- "Izaberi", "Izlaz");
- }
- ShowPlayerDialog(playerid, DIALOG_ATTACH_REMOVE, DIALOG_STYLE_LIST,
- "Izaberi Slot za Uklanjanje", string, "Ukloni", "Nazad");
- }
- case 3: // Ukloni sve
- {
- for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, i))
- {
- RemovePlayerAttachedObject(playerid, i);
- }
- }
- SendClientMessage(playerid, BOJA_ZELENA, "* Uklonjeni su svi prikačeni objekti.");
- }
- }
- }
- case DIALOG_ATTACH_INDEX:
- {
- if(!response)
- return cmd_attach(playerid, "");
- new slot = -1;
- for(new i = 0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
- {
- if(!IsPlayerAttachedObjectSlotUsed(playerid, i))
- {
- slot = i;
- break;
- }
- }
- if(slot == -1)
- return SendClientMessage(playerid, BOJA_CRVENA, "Nemate slobodnih slotova za objekte!");
- SetPlayerAttachedObject(playerid, slot, AttachmentObjects[listitem][0], 1,
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
- EditAttachedObject(playerid, slot);
- new string[128];
- format(string, sizeof(string), "* Prikačili ste objekat: %s (Slot: %d)",
- AttachmentObjects[listitem][1], slot);
- SendClientMessage(playerid, BOJA_ZELENA, string);
- }
- case DIALOG_ATTACH_EDIT:
- {
- if(!response)
- return cmd_attach(playerid, "");
- EditAttachedObject(playerid, listitem);
- }
- case DIALOG_ATTACH_REMOVE:
- {
- if(!response)
- return cmd_attach(playerid, "");
- RemovePlayerAttachedObject(playerid, listitem);
- SendClientMessage(playerid, BOJA_ZELENA, "* Uspješno ste uklonili objekat.");
- }
- }
- return 1;
- }
- // Dodajte ovo za spremanje pozicije nakon editovanja
- public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid,Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,Float:fRotX, Float:fRotY, Float:fRotZ,Float:fScaleX, Float:fScaleY, Float:fScaleZ)
- {
- if(response)
- {
- SetPlayerAttachedObject(playerid, index, modelid, boneid,fOffsetX, fOffsetY, fOffsetZ,fRotX, fRotY, fRotZ,fScaleX, fScaleY, fScaleZ);
- SendClientMessage(playerid, BOJA_ZELENA, "* Uspješno ste podesili poziciju objekta.");
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment