SwiZzoR

מערכת לוח הודעות דינאמית

Jul 20th, 2014
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.97 KB | None | 0 0
  1. #include a_samp
  2. #include YSI\y_ini
  3. #include YSI\y_commands
  4.  
  5. #define DIALOG_BBoard 100
  6. #define DIALOG_Edit1 101
  7. #define DIALOG_Edit2 102
  8. #define DIALOG_Edit3 103
  9. #define DIALOG_Color 104
  10.  
  11. #define SendClientFormatMessage(%0,%1,%2,%3) format(g_str,128,%2,%3),SendClientMessage(%0,%1,g_str)
  12. #define SendClientFormatMessageToAll(%0,%1,%2) format(g_str,128,%1,%2),SendClientMessageToAll(%0,g_str)
  13.  
  14. new Message[3][80], Color[7], g_str[128], timer;
  15.  
  16. public OnFilterScriptInit()
  17. {
  18.     timer = SetTimer("ShowBBard", 1000*60*5, true);
  19.     if(fexist("BBoard.ini")) INI_ParseFile("BBoard.ini", "Load_BBoard");
  20. }
  21.  
  22. public OnFilterScriptExit()
  23. {
  24.     KillTimer(timer);
  25.     new INI: file = INI_Open("BBoard.ini");
  26.     for(new i; i < 3; i++)
  27.     {
  28.         format(g_str, 20, "Message[%d]",i);
  29.         INI_WriteString(file, g_str, Message[i]);
  30.     }
  31.     INI_WriteString(file, "Color", Color);
  32.     return 1;
  33. }
  34.  
  35.  
  36. CMD:BBoardEdit(playerid, params[])
  37. {
  38.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "רק אדמין יכול להשתמש בפקודה זו");
  39.     return ShowPlayerDialog(playerid, DIALOG_BBoard, DIALOG_STYLE_LIST, "הגדרת לוח מודעות", "הצג את הלוח\nעריכת הודעה מספר 1\nעריכת הודעה מספר 2\nעריכת הודעה מספר 3", "אישור", "ביטול");
  40. }
  41.  
  42. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  43. {
  44.     if(dialogid == DIALOG_BBoard && response)
  45.     {
  46.         switch(listitem)
  47.         {
  48.             case 0:ShowBBoard(playerid);
  49.             case 1:ShowPlayerDialog(playerid, DIALOG_Edit1, DIALOG_STYLE_INPUT, "שנה הודעה מספר 1", "הקש את ההודעה ההודעה בתיבת הטקסט שלמטה", "אישור", "ביטול");
  50.             case 2:ShowPlayerDialog(playerid, DIALOG_Edit2, DIALOG_STYLE_INPUT, "שנה הודעה מספר 2", "הקש את ההודעה ההודעה בתיבת הטקסט שלמטה", "אישור", "ביטול");
  51.             case 3:ShowPlayerDialog(playerid, DIALOG_Edit3, DIALOG_STYLE_INPUT, "שנה הודעה מספר 3", "הקש את ההודעה ההודעה בתיבת הטקסט שלמטה", "אישור", "ביטול");
  52.             case 4:ShowPlayerDialog(playerid, DIALOG_Color, DIALOG_STYLE_INPUT, "שנה צבע הודעות", "הקש את צבע ההודעות שאתה רוצה\nשים לב שזה אמור להיות עד 6 ספרות ובצורת HTML", "אישור", "ביטול");
  53.         }
  54.     }
  55.     if(dialogid == DIALOG_Edit1) SendClientMessage(playerid, -1, "שינית בהצלחה את הודעה מספר 1"), Message[0][0] = '\n', strpack(Message[0],inputtext);
  56.     if(dialogid == DIALOG_Edit2) SendClientMessage(playerid, -1, "שינית בהצלחה את הודעה מספר 1"), Message[1][0] = '\n', strpack(Message[1],inputtext);
  57.     if(dialogid == DIALOG_Edit3) SendClientMessage(playerid, -1, "שינית בהצלחה את הודעה מספר 1"), Message[2][0] = '\n', strpack(Message[2],inputtext);
  58.     if(dialogid == DIALOG_Color) SendClientMessage(playerid, -1, "שינית בהצלחה את הצבע"), Color[0] = '\n', strpack(Color,inputtext);
  59. }
  60.  
  61. stock ShowBBoard(playerid = 501)
  62. {
  63.     if(playerid != 501)
  64.     {
  65.         SendClientMessage(playerid, -1, "~~~ לוח מודעות ~~~");
  66.         SendClientFormatMessage(playerid, -1,"{%s}%s",Color,Message[0]);
  67.         SendClientFormatMessage(playerid, -1,"{%s}%s",Color,Message[1]);
  68.         SendClientFormatMessage(playerid, -1,"{%s}%s",Color,Message[2]);
  69.         SendClientMessage(playerid, -1, "~~~ לוח מודעות ~~~");
  70.     }
  71.     else if(playerid == 501)
  72.     {
  73.         SendClientMessageToAll(-1, "~~ לוח מודעות ~~");
  74.         SendClientFormatMessageToAll( -1,"{%s}%s",Color,Message[0]);
  75.         SendClientFormatMessageToAll(-1,"{%s}%s",Color,Message[1]);
  76.         SendClientFormatMessageToAll(-1,"{%s}%s",Color,Message[2]);
  77.         SendClientMessageToAll(-1, "~~ לוח מודעות ~~");
  78.     }
  79. }
  80.  
  81. forward Load_BBoard(name[], value[]);
  82. public Load_BBoard(name[], value[])
  83. {
  84.     for(new i;i<3;i++)
  85.     {
  86.         format(g_str, 20, "Message[%d]",i);
  87.         INI_String(g_str, Message[i], 128);
  88.     }
  89.     INI_String("Color", Color, 7);
  90.     return 1;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment