Ir para conteúdo
  • Cadastre-se

(Resolvido)[RESOLVIDO] Movement de armadura que dá % de vida


Ir para solução Resolvido por FeeTads,

Posts Recomendados

Tenho um set no meu servidor que cada peça me dá 10% de vida máxima, totalizando 40% de vida ao todo, cada peça carrega esse atributo:

 

<attribute key="maxhealthpercent" value="110" />

 

Porém, ao upar de nível a % não se aplica a quantidade de vida que o player ganhou, ex:

 

Player level 1 - 150 + 40% = 210  (Essa é a vida que o player tem estando level 1 e com o set equipado)

Player level 2 - 150 + 160 life por level +40% = 434  (Vida que o player deveria ter ao upar com o set equipado, mas o que acontece é isso)

Player level 2 - 150 + 40% = 210 + 160 = 270 life final

 

Ou seja, primeiro ele soma a vida inicial do player, que no caso é 150 e adiciona a % do set, pra depois adicionar a life por level que a vocação ganha. Teria uma forma de solucionar esse problema? Única forma que pensei foi dando uma espécie de "reload" no player e fazer a checagem nos itens que ele ta usando e atualizar, mas não sei como fazer

 

 

 

 

Editado por ZeeroBR (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
18 horas atrás, ZeeroBR disse:

Tenho um set no meu servidor que cada peça me dá 10% de vida máxima, totalizando 40% de vida ao todo, cada peça carrega esse atributo:

 

<attribute key="maxhealthpercent" value="110" />

 

Porém, ao upar de nível a % não se aplica a quantidade de vida que o player ganhou, ex:

 

Player level 1 - 150 + 40% = 210  (Essa é a vida que o player tem estando level 1 e com o set equipado)

Player level 2 - 150 + 160 life por level +40% = 434  (Vida que o player deveria ter ao upar com o set equipado, mas o que acontece é isso)

Player level 2 - 150 + 40% = 210 + 160 = 270 life final

 

Ou seja, primeiro ele soma a vida inicial do player, que no caso é 150 e adiciona a % do set, pra depois adicionar a life por level que a vocação ganha. Teria uma forma de solucionar esse problema? Única forma que pensei foi dando uma espécie de "reload" no player e fazer a checagem nos itens que ele ta usando e atualizar, mas não sei como fazer

 

 

 

 

já tentou retirar o item e colocar novamente?

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
  • 6 months later...
  • Moderador
  • Solução
Em 10/02/2022 em 16:06, ZeeroBR disse:

Tenho um set no meu servidor que cada peça me dá 10% de vida máxima, totalizando 40% de vida ao todo, cada peça carrega esse atributo:

 vc vai precisar sempre dar um update desses items, indico fazer uma function na LIB com esses itens, uma table, e sempre que o player upar ou mover esse item, dar chamar a function da lib pra atualizar a vida com a %

pois dessa maneira que está ele pega a max health apenas no momento do equip, ele não da um "update" pra checar o health a cada level.

indico vc fazer uma tabela com esses itens na lib tipo
 

function na lib:

function executeItems(cid)
	local tabela = {1111,2222,333,4445,5555,5555,555,9999}
	for i=1, 9 do
    	for j=1, #tabela do
  			if getPlayerSlotItem(cid. i).itemid == tabela[j] then
        		local save = getCreatureMaxHealth(cid)
      			doSetCreatureMaxHealth(cid, (getCreatureMaxHealth(cid) * 1.1))   --1.1 = 110% da vida atual, ou seja, +10%
        		doCreatureAddHealth(cid, (getCreatureMaxHealth(cid) - save))	-- adiciona 10% de vida
      		end
      	end
    end
end


e um function no creatureScripts:

 

function onAdvance(cid, skill, oldLevel, newLevel)
	if(skill == SKILL__EXPERIENCE) then
		return true
	end

	if(skill == SKILL__LEVEL) then
		executeItem(cid)
    doPlayerSave(cid, true)
	end

	return true
end

 

 

tem que testar direitinho pra checar se não vai bugar e ficar add infinitamente, mas de base eh isso.

Link para o post
Compartilhar em outros sites
  • ZeeroBR mudou o título para [RESOLVIDO] Movement de armadura que dá % de vida

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo