comedinhasss 234 Postado Março 1, 2013 Share Postado Março 1, 2013 (editado) Versão: 3.1Versão de tibia: 9.7+Descrição: Como muitos sabem na versão 9.7 a tfs removeu o rank system, e o tibia também adicionou os novos estilos de diálogos. Então eu resolvi fazer um novo rank system com esse sistema.Features:- Rank system em tempo real.- Janela personalisada.- Rank de Frags (Mock)TAG: <talkaction words="!rank;/rank;!ranks;/ranks" event="script" value="rank.lua"/> Script:data/talkactions/rank.lua modaldialog2 = { title = "Rank", message = "Escolha o rank que você quer visualizar:", buttons = { { id = 1, value = "Ver" }, { id = 2, value = "Cancelar" }, }, buttonEnter = 1, buttonEscape = 2, choices = { { id = 1, value = "Fist" }, { id = 2, value = "Club" }, { id = 3, value = "Sword" }, { id = 4, value = "Axe" }, { id = 5, value = "Distance" }, { id = 6, value = "Shield" }, { id = 7, value = "Fish" }, { id = 8, value = "Magic" }, { id = 9, value = "Level" }, { id = 10, value = "Frags" } }, popup = false } function callback2(cid, button, choice) if (button == 1) then local str = "" local name_now if (choice == 1) then str = "--[ Fist Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 2) then str = "--[ Club Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 3) then str = "--[ Sword Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 4) then str = "--[ Axe Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 5) then str = "--[ Distance Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 6) then str = "--[ Shield Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 7) then str = "--[ Fish Rank ]--\n" query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC LIMIT 20;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataInt("player_id"))).." - [" .. query:getDataInt("value") .. "]" k = k + 1 until not query:next() end elseif (choice == 8) then str = "--[ Magic Rank ]--\n" query = db.getResult("SELECT `maglevel`, `name` FROM `players` WHERE `group_id` < 3 ORDER BY `maglevel` DESC LIMIT 20;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(query:getDataString("name")).." - [" .. query:getDataInt("maglevel") .. "]" k = k + 1 until not query:next() end elseif (choice == 9) then str = "--[ Level Rank ]--\n" query = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` < 3 ORDER BY `experience` DESC LIMIT 20;") if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end str = str .. "\n " .. k .. ". "..(query:getDataString("name")).." - [" .. query:getDataInt("level") .. "]" k = k + 1 until not query:next() end elseif (choice == 10) then str = "--[ Kills Rank ]--\n" query = db.getResult("SELECT `p`.`name` AS `name`, COUNT(`p`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` WHERE `k`.`unjustified` = 1 GROUP BY `name` ORDER BY `frags` DESC;") if query:getID() == -1 then str = str .. "\nNinguém matou ninguém." end if (query:getID() >= 0) then k = 1 repeat if k > 20 then break end name_now, l = query:getDataString("name"), string.len(query:getDataString("name")) str = str .. "\n " .. k ..". ".. name_now .." - [" .. query:getDataInt("frags") .. "]" k = k + 1 until not query:next() end end doShowTextDialog(cid, 2529, str) end end function onSay(cid, words, param) addDialog(modaldialog2, 1002, cid, callback2); return true end Como usar:No servidor digite /rank e selecione o tipo de rank ou skill que você deseja visualizar.Video: (Antigo mais explicativo) http://youtu.be/l0B8wj-kVkU Link Video Rank System Creditos:Comedinha (Bruno Carvalho)MockTutoriais de query em vários fórums. Oneshot Editado Julho 23, 2013 por BrunoCarvalho Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/ Compartilhar em outros sites More sharing options...
SkyDarkyes 104 Postado Março 1, 2013 Share Postado Março 1, 2013 Nao tem como por esse sistema em 8.54? Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478563 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Março 1, 2013 Autor Share Postado Março 1, 2013 Nao tem como por esse sistema em 8.54? Infelizmente não, a janela de modal dialogs foi lançada somente para 9.7+ Da para colocar pra abri tipo channel mais tenque faze umas config muito louca no creaturescripts e eu to sem tempo ._. Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478564 Compartilhar em outros sites More sharing options...
SkyDarkyes 104 Postado Março 1, 2013 Share Postado Março 1, 2013 O seu prision system nao funfo no meu naruto tibia 8.54 .-.,tem otro nao? Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478572 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Março 1, 2013 Autor Share Postado Março 1, 2013 O seu prision system nao funfo no meu naruto tibia 8.54 .-.,tem otro nao? Tenta postar o erro no tópico dele para que eu possa estar verificando ._. Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478575 Compartilhar em outros sites More sharing options...
SkyDarkyes 104 Postado Março 1, 2013 Share Postado Março 1, 2013 Foi mal,falei errado funfo aki certinho,pode me ajuda?como por para que so os gms cms e gods,podem falar isso?e como eu regulo o tempo para ficar na prisao Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478586 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Março 1, 2013 Autor Share Postado Março 1, 2013 (editado) Foi mal,falei errado funfo aki certinho,pode me ajuda?como por para que so os gms cms e gods,podem falar isso?e como eu regulo o tempo para ficar na prisao Primeiramente gostaria de pedir para que postasse no tópico original. http://www.xtibia.co...prision-system/ Tem até um tutorial explicando: "- O tempo pode ou não ser fixo, é só você digitar /jail (nome do player) para um tempo fixo ou /jail (nome do player), (tempo) para coloca-lo com um tempo especifico." E a tag que eu recomendei já está somente para GM+: access="3" Editado Março 1, 2013 por BrunoCarvalho Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478922 Compartilhar em outros sites More sharing options...
Junior001 362 Postado Março 1, 2013 Share Postado Março 1, 2013 Muito Bom vlws por compartilhar conosco Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1478928 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Março 3, 2013 Autor Share Postado Março 3, 2013 Muito Bom vlws por compartilhar conosco Nada =D Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1480346 Compartilhar em outros sites More sharing options...
DamoonSalvatore 1 Postado Março 5, 2013 Share Postado Março 5, 2013 Outra Script Simples Mais Muito Valiosa Obrigado Novamente Por Compartilhar. Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1481538 Compartilhar em outros sites More sharing options...
skylighs 0 Postado Março 9, 2013 Share Postado Março 9, 2013 VLWE BRUNOOO Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1483376 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Julho 23, 2013 Autor Share Postado Julho 23, 2013 Script atualizado, agora foi corrigido o erro nas skills que somem. Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1542947 Compartilhar em outros sites More sharing options...
nari 1 Postado Agosto 24, 2013 Share Postado Agosto 24, 2013 estou usando o alissow 5.0 e da este erro: [1:14:10.973] [Error - TalkAction Interface] [1:14:10.976] data/talkactions/scripts/rank.lua:onSay [1:14:10.979] Description: [1:14:10.981] (LuaInterface::luaGetPlayerNameByGUID) Player not found [1:14:10.986] [Error - TalkAction Interface] [1:14:10.989] data/talkactions/scripts/rank.lua:onSay [1:14:10.992] Description: [1:14:10.994] data/talkactions/scripts/rank.lua:33: attempt to concatenate a nil value [1:14:11.000] stack traceback: [1:14:11.002] data/talkactions/scripts/rank.lua:33: in function <data/talkacti ons/scripts/rank.lua:25> Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1553750 Compartilhar em outros sites More sharing options...
comedinhasss 234 Postado Setembro 8, 2013 Autor Share Postado Setembro 8, 2013 estou usando o alissow 5.0 e da este erro: [1:14:10.973] [Error - TalkAction Interface] [1:14:10.976] data/talkactions/scripts/rank.lua:onSay [1:14:10.979] Description: [1:14:10.981] (LuaInterface::luaGetPlayerNameByGUID) Player not found [1:14:10.986] [Error - TalkAction Interface] [1:14:10.989] data/talkactions/scripts/rank.lua:onSay [1:14:10.992] Description: [1:14:10.994] data/talkactions/scripts/rank.lua:33: attempt to concatenate a nil value [1:14:11.000] stack traceback: [1:14:11.002] data/talkactions/scripts/rank.lua:33: in function <data/talkacti ons/scripts/rank.lua:25> Tem certeza desse erro? Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1559605 Compartilhar em outros sites More sharing options...
SkyDarkyes 104 Postado Setembro 8, 2013 Share Postado Setembro 8, 2013 Eu acho que você fez alguma coisa errada no script em -' Link para o comentário https://xtibia.com/forum/topic/208786-rank-system/#findComment-1559607 Compartilhar em outros sites More sharing options...
Posts Recomendados