• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    Move1.lua talkactions Error

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Resuelto Move1.lua talkactions Error el Dom Jul 10, 2016 3:26 pm

    Martainzb

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Descripcion de mi problema:
    Hola Gente de TibiaFace Hoy vengo con un problema que en ningun foro he visto que le de solucion quisiera que puedan ayudarme en un server pokemon .

    Al usar los m1,m2,m3,m4,m5,m6,m7,m8,m9,m10, manda el error en la consola repetidamente por un largo tiempo
    tambien al usar ciertos spells manda el [Error - Spell Interface]  GetThingFromPos Tile not found


    en consola
    Código:
    data/talkactions/scripts/move1.lua:onSay
    Description:
    (luaGetThingFromPos) Tile not found

    Talkactions/scripts/move1.lua

    Código:

        local msgs = {"use ", ""}
        function doAlertReady(cid, id, movename, n, cd)
            if not isCreature(cid) then return true end
            local myball = getPlayerSlotItem(cid,
            if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
            return true
            end
            local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
            if not p or #p <= 0 then return true end
            for a = 1, #p do
                if getItemAttribute(p[a], cd) == "cd:"..id.."" then
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
                return true
                end
            end
        end
        function onSay(cid, words, param, channel)

            if param ~= "" then return true end
            if string.len(words) > 3 then return true end
            if #getCreatureSummons(cid) == 0 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
            return 0
            end
                              --alterado v1.5
        local mypoke = getCreatureSummons(cid)[1]
            if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
            if getCreatureName(mypoke) == "Evolution" then return true end
            if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
               name = getPlayerStorageValue(mypoke, 1010)   --edited
            else
               name = getCreatureName(mypoke)
            end  
            
            --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)
        local it = string.sub(words, 2, 3)
        local move = movestable[name].move1
        if getPlayerStorageValue(mypoke, 212123) >= 1 then
           cdzin = "cm_move"..it..""
        else
           cdzin = "move"..it..""       --alterado v1.5
        end
            if it == "2" then
                move = movestable[name].move2
            elseif it == "3" then
                move = movestable[name].move3
            elseif it == "4" then
                move = movestable[name].move4
            elseif it == "5" then
                move = movestable[name].move5
            elseif it == "6" then
                move = movestable[name].move6
            elseif it == "7" then
                move = movestable[name].move7
            elseif it == "8" then
                move = movestable[name].move8
            elseif it == "9" then
                move = movestable[name].move9
            elseif it == "10" then
                move = movestable[name].move10
            elseif it == "11" then
                move = movestable[name].move11
            elseif it == "12" then
                move = movestable[name].move12
            elseif it == "13" then
                move = movestable[name].move13
            end
            if not move then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
            return true
            end
            
            if getPlayerLevel(cid) < move.level then
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
               return true
            end
            if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
            return true
            end
            if getTileInfo(getThingPos(mypoke)).protection then
                doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
            return true
            end
            
           if getPlayerStorageValue(mypoke, 3894) >= 1 then
              return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
           end
                                          --alterado v1.6                  
            if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then      
                doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
            return true
            end
                                                                             --alterado v1.7 \/\/\/
        if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then
           local target = getCreatureTarget(cid)                                                                                      
           if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then
              if isCreature(getMasterTarget(target)) then   --alterado v1.6                                                                  
                 doSendMagicEffect(getThingPos(target), 211)
                 doSendAnimatedText(getThingPos(target), "TOO BAD", 215)                                
                 doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
                 doSendMagicEffect(getThingPos(target), 211)
                 doFaceCreature(target, getThingPos(mypoke))            
                 return true       --alterado v1.6
              end
           end
        end

        if move.target == 1 then
            if not isCreature(getCreatureTarget(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
            return 0
            end
            if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
            return 0
            end
            if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
            return 0
            end
            if not isCreature(getCreatureSummons(cid)[1]) then
            return true
            end
            if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
            return 0
            end
            if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
            return 0
            end
        end
            local newid = 0
                if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
                    return 0
                else
                    newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
                end
                
            doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
            
            local summons = getCreatureSummons(cid) --alterado v1.6
            addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
            
            for i = 2, #summons do
               if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
                  docastspell(summons, move.name)        --alterado v1.6
               end
            end
            docastspell(mypoke, move.name)
            doCreatureAddCondition(cid, playerexhaust)
            if useKpdoDlls then
                doUpdateCooldowns(cid)
            end
        return 0
        end

    tambien se genera al usar spells con el mismo error luaGetThingFromPos

    Código:
        [10/07/2016 11:39:49] [Error - Spell Interface]
        [10/07/2016 11:39:49] In a timer event called from:
        [10/07/2016 11:39:49] data/spells/scripts/ps/Poison Gas.lua:onCastSpell
        [10/07/2016 11:39:49] Description:
        [10/07/2016 11:39:49] (luaGetThingFromPos) Tile not found


    si me pueden ayudar ++ Gracias de antemano


    Imagen de mi Error:


    Mi problema esta en:
    Consola



    Última edición por [Admin] God Maya el Dom Jul 10, 2016 6:11 pm, editado 2 veces (Razón : incluir informacion)

    Ver perfil de usuario https://www.facebook.com/ribasvictoria

    2Resuelto Re: Move1.lua talkactions Error el Dom Jul 10, 2016 3:55 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    prueba

    Código:

                    local msgs = {"use ", ""}
                    function doAlertReady(cid, id, movename, n, cd)
                        if not isCreature(cid) then return true end
                        local myball = getPlayerSlotItem(cid, 8)
                        if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")
                        return true
                        end
                        local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
                        if not p or #p <= 0 then return true end
                        for a = 1, #p do
                            if getItemAttribute(p[a], cd) == "cd:"..id.."" then
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")
                            return true
                            end
                        end
                    end
                    function onSay(cid, words, param, channel)

                        if param ~= "" then return true end
                        if string.len(words) > 3 then return true end
                        if #getCreatureSummons(cid) == 0 then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")
                        return 0
                        end
                                          --alterado v1.5
                    local mypoke = getCreatureSummons(cid)[1]
                        if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
                        if getCreatureName(mypoke) == "Evolution" then return true end
                        if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
                          name = getPlayerStorageValue(mypoke, 1010)  --edited
                        else
                          name = getCreatureName(mypoke)
                        end 
                       
                        --local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)
                    local it = string.sub(words, 2, 3)
                    local move = movestable[name].move1
                    if getPlayerStorageValue(mypoke, 212123) >= 1 then
                      cdzin = "cm_move"..it..""
                    else
                      cdzin = "move"..it..""      --alterado v1.5
                    end
                        if it == "2" then
                            move = movestable[name].move2
                        elseif it == "3" then
                            move = movestable[name].move3
                        elseif it == "4" then
                            move = movestable[name].move4
                        elseif it == "5" then
                            move = movestable[name].move5
                        elseif it == "6" then
                            move = movestable[name].move6
                        elseif it == "7" then
                            move = movestable[name].move7
                        elseif it == "8" then
                            move = movestable[name].move8
                        elseif it == "9" then
                            move = movestable[name].move9
                        elseif it == "10" then
                            move = movestable[name].move10
                        elseif it == "11" then
                            move = movestable[name].move11
                        elseif it == "12" then
                            move = movestable[name].move12
                        elseif it == "13" then
                            move = movestable[name].move13
                        end
                        if not move then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
                        return true
                        end
                       
                        if getPlayerLevel(cid) < move.level then
                          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
                          return true
                        end
                        if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then
                            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..move.name.." again.")
                        return true
                        end
                        if getTileInfo(getThingfromPos(mypoke)).protection then
                            doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
                        return true
                        end
                       
                      if getPlayerStorageValue(mypoke, 3894) >= 1 then
                          return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
                      end
                                                      --alterado v1.6                 
                        if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then     
                            doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
                        return true
                        end
                                                                                        --alterado v1.7 \/\/\/
                    if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then
                      local target = getCreatureTarget(cid)                                                                                     
                      if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then
                          if isCreature(getMasterTarget(target)) then  --alterado v1.6                                                                 
                            doSendMagicEffect(getThingfromPos(target), 211)
                            doSendAnimatedText(getThingfromPos(target), "TOO BAD", 215)                               
                            doTeleportThing(target, getClosestFreeTile(target, getThingfromPos(mypoke)), false)
                            doSendMagicEffect(getThingfromPos(target), 211)
                            doFaceCreature(target, getThingfromPos(mypoke))           
                            return true      --alterado v1.6
                          end
                      end
                    end

                    if move.target == 1 then
                        if not isCreature(getCreatureTarget(cid)) then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
                        return 0
                        end
                        if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then
                        return 0
                        end
                        if getCreatureHealth(getCreatureTarget(cid)) <= 0 then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")
                        return 0
                        end
                        if not isCreature(getCreatureSummons(cid)[1]) then
                        return true
                        end
                        if getDistanceBetween(getThingfromPos(getCreatureSummons(cid)[1]), getThingfromPos(getCreatureTarget(cid))) > move.dist then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
                        return 0
                        end
                        if not isSightClear(getThingfromPos(getCreatureSummons(cid)[1]), getThingfromPos(getCreatureTarget(cid)), false) then
                        return 0
                        end
                    end
                        local newid = 0
                            if isSleeping(mypoke) or isSilence(mypoke) then  --alterado v1.5
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
                                return 0
                            else
                                newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
                            end
                           
                        doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
                       
                        local summons = getCreatureSummons(cid) --alterado v1.6
                        addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
                       
                        for i = 2, #summons do
                          if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
                              docastspell(summons, move.name)        --alterado v1.6
                          end
                        end
                        docastspell(mypoke, move.name)
                        doCreatureAddCondition(cid, playerexhaust)
                        if useKpdoDlls then
                            doUpdateCooldowns(cid)
                        end
                    return 0
                    end



    Ver perfil de usuario http://www.tibiaface.com

    3Resuelto Me genera este error el Dom Jul 10, 2016 4:07 pm

    Martainzb

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Código:
    [10/07/2016 15:36:41] [Error - TalkAction Interface]
    [10/07/2016 15:36:41] data/talkactions/scripts/move1.lua:onSay
    [10/07/2016 15:36:41] Description:
    [10/07/2016 15:36:41] attempt to index a number value
    [10/07/2016 15:36:41] stack traceback:
    [10/07/2016 15:36:41]    [C]: in function 'getThingfromPos'
    [10/07/2016 15:36:41]    data/talkactions/scripts/move1.lua:82: in function <data/talkactions/scripts/move1.lua:18>

    [10/07/2016 15:36:41] [Error - TalkAction Interface]
    [10/07/2016 15:36:41] data/talkactions/scripts/move1.lua:onSay
    [10/07/2016 15:36:41] Description:
    [10/07/2016 15:36:41] attempt to index a number value
    [10/07/2016 15:36:41] stack traceback:
    [10/07/2016 15:36:42]    [C]: in function 'getThingfromPos'
    [10/07/2016 15:36:42]    data/talkactions/scripts/move1.lua:82: in function <data/talkactions/scripts/move1.lua:18>

    los m1,m2,m3,etc... no pueden ser usados



    Última edición por Martainzb el Dom Jul 10, 2016 4:09 pm, editado 1 vez (Razón : informacion)

    Ver perfil de usuario https://www.facebook.com/ribasvictoria

    4Resuelto Re: Move1.lua talkactions Error el Dom Jul 10, 2016 4:33 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    añada esta linea a su compat.lua en la carpeta lib

    Código:
    function getThingfromPos(pos)
       return getThingFromPos(pos)
    end



    Ver perfil de usuario http://www.tibiaface.com

    5Resuelto YA HA SIDO RESUELTO(Gracias Admin Maya) el Dom Jul 10, 2016 5:44 pm

    Martainzb

    avatar
    Nuevo Miembro
    Nuevo Miembro
    Hola Admin Maya gracias a usted pude resolver el problema estube revisando lo del lib 100-compat.lua y me fije que no poseia la linea de la funcion getThingPos y busque en otro ot el mismo y solo agrege esa funcion y todo me corrio con normalidad. gracias. restaure todo como estaba y solo agrege esa linea . Tema Resuelto.

    Ver perfil de usuario https://www.facebook.com/ribasvictoria

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).