Advertisement
Guest User

Dialog Erweiterung (c) by Kaliber

a guest
Nov 16th, 2013
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. /* SA-MP Include Dialog Erweiterung
  2.  *
  3.  * (c) by Kaliber, 2013
  4.  *
  5.  * Version 1.0
  6.  */
  7. #if !defined _samp_included
  8.     #include <a_samp>
  9. #endif
  10. #if defined _dialogs
  11.     #endinput
  12. #endif
  13. #define _dialogs 1
  14. #if !defined MAX_DIALOG_ROWS
  15.     #define MAX_DIALOG_ROWS 100
  16. #endif
  17. new DIALOG_INFORMATION_STRING[MAX_DIALOG_ROWS][32];
  18. forward Hooked_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[],info[][]);
  19. native Hooked__ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])=ShowPlayerDialog;
  20.  
  21. stock Hooked_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]) {
  22.     Include_split(info, DIALOG_INFORMATION_STRING, "\n");
  23.     return Hooked__ShowPlayerDialog(playerid,dialogid,style,caption,info,button1,button2);
  24. }
  25. #if defined _ALS_ShowPlayerDialog
  26.         #undef ShowPlayerDialog
  27. #else
  28.         #define _ALS_ShowPlayerDialog
  29. #endif
  30. #define ShowPlayerDialog Hooked_ShowPlayerDialog
  31.  
  32. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  33.     Hooked_OnDialogResponse(playerid,dialogid,response,listitem,inputtext,DIALOG_INFORMATION_STRING);
  34.     return 1;
  35. }
  36. #if defined _ALS_OnDialogResponse
  37.         #undef OnDialogResponse
  38. #else
  39.         #define _ALS_OnDialogResponse
  40. #endif
  41. #define OnDialogResponse Hooked_OnDialogResponse
  42. //(c) by Kaliber
  43. stock Include_split(const src[], dest[][], delimiter[]) {
  44.     new pos = strfind(src,delimiter),n_pos,num,bool:end;
  45.     for(;;) {
  46.         if(!num) strmid(dest[num], src, 0, pos, 128),num++;
  47.         else strmid(dest[num], src, n_pos+1, pos, 128),num++;
  48.         n_pos = strfind(src,delimiter,false,pos+1);
  49.         if(n_pos == -1) n_pos = strlen(src),end=true;
  50.         strmid(dest[num], src, pos+1, n_pos, 128),num++;
  51.         pos = strfind(src,delimiter,false,n_pos+1);
  52.         if(end) break;
  53.     }
  54.     return 1;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement