Hey guys! I made this script. Well I tried atleast. So what I want it to do is give the top 10 players diffrent skulls. It kind of already does using the code I wrote down below. But it seems to have some weird behavior. It works 7 / 10 times but sometimes wrong player gets the wrong skull. It always work when all players relog so it refreshes, but its almost like the skulls gets cached or some, sometimes. Anyone got any clue? Im using the latest TFS 1.4 btw. Edit: It seems like the problem is when the player gains exp and surpasing the next in the toplist without killing or interfering with the player above. So Ig, it doesnt update cuz the player above havent refreshed. But how would I fix this? Is there any way of refreshing the skulls everytime the script is called?
Lua:
-- White skull = 3
-- Yellow skull = 1
-- Green skull = 2
-- Red skull = 4
-- Black skull = 5
function onThink(interval)
local resultQuery = db.storeQuery("SELECT `level`, `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT 10")
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 5) --1
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 4)--2
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 4)--3
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 2)--4
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 2)--5
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 2)--6
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 1)--7
end
print(topPlayerName)
result.next(resultQuery)
local topPlayerName = result.getString(resultQuery, "name")
local topPlayer = Player(topPlayerName)
if topPlayer then
doCreatureSetSkullType(topPlayer, 1)--8
end
print(topPlayerName)
result.free(resultQuery)
return true
end
Last edited: