- Awards
- 38
Hola a todos, vengo a compartir un script por gazia
Top 3 players en el mapa, modifican positions , y les aparecera el Outfit, el nombre, acomodan un zona para mostrarlos:
Lo mejor es encerrarlos en un sitio, debido a que crea un monstruo fictivo.
Top 3 players en el mapa, modifican positions , y les aparecera el Outfit, el nombre, acomodan un zona para mostrarlos:
Lo mejor es encerrarlos en un sitio, debido a que crea un monstruo fictivo.
Código Lua:
local testtexttopplayers = GlobalEvent("textfloat")
local positions = {
{pos = Position(32367, 32241, 7), effect = CONST_ME_MAGIC_GREEN},
{pos = Position(32369, 32241, 7), effect = CONST_ME_FIREWORK_YELLOW},
{pos = Position(32371, 32241, 7), effect = CONST_ME_TUTORIALARROW}
}
function testtexttopplayers.onThink(interval)
local getTopPlayers = function(amount)
local query = string.format("SELECT `name`, `level`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT %d", amount)
local resultId = db.storeQuery(query)
local players = {}
if resultId then
repeat
local name = result.getDataString(resultId, "name")
local level = result.getDataInt(resultId, "level")
local outfit = {
lookBody = result.getDataInt(resultId, "lookbody"),
lookFeet = result.getDataInt(resultId, "lookfeet"),
lookHead = result.getDataInt(resultId, "lookhead"),
lookLegs = result.getDataInt(resultId, "looklegs"),
lookType = result.getDataInt(resultId, "looktype"),
lookAddons = result.getDataInt(resultId, "lookaddons")
}
table.insert(players, {name = name, level = level, outfit = outfit})
until not result.next(resultId)
result.free(resultId)
end
return players
end
local topPlayers = getTopPlayers(3)
for i, positionData in ipairs(positions) do
local topPlayer = topPlayers[i]
if topPlayer then
local message = string.format("Top Level %d: %s [%d]", i, topPlayer.name, topPlayer.level)
local spectators = Game.getSpectators(positionData.pos, false, true, 7, 7, 5, 5)
for _, spectator in ipairs(spectators) do
if spectator:isPlayer() then
spectator:say(message, TALKTYPE_MONSTER_SAY, false, spectator, positionData.pos)
end
end
local dummy = Game.createMonster("rat", positionData.pos, false, true)
if dummy then
dummy:setOutfit(topPlayer.outfit)
dummy:rename(topPlayer.name)
addEvent(function() dummy:remove() end, 5000)
end
positionData.pos:sendMagicEffect(positionData.effect)
else
local message = string.format("Top Level %d: None", i)
positionData.pos:sendMagicEffect(positionData.effect)
local spectators = Game.getSpectators(positionData.pos, false, true, 7, 7, 5, 5)
for _, spectator in ipairs(spectators) do
if spectator:isPlayer() then
spectator:say(message, TALKTYPE_MONSTER_SAY, false, spectator, positionData.pos)
end
end
end
end
return true
end
testtexttopplayers:interval(5000)
testtexttopplayers:register()