SU

[RESOLVIDO] Mensagem ao morrer

Por Subhe, 06 de ago. de 2013 em Scripts

resolvido
script
18
2.4k
SubheS
06 de agosto de 2013 às 18:30

Olá, boa noite

queria um script que mandase uma mensagem pro server todo

dizendo quem matou tal player e quem morreu pra tal player

 

Ex: João matou José

 

desde já agradeço ><

 

Valendo 2 REP+

MaenilseM
06 de agosto de 2013 às 18:32

vai em data/creaturescripts/scripts copie um arquivo e renomeie para broadcast.lua e cole isso.

function onKill(cid, corpse, deathList) 
if isPlayer(deathList[1]) then 
return true,doBroadcastMessage(""..getCreatureName(cid).. "["  ..getPlayerLevel(cid) .. "] Matou Facil o Player: " ..getCreatureName(deathList[1]) ..  "["  .. getPlayerLevel(deathList[1]) .. "]") 
end 
return doBroadcastMessage(""..getCreatureName(cid).."["     ..  getPlayerLevel(cid) .. "] Matou Facil o Monstro " .. getCreatureName(deathList[1]) .. ".") 
end

adcione isso no login.lua.

 

registerCreatureEvent(cid, "deathBroadcast")

 

agora adcione essa tag no creaturescripts.xml.

 

<event type="kill" name="deathBroadcast" event="script" value="broadcast.lua"/>

Editado Agosto 6 por Maenilse

RoksasR
06 de agosto de 2013 às 18:37

Farei um aqui para você mais legal, vá em data/creaturescripts/scripts, crie um arquivo chamado deathBroad.lua e adicione dentro:

function onKill(cid, target, lastHit)

if not isPlayer(target) or not isPlayer(cid) then
    return true
end

doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] acabou de morrer para o jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."].")
    return true
end

Em login.lua adicione:

registerCreatureEvent(cid, "deathBroad")

E no creaturescripts.xml adicione essa tag:

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

Só reiniciar o server e testar :)

Editado Agosto 6 por Roksas

SubheS
06 de agosto de 2013 às 19:11

não funcionou nenhum :(

mesmo assim mt obrigado

 

alguem ai pode me ajudar ?

RoksasR
06 de agosto de 2013 às 19:15

Você sabe que tem que morrer para um player né '-'

SubheS
06 de agosto de 2013 às 19:25

Você sabe que tem que morrer para um player né '-'

sim, eu fiz isso

RoksasR
06 de agosto de 2013 às 19:41

Editei o meu post, tenta ae.

SubheS
06 de agosto de 2013 às 19:42

Farei um aqui para você mais legal, vá em data/creaturescripts/scripts, crie um arquivo chamado deathBroad.lua e adicione dentro:

function onKill(cid, target, lastHit)

if not isPlayer(target) or not isPlayer(cid) then
    return true
end

doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] acabou de morrer para o jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."].")
    return true
end

Em login.lua adicione:

registerCreatureEvent(cid, "deathBroad")

E no creaturescripts.xml adicione essa tag:

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

Só reiniciar o server e testar :)

Funcionou aqui >< muito obrigado ao 2 ><'

 

Pedido Atendito.

RoksasR
06 de agosto de 2013 às 19:47

Tópico movido para a seção de dúvidas e pedidos resolvidos.

06 de agosto de 2013 às 21:26

Ficou otimo o script, só queria que ao envez de aparecer em Broadcast em vermelho, aparecesse em CONSOLE BLUE, no default em azul, pq é chato, qnd tem war rsrs.

Seria possivel?
REP+

MaenilseM
06 de agosto de 2013 às 21:29

seria possivel sim, adcione esse.

function onKill(cid, target, lastHit)

if not isPlayer(target) or not isPlayer(cid) then
    return true
end

doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] acabou de morrer para o jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."].", 27)
    return true
end

Editado Agosto 6 por Maenilse

06 de agosto de 2013 às 21:41

Perfeito Maenilse

REP+

 

 

~~

 

Outra duvida, alguem consegue colocar pra mostrar o resets alem do level? Ex:

 

Henrique [348] [Reset:8] acabou de morrer para o jogador Tarcisio [380] [Reset:13]

 

Lembrando que meu sistema de reset é esse:

http://www.xtibia.com/forum/topic/138026-advanced-reset-system/

 

VALENDO 2 REP+ QUEM CONSEGUIR ISSO !

MaenilseM
06 de agosto de 2013 às 21:48

tenta ae.

function onKill(cid, target, lastHit)

if not isPlayer(target) or not isPlayer(cid) then
    return true
end

doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] " ..getResets(target) " acabou de morrer para o jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."]." ..getResets(cid).. " , 27)
    return true
end

Editado Agosto 6 por Maenilse

RoksasR
06 de agosto de 2013 às 21:48

Ta aí parceiro:

 

 

function onKill(cid, target, lastHit)

if not isPlayer(target) or not isPlayer(cid) then
    return true
end

doBroadcastMessage(""..getCreatureName(target).."["..getPlayerLevel(target).."] [Resets: "..getResets(cid).."] acabou de morrer para o jogador "..getCreatureName(cid).."["..getPlayerLevel(cid).."] [Resets: "..getResets(cid).."].", 27)
    return true
end
06 de agosto de 2013 às 21:49

Deu isso no distro

[06/08/2013 21:49:05] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/deathbroadcast.lua:7: ')' expected near 'getResets'
[06/08/2013 21:49:05] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/deathbroadcast.lua)
[06/08/2013 21:49:05] data/creaturescripts/scripts/deathbroadcast.lua:7: ')' expected near 'getResets'