• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Look reset tfs 1.2

Mateus Robeerto

Excellent OT User
Joined
Jun 5, 2016
Messages
1,326
Solutions
71
Reaction score
681
Location
ლ(ಠ益ಠლ)
it's not giving the reset look, does anyone know how to solve it? I use Tfs 1.2 [8.0] [TFS 1.2] - Server Global Full [Real Map] (https://otland.net/threads/8-0-tfs-1-2-server-global-full-real-map.280265/)

Pleaase



Lua:
function onLook(cid, thing, position, lookDistance)
if isPlayer(cid) then
resets = getPlayerStorageValue(cid, 378378)+1
doPlayerSetSpecialDescription(thing.uid, "\nResets: [" .. resets .."]")
end
return true
end


On:
data\events\scripts\player.lua

Replace the function:

Lua:
function Player:onLook(thing, position, distance)

with:
Lua:
function Player.getResets(self)
  local resets = self:getStorageValue(378378)
  local max_resets = math.max(resets, 0)
  return max_resets
end

function Player:onLook(thing, position, distance)
    local description = "You see " .. thing:getDescription(distance)
    local player_resets = thing:getResets()
    
    if thing:isPlayer() then
       description = string.format("%s\nResets: [%d]", description, player_resets)
    end
    
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:isPlayer() and thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end

    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end
 
The frags function must be created and add it there.
I got this system and installed my tfs 1.2 and nothing happens, I also put this nLookInBattleList part and nothing happens... does it need to change something to work?
Post automatically merged:
 
look reset and frags is working ok but not giving look item

Lua:
function Player.getResets(self)
  local resets = self:getStorageValue(378378)
  local max_resets = math.max(resets, 0)
  return max_resets
end

function Player:onLook(thing, position, distance)
    local description = "Voce ve " .. thing:getDescription(distance)
    local player_resets = thing:getResets()
    
    if thing:isPlayer() then
       description = string.format("%s\nResets: [%d]", description, player_resets)
    end
    
    if thing:isCreature() and thing:isPlayer() then
    local killStorage = 3000
    local deathStorage = 3001
    local killAmount, deathAmount = thing:getStorageValue(killStorage), thing:getStorageValue(deathStorage)
    if killAmount == -1 then killAmount = 0 end
    if deathAmount == -1 then deathAmount = 0 end
    description = description .. '\nEle matou: [' ..killAmount..'] Jogador' .. '\nEle morreu: ['..deathAmount..']'
end
    
    
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:isPlayer() and thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end

    self:sendTextMessage(MESSAGE_INFO_DESCR, description)

end

function Player:onLookInBattleList(creature, distance)
    local description = "Voce ve " .. creature:getDescription(distance)
    
    if self:getGroup():getAccess() then
        local str = "%s\nHealth: %d / %d"
        if creature:getMaxMana() > 0 then
            str = string.format("%s, Mana: %d / %d", str, creature:getMana(), creature:getMaxMana())
        end
        description = string.format(str, description, creature:getHealth(), creature:getMaxHealth()) .. "."

        local position = creature:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if creature:isPlayer() then
            description = string.format("%s\nIP: %s", description, Game.convertIpToString(creature:getIp()))
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
    
end
 
Last edited:
i have error


Lua:
Lua Script Error: [Event Interface]
data/events/scripts/player.lua:Player@onLook
data/events/scripts/player.lua:9: attempt to call method 'getResets' (a nil value)
stack traceback:
        [C]: in function 'getResets'
        data/events/scripts/player.lua:9: in function <data/events/scripts/player.lua:7>
 
i have error


Lua:
Lua Script Error: [Event Interface]
data/events/scripts/player.lua:Player@onLook
data/events/scripts/player.lua:9: attempt to call method 'getResets' (a nil value)
stack traceback:
        [C]: in function 'getResets'
        data/events/scripts/player.lua:9: in function <data/events/scripts/player.lua:7>
you didn't added the Player.getResets function
 
this is my player.lua file

you didn't added the Player.getResets function
Lua:
function Player.getResets(self)
  local resets = self:getStorageValue(378378)
  local max_resets = math.max(resets, 0)
  return max_resets
end

function Player:onLook(thing, position, distance)
    local description = "You see " .. thing:getDescription(distance)
    local player_resets = thing:getResets()
   
    if thing:isPlayer() then
       description = string.format("%s\nResets: [%d]", description, player_resets)
    end
   
    if thing:isCreature() and thing:isPlayer() then
    local killStorage = 3000
    local deathStorage = 3001
    local killAmount, deathAmount = thing:getStorageValue(killStorage), thing:getStorageValue(deathStorage)
    if killAmount == -1 then killAmount = 0 end
    if deathAmount == -1 then deathAmount = 0 end
    description = description .. '\nkills: [' ..killAmount..']' .. '\ndeaths: ['..deathAmount..']'
end
   
   
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:isPlayer() and thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end

    self:sendTextMessage(MESSAGE_INFO_DESCR, description)

end

function Player:onLookInBattleList(creature, distance)
    local description = "Voce ve " .. creature:getDescription(distance)
   
    if self:getGroup():getAccess() then
        local str = "%s\nHealth: %d / %d"
        if creature:getMaxMana() > 0 then
            str = string.format("%s, Mana: %d / %d", str, creature:getMana(), creature:getMaxMana())
        end
        description = string.format(str, description, creature:getHealth(), creature:getMaxHealth()) .. "."

        local position = creature:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if creature:isPlayer() then
            description = string.format("%s\nIP: %s", description, Game.convertIpToString(creature:getIp()))
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
   
end

function Player:onLookInTrade(partner, item, distance)
    self:sendTextMessage(MESSAGE_INFO_DESCR, "You see " .. item:getDescription(distance))
end

function Player:onLookInShop(itemType, count)
    return true
end

function Player:onMoveItem(item, count, fromPosition, toPosition)
    return true
end

function Player:onMoveCreature(creature, fromPosition, toPosition)
    return true
end

function Player:onTurn(direction)
    return true
end

function Player:onTradeRequest(target, item)
    return true
end

function Player:onTradeAccept(target, item, targetItem)
    return true
end

local soulCondition = Condition(CONDITION_SOUL, CONDITIONID_DEFAULT)
soulCondition:setTicks(4 * 60 * 1000)
soulCondition:setParameter(CONDITION_PARAM_SOULGAIN, 1)

local function useStamina(player)
    local staminaMinutes = player:getStamina()
    if staminaMinutes == 0 then
        return
    end

    local playerId = player:getId()
    local currentTime = os.time()
    local timePassed = currentTime - nextUseStaminaTime[playerId]
    if timePassed <= 0 then
        return
    end

    if timePassed > 60 then
        if staminaMinutes > 2 then
            staminaMinutes = staminaMinutes - 2
        else
            staminaMinutes = 0
        end
        nextUseStaminaTime[playerId] = currentTime + 120
    else
        staminaMinutes = staminaMinutes - 1
        nextUseStaminaTime[playerId] = currentTime + 60
    end
    player:setStamina(staminaMinutes)
end

function Player:onGainExperience(source, exp, rawExp)
    if not source or source:isPlayer() then
        return exp
    end

    -- Soul regeneration
    local vocation = self:getVocation()
    if self:getSoul() < vocation:getMaxSoul() and exp >= self:getLevel() then
        soulCondition:setParameter(CONDITION_PARAM_SOULTICKS, vocation:getSoulGainTicks() * 1000)
        self:addCondition(soulCondition)
    end

    -- Apply experience stage multiplier
    exp = exp * Game.getExperienceStage(self:getLevel())

    -- Stamina modifier
    if configManager.getBoolean(configKeys.STAMINA_SYSTEM) then
        useStamina(self)

        local staminaMinutes = self:getStamina()
        if staminaMinutes > 2400 and self:isPremium() then
            exp = exp * 1.5
        elseif staminaMinutes <= 840 then
            exp = exp * 0.5
        end
    end

    return exp
end

function Player:onLoseExperience(exp)
    return exp
end

function Player:onGainSkillTries(skill, tries)
    if APPLY_SKILL_MULTIPLIER == false then
        return tries
    end

    if skill == SKILL_MAGLEVEL then
        return tries * configManager.getNumber(configKeys.RATE_MAGIC)
    end
    return tries * configManager.getNumber(configKeys.RATE_SKILL)
end
 
what is your engine version?

look reset and frags is working ok but not giving look item

Lua:
function Player.getResets(self)
  local resets = self:getStorageValue(378378)
  local max_resets = math.max(resets, 0)
  return max_resets
end

function Player:onLook(thing, position, distance)
    local description = "Voce ve " .. thing:getDescription(distance)
    local player_resets = thing:getResets()
 
    if thing:isPlayer() then
       description = string.format("%s\nResets: [%d]", description, player_resets)
    end
 
    if thing:isCreature() and thing:isPlayer() then
    local killStorage = 3000
    local deathStorage = 3001
    local killAmount, deathAmount = thing:getStorageValue(killStorage), thing:getStorageValue(deathStorage)
    if killAmount == -1 then killAmount = 0 end
    if deathAmount == -1 then deathAmount = 0 end
    description = description .. '\nEle matou: [' ..killAmount..'] Jogador' .. '\nEle morreu: ['..deathAmount..']'
end
 
 
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:isPlayer() and thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end

    self:sendTextMessage(MESSAGE_INFO_DESCR, description)

end

function Player:onLookInBattleList(creature, distance)
    local description = "Voce ve " .. creature:getDescription(distance)
 
    if self:getGroup():getAccess() then
        local str = "%s\nHealth: %d / %d"
        if creature:getMaxMana() > 0 then
            str = string.format("%s, Mana: %d / %d", str, creature:getMana(), creature:getMaxMana())
        end
        description = string.format(str, description, creature:getHealth(), creature:getMaxHealth()) .. "."

        local position = creature:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if creature:isPlayer() then
            description = string.format("%s\nIP: %s", description, Game.convertIpToString(creature:getIp()))
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
 
end
This code I used is working fine, but there is a bug that prevents the items from being displayed. I solved the problem and made another code that is working better. Here he is.
Lua:
To resolve the issue, you need to take the original script, unmodified, and look for the part where it says "function Player:onLook(thing, position, distance)". Then replace the entire snippet with new code that is bug free and works correctly.
Lua:
function Player:onLook(thing, position, distance)

    local description = "You see " .. thing:getDescription(distance)
 
    if thing:isPlayer() then
    local resets = thing:getStorageValue(378378)
    if resets < 0 and 0 or resets then
        description = string.format("%s\nResets: [%s]", description, resets > 0 and resets or "0")
    end
end
 
Last edited:
what is your engine version?


This code I used is working fine, but there is a bug that prevents the items from being displayed. I solved the problem and made another code that is working better. Here he is.

Lua:
function Player:onLook(thing, position, distance)

    local description = "You see " .. thing:getDescription(distance)
 
    if thing:isPlayer() then
    local resets = thing:getStorageValue(378378)
    if resets < 0 and 0 or resets then
        description = string.format("%s\nResets: [%s]", description, resets > 0 and resets or "0")
    end
end
I use TFS 1.2 version 10.78
Post automatically merged:

what is your engine version?


This code I used is working fine, but there is a bug that prevents the items from being displayed. I solved the problem and made another code that is working better. Here he is.

Lua:
function Player:onLook(thing, position, distance)

    local description = "You see " .. thing:getDescription(distance)
 
    if thing:isPlayer() then
    local resets = thing:getStorageValue(378378)
    if resets < 0 and 0 or resets then
        description = string.format("%s\nResets: [%s]", description, resets > 0 and resets or "0")
    end
end
now it works for me! completely grateful friend
Post automatically merged:

Now I get an error when I give a player a look with the god :(

Lua:
Lua Script Error: [Event Interface]
data/events/scripts/player.lua:Player@onLook
data/lib/core/game.lua:12: attempt to index global 'bit' (a nil value)
stack traceback:
        [C]: ?
        data/lib/core/game.lua:12: in function 'convertIpToString'
        data/events/scripts/player.lua:73: in function <data/events/scripts/player.lua:8>
 
Last edited:
Back
Top