KI

Matar Player Tirar Coração, Anunciar No Default

Por Killua, 28 de set. de 2013 em Globalevents e Spells

12
3.6k
KilluaK
28 de setembro de 2013 às 15:02

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 Janeiro 24 por Killua

NParksN
28 de setembro de 2013 às 15:25

Ó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+.

KilluaK
28 de setembro de 2013 às 15:33

Ó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 Novembro 9 por amoeba13

NParksN
28 de setembro de 2013 às 23:07

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 Setembro 28 por NParks

KilluaK
29 de setembro de 2013 às 17:48

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
1 mês depois...
FireflyF
17 de outubro de 2013 às 15:10

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!

KilluaK
20 de outubro de 2013 às 19:57

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
1 mês depois...
wesleybeekW
09 de novembro de 2013 às 13:33

@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 ?

KilluaK
09 de novembro de 2013 às 14:01

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.

wesleybeekW
09 de novembro de 2013 às 17:01

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

KilluaK
09 de novembro de 2013 às 17:13

 

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.

wesleybeekW
09 de novembro de 2013 às 18:38

Ok.. Obrigado :/