ZiPoNz

ZiPoNz-Codes-HEB-V: 1.1

May 13th, 2012
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.35 KB | None | 0 0
  1. //ZiPoNz codes system - © 2012
  2. #include "a_samp"
  3. #include "DOF"
  4.     #pragma unused DOF2_Exit
  5. #define CodesFile           "Codes.ini"
  6. #define CodesDialog         981
  7. #define CodesDialog2        982
  8. #define CodesDialog3        983
  9. #define CodesDialogChose    984
  10. new letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  11. new CInfo[MAX_PLAYERS];
  12. enum PCode
  13. {
  14.     bool:CarJump, bool:VSpeed, bool:Jetpack
  15. }
  16. new Player[MAX_PLAYERS][PCode];
  17. public OnFilterScriptInit()
  18. {
  19.     if(!DOF2_FileExists(CodesFile)) DOF2_CreateFile(CodesFile);
  20.     return true;
  21. }
  22. public OnPlayerCommandText(playerid, cmdtext[])
  23. {
  24.     new cmd[128], idx;
  25.     cmd = strtok(cmdtext, idx);
  26.     if(!strcmp(cmdtext, "/createcode", true))
  27.     {
  28.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .àéðê àãîéï");
  29.         return ShowPlayerDialog(playerid, CodesDialogChose, DIALOG_STYLE_LIST, ".éöéøú ÷åãéí áùøú", "1. áçéøú ñåâ+÷åã øðãåîàìé\n\r2. áçéøú ñåâ+÷åã\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  30.     }
  31.     if(!strcmp(cmd, "/code", true))
  32.     {
  33.         new string[164];
  34.         cmd = strtok(cmdtext, idx);
  35.         if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Command] ./code [Code text] ä÷ìã");
  36.         if(!DOF2_IsSet(CodesFile, cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "[Error] .÷åã æä àéðå ÷ééí");
  37.         switch(DOF2_GetInt(CodesFile, cmd))
  38.         {
  39.             case 1: GivePlayerMoney(playerid, random(20000));
  40.             case 2: GivePlayerWeapon(playerid, random(36), 500);
  41.             case 3: Player[playerid][CarJump] = true;
  42.             case 4: Player[playerid][VSpeed] = true;
  43.             case 5: Player[playerid][Jetpack] = true, SetPlayerSpecialAction(playerid, 2);
  44.         }
  45.         new PName[24];
  46.         GetPlayerName(playerid, PName, 24);
  47.         format(string, 128, ".æëä á÷åã: %s %s :äùç÷ï", IsCodeType(DOF2_GetInt(CodesFile, cmd)), cmd, PName);
  48.         SendClientMessageToAll(0xFFFFFF00, string);
  49.         return DOF2_Unset(CodesFile, cmd), DOF2_SaveFile();
  50.     }
  51.     return false;
  52. }
  53. public OnPlayerSpawn(playerid)
  54. {
  55.     if(Player[playerid][Jetpack]) SetPlayerSpecialAction(playerid, 2);
  56.     return true;
  57. }
  58. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  59. {
  60.     if(newkeys & KEY_SUBMISSION && Player[playerid][CarJump])
  61.     {
  62.         new Float:Pos[3];
  63.         GetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]);
  64.         SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0], Pos[1], Pos[2]+0.2);
  65.     }
  66.     if(newkeys & KEY_FIRE && Player[playerid][VSpeed])
  67.     {
  68.         new Float:Pos[5];
  69.         GetVehicleVelocity(GetPlayerVehicleID(playerid), Pos[0], Pos[1], Pos[2]);
  70.         Pos[3] = floatsqroot(Pos[0]*Pos[0] + Pos[1]*Pos[1] + Pos[2]*Pos[2]);
  71.         if(Pos[3] > 0)
  72.         {
  73.             Pos[4] = ((50 + Pos[3] * 100) / (Pos[3] * 100));
  74.             return SetVehicleVelocity(GetPlayerVehicleID(playerid),Pos[0]*Pos[4],Pos[1]*Pos[4],Pos[2]*Pos[4]);
  75.         }
  76.     }
  77.     return true;
  78. }
  79. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  80. {
  81.     switch(dialogid)
  82.     {
  83.         case CodesDialogChose:
  84.         {
  85.             if(!response) return true;
  86.             switch(listitem)
  87.             {
  88.                 case 0: ShowPlayerDialog(playerid, CodesDialog, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  89.                 case 1: ShowPlayerDialog(playerid, CodesDialog2, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà øùåí àú {ffffff}äîñôø{a9c4e4} ùì ä÷åãéí äáàéí\n\r\n\r1. ëñó\n\r2. ðù÷ øðãåîìé\n\r3. ÷ôéöåú øëá\n\r4. îäéøåú øëá\n\r5. â'àè ôà÷\n\r\n\r.ZiPoNz îòøëú ÷åãéí æå ðåöøä òì éãé", "öåø", "áèì");
  90.             }
  91.         }
  92.         case CodesDialog:
  93.         {
  94.             if(!response) return true;
  95.             new code[15], string[128];
  96.             search:
  97.             for(new i; i < 6; i++)
  98.             {
  99.                 code[i] = letters[rand(0, sizeof(letters) - 1)];
  100.             }
  101.             if(DOF2_IsSet(CodesFile, code)) goto search;
  102.             DOF2_SetInt(CodesFile, code, strval(inputtext));
  103.             DOF2_SaveFile();
  104.             format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", code, IsCodeType(strval(inputtext)), strval(inputtext));
  105.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
  106.             format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", code);
  107.             SendClientMessageToAll(0xFFFFFF00, string);
  108.         }
  109.         case CodesDialog2:
  110.         {
  111.             if(!response) return true;
  112.             CInfo[playerid] = strval(inputtext);
  113.             ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã", "öåø", "áèì");
  114.         }
  115.         case CodesDialog3:
  116.         {
  117.             if(!response) return true;
  118.             if(strlen(inputtext) > 5) return ShowPlayerDialog(playerid, CodesDialog3, DIALOG_STYLE_INPUT, ".éöéøú ÷åãéí áùøú", ".àðà ä÷ìã àú ä÷åã òã 5 úååéí", "öåø", "áèì");
  119.             new string[128];
  120.             DOF2_SetInt(CodesFile, inputtext, CInfo[playerid]);
  121.             DOF2_SaveFile();
  122.             format(string, 128, ".%s :ä÷åã äéðå\n\r.(ñåâ ÷åã æä äåà: %s(%d", inputtext, IsCodeType(CInfo[playerid]), CInfo[playerid]);
  123.             ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX, ".ä÷åã ðåöø áäöìçä", string, "ñâåø", "");
  124.             format(string, 128, ".%s :÷åã çãù ðåöø áùøú, ä÷åã äéðå", inputtext);
  125.             SendClientMessageToAll(0xFFFFFF00, string);
  126.         }
  127.     }
  128.     return true;
  129. }
  130. stock IsCodeType(type)
  131. {
  132.     new codename[30];
  133.     switch(type)
  134.     {
  135.         case 1: codename = "ëñó";
  136.         case 2: codename = "ðù÷ øðãåîìé";
  137.         case 3: codename = "÷ôéöåú øëá";
  138.         case 4: codename = "îäéøåú øëá";
  139.         case 5: codename = "â'à÷ ôà÷";
  140.     }
  141.     return codename;
  142. }
  143. strtok(const string[], &index)
  144. {
  145.     new length = strlen(string);
  146.     while ((index < length) && (string[index] <= ' ')) index++;
  147.     new offset = index, result[20];
  148.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  149.     {
  150.         result[index - offset] = string[index];
  151.         index++;
  152.     }
  153.     result[index - offset] = EOS;
  154.     return result;
  155. }
  156. rand(min, max) return random(max - min) + min;
Advertisement
Add Comment
Please, Sign In to add comment