| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- public OnFilterScriptInit() {
- for(new pickupid; pickupid < MAX_PICKUPS; pickupid ++) {
- DestroyPickup(pickupid);
- }
- #if defined pick_OnFilterScriptInit
- pick_OnFilterScriptInit();
- #endif
- }
- #if defined _ALS_OnFilterScriptInit
- #undef OnFilterScriptInit
- #else
- #define _ALS_OnFilterScriptInit
- #endif
- #define OnFilterScriptInit pick_OnFilterScriptInit
- #if defined pick_OnFilterScriptInit
- forward pick_OnFilterScriptInit();
- #endif
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ) {
- new pickupid = GetPlayerEditPickup(playerid);
- if(
- playerobject &&
- objectid == g_PlayerData[playerid][PLAYER_DATA_CLICKDRAG_POID] &&
- IsValidPickup(pickupid)
- ) {
- switch(response) {
- case EDIT_RESPONSE_FINAL: {
- g_PickupData[pickupid][PICKUP_DATA_X] = fX;
- g_PickupData[pickupid][PICKUP_DATA_Y] = fY;
- g_PickupData[pickupid][PICKUP_DATA_Z] = fZ;
- if( RecreatePickup(pickupid) == INVALID_PICKUP_ID) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup could not be moved / re-created");
- }
- DestroyClickDragObject(playerid);
- ShowPickupDialog(playerid, DIALOGID_PICKUP_MAIN);
- }
- case EDIT_RESPONSE_CANCEL: {
- g_PickupData[pickupid][PICKUP_DATA_X] = g_PickupData[pickupid][PICKUP_DATA_MEMORY_X];
- g_PickupData[pickupid][PICKUP_DATA_Y] = g_PickupData[pickupid][PICKUP_DATA_MEMORY_Y];
- g_PickupData[pickupid][PICKUP_DATA_Z] = g_PickupData[pickupid][PICKUP_DATA_MEMORY_Z];
- if( RecreatePickup(pickupid) == INVALID_PICKUP_ID) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup could not be moved / re-created");
- }
- }
- case EDIT_RESPONSE_UPDATE: {
- g_PickupData[pickupid][PICKUP_DATA_X] = fX;
- g_PickupData[pickupid][PICKUP_DATA_Y] = fY;
- g_PickupData[pickupid][PICKUP_DATA_Z] = fZ;
- RecreatePickup(pickupid);
- }
- }
- }
- #if defined pick_OnPlayerEditObject
- return pick_OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ);
- #else
- return 0;
- #endif
- }
- #if defined _ALS_OnPlayerEditObject
- #undef OnPlayerEditObject
- #else
- #define _ALS_OnPlayerEditObject
- #endif
- #define OnPlayerEditObject pick_OnPlayerEditObject
- #if defined pick_OnPlayerEditObject
- forward pick_OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ);
- #endif
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- switch(dialogid) {
- case DIALOGID_PICKUP_MAIN: {
- new pickupid = GetPlayerEditPickup(playerid);
- if( pickupid == INVALID_PICKUP_ID || !g_PickupData[pickupid][PICKUP_DATA_ISVALID] ) {
- return g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_NONE, 1;
- }
- if( !response ) {
- return 1;
- }
- switch(listitem) {
- case LISTITEM_PICKUP_GOTO: {
- new
- Float:x = g_PickupData[pickupid][PICKUP_DATA_X],
- Float:y = g_PickupData[pickupid][PICKUP_DATA_Y],
- Float:z = g_PickupData[pickupid][PICKUP_DATA_Z]
- ;
- if( g_CamModeData[playerid][CAMMODE_DATA_TOGGLE] ) {
- StopPlayerObject(playerid, g_CamModeData[playerid][CAMMODE_DATA_POID]);
- SetPlayerObjectPos(playerid, g_CamModeData[playerid][CAMMODE_DATA_POID], x, y, z);
- } else {
- SetPlayerPos(playerid, x, y, z);
- }
- }
- case LISTITEM_PICKUP_GET: {
- GetPlayerPos(playerid, g_PickupData[pickupid][PICKUP_DATA_X], g_PickupData[pickupid][PICKUP_DATA_Y], g_PickupData[pickupid][PICKUP_DATA_Z]);
- new new_pickupid = RecreatePickup(pickupid);
- if( new_pickupid == INVALID_PICKUP_ID) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup could not be moved / re-created");
- }
- }
- case LISTITEM_PICKUP_COORD: {
- return ShowPickupDialog(playerid, DIALOGID_PICKUP_COORD), 1;
- }
- case LISTITEM_PICKUP_MOVE: {
- new objectid = RefreshClickDragObject(playerid);
- if(objectid == INVALID_OBJECT_ID) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup cannot be moved right now!");
- } else {
- g_PickupData[pickupid][PICKUP_DATA_MEMORY_X] = g_PickupData[pickupid][PICKUP_DATA_X];
- g_PickupData[pickupid][PICKUP_DATA_MEMORY_Y] = g_PickupData[pickupid][PICKUP_DATA_Y];
- g_PickupData[pickupid][PICKUP_DATA_MEMORY_Z] = g_PickupData[pickupid][PICKUP_DATA_Z];
- EditPlayerObject(playerid, objectid);
- SendClientMessage(playerid, RGBA_ORANGE, "Click & Drag Edit: {FFFFFF}Hold ~k~~PED_SPRINT~ to look around and press ESC to cancel.");
- return 1;
- }
- }
- case LISTITEM_PICKUP_REMOVE: {
- DestroyPickup(pickupid);
- return 1;
- }
- case LISTITEM_PICKUP_DUPLICATE: {
- new new_pickupid = CopyPickup(pickupid);
- if( new_pickupid == INVALID_PICKUP_ID ) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup could not be duplicated!");
- } else {
- g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_PICKUP;
- g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = new_pickupid;
- }
- }
- case LISTITEM_PICKUP_COMMENT: {
- return ShowPickupDialog(playerid, DIALOGID_PICKUP_COMMENT), 1;
- }
- case LISTITEM_PICKUP_COMMENT_RESET: {
- GetModelName(g_PickupData[pickupid][PICKUP_DATA_MODEL], g_CommentString, sizeof g_CommentString);
- strpack(g_PickupData[pickupid][PICKUP_DATA_COMMENT], g_CommentString, MAX_COMMENT_LEN+1); // Set Pickup Comment
- }
- }
- return ShowPickupDialog(playerid, dialogid), 1;
- }
- case DIALOGID_PICKUP_COORD: {
- new pickupid = GetPlayerEditPickup(playerid);
- if( pickupid == INVALID_PICKUP_ID || !g_PickupData[pickupid][PICKUP_DATA_ISVALID] ) {
- return g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_NONE, 1;
- }
- if(!response) {
- return ShowPickupDialog(playerid, DIALOGID_PICKUP_MAIN), 1;
- }
- new cmd[10], Float:value;
- if(sscanf(inputtext, "s[10]f", cmd, value)) {
- return ShowPickupDialog(playerid, dialogid), 1;
- }
- if(!strcmp(cmd, "x", true)) {
- g_PickupData[pickupid][PICKUP_DATA_X] = value;
- } else if(!strcmp(cmd, "y", true)) {
- g_PickupData[pickupid][PICKUP_DATA_Y] = value;
- } else if(!strcmp(cmd, "z", true)) {
- g_PickupData[pickupid][PICKUP_DATA_Z] = value;
- } else {
- return ShowPickupDialog(playerid, dialogid), 1;
- }
- new new_pickupid = RecreatePickup(pickupid);
- if( new_pickupid == INVALID_PICKUP_ID) {
- SendClientMessage(playerid, RGBA_RED, "ERROR: This pickup could not be moved / re-created");
- }
- return ShowPickupDialog(playerid, dialogid), 1;
- }
- case DIALOGID_PICKUP_COMMENT: {
- new pickupid = GetPlayerEditPickup(playerid);
- if( pickupid == INVALID_PICKUP_ID || !g_PickupData[pickupid][PICKUP_DATA_ISVALID] ) {
- return g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_NONE, 1;
- }
- if(!response) {
- ShowPickupDialog(playerid, DIALOGID_PICKUP_MAIN);
- } else {
- strpack(g_PickupData[pickupid][PICKUP_DATA_COMMENT], inputtext, MAX_COMMENT_LEN+1); // Set Comment
- ShowPickupDialog(playerid, dialogid);
- }
- return 1;
- }
- }
- #if defined pick_OnDialogResponse
- return pick_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
- #else
- return 0;
- #endif
- }
- #if defined _ALS_OnDialogResponse
- #undef OnDialogResponse
- #else
- #define _ALS_OnDialogResponse
- #endif
- #define OnDialogResponse pick_OnDialogResponse
- #if defined pick_OnDialogResponse
- forward pick_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
- #endif
|