Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. quest ChangeNameWithVip begin
  2. state start begin
  3. function isNameAlready(playerInput)
  4. local index, value = mysql_direct_query(string.format("SELECT name as name FROM player WHERE name = '%s';", playerInput));
  5.  
  6. if (index < 1) then
  7. return false; -- there is no such name;
  8. end
  9. return true; -- the name is already used
  10. end
  11.  
  12. function ChangeNameAddVip(newPlayerName, oldPlayerName)
  13. return mysql_direct_query(string.format("UPDATE player SET name = '%s' WHERE name = '%s'", newPlayerName, oldPlayerName));
  14. end
  15.  
  16. function isVipAlreadyAdded()
  17. return pc.getqf("ChangeNameWithVipUsage") ~= 0;
  18. end
  19.  
  20. when 71173.use begin
  21. if (ChangeNameWithVip.isVipAlreadyAdded()) then
  22. syschat("Poti adauga gradul [VIP] doar odata pe caracter!")
  23. return;
  24. end
  25.  
  26. local playerName = pc.get_name();
  27. local itemVnum = item.get_vnum();
  28.  
  29. say_title(string.format("%s:[ENTER]", item_name(itemVnum)))
  30. say("Acest obiect ofera posibilitatea de a adauga[ENTER]gradul de [VIP] caracterului tau si[ENTER]cu posibilitatea de a schimba numele precedent[ENTER][ENTER]Doresti sa incepi procesul?")
  31. if (select("Da", "Nu") == 1) then
  32. say_title(string.format("%s:[ENTER]", item_name(itemVnum)))
  33. say("Introdu numele dorit:")
  34.  
  35. local strInput = string.gsub(input(), "[^A-Za-z0-9]", "");
  36. local inputLen = string.len(strInput);
  37.  
  38. if (inputLen < 3) then
  39. say("Numele tau trebuie sa contina cel putin[ENTER]3 caractere.")
  40. return;
  41. end
  42.  
  43. if (inputLen > 7) then
  44. say("Numele tau trebuie sa fie de maxim[ENTER]7 caractere.")
  45. return;
  46. end
  47.  
  48. if (ChangeNameWithVip.isNameAlready(string.format("[%s]", strInput))) then
  49. say("Acest nume a fost luat de catre alta persoana.[ENTER]Adaugarea numelui a fost anulata.")
  50. return;
  51. end
  52.  
  53. if (not pc.can_warp()) then
  54. say("Asteapta 10 secunde de la inchiderea negotului.")
  55. return;
  56. end
  57.  
  58. ChangeNameWithVip.ChangeNameAddVip(string.format("[%s]", strInput), playerName);
  59. say("Adaugarea gradului [VIP] a avut succes.[ENTER]Actualizarea acestuia se face dupa 15 min[ENTER]offline de pe caracter/cont.")
  60. pc.setqf("ChangeNameWithVipUsage", 1);
  61. pc.remove_item(itemVnum, 1);
  62. end
  63. end
  64. end
  65. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement