Muito maneiro
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- TopLevel Effect
TopLevel Effect
Por Bruno, 14 de abr. de 2015 em Globalevents e Spells
info
Grupo: Campones
Registrado: 27/07/15
Posts: 70
Reputação: +65
Gênero: Masculino
Char no Tibia: Felipe Muniz

info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

Muito maneiro
Vlw man!
Estou querendo ter tempo e criatividade para colocar outras opções nesse efeito!
info
Grupo: Campones
Registrado: 18/12/16
Posts: 26
Reputação: +1
@Bruno Nâo funciona em servidor Global 10.98? Otx
Preciso de ajuda tem como coloca o top efeito para os 3 level mais alto
Top 1
Top 2
Top 3
?? Agradeço desde já
info
Grupo: Campones
Registrado: 11/12/17
Posts: 24
Reputação: +1
Gênero: Masculino

Em 14/04/2015 em 15:00, Bruno disse:Introdução
Ele simplesmente manda um efeito para o Top Level caso ele estiver online, além disso, ele checa quando o top é ultrapassado e o efeito passa automaticamente ao novo top.
Instalação:
Em data/creaturescripts/creaturescripts.xml adicione:
<event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/>Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione:
--[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end
Como que coloca para ficar na cabeça dos top 10 do server?



info
Grupo: Campones
Registrado: 21/07/15
Posts: 15
Reputação: 0
pero como atribuio uma storage ao top level? perdona por ñao saber