Guest User

Cod norocs (lucky-code)

a guest
Oct 21st, 2020
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.45 KB | None | 0 0
  1.  
  2. /* necesarry stocks
  3.  
  4. stock SendAdmins(color, const string[ ], level, va_args<>) {
  5. new message[144];
  6. va_format(message, sizeof message, string, va_start<3> );
  7. foreach(new i : Admins) if(GetPVarInt(i, "Logat") == 1) if (playerVariables[i][pAdmin] >= level) SendClientMessage(i, color, message);
  8. return true;
  9. }
  10.  
  11. */
  12.  
  13. forward public ExistaCodul(name[]); // adaugam functia care ne va trebui
  14. public ExistaCodul(name[]) // definim functia
  15. {
  16. new query[107]; // facem o noua variabila, pentru a vedea code-urile din baza de date, aff / neg
  17. mysql_format(handle, query, sizeof(query), "SELECT `ID` FROM `luckycodes` WHERE `code` = '%e' LIMIT 1", name);
  18. new Cache:result = mysql_query(handle, query); // aici selectam din baza de date codul, daca va exista se va executa, daca nu, abort.
  19. if(cache_num_rows()) // exista codul
  20. {
  21. cache_delete(result); // inchidem cacheu sa nu fakem memory leak
  22. return true; // returnam functia fiind afirmativa
  23. }
  24. cache_delete(result); // daca nu exista codul, ii va da textul retusat de noi la utilizarea acestei functii.
  25. return false; // returnam functia ca fiind negativa
  26. }
  27.  
  28. forward public addcodes(playerid); // adaugam functia care ne va trebui
  29. public addcodes(playerid) // definim functia
  30. {
  31. new cod1[6],cod2[6],cod3[6],cod4[6], string[30], var100[80]; // definim variabilele
  32. new Rstr[] = "QWERTYUIOPASDFGHJKLZXCVBNM"; // aici sunt caracterele care vor contine codeurile random, putem puna si numere, cum vr voi
  33.  
  34. format(cod1, 6, "%s", Rstr[random(sizeof(Rstr))]); // formatam codu 1
  35. format(cod2, 6, "%s", Rstr[random(sizeof(Rstr))]); // formatam codu 2
  36. format(cod3, 6, "%s", Rstr[random(sizeof(Rstr))]); // formatam codu 3
  37. format(cod4, 6, "%s", Rstr[random(sizeof(Rstr))]); // formatam codu 4
  38.  
  39. if(strlen(cod1) != 5) return true; // daca cod-ul 1,2,3,4 nu va avea 5 caractere acesta nu va fi valid, e doar o verificare
  40. if(strlen(cod2) != 5) return true;
  41. if(strlen(cod3) != 5) return true;
  42. if(strlen(cod4) != 5) return true;
  43.  
  44. if(strfind(cod1, " ", true) != -1) return true; // daca codul 1,2,3,4 va avea caractere invalide, va fi invalid
  45. if(strfind(cod2, " ", true) != -1) return true;
  46. if(strfind(cod3, " ", true) != -1) return true;
  47. if(strfind(cod4, " ", true) != -1) return true;
  48.  
  49. format(string, sizeof(string), "%s-%s-%s-%s", cod1,cod2,cod3,cod4); // codul este format cu succes, si este pregatit sa fie afisat adminilor 6+
  50. if(ExistaCodul(string)) return true; // daca codul exista nu va fi creat, si nu va fi executat un mesaj cum ca acesta exista deja, refolosi comanda gen
  51.  
  52. mysql_format(handle, var100, sizeof(var100), "INSERT INTO `luckycodes` (`code`) VALUES ('%s')",string);
  53. mysql_tquery(handle,var100,"",""); // bam inseram in baza de date codul fiind activ
  54.  
  55. SCMf(playerid, COLOR_BLUE, "LUCKY CODE >>: {FFFFFF}%s-%s-%s-%s.", cod1,cod2,cod3,cod4);
  56. SendAdmins(COLOR_BLUE, "Founder >> {FFFFFF}%s a adaugat un lucky code.", 6, GetName(playerid)); // anuntam admini 6+ bla bla
  57. return true;
  58. }
  59.  
  60. CMD:luckycode(playerid, params[]) {
  61. new string[128];
  62. strcat(string, "- Introdu in caseta de mai jos codul norocos.\n\n");
  63. strcat(string, "- Acesta trebuie sa fie de forma: XXXXX-XXXX-XXXX-XXXXX.");
  64. ShowPlayerDialogEx(playerid, DIALOG_USECODE, DIALOG_STYLE_INPUT,"Lucky Code", string, "Use", "Cancel");
  65. return true;
  66. }
  67.  
  68. CMD:addluckycode(playerid, params[]) {
  69. if(playerVariables[playerid][pAdmin] >= 6) addcodes(playerid);
  70. return true;
  71. }
  72.  
  73. /* - adaugam respectivul dialog, premiile sunt setate de catre mine, in functie de gamemode-ul vostru, va puteti pune bonusurile care vreti
  74.  
  75. case DIALOG_USECODE: {
  76. if(!response) return true;
  77. {
  78. if(!ExistaCodul(inputtext)) return SCM(playerid, COLOR_BLUE, "(error): acest cod nu este unul {227FC3}valid{ffffff}.");
  79. format(gString, sizeof(gString), "SELECT * FROM `luckycodes` WHERE `code`='%s'", inputtext);
  80. new rand = random(310);
  81. switch(rand) {
  82. case 0..270: {
  83. new randmoney = 20000 + random(50000);
  84. GivePlayerCash(playerid, randmoney);
  85. SCMf(playerid, COLOR_BLUE, "LUCKY CODE's >> ai introdus un lucky code si ai castigat {ffffff}$%s{227FC3}!", FormatNumber(randmoney));
  86. }
  87. case 271..280: {
  88. new randrp = 2 + random(10);
  89. playerVariables[playerid][pDiamonds] += randrp; pUpdateInt(playerid, "Diamonds", playerVariables[playerid][pDiamonds]);
  90. SCMf(playerid, COLOR_BLUE, "LUCKY CODE's >> ai introdus un lucky code si ai castigat {ffffff}%d {227FC3}diamante!", randrp);
  91. va_SendClientMessageToAll(COLOR_BLUE, "(( Lucky Code's: %s a introdus un lucky code si a castigat %d diamante! ))", GetName(playerid), randrp);
  92. }
  93. case 281..297: {
  94. new randrp = 50 + random(50);
  95. playerVariables[playerid][pExperience] += randrp; save_points(playerid);
  96. SCMf(playerid, COLOR_BLUE, "LUCKY CODE's >> ai introdus un lucky code si ai castigat {ffffff}%d {227FC3}experience points!", FormatNumber(randrp));
  97. }
  98. case 298..310: {
  99. new randmoney = 250000 + random(250000);
  100. GivePlayerCash(playerid, randmoney);
  101. SCMf(playerid, COLOR_BLUE, "LUCKY CODE's >> ai introdus un lucky code si ai castigat {ffffff}$%s{227FC3}!", FormatNumber(randmoney));
  102. }
  103. }
  104. SendAdmins(COLOR_RED, "LUCKY >> (%s) a introdus un cod special, action: code deleted from database successfully.", 1, GetName(playerid));
  105. new stringer[43];
  106. mysql_format(handle,stringer, sizeof(stringer), "DELETE FROM `LuckyCodes` WHERE `code`='%s'", inputtext);
  107. mysql_tquery(handle,stringer,"","");
  108. }
  109. }
  110.  
  111. */
Advertisement
Add Comment
Please, Sign In to add comment