Postado Setembro 8, 2016 8 anos Queria 1 Script Igual Do Marlboro War Apreçer No BroadCast Acada 5Minutos Os Nomes Dos Top Frags Do Servidor E Quantidade De Frags Assim. 17:36 † MarlboroWar † Top 5 Fraggers Online! 1. [PRO] Malandriito Jack - 4683 frags 2. [PRO] Assasin Jose - 4008 frags 3. [PRO] Pegasus - 3153 frags 4. [PRO] Enderextrem - 2989 frags 5. [DNT] Fuck You - 2735 frags
Postado Setembro 9, 2016 8 anos Solução <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="rank frag" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="rankf_func"><![CDATA[ storage = 824544 function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)} return size.day + size.week + size.month end function setFrags(cid) if not isCreature(cid) then return LUA_ERROR end setPlayerStorageValue(cid, storage, getPlayerFrags(cid)) doPlayerSave(cid) end function getRankStorage(value, max, RankName) local str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n" local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") if (query:getID() ~= -1) then k = 1 repeat str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until k > max or not query:next() end return str end ]]></config> <globalevent name="RankFrags_Broad" interval="300" event="script"><![CDATA[ domodlib('rankf_func') function onThink(interval, lastExecution) doBroadcastMessage(getRankStorage(storage, 5, "Top 5 Fraggers!"), 22) return true end]]></globalevent> <event type="login" name="RankfLogin" event="script"><![CDATA[ domodlib('rankf_func') function onLogin(cid) registerCreatureEvent(cid, "RankfKill") setFrags(cid) return true end]]></event> <event type="kill" name="RankfKill" event="script"><![CDATA[ domodlib('rankf_func') function onKill(cid, target, lastHit) if (isPlayer(cid) == true) and (isPlayer(target) == true) then addEvent(setFrags, 1000, cid) end return true end]]></event> </mod> Editado Setembro 9, 2016 8 anos por Vodkart (veja o histórico de edições) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Setembro 9, 2016 8 anos Autor @Vodkart Agradeço cê puder explicar como eu coloco ele e cê ele funciona para tibia 860
Postado Setembro 9, 2016 8 anos é um MODS, coloca na pasta MODS e renomei por exemplo para: rankfrags.xml e coloca o seu o código dentro e abre o ot [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Setembro 9, 2016 8 anos Autor @Vodkart 12:28 --[Top 5 Fraggers!]-- 1. GOD marre - [0] 2. Teste Druid - [0] Tem Como Coloca Mensagem Em Vermelho de vez branco? Editado Setembro 9, 2016 8 anos por kauan13 (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.