Ir para conteúdo

Posts Recomendados

Eu vejo muitas pessoas pedindo esses dois scripts, então eu fiz eles e vou postar para facilitar a vida de todo mundo =)

 

Creditos: Killua, antigo amoeba13

 

Matar player e arrancar o coração:

 

 

 

No creaturescripts/scripts cria o arquivo playerheart.lua e e coloca:

function onDeath(cid, corpse, killer)
    if isPlayer(cid) and isPlayer(killer[1]) then
        local aditi = doPlayerAddItem(killer[1], 5943, 1)
        doSetItemSpecialDescription(aditi, "Este coracao pertencia a "..getCreatureName(cid).." que morreu no level "..getPlayerLevel(cid).." e foi arrancado por "..getCreatureName(killer[1]).."")
    end
    return true
end

No creaturescripts.xlm vc coloca essa tag:

<event type="death" name="PlayerHeart" event="script" value="playerheart.lua"/>

 

 

 

Matar o player e avisar para todo mundo no Default:

 

No creaturescripts/scripts vc cria deathcast.lua e coloca


function onKill(cid, target, lastHit)

if isPlayer(target) then
    doBroadcastMessage("O jogador ".. getCreatureName(cid) .." [".. getPlayerLevel(cid) .."]  acabou de matar o noob " .. getCreatureName(target) .. " [".. getPlayerLevel(target) .."]!", MESSAGE_STATUS_CONSOLE_ORANGE) 
end
return TRUE
end

No creaturescripts.xml vc coloca essa tag:

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

 

 

Espero que seja util, ate a proxima

Editado por Killua
Link para o comentário
https://xtibia.com/forum/topic/221838-matar-player-tirar-cora%C3%A7%C3%A3o-anunciar-no-default/
Compartilhar em outros sites

Ótimo script, usarei em meu servidor. Mas teria como você colocar pra ter uma determinada chance de dropar o coração? Tipo 10%. E não toda vez que matar o player? De qualquer modo REP+.

Ótimo script, usarei em meu servidor. Mas teria como você colocar pra ter uma determinada chance de dropar o coração? Tipo 10%. E não toda vez que matar o player? De qualquer modo REP+.

 

Para ter uma chance usa assim:

 

 

@@EDIT -- script funcionando se encontra no post de baixo.

Editado por amoeba13

Usei da forma que falou, porém não funcionou. Coloquei chance 100% e mesmo assim não dropou. E não dá erro algum na distro.

Editado por NParks

Usei da forma que falou, porém não funcionou. Coloquei chance 100% e mesmo assim não dropou. E não dá erro algum na distro.

 

 

Amigo desculpa a demora.

 

Usa desse jeito aqui. eu testei e funcionou.


function onDeath(cid, corpse, killer)
    local chance = 60 -- chance em %
    if isPlayer(cid) and isPlayer(killer[1]) then
        local op = math.random(1, 100)
        if op <= chance and op > 1 then
        local aditi = doPlayerAddItem(killer[1], 5943, 1)
        doSetItemSpecialDescription(aditi, "Este coracao pertencia a "..getCreatureName(cid).." que morreu no level "..getPlayerLevel(cid).." e foi arrancado por "..getCreatureName(killer[1]).."")
    end
end
return true
end
  • 3 weeks later...

Teria como ele só anunciar no Default caso o player arranca-se o coração?

Por exemplo, eu uso o script com a porcentagem, daí caso algum jogador arranque o coração do outro, apareça no default (Mas apenas se arrancar!)

 

O jogador ... matou ... e arrancou seu coração!

Teria como ele só anunciar no Default caso o player arranca-se o coração?

Por exemplo, eu uso o script com a porcentagem, daí caso algum jogador arranque o coração do outro, apareça no default (Mas apenas se arrancar!)

 

O jogador ... matou ... e arrancou seu coração!

 

Aparecer para o server inteiro? Se for:

function onDeath(cid, corpse, killer)
local chance = 60 -- chance em %
if isPlayer(cid) and isPlayer(killer[1]) then
local op = math.random(1, 100)
if op <= chance and op > 1 then
local aditi = doPlayerAddItem(killer[1], 5943, 1)
doSetItemSpecialDescription(aditi, "Este coracao pertencia a "..getCreatureName(cid).." que morreu no level "..getPlayerLevel(cid).." e foi arrancado por "..getCreatureName(killer[1]).."")
doBroadcastMessage("O jogador ".. getCreatureName(cid) .." [".. getPlayerLevel(cid) .."] matou o " .. getCreatureName(target) .. " [".. getPlayerLevel(target) .."] e arrancou seu coracao!", MESSAGE_STATUS_CONSOLE_ORANGE)
end
end
return true
end
  • 3 weeks later...

@amoeba13 Não Funcionou, eu use aquele que esta no Inicio, mas não tinha funcionado e agora tenho este que vc "Modificou" mas mesmo assim eu deixo 100% para dropar Heart, não dropa, e Script

Script:

 

function onDeath(cid, corpse, killer)
local chance = 60 -- chance em %
if isPlayer(cid) and isPlayer(killer[1]) then
local op = math.random(1, 100)
if op <= chance and op > 1 then
local aditi = doPlayerAddItem(killer[1], 5943, 1)
doSetItemSpecialDescription(aditi, "Este coracao pertencia a "..getCreatureName(cid).." que morreu no level "..getPlayerLevel(cid).." e foi arrancado por "..getCreatureName(killer[1]).."")
doBroadcastMessage("O jogador ".. getCreatureName(cid) .." [".. getPlayerLevel(cid) ..] matou o " .. getCreatureName(target) .. " [".. getPlayerLevel(target) ..] e arrancou seu coracao!", MESSAGE_STATUS_CONSOLE_ORANGE)
end
end
return true
end

 

Da Erro na Distro, entao eu usei o 1º mas mesmo assim não dropa.. Pode me Ajudar ?

Os scripts sao feitos pra tfs 0.3.6 e 0.4 e funcionam perfeitamente. Se seu server nao for um desses, nao vai funcionar mesmo.

Os scripts sao feitos pra tfs 0.3.6 e 0.4 e funcionam perfeitamente. Se seu server nao for um desses, nao vai funcionar mesmo.

 

Como eu vou saber se eles são isso /\

o meu é Narutibia 8.54 (é oq eu sei) por me ajudar ? :c

 

Os scripts sao feitos pra tfs 0.3.6 e 0.4 e funcionam perfeitamente. Se seu server nao for um desses, nao vai funcionar mesmo.

 

Como eu vou saber se eles são isso /\

o meu é Narutibia 8.54 (é oq eu sei) por me ajudar ? :c

 

 

 

Eu nunca mexi com servidores derivados, entao nao sei se tem alguma diferenca. Esses scripts foram feitos pra tibia normal, se vc quer adaptar pra um servidor derivado, eh melhor pedir pra alguem que saiba mexer com eles.

 

Abracos.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...