Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. local config = {
  2. newNameMinLength = 3, -- minimalna dlugosc imienia
  3. premiumDaysCost = 0, -- ile dni pacca odejmuje graczowi, ktoremu zmienia sie imie
  4. timeoutToChangeName = 5000
  5. }
  6.  
  7. local function changeName(newName, oldName, accountId, cid)
  8. if isPlayer(cid) then
  9. if config.premiumDaysCost > 0 then
  10. doPlayerAddPremiumDays(cid, config.premiumDaysCost)
  11. end
  12.  
  13. doRemoveCreature(cid)
  14. elseif config.premiumDaysCost > 0 then
  15. db.executeQuery('UPDATE `accounts` SET `premdays` = (CASE WHEN `premdays` - '..config.premiumDaysCost..' < 0 THEN 0 ELSE `premdays` - '..config.premiumDaysCost..' END) WHERE `id` = '..accountId..';')
  16. end
  17.  
  18. db.executeQuery('UPDATE `players` SET `name` = '..db.escapeString(newName) .. ' WHERE `name` = '..db.escapeString(oldName))
  19. if isPlayer(cid) then
  20. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, oldName .. "'s name has been changed to " .. newName .. ".")
  21. end
  22. end
  23.  
  24. function onSay(cid, words, param, channel)
  25. local newName = param
  26. if newName:len() < config.newNameMinLength then
  27. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'You need to specify nick with at least '..config.newNameMinLength..' letters.')
  28. return true
  29. end
  30.  
  31. local exists = db.getResult('SELECT `account_id`, `name`, `online` FROM `players` WHERE `name` = '..db.escapeString(newName)..'')
  32. if exists:getID() ~= -1 then
  33. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Player with this name "'..newName..'" is already exists.')
  34. return true
  35. end
  36.  
  37. doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, ' NAMELOCK!\n Your nick name is now changing. After you will be logged out - please login into your ACCOUNT (not character) again.')
  38.  
  39. local oldName = getCreatureName(cid)
  40. if config.timeoutToChangeName > 0 then
  41. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Changing '..oldName .. "'s name in process...")
  42. addEvent(changeName, config.timeoutToChangeName, newName, oldName, exists:getDataInt('account_id'), cid)
  43. else
  44. changeName(newName, oldName, exists:getDataInt('account_id'), cid)
  45. end
  46. return true
  47. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement