Ir para conteúdo
  • Cadastre-se

CreatureScript%2FGlobalEvent%2FMoveMent [TFS 1.x] Ganhar premium points ao atingir certo level


Posts Recomendados

INFORMAÇÕES
  • TFS 1.0+
  • Funcional em Gesior e em Znote AAC.
_____________________________
SCRIPT
creaturescripts.xml
<event type="login" name="register_points_reward" script="points_reward.lua"/>
<event type="advance" name="points_reward" script="points_reward.lua"/>
creaturescripts/points_reward.lua:
--[[
    Award premium points for reaching certain levels
    Only for TFS 1.0+

    config:
        Voce precisa saber onde os premium points estao na database 
        Abaixo estao os valores para Gesior e ZnoteAAC
       
        db_table:             ZnoteAAC: 'znote_accounts'    Gesior: 'accounts'
        db_pointsColumn:     ZnoteAAC: 'points'            Gesior: 'premium_points'
        db_idColumn:         ZnoteAAC: 'account_id'        Gesior: 'id'

        storage:        coloque uma storage que nao foi usada
        messageType:    coloque o tipo de mensagem o player ira receber, por exemplo MESSAGE_STATUS_CONSOLE_BLUE

    rewards:
        Configure a quantidade de points que serao obtidos a cada vez que atingir certo level
        format:    [level] = points
]]

local config = {
    storage = 123, -- coloque uma storage que nao foi usada
    messageType = MESSAGE_STATUS_CONSOLE_BLUE,
    db_table = 'accounts',
    db_pointsColumn = 'premium_points',
    db_idColumn = 'id',
}

local rewards = {
    --[level] = points
    [50] = 1,
    [100] = 5,
    [200] = 10,
}
-- End config

function onAdvance(player, skill, oldLevel, newLevel)
    player = Player(player) -- for TFS 1.0
    if not player then
        return true
    end
    if skill == SKILL_LEVEL then
        if newLevel > player:getStorageValue(config.storage) then
            player:setStorageValue(config.storage, newLevel)
            local points = 0
            for i = oldLevel + 1, newLevel do
                if rewards[i] then
                    points = points + rewards[i]
                    player:sendTextMessage(config.messageType, string.format("Congratulations! You have been awarded %s premium point%s for reaching level %s!", rewards[i], rewards[i] > 1 and "s" or "", i))
                end
            end
            if points > 0 then
                db.asyncQuery("UPDATE `"..config.db_table.."` SET `"..config.db_pointsColumn.."` = `"..config.db_pointsColumn.."` + "..points.." WHERE `"..config.db_idColumn.."` = "..player:getAccountId())
            end
        end
    end
    return true
end

function onLogin(player)
    player = Player(player) -- for TFS 1.0
    if player then
        player:registerEvent("points_reward")
    end   
    return true
end
_____________________________
Créditos
  • forgee
Link para o post
Compartilhar em outros sites
  • 3 weeks later...

Obrigado @Larissa Azhaurnestava querendo um script desse. estava morrendo de preguica de fazer.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

Teria como fazer isso com reset?
Exemplo o player chegou no 350 e precisa resetar
então ele ganha 1 ponto por cada reset dado. 

 

Link para o post
Compartilhar em outros sites
  • 9 months later...

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 Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Silver brown cake. If you are interested in a unique layout, write to me on discord.
       
      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Glacial. If you are interested in a unique layout, write to me on discord.

      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por luanluciano93
      Olá pessoal, hoje vou ensinar como deixar as urls limpas (amigáveis) no Gesior.

      Mas Luan, oque é URL?
      URL vem de Uniform Resource Locator, em português Localizador-Padrão de Recursos, é o vulgo endereço de uma rede, seja internet, ou até mesmo uma intranet. Resumindo é o endereço que você coloca no seu browser.

      exemplo: URL para entrar no TK: http://www.tibiaking.com/forum/

      Como podem ver no exemplo, a estrutura de uma URL é basicamente esse:
      protocolo://dominio-ou-ip/caminho
       
      Mas Luan, para que vou querer limpar as urls do meu site?
      Seguinte, existe um termo que se chama 'boas praticas', que a maioria (não todos)dos desenvolvedores web procuram seguir. A verdade é que a única coisa que altera é o visual, você vai ver as urls, e com elas limpas qualquer leigo consegue entender onde está em um site.

      Mas Luan, oque é realmente uma URL limpa (amigável)?
      Bom, vou usar o próprio site do tibia.com (que é o mesmo jeito do Gesior) como exemplo ... 

      tibia.com/index.php?subtopic=latestnews
      tibia.com/index.php?subtopic=archives
      tibia.com/index.php?subtopic=rules

      E etc ... o tibia.com ainda não fica tão feio, mas existem sites que ficam muito ruim mesmo.

      E se colocássemos um arquivo simples no gesior que alterasse as urls escondendo uma parte delas ... 

      Por exemplo, nos exemplos acima, temos algo em comum depois do domínio, que seria o index.php?subtopic=, e se escondêssemos essa parte? Não ficaria muito melhor?
      tibia.com/latestnews
      tibia.com/archives
      tibia.com/rules

      Apenas olhando no endereço da internet qualquer leigo entenderia onde está facilmente, e é isso que este arquivo faz. bem básico.

      Luan, como eu instalo esse arquivo?
      Usamos o arquivo .htaccess e determinado código nele.

      Basta coloca esse arquivo no diretório do site (pasta www ou htdocs) com o código.

      Para funcionar você terá um pequeno trabalho de alterar todos os 'caminhos' que existem no layout e nas pastas do ot, mas é simples, vá em cada arquivo e aperta Ctrl+F e procure por subtopic e muda o caminho, no caso se tiver o index.php?subtopic=, é só apagar tudo e deixar só que esta depois do =, se não tiver o index.php, só tiver ?subtopic=, apaga essa parte e deixa só o que ta depois do =, simples e fácil, só fazer isso na layout.php e em todas as páginas que tiver no seu site.

      Se você já tem o arquivo .htaccess no diretório do seu site, coloque esse código dentro:
      RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?subtopic=$1 Caso não tenha o arquivo, provavelmente existe um arquivo .htaccess na pasta config do seu site, copie ele e cole no diretório do site, apague o código e coloque o código que eu passei.

      É isso pessoal, espero que tenham gostado. Até a próxima, abração!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo