• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Ayuda] Error en creature lua

    Compartir:

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

    1default [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 13:23

    carataki

    avatar
    Miembro
    Miembro
    Buenas amigos espero que estén bien agradecido con esta comunidad día a día.
    Quisiera que me ayudaran con este error que tengo en creature.lua, en consola me aparece esto.

    Código:
    [Warning - Events::load] Can not load script: creature.lua
    data/events/scripts/creature.lua:180: '<eof>' expected near 'end'

    Este es mi creature.lua
    Código:
    local hp = Condition(CONDITION_ATTRIBUTES)
    hp:setParameter(CONDITION_PARAM_TICKS, -1)
    hp:setParameter(CONDITION_PARAM_SUBID, 100)
    hp:setParameter(CONDITION_PARAM_STAT_MAXHITPOINTS, 300)

    local distance = Condition(CONDITION_ATTRIBUTES)
    distance:setParameter(CONDITION_PARAM_TICKS, -1)
    distance:setParameter(CONDITION_PARAM_SUBID, 101)
    distance:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 3)

    local sword = Condition(CONDITION_ATTRIBUTES)
    sword:setParameter(CONDITION_PARAM_TICKS, -1)
    sword:setParameter(CONDITION_PARAM_SUBID, 102)
    sword:setParameter(CONDITION_PARAM_SKILL_SWORD, 2)

    oldOutfit = {}

    outfitBonuses = {
        [128] = {[3] = {condition = hp}}, [136] = {[3] = {condition = hp}},
     [129] = {[3] = {condition = distance}}, [137] = {[3] = {condition = distance}},
        [130] = {[3] = {condition = {distance, sword, hp}}}, [138] = {[3] = {condition = {distance, sword, hp}}}
    }

    function Creature:onChangeOutfit(outfit)
        if self:isPlayer() then
            local getOutfit = self:getOutfit()
            oldOutfit[self:getId()] = { --Colors (Head, Body, Legs, Feet) and lookTypeEx are unused, but I still keep them here because I'm stupid.
                lookHead = getOutfit.lookHead;
                lookBody = getOutfit.lookBody;
                lookLegs = getOutfit.lookLegs;
                lookFeet = getOutfit.lookFeet;
                lookType = getOutfit.lookType;
                lookTypeEx = getOutfit.lookTypeEx;
                lookAddons = getOutfit.lookAddons;
                lookMount = getOutfit.lookMount;
            }

            local old = oldOutfit[self:getId()]
            local oldOutfit_t = outfitBonuses[old.lookType]
            if oldOutfit_t and oldOutfit_t[old.lookAddons] then
                local oldCondition = oldOutfit_t[old.lookAddons].condition
                if type(oldCondition) == "table" then
                    for _, condition in pairs(oldCondition) do
                        self:removeCondition(condition:getType(), condition:getId(), condition:getSubId())
                    end
                else
                    self:removeCondition(oldCondition:getType(), oldCondition:getId(), oldCondition:getSubId())
                end
            end

            local currentOutfit = outfitBonuses[outfit.lookType]
            if currentOutfit and currentOutfit[outfit.lookAddons] then
                local newCondition = currentOutfit[outfit.lookAddons].condition
                if type(newCondition) == "table" then
                    for _, condition in pairs(newCondition) do
                        self:addCondition(condition)
                    end
                else
                    self:addCondition(newCondition)
                end
            end
        end
        return true
    end
     
    function Creature:onAreaCombat(tile, isAggressive)
        return true
    end
     
    local function removeCombatProtection(cid)
        local player = Player(cid)
        if not player then
            return true
        end
     
        local time = 0
        if player:isMage() then
            time = 10
        elseif player:isPaladin() then
            time = 20
        else
            time = 30
        end
     
        player:setStorageValue(Storage.combatProtectionStorage, 2)
        addEvent(function(cid)
            local player = Player(cid)
            if not player then
                return
            end
     
            player:setStorageValue(Storage.combatProtectionStorage, 0)
            player:remove()
        end, time * 1000, cid)
    end
     
     
     -- AQUI TREINER ONLINE
     
     local staminaBonus = {
        target = 'Training Monk',
        period = 120000, -- período em milisegundos
        bonus = 1, -- stamina que ganha
        events = {}
    }
     
    local function addStamina(name)
        local player = Player(name)
        if not player then
            staminaBonus.events[name] = nil
        else
            local target = player:getTarget()
            if not target or target:getName() ~= staminaBonus.target then
                staminaBonus.events[name] = nil
            else
                player:setStamina(player:getStamina() + staminaBonus.bonus)
                staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name)
            end
        end
    end


    function Creature:onTargetCombat(target)
        if target:isMonster() then
                target:registerEvent("RewardSystemSlogan")
                __picif[target.uid] = {}
            end
        end
     
     --- BATTLEFIELD
        if self:isPlayer() and target:isPlayer() then
            if self:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 and target:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 or self:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 and target:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 then
                return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
            end
        end
     
     if self:isPlayer() and target:isPlayer() then
            if self:getStorageValue(_Lib_Battle_Info1.TeamOne1.storage1) >= 1 and target:getStorageValue(_Lib_Battle_Info1.TeamOne1.storage1) >= 1 or self:getStorageValue(_Lib_Battle_Info1.TeamTwo1.storage1) >= 1 and target:getStorageValue(_Lib_Battle_Info1.TeamTwo1.storage1) >= 1 then
                return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
            end
        end
     
     --- BATTLEFIELD
      
        if target:isPlayer() then
            if self:isMonster() then
                local protectionStorage = target:getStorageValue(Storage.combatProtectionStorage)
     
                if target:getIp() == 0 then -- If player is disconnected, monster shall ignore to attack the player
                    if protectionStorage <= 0 then
                        addEvent(removeCombatProtection, 30 * 1000, target.uid)
                        target:setStorageValue(Storage.combatProtectionStorage, 1)
                    elseif protectionStorage == 1 then
                        self:searchTarget()
                        return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
                    end
     
                    return true
                end
     
                if protectionStorage >= os.time() then
                    return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER
                end
            end
        end
     
     -- AQUI TREINER ONLINE
     
     if self:isPlayer() then
            if target and target:getName() == staminaBonus.target then
                local name = self:getName()
                if not staminaBonus.events[name] then
                    staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name)
                end
            end
        end
     
     -- FIM TREINER ONLINE
        return true
    end

    Igualmente aqui esta mi creature.lua -> [Tienes que estar registrado y conectado para ver este vínculo] <-

    Sin mas que decir agradecido con la ayuda que me den para resolver este problema y que pasen buen día. Smile

    Ver perfil de usuario

    2default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 13:35

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    le falta un end al final de tu scripts antes de return



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

    3default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 13:44

    carataki

    avatar
    Miembro
    Miembro
    Todavia sigue el problema, puse el "end" antes y despues del return y sigue el problema apareciendo en consola Sad

    Ver perfil de usuario

    4default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 13:50

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui en esta linea modifica

    Código:
     -- AQUI TREINER ONLINE
     
     if self:isPlayer() then
            if target and target:getName() == staminaBonus.target then
                local name = self:getName()
                if not staminaBonus.events[name] then
                    staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name)
                end
            end
        end
     
     -- FIM TREINER ONLINE
        return true
    end


    Código:
     -- AQUI TREINER ONLINE
     
     if self:isPlayer() then
            if target and target:getName() == staminaBonus.target then
                local name = self:getName()
                if not staminaBonus.events[name] then
                    staminaBonus.events[name] = addEvent(addStamina, staminaBonus.period, name)
                end
            end

     
     -- FIM TREINER ONLINE
        return true
    end

    asi prueba



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

    5default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 16:09

    carataki

    avatar
    Miembro
    Miembro
    aparecio otro error peor

    Ver perfil de usuario

    6default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 16:12

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    que le agregaste para que salga aquel error que te pidan un end



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

    7default Re: [Ayuda] Error en creature lua el Mar 3 Abr 2018 - 17:25

    carataki

    avatar
    Miembro
    Miembro
    Salia otro error __index ... pero agregue el archivo original (creature.lua) del mismo servidor y se soluciono.

    Solucionado.

    Ver perfil de usuario

    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).