Ir para conteúdo
  • Cadastre-se

[PEDIDO] !rank frags & !removeskull


Posts Recomendados

Eae galera do tibiaking , estou precisando de 2 scripts uma é a !rank frags, que aparecerá os maiores matadores do servidor , meu servidor já tem os comandos !rank, !rank magic, !rank sword, !rank distance , !rank club, !rank axe, !rank mana e !rank hp, mais eu queria a !rank frags, alguem pode me ajudar 
 
SCRIPT DOS RANK : 
 

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

E o outro comando que eu queria colocar é para que o player removesse o skull pagando uma certa quantidade em dinheiro , mais sem remover os frags , exemplo : Pego 5 Frags e fico red , ai removo o red mais continuo com os frags e quando pego 10 frags pego red novamente, será que alguem pode me ajudar ? :c

Editado por absoftfgn (veja o histórico de edições)

LONADOVISK ♥

znExesyD.png

 

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServScriptingTutoriais de Scripting"

Para: "OTServSuporte OTServSuporte de Scripts"

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

Frags:

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 == "frags" or param == "kills" then   
                name = name.."\n"   
                name = name.."Rank Frags - Nome do Jogador\n"   
        local v = 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;") 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("frags").."  -  "..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

Voce pode usar o comando:

!rank frags ou !rank kills

 

Imagem:

 

Print_1.gif

 

O script original é do usuário yogo no tópico: [TalkAction] Sistema de Frags

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 ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por Jpminatel
      Estou com os seguintes erros ; e procuro quem poça ajudar ai a eliminar esses 3 erros , erro 1 e 2 acontece qnd um pokemon usa ps   e o erro 3 é nas potions 
      [Error - TalkAction Interface] 
      [30/01/2022 17:04:25] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 17:04:25] Description: 
      [30/01/2022 17:04:25] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 17:04:25] stack traceback:
      [30/01/2022 17:04:25]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      Erro 2 ;
      [30/01/2022 18:08:53] [Error - Spell Interface] 
      [30/01/2022 18:08:53] In a timer event called from: 
      [30/01/2022 18:08:53] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:53] Description: 
      [30/01/2022 18:08:53] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:53] stack traceback:
      [30/01/2022 18:08:53]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:53]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:53]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:08:54] [Error - Spell Interface] 
      [30/01/2022 18:08:54] In a timer event called from: 
      [30/01/2022 18:08:54] data/spells/scripts/ps/Earthquake.lua:onCastSpell
      [30/01/2022 18:08:54] Description: 
      [30/01/2022 18:08:54] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:08:54] stack traceback:
      [30/01/2022 18:08:54]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:08:54]     data/lib/newStatusSyst.lua:844: in function 'doMoveInArea2'
      [30/01/2022 18:08:54]     data/lib/pokemon moves.lua:1355: in function <data/lib/pokemon moves.lua:1351>
      [30/01/2022 18:18:20] [Error - TalkAction Interface] 
      [30/01/2022 18:18:20] data/talkactions/scripts/move1.lua:onSay
      [30/01/2022 18:18:20] Description: 
      [30/01/2022 18:18:20] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:18:20] stack traceback:
      [30/01/2022 18:18:20]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:18:20]     data/lib/newStatusSyst.lua:1119: in function 'doMoveInAreaMulti'
      [30/01/2022 18:18:20]     data/lib/pokemon moves.lua:458: in function 'docastspell'
      [30/01/2022 18:18:20]     data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20>
      Erro 3 ; 
      erro potion 
      [30/01/2022 18:48:35] [Error - Action Interface] 
      [30/01/2022 18:48:35] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:35] Description: 
      [30/01/2022 18:48:35] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:35] stack traceback:
      [30/01/2022 18:48:35]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:35]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
      [30/01/2022 18:48:39] [Error - Action Interface] 
      [30/01/2022 18:48:39] data/actions/scripts/potion.lua:onUse
      [30/01/2022 18:48:39] Description: 
      [30/01/2022 18:48:39] data/lib/some functions.lua:338: attempt to call global 'hasTile' (a nil value)
      [30/01/2022 18:48:39] stack traceback:
      [30/01/2022 18:48:39]     data/lib/some functions.lua:338: in function 'getThingFromPosWithProtect'
      [30/01/2022 18:48:39]     data/actions/scripts/potion.lua:45: in function <data/actions/scripts/potion.lua:43>
       
    • Por Barca Furada
      Boa noite meus caros colegas!
      Preciso de um Help!
       
       
      Quando eu coloco meu itens editados no meu xml e otb, acontece isso com os teleportes, perde todas as propriedades:
       
      No lado direito é sem meu Itemxml
      No lado Esquerdo é com meu Itemxml
       
      Como vcs pode vem ele perde a propriedade de destino!
       
      O arquivo Check File Signatures está desativados!
       
      Quando eu entro no REM com meu Itemxml, ele da essas mensagem de erro:
       
       
       
      Antes de fazer tudo isso eu No item editor, todos itens estava com essa borda vermelha, eu tinha dado reload em todos itens para o cliente OTCv8 conseguir visualizar, no primeiro momento achei que era isso que tinha acontecido para bugar meus teleportes, então eu dei reload em todos itens um por um e deixei o teleport sem dar reload, para ver se era esses o bug! e deu na mesma , quando edito o mapa para colocar novas hunt e cidade ele buga todos teleportes!
       
       
       
       
      No itemxml o teleport está com mesmo id!
       
      alguma alma bondosa para ajudar um colega?
    • Por mishell147
      Então Pessoal o meu site ele da esse error  do video, quando clico em creater character mais se eu clicar no endereço da URL e apertar enter aí me redireciona para página, mais se eu atualizar com F5 não redireciona, E na Database tem certinho os char samples, e tanto que cria normalmente eles.
      20210303_213835.mp4
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo