bpm91
Advanced OT User
- Joined
- May 23, 2019
- Messages
- 1,046
- Solutions
- 7
- Reaction score
- 180
- Location
- Brazil
- YouTube
- caruniawikibr
local function isDoors(thing)
if isInArray(closedLevelDoors, thing:getId()) then
return true
end
return false
end
local ec = EventCallback
ec.onLook = function(self, thing, position, distance, description)
local description = ""
if isDoors(thing) then
local level = thing.actionid - actionIds.levelDoor
description = "You see " .. thing:getDescription(distance) .. "\n" .. "Required " .. level .. " level."
else
description = "You see " .. thing:getDescription(distance)
end
if self:getGroup():getAccess() then
if thing:isItem() then
description =...
open rme clike the door and propirts and write in actions id 1500 this will be for lvl 500I have a doubt, this type of port should not show the level? he doesn't show up.how do you make it appear?
View attachment 67162
local function isDoors(thing)
if isInArray(closedLevelDoors, thing:getId()) then
return true
end
return false
end
local ec = EventCallback
ec.onLook = function(self, thing, position, distance, description)
local description = ""
if isDoors(thing) then
local level = thing.actionid - actionIds.levelDoor
description = "You see " .. thing:getDescription(distance) .. "\n" .. "Required " .. level .. " level."
else
description = "You see " .. thing:getDescription(distance)
end
if self:getGroup():getAccess() then
if thing:isItem() then
description = string.format("%s\nItem ID: %d", description, thing:getId())
if isDoors(thing) then
description = string.format("%s, Level: %d", description, thing:getActionId())
end
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
return description
end
ec:register()
the messages are duplicated, thank you for the improvement into the script. can you show us how to fix this?I fixed it like that (based on actionid)
replace file: data\scripts\eventcallbacks\player\default_onLook.lua
to this:
LUA:local function isDoors(thing) if isInArray(closedLevelDoors, thing:getId()) then return true end return false end local ec = EventCallback ec.onLook = function(self, thing, position, distance, description) local description = "" if isDoors(thing) then local level = thing.actionid - actionIds.levelDoor description = "You see " .. thing:getDescription(distance) .. "\n" .. "Required " .. level .. " level." else description = "You see " .. thing:getDescription(distance) end if self:getGroup():getAccess() then if thing:isItem() then description = string.format("%s\nItem ID: %d", description, thing:getId()) if isDoors(thing) then description = string.format("%s, Level: %d", description, thing:getActionId()) end 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 return description end ec:register()