Ir para conteúdo
  • Cadastre-se

Pedido PEDIDO [creaturescripts] - bonus


Posts Recomendados

Alguem poderia ajudar em script de creaturescripts onde que se o player tiver storage ele ganharia 500 de hp de bonus. e quando o tempo da storage acabesse o bonus de 500 hp saisse. Pf ><

TFS 0.4 8.6

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusDuration = 3600 -- Duração do bônus em segundos (3600 = 1 hora)

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if bonusActive then
        doPlayerAddHealth(cid, 500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end

    local bonusEndTime = getPlayerStorageValue(cid, bonusStorage + 1)

    if bonusEndTime > 0 and bonusEndTime <= os.time() then
        setPlayerStorageValue(cid, bonusStorage, 0)
        setPlayerStorageValue(cid, bonusStorage + 1, 0)
        doPlayerAddHealth(cid, -500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu bônus de 500 HP acabou!")
    end
end

 


<event type="login" name="bonus_hp" script="bonus_hp.lua"/>
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
1 hora atrás, L3K0T disse:

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusDuration = 3600 -- Duração do bônus em segundos (3600 = 1 hora)

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if bonusActive then
        doPlayerAddHealth(cid, 500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end

    local bonusEndTime = getPlayerStorageValue(cid, bonusStorage + 1)

    if bonusEndTime > 0 and bonusEndTime <= os.time() then
        setPlayerStorageValue(cid, bonusStorage, 0)
        setPlayerStorageValue(cid, bonusStorage + 1, 0)
        doPlayerAddHealth(cid, -500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu bônus de 500 HP acabou!")
    end
end

 


<event type="login" name="bonus_hp" script="bonus_hp.lua"/>
 

Irmão e quase isso ai !
mas eu quero sem o tempo, tipo... pq vou associar a storage em outro script. tipo... eu tenho um script q ao clicar o player ganha uma storage, ai ao ganhar essa storage esse script iria le q o player estava com o stage e iria da o bonus e acabar o storage q esta em outro script esse script tiraria o bonus !

Link para o post
Compartilhar em outros sites
  • Sub-Admin

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if not bonusActive then
        doPlayerAddHealth(cid, 500)
        setPlayerStorageValue(cid, bonusStorage, 1)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
Em 24/06/2023 em 02:13, L3K0T disse:

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if not bonusActive then
        doPlayerAddHealth(cid, 500)
        setPlayerStorageValue(cid, bonusStorage, 1)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end
end
 

Opa, botei o script certinho, porem esse script nao da deixando o player logar.

error: 
 

Citar

[17:53:19.957] [Error - CreatureScript Interface]
[17:53:19.958] data/creaturescripts/scripts/Bonus_Vip.lua:onLogin
[17:53:19.959] Description:
[17:53:19.960] data/creaturescripts/scripts/Bonus_Vip.lua:8: attempt to call global 'doPlayerAddHealth' (a nil value)
[17:53:19.961] stack traceback:
[17:53:19.962]  data/creaturescripts/scripts/Bonus_Vip.lua:8: in function <data/creaturescripts/scripts/Bonus_Vip.lua:4>
> Broadcasted message: "[LOGIN]
Account Manager Logou no Server".
[17:53:19.967] Account Manager has logged out.

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
29 minutos atrás, Doidodepeda disse:

Opa, botei o script certinho, porem esse script nao da deixando o player logar.

error: 
 

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if bonusActive then
        doCreatureAddHealth(cid, 500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
1 hora atrás, L3K0T disse:

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus

function onLogin(cid)
    local bonusActive = getPlayerStorageValue(cid, bonusStorage) == 1

    if bonusActive then
        doCreatureAddHealth(cid, 500)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de 500 HP!")
    end
end
 

Sem error, porem n deixa o char logar =[

Link para o post
Compartilhar em outros sites
  • Sub-Admin
3 horas atrás, Doidodepeda disse:

Sem error, porem n deixa o char logar =[

Storage 1000 coloca a q vc for usar no seu sistema, coloquei print screen pra identificar onde está puxando primeiro ao logar.

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    if getPlayerStorageValue(cid, bonusStorage) == 1 then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid))
    end
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
2 horas atrás, L3K0T disse:

Storage 1000 coloca a q vc for usar no seu sistema, coloquei print screen pra identificar onde está puxando primeiro ao logar.

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    if getPlayerStorageValue(cid, bonusStorage) == 1 then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid))
    end
end
 

To ligado, tava colocando  a minha storage, porem a mesma coisa. Esse script nao deixa o char logar !. Aconteceu de novo, e sem error no console.

Link para o post
Compartilhar em outros sites
  • Moderador

Nem li o código do amigo acima, apenas adicionei para poder logar.

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    if getPlayerStorageValue(cid, bonusStorage) == 1 then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid))
    end
  return true
end

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin

return true no final

 

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
   

    if getPlayerStorageValue(cid, bonusStorage) == 1 then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        
    end

    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
6 horas atrás, L3K0T disse:

return true no final

 

 

-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
   

    if getPlayerStorageValue(cid, bonusStorage) == 1 then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        
    end

    return true
end
 

Agora ta logando, porem nao esta dando o bonus (tentei de todas as formas de storage)

Link para o post
Compartilhar em outros sites
  • Sub-Admin

Tente assim 

 

-- Configurações
local bonusStorage = 1000 -- Valor da storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    local storageValue = getPlayerStorageValue(cid, bonusStorage)
    if storageValue >= 1 then
        local previousHP = getCreatureHealth(cid)
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid) .. ". Vida anterior: " .. previousHP)
    end

    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
