BarryAllenwhl

reset.lua

Apr 5th, 2017
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.07 KB | None | 0 0
  1. --[[ SCRIPTING> MarcelloMkez <scriptING ]]
  2.  
  3. --[[ [Advanced Reset System]
  4. Autor: MarcelloMkez
  5. Versão: 1.0
  6. TFS: 0.3.6
  7. Testado em: 8.50
  8. Fórum: www.xtibia.com/forum/topic/138026-talk-action-advanced-reset-system/
  9.  
  10. [Características]
  11. ~ Versão 1.0 ~
  12.  
  13. - Resets no Look;
  14. - Premium Account ou não;
  15. - Mudar Vocação;
  16. - Limite de Resets;
  17. - Opções para Abilitar e Desabilitar Condições;
  18.  
  19. [Em Construção]
  20.  
  21. - Stages Free e Premium;
  22. - 'Talvez' um novo sistema de mudar Vocação;
  23. sem data para postagem. ]]
  24.  
  25.  
  26.  
  27. function onSay(cid, words, param)
  28.  
  29. --[Configurações de Condição]__
  30.  
  31. config = { --[[verdadeiro / Falso]]
  32.  
  33. needPa = false, -- Precisa de Premium Account? [true / false]
  34. needPz = false, -- Precisa estar em Protection Zone? [true / false]
  35. battle = false, -- Precisa estar sem Batlle para Resetar? [true / false]
  36. withe = false, -- Players PK Withe pode Resetar? [true / false]
  37. red = true, -- Players PK Red pode Resetar? [true / false]
  38. tp = true, -- Teleportar para o Templo após o reset? [true / false]
  39. look = true, -- Mostrar Resets no Look do Player? [true / false]
  40. addLimite = false, -- Abilitar Limite de Resets? [true / false]
  41. setClasse = false, -- Mudar Vocação do player quando resetar? [true / false]
  42. storage = 2310, -- Storage [valor]
  43.  
  44.  
  45. --[Configurações do Reset]__
  46.  
  47. resetStatus = {
  48.  
  49. player = getPlayerGUID(cid), -- Não Mude.
  50. lvl = 250000 , -- Level Necessário para Resetar. [valor]
  51. lvlreset = 5000, -- Level que retornará após o Reset. [valor]
  52. limite = 1, -- Máximo de resets que um player pode chegar. [valor]
  53. newClasse = 5, -- Id da Nova Vocação após o Reset. [valor]
  54. tempo= 1 -- Tempo para o Player deslogar para Resetar. Em segundos. [valor]
  55. },
  56. }
  57.  
  58. --[Funções]__
  59.  
  60. function Reseting(cid)
  61. resets = getResets(cid)
  62. setPlayerStorageValue(cid,config.storage,resets+1)
  63. doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
  64. doPlayerSetVocation(cid, config.resetStatus.newClasse)
  65. doRemoveCreature(cid)
  66. db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
  67. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  68. return TRUE
  69. end
  70.  
  71. function noAll(cid)
  72. resets = getResets(cid)
  73. setPlayerStorageValue(cid,config.storage,resets+1)
  74. doRemoveCreature(cid)
  75. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  76. db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
  77. return TRUE
  78. end
  79.  
  80. function noTeleporting(cid)
  81. resets = getResets(cid)
  82. setPlayerStorageValue(cid,config.storage,resets+1)
  83. doPlayerSetVocation(cid, config.resetStatus.newClasse)
  84. doRemoveCreature(cid)
  85. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  86. db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
  87. return TRUE
  88. end
  89.  
  90. function noLook(cid)
  91. resets = getResets(cid)
  92. setPlayerStorageValue(cid,config.storage,resets+1)
  93. doPlayerSetVocation(cid, config.resetStatus.newClasse)
  94. doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
  95. doRemoveCreature(cid)
  96. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  97. db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
  98. return TRUE
  99. end
  100.  
  101. function noClasse(cid)
  102. resets = getResets(cid)
  103. setPlayerStorageValue(cid,config.storage,resets+1)
  104. doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
  105. doRemoveCreature(cid)
  106. db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
  107. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  108. return TRUE
  109. end
  110.  
  111. function setClasse(cid)
  112. resets = getResets(cid)
  113. setPlayerStorageValue(cid,config.storage,resets+1)
  114. doPlayerSetVocation(cid, config.resetStatus.newClasse)
  115. doRemoveCreature(cid)
  116. db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
  117. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  118. return TRUE
  119. end
  120.  
  121. function look(cid)
  122. resets = getResets(cid)
  123. setPlayerStorageValue(cid,config.storage,resets+1)
  124. doRemoveCreature(cid)
  125. db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
  126. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  127. return TRUE
  128. end
  129.  
  130. function teleporting(cid)
  131. resets = getResets(cid)
  132. setPlayerStorageValue(cid,config.storage,resets+1)
  133. doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
  134. doRemoveCreature(cid)
  135. db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
  136. db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
  137. return TRUE
  138. end
  139.  
  140. function getResets(cid)
  141. resets = getPlayerStorageValue(cid,config.storage)
  142.  
  143. if resets < 0 then
  144. resets = 0
  145. end
  146. return resets
  147.  
  148. end
  149.  
  150.  
  151. local resets = getResets(cid)
  152. local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar."
  153. local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar! Você será deslogado em "..config.resetStatus.tempo.." Segundos."
  154.  
  155.  
  156. --[Condiçoes]__
  157.  
  158. if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
  159. doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.")
  160. return TRUE
  161.  
  162. elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then
  163. doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.")
  164. return TRUE
  165.  
  166. elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then
  167. doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.")
  168. return TRUE
  169.  
  170. elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then
  171. doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.")
  172. return TRUE
  173.  
  174. elseif(config.needPa == true) and not isPremium(cid) then
  175. doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.")
  176. return TRUE
  177.  
  178. elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
  179. doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.")
  180. return TRUE
  181.  
  182. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then
  183. addEvent(Reseting, config.resetStatus.tempo* 1000, cid)
  184.  
  185. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then
  186. addEvent(noAll, config.resetStatus.tempo* 1000, cid)
  187.  
  188. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then
  189. addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid)
  190.  
  191. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then
  192. addEvent(noLook, config.resetStatus.tempo* 1000, cid)
  193.  
  194. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then
  195. addEvent(noClasse, config.resetStatus.tempo* 1000, cid)
  196.  
  197. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then
  198. addEvent(setClasse, config.resetStatus.tempo* 1000, cid)
  199.  
  200. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then
  201. addEvent(look, config.resetStatus.tempo* 1000, cid)
  202.  
  203. elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then
  204. addEvent(teleporting, config.resetStatus.tempo* 1000, cid)
  205.  
  206. elseif doPlayerSendCancel(cid, needLvl) then
  207. doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
  208. return TRUE
  209. end
  210. if doPlayerPopupFYI(cid, msg) then
  211.  
  212. end
  213. return TRUE
  214.  
  215. end
  216.  
  217. --[By: MarcelloMkez]__
Add Comment
Please, Sign In to add comment