tablename = {
something = {x = 1, y = 2},
somethingelse = {x = 3, y = 4}
}
tablename.something.x equals 1
tablename.something.y equals 2
tablename.somethingelse.x equals 3
tablename.somethingelse.y equals 4
tablename = {
[1] = {something = {x = 1, y = 2}, somethingelse = {x = 3, y = 4}},
[2] = {something = {x = 5, y = 6}, somethingelse = {x = 7, y = 8}}
}
tablename[1].something.x equals 1
tablename[1].something.y equals 2
tablename[1].somethingelse.x equals 3
tablename[1].somethingelse.y equals 4
tablename[2].something.x equals 5
tablename[2].something.y equals 6
tablename[2].somethingelse.x equals 7
tablename[2].somethingelse.y equals 8
json.lua
file into otclient/modules/corelib
, then open corelib.otmod
in that folder and after dofile 'outputmessage'
dofile 'json'
forgottenserver\data\lib\core
and drop that file there, open core.lua
and adddofile('data/lib/core/json.lua')
function init()
ProtocolGame.registerExtendedOpcode(14, onExtendedOpcode)
end
function terminate()
ProtocolGame.unregisterExtendedOpcode(14, onExtendedOpcode)
end
function sendMyCode()
local myData = {
a = "string",
b = 123,
c = {
x = "string in table",
y = 456
}
}
local protocolGame = g_game.getProtocolGame()
if protocolGame then
protocolGame.sendExtendedOpcode(14, json.encode(myData))
end
end
function onExtendedOpcode(protocol, code, buffer)
local json_status, json_data =
pcall(
function()
return json.decode(buffer)
end
)
if not json_status then
g_logger.error("[My Module] JSON error: " .. json_data)
return false
end
print(json_data.foo)
print(json_data.bar)
end
function onExtendedOpcode(player, opcode, buffer)
if opcode == 14 then
local json_status, json_data =
pcall(
function()
return json.decode(buffer)
end
)
if not json_status then
g_logger.error("[My Module] JSON error: " .. json_data)
return
end
print(json_data.a)
print(json_data.b)
print(json_data.c.x)
print(json_data.c.y)
local response = {
foo = "Hello",
bar = "World"
}
player:sendExtendedOpcode(14, json.encode(response))
end
end
Also this works too.Code:tablename = { something = {x = 1, y = 2}, somethingelse = {x = 3, y = 4} } tablename.something.x equals 1 tablename.something.y equals 2 tablename.somethingelse.x equals 3 tablename.somethingelse.y equals 4 tablename = { [1] = {something = {x = 1, y = 2}, somethingelse = {x = 3, y = 4}}, [2] = {something = {x = 5, y = 6}, somethingelse = {x = 7, y = 8}} } tablename[1].something.x equals 1 tablename[1].something.y equals 2 tablename[1].somethingelse.x equals 3 tablename[1].somethingelse.y equals 4 tablename[2].something.x equals 5 tablename[2].something.y equals 6 tablename[2].somethingelse.x equals 7 tablename[2].somethingelse.y equals 8
tablename = {
something = {x = 1, y = 2}
}
tablename["something"].x
tablename["something"].y
local mySkills = {
melee = 123,
distance = 456
}
skillName - string, ex. "melee"
, newValue - number, new value for given skill
.function skillChange(skillName, newValue)
if skillName == "melee" then
mySkills.melee = newValue
elseif skillName == "distance" then
mySkills.distance = newValue
end
end
function skillChange(skillName, newValue)
mySkills[skillName] = newValue
end
Follow this and adjust for your needs.so how to add another stat bar above/around creatures?
I tried to figure that out myself but it seems to be both hardcoded and quite complicated.
Ye perfect englishso how to add another stat bar above/around creatures?
I tried to figure that out myself but it seems to be both hardcoded and quite complicated.