4 horas atrás, L3K0T disse:

Tente assim 

 

-- Configurações
local bonusStorage = 1000 -- Valor da storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    local storageValue = getPlayerStorageValue(cid, bonusStorage)
    if storageValue >= 1 then
        local previousHP = getCreatureHealth(cid)
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid) .. ". Vida anterior: " .. previousHP)
    end

    return true
end
 

Esse aq loga, e dá o bonus, porem todos que NAO tem a staoge estao ganhando ! o script nao esta obedecendo so quem tem a storage.

Link para o post
Compartilhar em outros sites
  • Sub-Admin

Agora só pega se o player tiver apenas 1 storage, se for 0 ou 2 superior não vai ter o bônus, aquele deixei MAIOR QUE... USE OUTRA STORAGE PRA EVITAR ERROS DO BÔNUS, RESETA AS STORAGES E VERIFIQUE NO BANCO DE DADOS SE ELAS REALMENTE FORAM APAGADAS

 

-- Configurações
local bonusStorage = 1000 -- Valor da storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus

function onLogin(cid)
    print("Player Login: " .. getPlayerName(cid))

    local storageValue = getPlayerStorageValue(cid, bonusStorage)
    if storageValue == 1 then -- Verifica se o valor da storage é igual a 1
        local previousHP = getCreatureHealth(cid)
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
        print("Bônus de HP aplicado para " .. getPlayerName(cid) .. ". Vida anterior: " .. previousHP)
    end

    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
-- Configurações
local bonusStorage = 1000 -- Valor do storage para ativar o bônus
local bonusHP = 500 -- Quantidade de HP do bônus
local storageDuration = 3600 -- Duração da storage em segundos (3600 segundos = 1 hora)

function onLogin(cid)
    local bonusTime = getPlayerStorageValue(cid, bonusStorage)
    if bonusTime > os.time() then
        doCreatureAddHealth(cid, bonusHP)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ganhou um bônus de " .. bonusHP .. " HP!")
    else
        setPlayerStorageValue(cid, bonusStorage, -1) -- Remove a storage se o tempo expirou
    end

    return true
end

nem ainda testei, deve funcionar, apenas alterar o tempo o que vc quiser!

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 LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
    • Por Mateus Robeerto
      Não sei se aqui é a área ou algum local para solicitar a alteração do email antigo... Não lembro mais a senha dele, nem a resposta secreta para acessar. Peço a algum administrador ou moderador para, por favor, alterar o email para o novo.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo