ZiPoNz

Z(iPoNz)-Tags - Version 1 - HEB

Apr 17th, 2012
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.01 KB | None | 0 0
  1. #include "a_samp"
  2. #include "dini"
  3.  
  4. #define ChooseID 508
  5. #define ChooseText 509
  6. #define ChooseColor 510
  7. #define ChooseIDR 511
  8.  
  9. enum TagsInformation
  10. {
  11.     bool:Tag,
  12.     TagText[38],
  13.     TagColor[7]
  14. }
  15. new Tags[MAX_PLAYERS][TagsInformation];
  16.  
  17. new ChoseID[MAX_PLAYERS],
  18.     ChoseColor[7][MAX_PLAYERS],
  19.     ChoseText[38][MAX_PLAYERS],
  20.     ChoseIDR[MAX_PLAYERS];
  21.    
  22. public OnPlayerConnect(playerid)
  23. {
  24.     if(!dini_Exists(CheckTFile(playerid))) Tags[playerid][Tag] = false;
  25.     else
  26.     {
  27.         Tags[playerid][Tag] = true;
  28.         format(Tags[playerid][TagColor], 7, "%s", dini_Get(CheckTFile(playerid), "TagColor"));
  29.         format(Tags[playerid][TagText], 38, "%s", dini_Get(CheckTFile(playerid), "TagText"));
  30.     }
  31.     return true;
  32. }
  33.  
  34. public OnPlayerDisconnect(playerid, reason)
  35. {
  36.     if(!Tags[playerid][Tag]) if(dini_Exists(CheckTFile(playerid))) dini_Remove(CheckTFile(playerid));
  37.     Tags[playerid][Tag] = false;
  38.     format(Tags[playerid][TagText], 38, "None");
  39.     format(Tags[playerid][TagColor], 7, "None");
  40.     dini_Remove(CheckTFile(playerid));
  41.     return true;
  42. }
  43.  
  44. public OnPlayerText(playerid, text[])
  45. {
  46.     if(Tags[playerid][Tag])
  47.     {
  48.         new string[256];
  49.         format(string, 256, "%s [%d | {%s}%s{ffffff}]",text, playerid, Tags[playerid][TagColor], Tags[playerid][TagText]);
  50.         return SendPlayerMessageToAll(playerid, string),0;
  51.     }
  52.     return true;
  53. }
  54.  
  55. public OnPlayerCommandText(playerid, cmdtext[])
  56. {
  57.     new cmd[256], idx;
  58.     cmd = strtok(cmdtext, idx);
  59.     if(!strcmp(cmd, "/settag", true)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì");
  60.     if(!strcmp(cmd, "/removetag", true)) return ShowPlayerDialog(playerid, ChooseIDR, DIALOG_STYLE_INPUT, "îçé÷ú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùáøöåðê ìäåøéã ìå àú äúàâ", "äáà", "áéèåì");
  61.     return false;
  62. }
  63.  
  64. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  65. {
  66.     switch(dialogid)
  67.     {
  68.         case ChooseIDR:
  69.         {
  70.             new string[256];
  71.             if(!response) return true;
  72.             if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
  73.             if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "äåøãú úàâ ìùç÷ï", ".ðà áçø àú äàééãé ùì äùç÷ï ùáøöåðê ìùéí úàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
  74.             if(!Tags[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéï ìùç÷ï æä úàâ");
  75.             ChoseIDR[playerid] = strval(inputtext);
  76.             Tags[ChoseIDR[playerid]][Tag] = false;
  77.             format(Tags[ChoseIDR[playerid]][TagText], 38, "None");
  78.             format(Tags[ChoseIDR[playerid]][TagColor], 7, "None");
  79.             dini_Remove(CheckTFile(playerid));
  80.             format(string, 128, ".äåøéã ìê àú äúàâ %s äàãîéï", CheckName(playerid));
  81.             SendClientMessage(ChoseIDR[playerid], 0xFFFFFF00, string);
  82.             format(string, 128, ".àú äúàâ %s àúä äåøãú ìùç÷ï", CheckName(ChoseIDR[playerid]));
  83.             SendClientMessage(playerid, 0xFFFFFF00, string);
  84.         }
  85.         case ChooseID:
  86.         {
  87.             if(!response) return true;
  88.             if(!IsPlayerConnected(strval(inputtext))) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ùç÷ï æä àéðå îçåáø");
  89.             if(!CheckNumber(inputtext)) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí àú äúàâ", "äáà", "áéèåì"), SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àðà øùåí îñôøéí");
  90.             if(Tags[strval(inputtext)][Tag]) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .ìùç÷ï æä éù ëáø úàâ");
  91.             ChoseID[playerid] = strval(inputtext);
  92.             ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú è÷ñè äúàâ ùáøöåðê ìùéí ìàééãé æä", "äáà", "çæåø");
  93.         }
  94.         case ChooseText:
  95.         {
  96.             if(!response) return ShowPlayerDialog(playerid, ChooseID, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú äàééãé ùáøöåðê ìùéí ìå úàâ", "äáà", "áéèåì");
  97.             format(ChoseText[playerid], 38, "%s", inputtext);
  98.             ShowPlayerDialog(playerid, ChooseColor, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".àðà øùåí àú ÷åã äöáò ùáøöåðê ìùéí ìúàâ\n\rãåâîàåú(HTML Color): FFFFFF, 0F0F0F, åòåã...", "ñééí", "çæåø");
  99.         }
  100.         case ChooseColor:
  101.         {
  102.             new string[256];
  103.             if(!response) return ShowPlayerDialog(playerid, ChooseText, DIALOG_STYLE_INPUT, "÷áéòú úàâ ìùç÷ï", ".ðà øùåí àú äè÷ñè ùáøöåðê ìùéí ìúàâ", "äáà", "çæåø");
  104.             format(ChoseColor[playerid], 7, "%s", inputtext);
  105.             Tags[ChoseID[playerid]][Tag] = true;
  106.             format(Tags[ChoseID[playerid]][TagColor], 38, "%s", inputtext);
  107.             format(Tags[ChoseID[playerid]][TagText], 38, "%s", ChoseText[playerid]);
  108.             if(!dini_Exists(CheckTFile(playerid))) dini_Create(CheckTFile(playerid));
  109.             dini_BoolSet(CheckTFile(playerid), "Tag", true);
  110.             dini_Set(CheckTFile(playerid), "TagText", Tags[playerid][TagText]);
  111.             dini_Set(CheckTFile(playerid), "TagColor", Tags[playerid][TagColor]);
  112.             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);
  113.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
  114.             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);
  115.             ShowPlayerDialog(ChoseID[playerid], 999, DIALOG_STYLE_MSGBOX, "úàâ ðåñó áäöìçä", string, "ñâåø", "");
  116.         }
  117.     }
  118.     return true;
  119. }
  120.  
  121. stock CheckName(playerid)
  122. {
  123.     new name[24];
  124.     GetPlayerName(playerid, name, 24);
  125.     return name;
  126. }
  127.  
  128. stock CheckTFile(playerid)
  129. {
  130.     new file[30];
  131.     format(file, 30, "Tags/%s.ini", CheckName(playerid));
  132.     return file;
  133. }
  134.  
  135. CheckNumber(const string[])
  136. {
  137.     for (new i = 0, j = strlen(string); i < j; i++) if (string[i] > '9' || string[i] < '0') return false;
  138.     return true;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment