antoniolagos
Member
- Joined
- Apr 10, 2010
- Messages
- 34
- Reaction score
- 6
Hello, I´m developing an incredible WAR OT, and I need a script for globaevents that broadcast TOP 8 levels Online (each XXX minutes). Anyone can help please
function onThink(interval, lastExecution)
local max, query = 8 , db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;")
local str = "TOP"..max.." Rank Level:\n\n"
if (query:getID() ~= -1) then
k = 1
while true do
str = str .. "\n " .. k .. " - "..query:getDataString("name").."["..query:getDataInt("level").."]"
k = k + 1
if not(query:next()) or k > max then
break
end
end
query:free()
end
doBroadcastMessage(str, 22)
return true
end
function getTop5Players()
local player1 = {0,-1}
local player2 = {0,-1}
local player3 = {0,-1}
local player4 = {0,-1}
local player5 = {0,-1}...
Hello, I´m developing an incredible WAR OT, and I need a script for globaevents that broadcast TOP 8 levels Online (each XXX minutes). Anyone can help please
function onThink()
local players = getOnlinePlayers()
table.sort(players, function(cid1, cid2)
return getPlayerLevel(cid1) > getPlayerLevel(cid2)
end)
local msg = {"Top 8 Players Online:"}
for i = 1, 8 do
local cid = players[i]
if cid then
msg[#msg + 1] = string.format("%d. %s (Level: %d)", i, getCreatureName(cid), getPlayerLevel(cid))
end
end
broadcastMessage(table.concat(msg, "\n"), MESSAGE_STATUS_CONSOLE_RED)
return true
end
<globalevent name="top players" interval="600000" script="script name.lua" />
try this
Lua:function onThink() local players = getOnlinePlayers() table.sort(players, function(cid1, cid2) return getPlayerLevel(cid1) > getPlayerLevel(cid2) end) local msg = {"Top 8 Players Online:"} for i = 1, 8 do local cid = players[i] if cid then msg[#msg + 1] = string.format("%d. %s (Level: %d)", i, getCreatureName(cid), getPlayerLevel(cid)) end end broadcastMessage(table.concat(msg, "\n"), MESSAGE_STATUS_CONSOLE_RED) return true end
XML:<globalevent name="top players" interval="600000" script="script name.lua" />
try this
Lua:function onThink() local players = getOnlinePlayers() table.sort(players, function(cid1, cid2) return getPlayerLevel(cid1) > getPlayerLevel(cid2) end) local msg = {"Top 8 Players Online:"} for i = 1, 8 do local cid = players[i] if cid then msg[#msg + 1] = string.format("%d. %s (Level: %d)", i, getCreatureName(cid), getPlayerLevel(cid)) end end broadcastMessage(table.concat(msg, "\n"), MESSAGE_STATUS_CONSOLE_RED) return true end
XML:<globalevent name="top players" interval="600000" script="script name.lua" />
function onThink(interval, lastExecution)
local max, query = 8 , db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;")
local str = "TOP"..max.." Rank Level:\n\n"
if (query:getID() ~= -1) then
k = 1
while true do
str = str .. "\n " .. k .. " - "..query:getDataString("name").."["..query:getDataInt("level").."]"
k = k + 1
if not(query:next()) or k > max then
break
end
end
query:free()
end
doBroadcastMessage(str, 22)
return true
end
function getTop5Players()
local player1 = {0,-1}
local player2 = {0,-1}
local player3 = {0,-1}
local player4 = {0,-1}
local player5 = {0,-1}
local player6 = {0,-1}
local player7 = {0,-1}
local player8 = {0,-1}
local top5text = "Top 8 level online"
local players = getPlayersOnline()
if #players == 0 then
return top5text
end
for i, cid in ipairs(players) do
if getPlayerLevel(cid) > player1[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {player5[1], player5[2]}
player5 = {player4[1], player4[2]}
player4 = {player3[1], player3[2]}
player3 = {player2[1], player2[2]}
player2 = {player1[1], player1[2]}
player1 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player2[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {player5[1], player5[2]}
player5 = {player4[1], player4[2]}
player4 = {player3[1], player3[2]}
player3 = {player2[1], player2[2]}
player2 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player3[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {player5[1], player5[2]}
player5 = {player4[1], player4[2]}
player4 = {player3[1], player3[2]}
player3 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player4[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {player5[1], player5[2]}
player5 = {player4[1], player4[2]}
player4 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player5[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {player5[1], player5[2]}
player5 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player6[2] then
player8 = {player7[1], player7[2]}
player7 = {player6[1], player6[2]}
player6 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player7[2] then
player8 = {player7[1], player7[2]}
player7 = {cid, getPlayerLevel(cid)}
elseif getPlayerLevel(cid) > player8[2] then
player8 = {cid, getPlayerLevel(cid)}
end
end
if player1[1] > 0 then
top5text = top5text .. "\n1. " .. getCreatureName(player1[1]) .. " - " .. player1[2] .. " Level"
end
if player2[1] > 0 then
top5text = top5text .. "\n2. " .. getCreatureName(player2[1]) .. " - " .. player2[2] .. " Level"
end
if player3[1] > 0 then
top5text = top5text .. "\n3. " .. getCreatureName(player3[1]) .. " - " .. player3[2] .. " Level"
end
if player4[1] > 0 then
top5text = top5text .. "\n4. " .. getCreatureName(player4[1]) .. " - " .. player4[2] .. " Level"
end
if player5[1] > 0 then
top5text = top5text .. "\n5. " .. getCreatureName(player5[1]) .. " - " .. player5[2] .. " Level"
end
if player6[1] > 0 then
top5text = top5text .. "\n6. " .. getCreatureName(player6[1]) .. " - " .. player6[2] .. " Level"
end
if player7[1] > 0 then
top5text = top5text .. "\n7. " .. getCreatureName(player7[1]) .. " - " .. player7[2] .. " Level"
end
if player8[1] > 0 then
top5text = top5text .. "\n8. " .. getCreatureName(player8[1]) .. " - " .. player8[2] .. " Level"
end
return top5text
end
function onThink(interval, lastExecution)
doBroadcastMessage(getTop5Players())
return TRUE
end
try with this 2
Lua:function onThink(interval, lastExecution) local max, query = 8 , db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;") local str = "TOP"..max.." Rank Level:\n\n" if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. " - "..query:getDataString("name").."["..query:getDataInt("level").."]" k = k + 1 if not(query:next()) or k > max then break end end query:free() end doBroadcastMessage(str, 22) return true end
Lua:function getTop5Players() local player1 = {0,-1} local player2 = {0,-1} local player3 = {0,-1} local player4 = {0,-1} local player5 = {0,-1} local player6 = {0,-1} local player7 = {0,-1} local player8 = {0,-1} local top5text = "Top 8 level online" local players = getPlayersOnline() if #players == 0 then return top5text end for i, cid in ipairs(players) do if getPlayerLevel(cid) > player1[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {player5[1], player5[2]} player5 = {player4[1], player4[2]} player4 = {player3[1], player3[2]} player3 = {player2[1], player2[2]} player2 = {player1[1], player1[2]} player1 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player2[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {player5[1], player5[2]} player5 = {player4[1], player4[2]} player4 = {player3[1], player3[2]} player3 = {player2[1], player2[2]} player2 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player3[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {player5[1], player5[2]} player5 = {player4[1], player4[2]} player4 = {player3[1], player3[2]} player3 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player4[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {player5[1], player5[2]} player5 = {player4[1], player4[2]} player4 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player5[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {player5[1], player5[2]} player5 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player6[2] then player8 = {player7[1], player7[2]} player7 = {player6[1], player6[2]} player6 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player7[2] then player8 = {player7[1], player7[2]} player7 = {cid, getPlayerLevel(cid)} elseif getPlayerLevel(cid) > player8[2] then player8 = {cid, getPlayerLevel(cid)} end end if player1[1] > 0 then top5text = top5text .. "\n1. " .. getCreatureName(player1[1]) .. " - " .. player1[2] .. " Level" end if player2[1] > 0 then top5text = top5text .. "\n2. " .. getCreatureName(player2[1]) .. " - " .. player2[2] .. " Level" end if player3[1] > 0 then top5text = top5text .. "\n3. " .. getCreatureName(player3[1]) .. " - " .. player3[2] .. " Level" end if player4[1] > 0 then top5text = top5text .. "\n4. " .. getCreatureName(player4[1]) .. " - " .. player4[2] .. " Level" end if player5[1] > 0 then top5text = top5text .. "\n5. " .. getCreatureName(player5[1]) .. " - " .. player5[2] .. " Level" end if player6[1] > 0 then top5text = top5text .. "\n6. " .. getCreatureName(player6[1]) .. " - " .. player6[2] .. " Level" end if player7[1] > 0 then top5text = top5text .. "\n7. " .. getCreatureName(player7[1]) .. " - " .. player7[2] .. " Level" end if player8[1] > 0 then top5text = top5text .. "\n8. " .. getCreatureName(player8[1]) .. " - " .. player8[2] .. " Level" end return top5text end function onThink(interval, lastExecution) doBroadcastMessage(getTop5Players()) return TRUE end