Ir para conteúdo
  • Cadastre-se

Derivado Sempre q moreer nascer com 30% de life [RESOLVIDO]


Posts Recomendados

Fala ai galerinha boa madrugada hehe'

 

Gente estou precisando com que os players de meu servidor ao morrerem eles devam nascer com 30% de sua respectiva vida..

 

 

nao sei se isso é possível fico no aguardo >.<

Editado por caahruano (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

creaturescripts.xml

<event type="PrepareDeath" name="PorcentDeath" event="script" value="porcenthp.lua"/>
<event type="login" name="PorcentLogin" event="script" value="porcenthp.lua"/>

creaturescripts/scripts/porcenthp.lua

function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) then
		setPlayerStorageValue(cid, 329406, 1)
	end
	return true
end

function doPlayerRemoveHealthPercent(cid, percent)
	local health = getCreatureMaxHealth(cid)
	doPlayerRemoveHealth(cid, (health / 100) * percent)
	return TRUE
end

function onLogin(cid)
	registerCreatureEvent(cid, "PorcentDeath")
	if getPlayerStorageValue(cid, 329406) == 1 then
		doRemoveHealthPercent(cid,70)
		setPlayerStorageValue(cid, 329406, 0)
	end
	return true
end

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites

Oi obrigada pela atenção mais nao deu certo não, depois que morre o char nao loga mais ;/

 

ao morrer trava na tela q morreu onde é obrigado a deslogar e relogar, e ai nao loga mais.

 

minha tfs é 0.3.6 caso seja necessario

 

segue a img do erro na distro.

 

percent.png

Editado por caahruano (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) then
		setPlayerStorageValue(cid, 329406, 1)
	end
	return true
end

function doPlayerRemoveHealthPercent(cid, percent)
	local health = getCreatureMaxHealth(cid)
	doPlayerRemoveHealth(cid, (health / 100) * percent)
	return TRUE
end

function onLogin(cid)
	registerCreatureEvent(cid, "PorcentDeath")
	if getPlayerStorageValue(cid, 329406) == 1 then
		doPlayerRemoveHealthPercent(cid,70)
		setPlayerStorageValue(cid, 329406, 0)
	end
	return true
end

 

Eu não sabia da existência dessa função doPlayerRemoveHealth, no meu servidor não tem. Caso no seu não tenha também, tente assim:

function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) then
		setPlayerStorageValue(cid, 329406, 1)
	end
	return true
end

function doPlayerRemoveHealthPercent(cid, percent)
	local health = getCreatureMaxHealth(cid)
	local life = health/100
	local all = life * percent
	doCreatureAddHealth(cid, -all)
	return TRUE
end

function onLogin(cid)
	registerCreatureEvent(cid, "PorcentDeath")
	if getPlayerStorageValue(cid, 329406) == 1 then
		doPlayerRemoveHealthPercent(cid,70)
		setPlayerStorageValue(cid, 329406, 0)
	end
	return true
end

 

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

Excluido HEHE

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

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Link para o post
Compartilhar em outros sites

@Yan Liima, assim vai remover 70 de life.

O erro do script foi esquecer do "Player" ao chamar a função, ele colocou "doRemoveHealthPercent" ao invés de "doPlayerRemoveHealthPercent".

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites

@Talesigorvr ah é verdade, no caso teria que por para remover mais... Daquia pouco dou uma olhada

 

@EDIT

Concerteza o seu dara certo, desculpe. Quando eu tinha visto o seu eu acho que estava errado, mais tu editou e ficou correto. (y)

Eu também não conhecia essa função, tenho uma lista com 1140 funções. Essa concerteza vai entrar pra lista.

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

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Link para o post
Compartilhar em outros sites

Muito obrigada a todos pela atenção.

 

 

Citar

Eu não sabia da existência dessa função doPlayerRemoveHealth, no meu servidor não tem. Caso no seu não tenha também, tente assim:


function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) then
		setPlayerStorageValue(cid, 329406, 1)
	end
	return true
end

function doPlayerRemoveHealthPercent(cid, percent)
	local health = getCreatureMaxHealth(cid)
	local life = health/100
	local all = life * percent
	doCreatureAddHealth(cid, -all)
	return TRUE
end

function onLogin(cid)
	registerCreatureEvent(cid, "PorcentDeath")
	if getPlayerStorageValue(cid, 329406) == 1 then
		doPlayerRemoveHealthPercent(cid,70)
		setPlayerStorageValue(cid, 329406, 0)
	end
	return true
end

 

 

Exatamente com este que funcionou '-'

 

Mt obrigada REP+ pra vc. gostaria de dar REP+ a todos mais como nao da estarei dando para vc q conseguiu solucionar meu problema Ty.

Link para o post
Compartilhar em outros sites

O script é do DukeeH, ele apenas esqueceu uma palavra. ;P

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites
19 horas atrás, Talesigorvr disse:

O script é do DukeeH, ele apenas esqueceu uma palavra. ;P

Obrigado por arrumar e pelos créditos.

Sobre a função, ela não existe, ai você cria uma função e declara em cima de onde for usar, ai ela não precisa estar la nas libs, mas só pode ser usada no script que ela está declarada.

asdukeeh.jpg

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 LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo