Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Pessoal Porfavor eu criei 1 serv e fiz 2 city uma o town 1 aonde nasce e o 2 town 4 Queria saber tem como vcs me ajuda para fazer 1 rank so para quem é do town 4 Porfavor URGENTE..

Link para o post
Compartilhar em outros sites
53 minutos atrás, bibioliveira disse:

Pessoal Porfavor eu criei 1 serv e fiz 2 city uma o town 1 aonde nasce e o 2 town 4 Queria saber tem como vcs me ajuda para fazer 1 rank so para quem é do town 4 Porfavor URGENTE..

Mande seu !rank ou fale qual servidor você usa.

É dificil adivinhar qual versão e distro para fazer o script.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

function getPlayerNameByGUID2(n)   
        local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";")   
        if c:getID() == -1 then   
                return "SQL_ERROR["..n.."]"   
        end   
                return c:getDataString("name")   
        end   
   
function onSay(cid, words, param)   
        local max = 100   
        local letters_to_next = 20   
   
local skills = {   
        ['fist'] = 0,   
        ['club'] = 1,   
        ['sword'] = 2,   
        ['axe'] = 3,   
        ['distance'] = 4,   
        ['shielding'] = 5,   
        ['fishing'] = 6,   
        ['dist'] = 4,   
        ['shield'] = 5,   
        ['fish'] = 6,   
}   
        local name_now   
        local name = "Highscore for level\n"   
        local rkn = 0   
        local no_break = 0   
                param = string.lower(param)   
                dofile('config.lua')   
    if param == "" or param == "level" and ( param ~= "magic" and param == "ml") and skills[param] == nil then   
                name = name.."\n"   
                name = name.."Rank Level - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT 0,"..(max)..";")   
        repeat   
                no_break = no_break +1   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("level") .."  -  "..name_now..space.." ".."\n"    
        if no_break >= 20 then   
        break   
        end   
        until v:next() == false   
   
        elseif param == "magic" or param == "ml" then   
                name = name.."\n"   
                name = name.."Rank Magic - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `maglevel` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("maglevel").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "mana" or param == "MANA" then   
                name = name.."\n"   
                name = name.."Rank Mana - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `manamax` FROM `players` WHERE `group_id` <= 2 ORDER BY `manamax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("manamax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "health" or param == "hp" then   
                name = name.."\n"   
                name = name.."Rank Health - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `healthmax` FROM `players` WHERE `group_id` <= 2 ORDER BY `healthmax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("healthmax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false  
           
  
  
    elseif param == "resets" then   
        name = name.."Rank Resets - Nome do Jogador\n"   
    local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";")   
    local kk = 0   
   
    repeat   
    if kk == max or v:getID() == -1 then   
    break   
    end   
        kk = kk+1   
        name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
        space = ""   
    for i=1, letters_to_next-l do   
        space = space.." "   
    end   
    if name_now == nil then   
        name_now = 'sql error['..v:getDataInt("player_id")..']'   
    end   
        name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." ".." ".."".."\n"    
    until v:next() == false   
   
        elseif skills[param] ~= nil then   
                name = name.."\n"   
                name = name.."Rank "..param.." fighting - Nome do Jogador\n"   
        local v = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skills[param].." ORDER BY `value` DESC;")   
        local kk = 0   
   
        repeat   
        if kk == max or v:getID() == -1 then   
        break   
        end   
                kk = kk+1   
                name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
        if name_now == nil then   
                name_now = 'sql error['..v:getDataInt("player_id")..']'   
        end   
                name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." \n"   
        until v:next() == false   
        end   
        if name ~= "Highscore\n" then    
                 doShowTextDialog(cid, 6500, name)   
        end   
   
        return true   
end

1 hora atrás, DukeeH disse:

Mande seu !rank ou fale qual servidor você usa.

É dificil adivinhar qual versão e distro para fazer o script.

 

1 hora atrás, DukeeH disse:

Mande seu !rank ou fale qual servidor você usa.

É dificil adivinhar qual versão e distro para fazer o script.

function getPlayerNameByGUID2(n)   
        local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";")   
        if c:getID() == -1 then   
                return "SQL_ERROR["..n.."]"   
        end   
                return c:getDataString("name")   
        end   
   
function onSay(cid, words, param)   
        local max = 100   
        local letters_to_next = 20   
   
local skills = {   
        ['fist'] = 0,   
        ['club'] = 1,   
        ['sword'] = 2,   
        ['axe'] = 3,   
        ['distance'] = 4,   
        ['shielding'] = 5,   
        ['fishing'] = 6,   
        ['dist'] = 4,   
        ['shield'] = 5,   
        ['fish'] = 6,   
}   
        local name_now   
        local name = "Highscore for level\n"   
        local rkn = 0   
        local no_break = 0   
                param = string.lower(param)   
                dofile('config.lua')   
    if param == "" or param == "level" and ( param ~= "magic" and param == "ml") and skills[param] == nil then   
                name = name.."\n"   
                name = name.."Rank Level - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT 0,"..(max)..";")   
        repeat   
                no_break = no_break +1   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("level") .."  -  "..name_now..space.." ".."\n"    
        if no_break >= 20 then   
        break   
        end   
        until v:next() == false   
   
        elseif param == "magic" or param == "ml" then   
                name = name.."\n"   
                name = name.."Rank Magic - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `maglevel` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("maglevel").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "mana" or param == "MANA" then   
                name = name.."\n"   
                name = name.."Rank Mana - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `manamax` FROM `players` WHERE `group_id` <= 2 ORDER BY `manamax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("manamax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "health" or param == "hp" then   
                name = name.."\n"   
                name = name.."Rank Health - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `healthmax` FROM `players` WHERE `group_id` <= 2 ORDER BY `healthmax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("healthmax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false  
           
  
  
    elseif param == "resets" then   
        name = name.."Rank Resets - Nome do Jogador\n"   
    local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";")   
    local kk = 0   
   
    repeat   
    if kk == max or v:getID() == -1 then   
    break   
    end   
        kk = kk+1   
        name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
        space = ""   
    for i=1, letters_to_next-l do   
        space = space.." "   
    end   
    if name_now == nil then   
        name_now = 'sql error['..v:getDataInt("player_id")..']'   
    end   
        name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." ".." ".."".."\n"    
    until v:next() == false   
   
        elseif skills[param] ~= nil then   
                name = name.."\n"   
                name = name.."Rank "..param.." fighting - Nome do Jogador\n"   
        local v = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skills[param].." ORDER BY `value` DESC;")   
        local kk = 0   
   
        repeat   
        if kk == max or v:getID() == -1 then   
        break   
        end   
                kk = kk+1   
                name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
        if name_now == nil then   
                name_now = 'sql error['..v:getDataInt("player_id")..']'   
        end   
                name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." \n"   
        until v:next() == false   
        end   
        if name ~= "Highscore\n" then    
                 doShowTextDialog(cid, 6500, name)   
        end   
   
        return true   
end

Link para o post
Compartilhar em outros sites

@bibioliveira

Podia ficar um pouco melhor, tipo "!rank 4, sword" mas estou meio sem tempo.

Fiz um comando novo, ai você coloca algo como preferir (!rank2, !ranktown4...)

Cria um novo comando no talkactions.xml e cria o arquivo em scripts e coloca isso:

function getPlayerNameByGUID2(n)   
local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";")   
	if c:getID() == -1 then   
		return "SQL_ERROR["..n.."]"   
	end   
	return c:getDataString("name")   
end   
   
function onSay(cid, words, param)   
        local max = 100   
        local letters_to_next = 20   
   
local skills = {   
	['fist'] = 0,   
	['club'] = 1,   
	['sword'] = 2,   
	['axe'] = 3,   
	['distance'] = 4,   
	['shielding'] = 5,   
	['fishing'] = 6,   
	['dist'] = 4,   
	['shield'] = 5,   
	['fish'] = 6,   
}   
	local name_now   
	local name = "Highscore for level\n"   
	local rkn = 0   
	local no_break = 0   
			param = string.lower(param)   
			dofile('config.lua')   
    if param == "" or param == "level" and ( param ~= "magic" and param == "ml") and skills[param] == nil then   
                name = name.."\n"   
                name = name.."Rank Level - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= 2 AND `town_id` = 4 ORDER BY `experience` DESC LIMIT 0,"..(max)..";")   
        repeat   
                no_break = no_break +1   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("level") .."  -  "..name_now..space.." ".."\n"    
        if no_break >= 20 then   
        break   
        end   
        until v:next() == false   
   
        elseif param == "magic" or param == "ml" then   
                name = name.."\n"   
                name = name.."Rank Magic - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `maglevel` FROM `players` WHERE `group_id` <= 2 AND `town_id` = 4 ORDER BY `maglevel` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("maglevel").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "mana" or param == "MANA" then   
                name = name.."\n"   
                name = name.."Rank Mana - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `manamax` FROM `players` WHERE `group_id` <= 2 AND `town_id` = 4 ORDER BY `manamax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("manamax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false   
  
        elseif param == "health" or param == "hp" then   
                name = name.."\n"   
                name = name.."Rank Health - Nome do Jogador\n"   
        local v = db.getResult("SELECT `name`, `level`, `healthmax` FROM `players` WHERE `group_id` <= 2 AND `town_id` = 4 ORDER BY `healthmax` DESC LIMIT 0,"..(max)..";")   
        repeat   
        if v:getID() == -1 then   
        break   
        end   
                rkn = rkn+1   
                name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
                name = name..rkn..". "..v:getDataInt("healthmax").."  -  "..name_now..space.." ".." ".."".."\n"    
        until v:next() == false  
           
  
  
    elseif param == "resets" then   
        name = name.."Rank Resets - Nome do Jogador\n"   
    local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 AND `player_id` IN (SELECT `id` FROM `players` WHERE `town_id` = 4) ORDER BY `value` DESC LIMIT 0,"..(max)..";")   
    local kk = 0   
   
    repeat   
    if kk == max or v:getID() == -1 then   
    break   
    end   
        kk = kk+1   
        name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
        space = ""   
    for i=1, letters_to_next-l do   
        space = space.." "   
    end   
    if name_now == nil then   
        name_now = 'sql error['..v:getDataInt("player_id")..']'   
    end   
        name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." ".." ".."".."\n"    
    until v:next() == false   
   
        elseif skills[param] ~= nil then   
                name = name.."\n"   
                name = name.."Rank "..param.." fighting - Nome do Jogador\n"   
		local v = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skills[param].." AND `player_id` IN (SELECT `id` FROM `players` WHERE `town_id` = 4)  ORDER BY `value` DESC;" 
        local kk = 0   
   
        repeat   
        if kk == max or v:getID() == -1 then   
        break   
        end   
                kk = kk+1   
                name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))   
                space = ""   
        for i=1, letters_to_next-l do   
                space = space.." "   
        end   
        if name_now == nil then   
                name_now = 'sql error['..v:getDataInt("player_id")..']'   
        end   
                name = name..kk..". "..v:getDataInt("value").."  -  "..name_now..space.." \n"   
        until v:next() == false   
        end   
        if name ~= "Highscore\n" then    
                 doShowTextDialog(cid, 6500, name)   
        end   
   
        return true   
end

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo