Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define MAX_DIALOGS_QUEUED 7
- #define MAX_CAPTION_SIZE 30
- #define MAX_INFO_SIZE 1024
- #define MAX_BUTTON_TEXT_SIZE 15
- enum dInfo
- {
- E_ID,
- E_STYLE,
- E_CAPTION[MAX_CAPTION_SIZE],
- E_INFO[MAX_INFO_SIZE],
- E_BUTTON1[MAX_BUTTON_TEXT_SIZE],
- E_BUTTON2[MAX_BUTTON_TEXT_SIZE],
- };
- new gDialogs[MAX_PLAYERS][MAX_DIALOGS_QUEUED][dInfo], gCurrentDialog[MAX_PLAYERS];
- stock QUEUE_ShowPlayerDialog(playerid, dialogid, style, caption[MAX_CAPTION_SIZE], info[MAX_INFO_SIZE], button1[MAX_BUTTON_TEXT_SIZE], button2[MAX_BUTTON_TEXT_SIZE])
- {
- for(new i = 0; i < MAX_DIALOGS_QUEUED; i++)
- {
- if(isnull(gDialogs[playerid][i][E_CAPTION]) && isnull(gDialogs[playerid][i][E_INFO]))
- {
- gDialogs[playerid][i][E_ID] = dialogid;
- gDialogs[playerid][i][E_STYLE] = style;
- strcat(gDialogs[playerid][i][E_CAPTION], caption);
- strcat(gDialogs[playerid][i][E_INFO], info);
- strcat(gDialogs[playerid][i][E_BUTTON1], button1);
- strcat(gDialogs[playerid][i][E_BUTTON2], button2);
- gCurrentDialog[playerid]++;
- return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(!response)
- {
- gCurrentDialog[playerid]--;
- ShowPlayerDialog(playerid, gDialogs[playerid][gCurrentDialog[playerid]][E_ID], gDialogs[playerid][gCurrentDialog[playerid]][E_STYLE], gDialogs[playerid][gCurrentDialog[playerid]][E_CAPTION], gDialogs[playerid][gCurrentDialog[playerid]][E_INFO], gDialogs[playerid][gCurrentDialog[playerid]][E_BUTTON1], gDialogs[playerid][gCurrentDialog[playerid]][E_BUTTON2]);
- gDialogs[playerid][gCurrentDialog[playerid]][E_ID] = -1;
- gDialogs[playerid][gCurrentDialog[playerid]][E_STYLE] = -1;
- gDialogs[playerid][gCurrentDialog[playerid]][E_CAPTION] = EOS;
- gDialogs[playerid][gCurrentDialog[playerid]][E_INFO] = EOS;
- gDialogs[playerid][gCurrentDialog[playerid]][E_BUTTON1] = EOS;
- gDialogs[playerid][gCurrentDialog[playerid]][E_BUTTON2] = EOS;
- return 1;
- }
- return 0;
- }
- #if defined _ALS_OnDialogResponse
- #undef OnDialogResponse
- #else
- #define _ALS_OnDialogResponse
- #endif
- #define OnDialogResponse QUEUE_OnDialogResponse
- #if defined QUEUE_OnDialogResponse
- forward QUEUE_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
- #endif
- #if defined _ALS_ShowPlayerDialog
- #undef ShowPlayerDialog
- #else
- #define _ALS_ShowPlayerDialog
- #endif
- #define ShowPlayerDialog QUEUE_ShowPlayerDialog
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement