Ir para conteúdo

Posts Recomendados

Tenho Esse Sistema de Reset, e quero fazer um --> RANK RESET <-- com ele, mas todos que eu já vi pelo xtibia não funfa com esse script.

Alguem me ajuda plz. Agradeço desde já. REP +

 

 

--[[ SCRIPTING> MarcelloMkez <scriptING ]]

    --[[  [Advanced Reset System]
                  Autor: MarcelloMkez
                  Versão: 1.0
                  TFS: 0.3.6
                  Testado em: 8.50
                  Fórum: www.xtibia.com/forum/topic/138026-talk-action-advanced-reset-system/

    [Características]
           ~ Versão 1.0 ~

          - Resets no Look;  
          - Premium Account ou não;
          - Mudar Vocação;
          - Limite de Resets;
          - Opções para Abilitar e Desabilitar Condições;

        [Em Construção]

      - Stages Free e Premium; 
      - 'Talvez' um novo sistema de mudar Vocação;
          sem data para postagem.   ]]



   function onSay(cid, words, param)

--[Configurações de Condição]__

   config = {                                                                             --[[verdadeiro / Falso]]

     needPa = false,                   -- Precisa de Premium Account?                          [true / false]
     needPz = false,                    -- Precisa estar em Protection Zone?                    [true / false]      
     battle = true,                   -- Precisa estar sem Batlle para Resetar?               [true / false]
     withe = false,                    -- Players PK Withe pode Resetar?                       [true / false]       
     red = false,                      -- Players PK Red pode Resetar?                         [true / false]
     tp = false,                        -- Teleportar para o Templo após o reset?               [true / false]
     look = true,                      -- Mostrar Resets no Look do Player?                    [true / false]
     addLimite = false,                -- Abilitar Limite de Resets?                           [true / false]
     setClasse = false,                 -- Mudar Vocação do player quando resetar?              [true / false]
     storage = 5000,                   -- Storage                                                 [valor]


--[Configurações do Reset]__ 

             resetStatus = {    

             player = getPlayerGUID(cid),        -- Não Mude.
             lvl = 10,                         -- Level Necessário para Resetar.                                 [valor]
             lvlreset = 8,                       -- Level que retornará após o Reset.                              [valor]
             limite = 500,                       -- Máximo de resets que um player pode chegar.                    [valor]
             newClasse = 1,                      -- Id da Nova Vocação após o Reset.                               [valor]
             tempo= 10                            -- Tempo para o Player deslogar para Resetar. Em segundos.        [valor]
       },
   }   

--[Funções]__

                  function Reseting(cid)
            resets = getResets(cid)
                 setPlayerStorageValue(cid,config.storage,resets+1)
                  doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                    doPlayerSetVocation(cid, config.resetStatus.newClasse)
                    doRemoveCreature(cid)
                   db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                         return TRUE
           end

                   function noAll(cid)
                  resets = getResets(cid)
                    setPlayerStorageValue(cid,config.storage,resets+1)
                    doRemoveCreature(cid)
                    db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
                return TRUE
               end

                       function noTeleporting(cid)
                      resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                         doPlayerSetVocation(cid, config.resetStatus.newClasse)
                        doRemoveCreature(cid)
                      db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
            return TRUE
           end

                       function noLook(cid)
                      resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                        doPlayerSetVocation(cid, config.resetStatus.newClasse)
                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                        doRemoveCreature(cid)
                    db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
            return TRUE
           end

                       function noClasse(cid)
                     resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                        doTeleportThing(cid,   getTownTemplePosition(getPlayerTown(cid)))
                        doRemoveCreature(cid)
                       db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                         return TRUE
           end

                       function setClasse(cid)
                        resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                        doPlayerSetVocation(cid, config.resetStatus.newClasse)                  
                        doRemoveCreature(cid)
                       db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                         return TRUE
           end

                       function look(cid)
            resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                        doRemoveCreature(cid)
                      db.executeQuery("UPDATE `players` SET `description` = ' [Reset "..resets.."]' WHERE `players`.`id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                         return TRUE
           end

                       function teleporting(cid)
            resets = getResets(cid)
                        setPlayerStorageValue(cid,config.storage,resets+1)
                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                        doRemoveCreature(cid)
            db.executeQuery("UPDATE `players` SET `description` = '' WHERE `players`.`id` = "..config.resetStatus.player)
                        db.executeQuery("UPDATE `players` SET `level` = "..config.resetStatus.lvlreset..", `experience` = 0 WHERE `id` = "..config.resetStatus.player)
                         return TRUE
           end

                 function getResets(cid)
           resets = getPlayerStorageValue(cid,config.storage)

              if resets < 1 then
            resets = 1
          end
           return resets

       end


   local resets = getResets(cid)
   local needLvl ="Você precisa de "..config.resetStatus.lvl-getPlayerLevel(cid).." level's para resetar."
   local msg ="~~[Reset: "..getResets(cid).."]~~ 'Sucesso ao Resetar!  Você será deslogado em "..config.resetStatus.tempo.." Segundos."


 --[Condiçoes]__       

 if(config.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
  doPlayerSendTextMessage(cid,22,"Você Precisa estar em Protection Zone Para Resetar.")
   return TRUE

   elseif(config.addLimite == true) and (getResets(cid) == config.resetStatus.limite) then
       doPlayerSendTextMessage(cid, 22, "Você ja atingiu o Limite de Resets.")
   return TRUE

       elseif(config.withe == false) and (getCreatureSkullType(cid) == 3) then
    doPlayerSendTextMessage(cid,22,"Você ta PK White, por isso não pode resetar.")
   return TRUE

   elseif(config.red == false) and (getCreatureSkullType(cid) == 4) then
    doPlayerSendTextMessage(cid,22,"Você ta PK Red, por isso não pode resetar.")
    return TRUE

   elseif(config.needPa == true) and not isPremium(cid) then
    doPlayerSendTextMessage(cid,22,"Você Precisa ser Premium Account para Resetar.")
    return TRUE

   elseif(config.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
    doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.")      
   return TRUE 

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == true) then
         addEvent(Reseting, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == false) then 
        addEvent(noAll, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == true) then
         addEvent(noTeleporting, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == true) then
         addEvent(noLook, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == true) and (config.setClasse == false) then
          addEvent(noClasse, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == false) and (config.setClasse == true) then
          addEvent(setClasse, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == false) and (config.look == true) and (config.setClasse == false) then
          addEvent(look, config.resetStatus.tempo* 1000, cid)

       elseif getPlayerLevel(cid) >= config.resetStatus.lvl and (config.tp == true) and (config.look == false) and (config.setClasse == false) then
          addEvent(teleporting, config.resetStatus.tempo* 1000, cid)

   elseif doPlayerSendCancel(cid, needLvl) then
      doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
          return TRUE
   end

       if doPlayerPopupFYI(cid, msg) then

       end
       return TRUE

end

--[by: MarcelloMkez]__

Link para o comentário
https://xtibia.com/forum/topic/147886-rank-reset-mysql-rank-reset-mysql/
Compartilhar em outros sites

×
×
  • Criar Novo...