Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Vars :
- #define MAX_ACCENTS 30
- #define MAX_ACCENT_NAME 24
- enum accenta
- {
- IsUsed,
- aText[MAX_ACCENT_NAME]
- }
- new PlayerAccents[MAX_ACCENTS][accenta];
- //Stocks :
- stock SaveAccents()
- {
- new idx = 0;
- NoReturnQuery(ServerDynamics, "DELETE FROM `Accents`"); //Deleting everything....
- while(idx < MAX_ACCENTS)
- {
- if(PlayerAccents[idx][IsUsed] == 1)
- {
- NoReturnQuery(ServerDynamics, "INSERT INTO `Accents` (`aText`) VALUES('%s')", PlayerAccents[idx][aText]);
- }
- idx++;
- }
- print("Accents saved successfully.");
- }
- stock LoadAccents()
- {
- new DBResult:Result = ReturnQuery(ServerDynamics, "SELECT * from `Accents`");
- new count = db_num_rows(Result);
- new idx;
- while(count > 0)
- {
- if(idx >= MAX_ACCENTS)
- {
- break;
- }
- db_get_field_assoc(Result, "aText", PlayerAccents[idx][aText], MAX_ACCENT_NAME);
- PlayerAccents[idx][IsUsed] = 1;
- db_next_row(Result);
- idx++;
- count--;
- }
- db_free_result(Result);
- print("Accents loaded successfully.");
- return 1;
- }
- //Callbacks :
- hook OnPlayerText(playerid, text[])
- {
- new SentText[1024];
- format(SentText, sizeof(SentText), "[%s Accent] %s says : %s", PlayerAccents[PlayerInfo[playerid][pAccent]][aText], RPN(playerid), text);
- SendNearbyMessage(playerid, 10, SentText, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
- return 0;
- }
- hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_CHOOSEACCENT)
- {
- if(!response) return 1;
- PlayerInfo[playerid][pAccent] = listitem;
- SendClientMessageEx(playerid, COLOR_WHITE, "You have choosen accent {00FF00}%s.", PlayerAccents[PlayerInfo[playerid][pAccent]][aText]);
- }
- return 1;
- }
- //Player Commands :
- CMD:accent(playerid, params[])
- {
- new chosen;
- if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
- if(sscanf(params, "d", chosen))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /accent [id]");
- new MSG[1024];
- for(new a; a < MAX_ACCENTS; a++)
- {
- if(PlayerAccents[a][IsUsed] == 1)
- {
- new str[MAX_ACCENT_NAME + 2];
- format(str, sizeof(str), "%d) %s\n", a, PlayerAccents[a][aText]);
- strcat(MSG, str);
- }
- }
- ShowPlayerDialog(playerid, DIALOG_CHOOSEACCENT, DIALOG_STYLE_LIST, "Choose Accent : ", MSG, "Choose", "Cancel");
- return 1;
- }
- PlayerInfo[playerid][pAccent] = chosen;
- SendClientMessageEx(playerid, COLOR_WHITE, "You have choosen accent {00FF00}%s.", PlayerAccents[PlayerInfo[playerid][pAccent]][aText]);
- return 1;
- }
- //Admin Commands :
- CMD:addaccent(playerid, params[])
- {
- new AccentName[MAX_ACCENT_NAME];
- if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
- if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
- if(sscanf(params, "s[24]", AccentName)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /addaccent [Accent Name]");
- for(new a; a < MAX_ACCENTS; a++)
- {
- if(PlayerAccents[a][IsUsed] == 0)
- {
- PlayerAccents[a][IsUsed] = 1;
- format(PlayerAccents[a][aText], MAX_ACCENT_NAME, "%s", AccentName);
- SendClientMessageEx(playerid, COLOR_WHITE, "Accent {00FF00}%s{FFFFFF} has been successfully added as ID {00FF00}%d", AccentName, a);
- break;
- }
- }
- return 1;
- }
- CMD:listaccents(playerid, params[])
- {
- if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
- if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
- SendClientMessage(playerid, COLOR_WHITE, " ************************ Listing Accents : ************************ ");
- for(new a; a < MAX_ACCENTS; a++)
- {
- if(PlayerAccents[a][IsUsed] == 1)
- {
- SendClientMessageEx(playerid, COLOR_SKY, "Accents : (ID : {0000FF}%d{00FFFF} | Name : {0000FF}%s{00FFFF})", a, PlayerAccents[a][aText]);
- }
- }
- SendClientMessage(playerid, COLOR_WHITE, " ************************************************************************* ");
- return 1;
- }
- CMD:deleteaccent(playerid, params[])
- {
- new id;
- if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You need to login first in order to use that command.");
- if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use that command.");
- if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deleteaccent [Accent ID]");
- if(PlayerAccents[id][IsUsed] == 0) return SendClientMessage(playerid, COLOR_GREY, "The entered ID isn't used.");
- PlayerAccents[id][IsUsed] = 0;
- SendClientMessageEx(playerid, COLOR_WHITE, "Accent ID {0000FF}%d{FFFFFF} successfully deleted !", id);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment