Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Oi galera, Tudo bem?
Hoje tentando criar um script fiquei com uma dúvida nessa função ->. getHighscoreString(skillId)

 

Ela retorna oque?

Tava pensando em fazer um script que fizesse assim: ao logar consultar os highscore, se o player que estiver logando for o [1] faça tal coisa. ( Faz tempo que nao scripto e esqueci de várias coisas rsrsrs)
Teria fazer pra ele verificar o maior level,level de skill e maglevel direto pesquisando na database ao logar?

ATT LUCAS

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

luascripts.cpp

 

int32_t LuaInterface::luaGetHighscoreString(lua_State* L)
{
    //getHighscoreString(skillId)
    uint16_t skillId = popNumber(L);
    if(skillId <= SKILL__LAST)
        lua_pushstring(L, g_game.getHighscoreString(skillId).c_str());
    else
        lua_pushboolean(L, false);

    return 1;
}

 

game.cpp

 

std::string Game::getHighscoreString(uint16_t skill)
{
    Highscore hs = highscoreStorage[skill];
    std::stringstream ss;
    ss << "Highscore for " << getSkillName(skill) << "\n\nRank Level - Player Name";
    for(uint32_t i = 0; i < hs.size(); ++i)
        ss << "\n" << (i + 1) << ".  " << hs[i].second << "  -  " << hs[i].first;

    ss << "\n\nLast updated on:\n" << std::ctime(&lastHighscoreCheck);
    return ss.str();
}

 

Uma string com o seguinte formato:

 

"Highscore for nome da skill

 

Rank Level - Player Name

1. 100 - Player 1

2. 99 - Player 2

3. 98 - Player 3

 

Last update on: tempo"

 

String acima é um exemplo.

Link para o post
Compartilhar em outros sites

Como posso fazer pra acessar este elemento da string? 1. 100 - Player 1 que no caso é o um e atribuir definições a ele..

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Como posso fazer pra acessar este elemento da string? 1. 100 - Player 1 que no caso é o um e atribuir definições a ele..

 

local highscore_player = string.match(getHighscoreString(skillId), "1. %d+ -- (.-)\n")
Link para o post
Compartilhar em outros sites

Por que assim 

 

str1 = string.match(getHighscoreString(8), "1. %d+ -- (.-)\n")
doShowTextDialog(cid,2529, str1)
 
quando do o comando mostra em branco a aba nao deveria mostrar o nome do primeiro do highscore de level?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

@up

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Seria o level.. então esta retornando nada.. esta retornando em branco.. segue a lista de skills que o highscore retorna..

 

['fist'] = {0},
 
['club'] = {1},
['sword'] = {2},
['axe'] = {3},
['distance'] = {4},
['shield'] = {5},
['fish'] = {6},
['magic'] = {7},
['level'] = {8},
 
tirei isso do próprio sistema de ranks dos servidores atuais, mas enfim... 
 
Estou tentando criar um script assim... ao logar verifica o highscores.. se o player que logou for o 1 do highscores ele ganha um evento(vai fica aparecendo tipo Magic em cima dele a cada 10s) , porem ao buscar desse jeito que tu falou em pesquisar a string( que achava que iria funcionar, já que nao tenho total dominio sobre a sintaxe de lua), pra fazer isso preciso que ele retorne apenas o nome do primeiro .... Alguma sugestão alguem?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Seria o level.. então esta retornando nada.. esta retornando em branco.. segue a lista de skills que o highscore retorna..

 

['fist'] = {0},

 

['club'] = {1},

['sword'] = {2},

['axe'] = {3},

['distance'] = {4},

['shield'] = {5},

['fish'] = {6},

['magic'] = {7},

['level'] = {8},

 

tirei isso do próprio sistema de ranks dos servidores atuais, mas enfim... 

 

Estou tentando criar um script assim... ao logar verifica o highscores.. se o player que logou for o 1 do highscores ele ganha um evento(vai fica aparecendo tipo Magic em cima dele a cada 10s) , porem ao buscar desse jeito que tu falou em pesquisar a string( que achava que iria funcionar, já que nao tenho total dominio sobre a sintaxe de lua), pra fazer isso preciso que ele retorne apenas o nome do primeiro .... Alguma sugestão alguem?

No servidor de teste existe um player registrado que não possui acesso de GM, CM ou God? Teste para as outras skills.

Link para o post
Compartilhar em outros sites

Testei com todas as skills.. E retorna apenas nada... Quais os comandos em lua para procurar um certo termo em uma string ou so possui esse?
ou há uma outra maneira de obter oque eu estou tentando fazer?? Pensei pela database.. Mas database só guarda level e maglevel... já as as skills so guarda o avanço delas e não a quantidade.

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Dar print(getHighscoreString(1)) não retorna nada ou o padrão que eu te passei não retorna nada?

Pode ser por database

db.Query("select name from players order by level desc limit 1;")

Link para o post
Compartilhar em outros sites

Então cria um exemplo pra mim procurar por database o sword por exemplo.. que eu adapto pro resto :D ... aquele padrão nao retorna nada....

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Então cria um exemplo pra mim procurar por database o sword por exemplo.. que eu adapto pro resto :D ... aquele padrão nao retorna nada....

Poste aqui o que a função retornou no seu caso para eu entender em que o padrão está errado.

Link para o post
Compartilhar em outros sites

Absolutamente nada....

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Velho... db.Query("select name from players order by level desc limit 1;")  só da pra usar pro level... quero um que de pra verificar as skills. a db.query eu tinha conseguido.. mas verifica apenas o level...

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

 olha ai man trocando por skill_sword

Adaptando no script do bruno mirvino

 

--[[


Script by Bruno Minervino
Caso for postar, colocar os créditos
]]

local config = {
tempo = 10, --tempo em segundos
mensagem = {
texto = "[sWORD]", --não use mais de 9 caracteres
efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText
},
efeito = 30 --efeito da função doSendMagicEffect
}

--[[ Não mexa em nada abaixo ]]

function onLogin(cid)
query = db.Query("select name from players order by skill_sword desc limit 1;")
if (query:getID() ~= -1) then
name = query:getDataString("name")
if getPlayerName(cid) == name then
TopEffect(cid)
end
end
return TRUE
end

function TopEffect(cid)
if isPlayer(cid) then
doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
doSendMagicEffect(getCreaturePosition(cid), config.efeito)
addEvent(TopEffect, config.tempo*1000, cid)
end
return TRUE
end

 

Obs: ignora erros de mysql .. to fazendo usn sistemas depois vo add o z_ots_comunications lá no mysql rsrsrsrs

Obs2; nÃO TEM COMO CRIAR TIPO UMA TABLE DA DATABASE SKILLS E POR UMA FUNÇÃO ONADVANCED PRA MUDAR LÁ OS LEVEIS.. DAI É MAIS FACIL DE "PEGAR" NA HORA QUE ENTRA...

post-99591-0-23522200-1422108078_thumb.p

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

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

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 Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por Thiagodsw
      Olá galera do Tibia King !
      Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Battle.
       
      deixei para brincarem e verem sistemas, as sources não disponibilizarei nem o site. afinal é um projeto que fiz com carinho e está a venda as sources. Thogo#9713
       
      O que tem de diferente no NTO Battle ? 
       
      Aura System e Wings Healthbar Monster Bar Healthbar vocation Sistema Raridade Shaders Dungeons e Tasks Game Shop Entre outros Veja algumas Imagens !
       
       
      O que tem nesse Pacote de Arquivos NTO Battle? 
       
      Datapack mais recente e completa do servidor. ( compilada pra windows Client Compilado SQL
      ACC GOD - god/god


      QUALQUER MSG NO DISCORD Thogo#9713
      -source client e otserv e site.
       
      DOWNLOAD  &  SCAN


       
      Client:
      https://mega.nz/file/hbgnSDRJ#xQT-qQHWLUV2Dn8jalwMGblCWnmL0_s3rZfqbxO7znw
      Server:
      https://mega.nz/file/sSZXlZ6a#gow-Db6diNVrnnPIH7qyBqP8WmVLFxWy85-yub_f32Y


       
      Scan
      Client
      https://www.virustotal.com/gui/file/86da72135d75d826c2665bb572084c30288eea843c2cfe2f7a405cfe1ea2f59c/detection
      Servidor
      https://www.virustotal.com/gui/file/cfa4d83c8b6c12fa0daf28cefd6762a053aee7245e6be8f5c02594825a2e2c1e?nocache=1
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo