Ir para conteúdo

Anunciador De Quem Morre E Quem Matou


951357

Posts Recomendados

Olá XTibianos,

 

Basicamente é isso: Eu vi em um OT um script muito legal.

 

Se o player morrer automaticamente é enviada uma mensagem no BROADCAST para todos os jogadores dizendo quem tinha morrido e quem matou.

O sistema funciona tanto para mortes PvM(Player versus Monster) quanto para PvP (Player versus Player).

 

Vou dar dois exemplos:

 

Juanez tacou uma SD em Pedro e Pedro morreu.

A seguinte mensagem é exibida:

Juanez matou Pedro.

 

Outro exemplo:

 

Laurindo estava caçando Dragons quando de repente ele morre.

A seguinte mensagem é exibida.

Dragon matou Laurindo.

 

 

Me ajudem por favor. =D

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

Poderia falar seu server neh.

 

Testei com monster, falto com player.

No TFS 0.3.4(Crying Damson) faz assim, vai em data\creaturescripts\scripts\playerdeath.lua

 

Depois de:

	if(lastHitKiller ~= FALSE) then
	if(isPlayer(lastHitKiller) == TRUE) then
		hitKillerName = getPlayerGUID(lastHitKiller)
	else
		hitKillerName = getCreatureName(lastHitKiller)
	end

 

Adiciona:

		doBroadcastMessage(" "..getPlayerName(cid).." has been killed by "..hitKillerName..".")

 

Fica assim:

	if(lastHitKiller ~= FALSE) then
	if(isPlayer(lastHitKiller) == TRUE) then
		hitKillerName = getPlayerGUID(lastHitKiller)
	else
		hitKillerName = getCreatureName(lastHitKiller)
	end

	doBroadcastMessage(" "..getPlayerName(cid).." has been killed by "..hitKillerName..".")

 

Qualquer coisa, se seu OT for outro ve se tem a playerdeath.lua ou uma função parecida e avisa aqui.

Link para o comentário
Compartilhar em outros sites

@kydrai

 

Muito obrigado pelo script.

Desculpe-me por não ter postado a versão do meu servidor, porém, minha versão é justamente a do TFS 3.4 (Crying Damson).

 

O script funcionou corretamente em relação à PvM, porém, para que o funcionamento do script seja 100% devemos alterar a seguinte linha:

 

if(lastHitKiller ~= FALSE) then

if(isPlayer(lastHitKiller) == TRUE) then

hitKillerName = getPlayerGUID(lastHitKiller)

else

hitKillerName = getCreatureName(lastHitKiller)

end

 

doBroadcastMessage(""..getPlayerName(cid).." has been killed by "..hitKillerName..".")

 

Para:

 

if(lastHitKiller ~= FALSE) then

if(isPlayer(lastHitKiller) == TRUE) then

hitKillerName = getCreatureName(lastHitKiller)

end

 

doBroadcastMessage(""..getPlayerName(cid).." has been killed by "..hitKillerName..".")

 

Motivo da alteração

 

Da primeira maneira a linha que exibe hitKillerName = getPlayerGUID(lastHitKiller) faz com que ao envés de aparecer o nome do matador, apareça a ID do matador.

 

Altere que o sistema fica perfeito.

 

Obrigado kydrai por disponibilizá-lo para nós, da comunidade XTibiana.

 

Cya ~

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...