Daniloz 0 #1 Postado 3 Dezembro, 2008 (editado) Nome: (!rank no seu servidor.)Versão: (8.22, 8.31.) Tipo do script: (Talkaction.) Servidor Testado: (The forgotten server.) Autor: (Darth Sidious) First Tem servidor que fexa porcausa do !ranks, em outros ele consegue aguentar tranquilo. Abra o seu servidor/talkaction/talkaction.xml, adicione no final o citado abaixo. <talkaction words="!ranks" script="highscores.lua"/> Depois disso salve. Em seguida abra um arquivo em bloco de notas ( notepad ) vazio, cole isso! function onSay(cid, words, param) dofile("./config.lua") local players = 20 -- The amount of players that is shown in the list local maxgroupid = 1 -- Players in groups above this is not shown in the list if sqlType == "mysql" then env = assert(luasql.mysql()) con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort)) else -- sqlite env = assert(luasql.sqlite3()) con = assert(env:connect(sqliteDatabase)) end local str = "" if param == "level" or param == "exp" or param == "lvl" or param == "" then cur = assert(con:execute("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `experience` DESC LIMIT 0,"..players..";")) row = cur:fetch({}, "a") str = "# [Level] - Name - (Experience)\n" local i = 0 while row do str = str.."\n#"..(i+1).." ["..row.level.."] - "..row.name.." - ("..row.experience..")" row = cur:fetch (row, "a") i = i+1 end elseif param == "maglevel" or param == "magic" or param == "ml" then cur = assert(con:execute("SELECT `name`, `maglevel` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `maglevel` DESC LIMIT 0,"..players..";")) row = cur:fetch({}, "a") str = "# [Magic Level] - Name\n" local i = 0 while row do str = str.."\n#"..(i+1).." ["..row.maglevel.."] - "..row.name.."" row = cur:fetch (row, "a") i = i+1 end elseif param == "fist" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Fist Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "club" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Club Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "sword" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [sword Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "axe" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Axe Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "dist" or param == "distance" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Distance Fighting] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "shield" or param == "shielding" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [shielding] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end elseif param == "fish" or param == "fishing" then cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC;")) row = cur:fetch({}, "a") str = "# [Fishing] - Name\n" local i = 0 while row do if i == players then break end query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id.."")) sql = query:fetch({}, "a") if sql ~= nil then str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name.."" i = i+1 end row = cur:fetch (row, "a") end end if str ~= "" then doPlayerPopupFYI(cid, str) end con:close() env:close() end Em seguida salve como highscores.lua Após isso siga : Abra a pasta de seu servidor ~> abra o seu config.lua, você vai ver tudo, procure isso : -- Guilds ingameGuildSystem = "yes" Em baixo disso você vai pular 1 linha e colar isso : -- Highscores highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 1 Feito isso ficará assim. -- Guilds ingameGuildSystem = "yes" -- Highscores highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 1 Você deverá pular mais uma linha para ficar seu config.lua direito e completo: -- Guilds ingameGuildSystem = "yes" -- Highscores highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 1 -- Houses housePriceEachSQM = 1000 houseRentPeriod = "never" Bom fim de tutorial, obrigado pela atenção! Editado 6 Dezembro, 2008 por Daniloz Compartilhar este post Link para o post
Nord 2 #2 Postado 8 Dezembro, 2008 Agora sim, perfeito Aprovado Compartilhar este post Link para o post
renanf456 0 #3 Postado 8 Dezembro, 2008 Infelizmenti aki naum funfo "/ ps:meu serve eh 8.31 :S Compartilhar este post Link para o post
Daniloz 0 #4 Postado 9 Dezembro, 2008 O tutorial deve estar de acordo com seu distro ~ Tfs 8.22 ou 8.31. Caso não funcione leia com atenção e tente novamente, tenho certeza de que dará tudo certo, boa sorte e obrigado por postar. Compartilhar este post Link para o post
tiaguim 0 #5 Postado 9 Dezembro, 2008 aaakie n funfo..o script deu load certim sem bug nenhum mas da hr do !ranks n aparec nada ='[ oke é? Compartilhar este post Link para o post
Daniloz 0 #6 Postado 9 Dezembro, 2008 #tiaguim, Algo você fez errado, tente vêr se o tutorial é compativel a o seu TFS~The forgotten server, 8.22 ou 8.31. Somente a essas versões são compativeis com o tutorial. Compartilhar este post Link para o post
Deragon 25 #7 Postado 9 Dezembro, 2008 parabens ripper esse codigo foi feito pela equipe do tfs seu ripperzinho edite o topico ou reportarei por rip Compartilhar este post Link para o post
lokodelloko 0 #8 Postado 10 Dezembro, 2008 essa scripter foi feita pela tfs ... ja tem para download junto com os ots. . voce está reportado Compartilhar este post Link para o post
Daniloz 0 #9 Postado 10 Dezembro, 2008 Oooh não diga, grandes bosta até parece que o Nord não sabia disso, tanto que ele aprovou este tópico. Antes de postar não fala besteira. Obs: Estou ensinando a botarem no servidor, não desmereço créditos ao Gesior verdadeiro criador deste script. Compartilhar este post Link para o post
Deragon 25 #10 Postado 11 Dezembro, 2008 cara, todos erram no caso o nord errou em aprovar seu tópico ensinou alguma coisa ? só to vendo voce colocar umas linhas ai pra bota no config.lua e criar um arquivo no talkactions e colocar um script que você só colocou ai então mude os créditos até o fim de hoje ou lhe reportarei por ripping sugestão: bote creditos para script e para seu "tutorial" Compartilhar este post Link para o post
°ºMatheusº° 0 #11 Postado 15 Dezembro, 2008 aqui da: attempt to index global 'luasql' (a nil value) help? Compartilhar este post Link para o post
Deragon 25 #12 Postado 15 Dezembro, 2008 matheus acho q o seu tfs é o 0.3, esse ai soh funciona em 2.7- Compartilhar este post Link para o post
°ºMatheusº° 0 #13 Postado 15 Dezembro, 2008 eh, eh o 0.3....n tem nenhum !ranks pro 0.3 n? Compartilhar este post Link para o post
N1cK777 0 #14 Postado 21 Dezembro, 2008 Mt bom, mas meu server jah veio com esse comando ;D Compartilhar este post Link para o post
gnr 0 #15 Postado 22 Dezembro, 2008 Quem baixa TSF já vem com esse script então não vejo a nescessidado desse tópico. :fist: Compartilhar este post Link para o post
sokaporva 0 #16 Postado 21 Janeiro, 2009 Nao tem um que funcione no darkness.s3db ? Compartilhar este post Link para o post
ricardinho1039 0 #17 Postado 21 Janeiro, 2009 Agora sim, perfeito Compartilhar este post Link para o post
sokaporva 0 #18 Postado 29 Janeiro, 2009 No meu TFS eu ele buga o SQL... Editei o script e dexei apenas com Rank de lvl.. ta 99% ele da um erro no Pront do OT mas nada de grave... Sabe me dizer se nao tem alguma atualizacao q de para arrumar isso ? Compartilhar este post Link para o post
Amax 0 #19 Postado 31 Janeiro, 2009 Fraglist para fazer um rank de quem mato + no server n tem como nao? Compartilhar este post Link para o post