Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido][ tfs 1.3] Anunciar para todos um boss que morreu e quem matou


Ir para solução Resolvido por L3K0T,

Posts Recomendados

5 minutos atrás, L3K0T disse:

function onDeath(cid, corpse, killer)

 local monstName = "Diablo"
 local target = getCreatureTarget(cid)

 if isMonster(cid) then
 doBroadcastMessage("O Jogador "..getPlayerName(killer[1]).." matou o boss Diablo!")
 end
 
  return TRUE
end

 

tag


<event type="death" name="teste"  script="teste.lua"/>

 

monster.xml:


<script> 
 <event name="teste"/> 
</script>

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/custom/teste.lua:onDeath
data/creaturescripts/scripts/custom/teste.lua:7: attempt to concatenate a boolean value
stack traceback:
        [C]: in function '__concat'
        data/creaturescripts/scripts/custom/teste.lua:7: in function <data/creaturescripts/scripts/custom/teste.lua:1>

 

Link para o post
Compartilhar em outros sites
  • Moderador
function onKill(cid, target, lastHit)

	if isPlayer(target) == true then
	Game.broadcastMessage("[".. getCreatureName(isMonster(cid)) .."] acabou de matar o [" .. getCreatureName(target) .. "]", MESSAGE_EVENT_ADVANCE)
	end 
	
	return true
end

tag

<event type="kill" name="teste" script="teste.lua"/>

register

 

player:registerEvent("teste")

só testa e ve no que da

 

 

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

nao deu nenhum erro no console mas tambem nao apareceu  nada na tela, vou mandar pra vc um que eu consegui fazer so que so esta faltando colocar o nome do player, ele esta soltando o nome do monstro

ex: 17:10 O Jogador Diablo matou o boss Diablo!


 

function onDeath(cid, target)
		 broadcastMessage("O Jogador "..getCreatureName(cid).. " matou o boss Diablo!", MESSAGE_EVENT_ADVANCE)
     return true
end

 

Link para o post
Compartilhar em outros sites
  • Moderador
local boss = {"Diablo"}

function onDeath(cid, target)

if isInArray(boss, getCreatureName(target)) then
		 broadcastMessage("O Jogador "..getCreatureName(isMonster(cid)).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
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
  • Moderador
local boss = {"Diablo"}

function onDeath(cid, target)

if isInArray(boss, getCreatureName(target)) then
  broadcastMessage("O Jogador "..getCreatureName(cid).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
end
 
     return true
end

não desiste não, registra o evento certinho

 

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 minutos atrás, L3K0T disse:

local boss = {"Diablo"}

function onDeath(cid, target, lastHit)

if isInArray(boss, getCreatureName(target)) then
  broadcastMessage("O Jogador "..getCreatureName(cid).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
end
 
     return true
end

não desiste não, registra o evento certinho

pior que já esta registrado

Screenshot_2.png

Link para o post
Compartilhar em outros sites
  • Moderador
local boss = {"Diablo"}

function onKill(cid, target, lastHit)

if isInArray(boss, getCreatureName(target)) then
	broadcastMessage("O Jogador "..getCreatureName(isMonster(cid)).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
end 
	
	return true
end

tag

<event type="kill" name="teste" script="teste.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

não foi deu a mesma coisa, não da erro no console e nao sai msg
eu uso um script nele também que ao matar o diablo ele da uma storage, e quando mata ele solta uma mensagem em creaturesay sera que isso implica em algo?

 

Screenshot_3.png

Link para o post
Compartilhar em outros sites
  • Moderador
local boss = {"Diablo"}

function onKill(cid, target, lastHit)

	broadcastMessage("teste")

	return true
end

testa assim e ve se aparece algo

 

tag:

 

<event script="teste.lua" name="teste" type="kill"/>

 

 

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 minutos atrás, L3K0T disse:

local boss = {"Diablo"}

function onKill(cid, target, lastHit)

	broadcastMessage("teste")

	return true
end

testa assim e ve se aparece algo

 

tag:

 


<event script="teste.lua" name="teste" type="kill"/>

 

Nada

Link para o post
Compartilhar em outros sites
  • Moderador
function onDeath(cid, target)

		 broadcastMessage("teste", MESSAGE_EVENT_ADVANCE)
		 
     return true
end
<event script="teste.lua" name="teste" type="death"/>

diablo.xml

 

    <script>
        <event name="teste" />
    </script>

 

 

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 minutos atrás, L3K0T disse:

function onDeath(cid, target)

		 broadcastMessage("teste", MESSAGE_EVENT_ADVANCE)
		 
     return true
end

<event script="teste.lua" name="teste" type="death"/>

diablo.xml

 


    <script>
        <event name="teste" />
    </script>

 

assim foi

Link para o post
Compartilhar em outros sites
  • Moderador
local boss = {"Diablo"}

function onDeath(cid, target)

     if isInArray(boss, getCreatureName(target)) then
		 broadcastMessage("O Jogador "..getCreatureName(cid).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
		 
     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 minutos atrás, L3K0T disse:

local boss = {"Diablo"}

function onDeath(cid, target)

     if isInArray(boss, getCreatureName(target)) then
		 broadcastMessage("O Jogador "..getCreatureName(cid).. " matou o boss " .. getCreatureName(target) .. "! ", MESSAGE_EVENT_ADVANCE)
		 
     return true
end

 

Não deu erro, e não apareceu msg

Link para o post
Compartilhar em outros sites
  • Moderador

então pelo que vi precisa ser um onKill em vez de onDeath deixa eu pensar um pouco aqui, faz assim apaga todos os script que foi testado ai até as tag e registro pra nos tentar com onKill

 

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
  • Moderador
  • Moderador
  • Solução

resolvido @Faysal ^^ desculpe a demora tive que dar uma estudada rapidinha pra pegar o jeito novamente rsrs ^^ 

 

script.lua

function onDeath(monster, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified)    

    local monstro = "Diablo"
	
    if monster:getName() == monstro then
	
	   Game.broadcastMessage("O Jogador "..killer:getName().." matou o Boss " ..monster:getName().. "! ")
	   
     end

    return true
end

 

tag

<event type="death" name="teste" script="teste.lua"/>

 

xml do monstro

<script>
        <event name="teste" />
</script>

 

 

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

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