Guest User

Accents.pwn - Ahmed45123 Script

a guest
Dec 21st, 2014
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.90 KB | None | 0 0
  1. //Vars :
  2. #define MAX_ACCENTS 30
  3. #define MAX_ACCENT_NAME 24
  4. enum accenta
  5. {
  6.     IsUsed,
  7.     aText[MAX_ACCENT_NAME]
  8. }
  9. new PlayerAccents[MAX_ACCENTS][accenta];
  10.  
  11. //Stocks :
  12. stock SaveAccents()
  13. {
  14.     new idx = 0;
  15.     NoReturnQuery(ServerDynamics, "DELETE FROM `Accents`"); //Deleting everything....
  16.     while(idx < MAX_ACCENTS)
  17.     {
  18.         if(PlayerAccents[idx][IsUsed] == 1)
  19.         {
  20.             NoReturnQuery(ServerDynamics, "INSERT INTO `Accents` (`aText`) VALUES('%s')", PlayerAccents[idx][aText]);
  21.         }
  22.         idx++;
  23.     }
  24.     print("Accents saved successfully.");
  25. }
  26.  
  27. stock LoadAccents()
  28. {
  29.     new DBResult:Result = ReturnQuery(ServerDynamics, "SELECT * from `Accents`");
  30.     new count = db_num_rows(Result);
  31.     new idx;
  32.     while(count > 0)
  33.     {
  34.         if(idx >= MAX_ACCENTS)
  35.         {
  36.             break;
  37.         }
  38.         db_get_field_assoc(Result, "aText", PlayerAccents[idx][aText], MAX_ACCENT_NAME);
  39.         PlayerAccents[idx][IsUsed] = 1;
  40.         db_next_row(Result);
  41.         idx++;
  42.         count--;
  43.     }
  44.     db_free_result(Result);
  45.     print("Accents loaded successfully.");
  46.     return 1;
  47. }
  48.  
  49. //Callbacks :
  50. hook OnPlayerText(playerid, text[])
  51. {
  52.     new SentText[1024];
  53.     format(SentText, sizeof(SentText), "[%s Accent] %s says : %s", PlayerAccents[PlayerInfo[playerid][pAccent]][aText], RPN(playerid), text);
  54.     SendNearbyMessage(playerid, 10, SentText, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
  55.     return 0;
  56. }
  57.  
  58. hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  59. {
  60.     if(dialogid == DIALOG_CHOOSEACCENT)
  61.     {
  62.         if(!response) return 1;
  63.         PlayerInfo[playerid][pAccent] = listitem;
  64.         SendClientMessageEx(playerid, COLOR_WHITE, "You have choosen accent {00FF00}%s.", PlayerAccents[PlayerInfo[playerid][pAccent]][aText]);
  65.     }
  66.     return 1;
  67. }
  68.  
  69. //Player Commands :
  70. CMD:accent(playerid, params[])
  71. {
  72.     new chosen;
  73.     if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
  74.     if(sscanf(params, "d", chosen))
  75.     {
  76.         SendClientMessage(playerid, COLOR_WHITE, "USAGE: /accent [id]");
  77.         new MSG[1024];
  78.         for(new a; a < MAX_ACCENTS; a++)
  79.         {
  80.             if(PlayerAccents[a][IsUsed] == 1)
  81.             {
  82.                 new str[MAX_ACCENT_NAME + 2];
  83.                 format(str, sizeof(str), "%d) %s\n", a, PlayerAccents[a][aText]);
  84.                 strcat(MSG, str);
  85.             }
  86.         }
  87.         ShowPlayerDialog(playerid, DIALOG_CHOOSEACCENT, DIALOG_STYLE_LIST, "Choose Accent : ", MSG, "Choose", "Cancel");
  88.         return 1;
  89.     }
  90.     PlayerInfo[playerid][pAccent] = chosen;
  91.     SendClientMessageEx(playerid, COLOR_WHITE, "You have choosen accent {00FF00}%s.", PlayerAccents[PlayerInfo[playerid][pAccent]][aText]);
  92.     return 1;
  93. }
  94.  
  95. //Admin Commands :
  96. CMD:addaccent(playerid, params[])
  97. {
  98.     new AccentName[MAX_ACCENT_NAME];
  99.     if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
  100.     if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
  101.     if(sscanf(params, "s[24]", AccentName)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /addaccent [Accent Name]");
  102.     for(new a; a < MAX_ACCENTS; a++)
  103.     {
  104.         if(PlayerAccents[a][IsUsed] == 0)
  105.         {
  106.             PlayerAccents[a][IsUsed] = 1;
  107.             format(PlayerAccents[a][aText], MAX_ACCENT_NAME, "%s", AccentName);
  108.             SendClientMessageEx(playerid, COLOR_WHITE, "Accent {00FF00}%s{FFFFFF} has been successfully added as ID {00FF00}%d", AccentName, a);
  109.             break;
  110.         }
  111.     }
  112.     return 1;
  113. }
  114.  
  115. CMD:listaccents(playerid, params[])
  116. {
  117.     if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
  118.     if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
  119.     SendClientMessage(playerid, COLOR_WHITE, " ************************    Listing Accents :    ************************ ");
  120.     for(new a; a < MAX_ACCENTS; a++)
  121.     {
  122.         if(PlayerAccents[a][IsUsed] == 1)
  123.         {
  124.             SendClientMessageEx(playerid, COLOR_SKY, "Accents : (ID : {0000FF}%d{00FFFF} | Name : {0000FF}%s{00FFFF})", a, PlayerAccents[a][aText]);
  125.         }
  126.     }
  127.     SendClientMessage(playerid, COLOR_WHITE, " ************************************************************************* ");
  128.     return 1;
  129. }
  130.  
  131. CMD:deleteaccent(playerid, params[])
  132. {
  133.     new id;
  134.     if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
  135.     if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
  136.     if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deleteaccent [Accent ID]");
  137.     if(PlayerAccents[id][IsUsed] == 0) return SendClientMessage(playerid, COLOR_GREY, "The entered ID isn't used.");
  138.     PlayerAccents[id][IsUsed] = 0;
  139.     SendClientMessageEx(playerid, COLOR_WHITE, "Accent ID {0000FF}%d{FFFFFF} successfully deleted !", id);
  140.     return 1;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment