Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "a_samp"
- #include "dini"
- #define ChooseID 508
- #define ChooseText 509
- #define ChooseColor 510
- #define ChooseIDR 511
- enum TagsInformation
- {
- bool:Tag,
- TagText[38],
- TagColor[7]
- }
- new Tags[MAX_PLAYERS][TagsInformation];
- new ChoseID[MAX_PLAYERS],
- ChoseColor[7][MAX_PLAYERS],
- ChoseText[38][MAX_PLAYERS],
- ChoseIDR[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- if(!dini_Exists(CheckTFile(playerid))) Tags[playerid][Tag] = false;
- else
- {
- Tags[playerid][Tag] = true;
- format(Tags[playerid][TagColor], 7, "%s", dini_Get(CheckTFile(playerid), "TagColor"));
- format(Tags[playerid][TagText], 38, "%s", dini_Get(CheckTFile(playerid), "TagText"));
- }
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(!Tags[playerid][Tag]) if(dini_Exists(CheckTFile(playerid))) dini_Remove(CheckTFile(playerid));
- Tags[playerid][Tag] = false;
- format(Tags[playerid][TagText], 38, "None");
- format(Tags[playerid][TagColor], 7, "None");
- dini_Remove(CheckTFile(playerid));
- return true;
- }
- public OnPlayerText(playerid, text[])
- {
- if(Tags[playerid][Tag])
- {
- new string[256];
- format(string, 256, "%s [%d | {%s}%s{ffffff}]",text, playerid, Tags[playerid][TagColor], Tags[playerid][TagText]);
- return SendPlayerMessageToAll(playerid, string),0;
- }
- return true;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp(cmd, "/settag", true)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì");
- if(!strcmp(cmd, "/removetag", true)) return ShowPlayerDialog(playerid, ChooseIDR, DIALOG_STYLE_INPUT, "îçé÷ú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùáøöåðê ìäåøéã ìå àú äúàâ", "äáà", "áéèåì");
- return false;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case ChooseIDR:
- {
- new string[256];
- if(!response) return true;
- if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
- if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
- if(!Tags[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìùç÷ï æä úàâ");
- ChoseIDR[playerid] = strval(inputtext);
- Tags[ChoseIDR[playerid]][Tag] = false;
- format(Tags[ChoseIDR[playerid]][TagText], 38, "None");
- format(Tags[ChoseIDR[playerid]][TagColor], 7, "None");
- dini_Remove(CheckTFile(playerid));
- format(string, 128, ".äåøéã ìê àú äúàâ %s äàãîéï", CheckName(playerid));
- SendClientMessage(ChoseIDR[playerid], 0xFFFFFF00, string);
- format(string, 128, ".àú äúàâ %s àúä äåøãú ìùç÷ï", CheckName(ChoseIDR[playerid]));
- SendClientMessage(playerid, 0xFFFFFF00, string);
- }
- case ChooseID:
- {
- if(!response) return true;
- if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
- if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
- if(Tags[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ìùç÷ï æä éù ëáø úàâ");
- ChoseID[playerid] = strval(inputtext);
- ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú è÷ñè äúàâ ùáøöåðê ìùéí ìàééãé æä", "äáà", "çæåø");
- }
- case ChooseText:
- {
- if(!response) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí ìå úàâ", "äáà", "áéèåì");
- format(ChoseText[playerid], 38, "%s", inputtext);
- ShowPlayerDialog(playerid, ChooseColor, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú ÷åã äöáò ùáøöåðê ìùéí ìúàâ\n\rãåâîàåú(HTML Color): FFFFFF, 0F0F0F, åòåã...", "ñééí", "çæåø");
- }
- case ChooseColor:
- {
- new string[256];
- if(!response) return ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".ðà øùåí àú äè÷ñè ùáøöåðê ìùéí ìúàâ", "äáà", "çæåø");
- format(ChoseColor[playerid], 7, "%s", inputtext);
- Tags[ChoseID[playerid]][Tag] = true;
- format(Tags[ChoseID[playerid]][TagColor], 38, "%s", inputtext);
- format(Tags[ChoseID[playerid]][TagText], 38, "%s", ChoseText[playerid]);
- if(!dini_Exists(CheckTFile(playerid))) dini_Create(CheckTFile(playerid));
- dini_BoolSet(CheckTFile(playerid), "Tag", true);
- dini_Set(CheckTFile(playerid), "TagText", Tags[playerid][TagText]);
- dini_Set(CheckTFile(playerid), "TagColor", Tags[playerid][TagColor]);
- format(string, 256, ":îéãò òì äúàâ äçãù\n\r[%d]%s :ùç÷ï\n\r%s :è÷ñè äúàâ\n\r{%s}%s{A9C4E4} :öáò äúàâ\n\r\n\r./removetag úåëì ìäåøéã ìå úàâ æä áô÷åãä", ChoseID[playerid], CheckName(ChoseID[playerid]), ChoseText[playerid], inputtext, inputtext);
- ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
- format(string, 256, ":îéãò òì äúàâ äçãù\n\r[%d]%s :ùç÷ï\n\r%s :è÷ñè äúàâ\n\r{%s}%s{A9C4E4} :öáò äúàâ\n\r\n\r./removetag úåëì ìäåøéã ìå úàâ æä áô÷åãä", ChoseID[playerid], CheckName(ChoseID[playerid]), ChoseText[playerid], inputtext, inputtext);
- ShowPlayerDialog(ChoseID[playerid], 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
- }
- }
- return true;
- }
- stock CheckName(playerid)
- {
- new name[24];
- GetPlayerName(playerid, name, 24);
- return name;
- }
- stock CheckTFile(playerid)
- {
- new file[30];
- format(file, 30, "Tags/%s.ini", CheckName(playerid));
- return file;
- }
- CheckNumber(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return false;
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment