Advertisement
EvilHero90

TFS 1.x Account Manager by Evil Hero

May 23rd, 2016
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.10 KB | None | 0 0
  1. handler = {}
  2. handler.yes = {}
  3. handler.no = {__index = handler.no}
  4. setmetatable(handler.no, {
  5.     __index = handler.no,
  6.     __call =
  7.     function(self, player, manager)
  8.         self[manager.state](player)
  9.         manager.state = 0
  10.         manager:clearMask()
  11.     end
  12. })
  13.    
  14. handler.info = function(player)
  15.     player:sendTextToClient("Hello I'm your Account Manager, what kind of action would you like to perform?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  16.     if player:getName() == "Account Manager" then
  17.         player:popupFYI("create = create Account\nrecover = recover lost Account")
  18.     else
  19.         player:popupFYI("character = create Character\nemail = change E-mail\npassword = change Password\ndelete = delete Character")
  20.     end
  21. end
  22.  
  23. handler.create = function(player, manager)
  24.     if manager.state == 0 and player:getName == "Account Manager" then
  25.         manager.state = 1
  26.         manager.create = "account"
  27.         manager:createAccountMask()
  28.         player:sendTextToClient("You would like to create an account?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)     
  29.     end
  30. end
  31.  
  32. handler.recover = function(player, manager)
  33.     if manager.state == 0 and player:getName() == "Account Manager" then
  34.         manager.state = 10
  35.         manager.create = "recover"
  36.         manager:createRecoverAccountMask()
  37.         player:sendTextToClient("You would like to recover an Account?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  38.     end
  39. end
  40.    
  41. handler.character = function(player, manager)
  42.     if manager.state == 0 and player:getName() ~= "AccountManager" then
  43.         if player:checkCharacterListSize() < accountManagerConfig.maxCharacters then
  44.             manager.state = 15
  45.             manager.create = "character"
  46.             manager:createCharacterMask()
  47.             player:sendTextToClient("You would like to create a Character?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  48.         else
  49.             player:sendTextToClient("You have the max ammount of allowed Characters!", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  50.         end
  51.     end
  52. end
  53.    
  54. handler.password = function(player, manager)
  55.     if manager.state == 0 and player:getName() ~= "Account Manager" then
  56.         manager.state = 16
  57.         manager.create = "password"
  58.         manager:createChangePasswordMask()
  59.         player:sendTextToClient("You would like to change your Password?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  60.     end
  61. end
  62.  
  63. handler.email = function(player, manager)
  64.     if manager.state == 0 and player:getName() ~= "Account Manager" then
  65.         manager.state = 19
  66.         manager.create = "email"
  67.         manager:createChangeEmailMask()
  68.         player:sendTextToClient("You would like to change your Email?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  69.     end
  70. end
  71.    
  72. handler[2] = function(player, manager, message) manager:validateAccountName(player, message) end
  73. handler[3] = function(player, manager, message) manager:validateAccountPassword(player, message) end
  74. handler[4] = function(player, manager, message) manager:validateAccountPinCode(player, message) end
  75. handler[5] = function(player, manager, message) manager:validateAccountEmail(player, message) end
  76. handler[6] = function(player, manager, message) manager:validateCharacterName(player, message) end
  77. handler[7] = function(player, manager, message) manager:validateCharacterGender(player, message) end
  78. handler[8] = function(player, manager, message) manager:validateCharacterVocation(player, message) end
  79. handler[11] = function(player, manager, message) manager:validateRecoveryAccountName(player, message) end
  80. handler[12] = function(player, manager, message) manager:validateRecoveryKey(player, message) end
  81. handler[13] = function(player, manager, message) manager:validateRecoveryEmail(player, message) end
  82. handler[14] = function(player, manager, message) manager:validateRecoveryChangePassword(player, message) end
  83. handler[17] = function(player, manager, message) manager:validateCheckAccountPinCode(player, message) end
  84. handler[18] = function(player, manager, message) manager:validateChangeAccountPassword(player, message) end
  85. handler[20] = function(player, manager, message) manager:validateCheckAccountPinCode(player, message) end
  86. handler[21] = function(player, manager, message) manager:validateChangeAccountEmail(player, message) end
  87.  
  88. handler.yes[1] = function(player, manager)
  89.     manager.state = 2
  90.     player:sendTextToClient("What would you like to have as your Account Name?", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  91. end
  92. handler.yes[10] = function(player, manager)
  93.     manager.state = 11
  94.     player:sendTextToClient("Please tell me the Account Name of it.", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  95. end
  96. handler.yes[15] = function(player, manager)
  97.     manager.state = 5
  98.     player:sendTextToClient("Please tell me the Character Name.", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  99. end
  100. handler.yes[16] = function(player, manager)
  101.     manager.state = 17
  102.     player:sendTextToClient("Please tell me your Pin Code.", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  103. end
  104. handler.yes[19] = function(player, manager)
  105.     manager.state = 20
  106.     player:sendTextToClient("Please tell me your Pin Code.", "Account Manager", 9, TALKTYPE_CHANNEL_R1)
  107. end
  108.    
  109. handler.no[1] = function(player) player:sendTextToClient("Account creation terminated.", "Account Manager", 9, TALKTYPE_CHANNEL_R1) end
  110. handler.no[10] = function(player) player:sendTextToClient("Recover Account terminated.", "Account Manager", 9, TALKTYPE_CHANNEL_R1) end
  111. handler.no[15] = function(player) player:sendTextToClient("Character creation terminated.", "Account Manager", 9, TALKTYPE_CHANNEL_R1) end
  112. handler.no[16] = function(player) player:sendTextToClient("Change Password terminated.", "Account Manager", 9, TALKTYPE_CHANNEL_R1) end
  113. handler.no[19] = function(player) player:sendTextToClient("Change Email terminated.", "Account Manager", 9, TALKTYPE_CHANNEL_R1) end   
  114.  
  115. function onSpeak(player, type, message)
  116.     if not accountManagerConfig.enabled then
  117.         return false
  118.     end
  119.    
  120.     local manager = AccountManager(player:getId())
  121.    
  122.     if message == "yes" and manager.state > 0 then
  123.         handler.yes[manager.state](player, manager)
  124.         return false
  125.     end
  126.     if message == "no" and manager.state > 0 then
  127.         handler.no(player, manager)
  128.         return false
  129.     end
  130.     if not handler[message](player, manager, message) or not handler[manager.state](player, manager, message) then
  131.         return false
  132.     end
  133.    
  134.     return false
  135. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement