Ó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+.
- Forums
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- Matar Player Tirar Coração, Anunciar No Default
Matar Player Tirar Coração, Anunciar No Default
By Killua, 28 de set. de 2013 in Globalevents e Spells
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

Ó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.
Edited Novembro 9 by 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.
Edited Setembro 28 by NParks
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

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
info
Group: Campones
Joined: 06/08/12
Posts: 3
Reputation: 0

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!
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

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
info
Group: Artesão
Joined: 15/11/12
Posts: 124
Reputation: +7
Tibia Character: Xtibia Soul

@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 ?
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

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.
info
Group: Artesão
Joined: 15/11/12
Posts: 124
Reputation: +7
Tibia Character: Xtibia Soul

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
info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem

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.
info
Group: Artesão
Joined: 15/11/12
Posts: 124
Reputation: +7
Tibia Character: Xtibia Soul

Ok.. Obrigado ![]()




info
Group: Conde
Joined: 29/04/09
Posts: 904
Reputation: +389
Tibia Character: Jabuti Selvagem
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 endNo creaturescripts.xlm vc coloca essa tag:
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 endNo creaturescripts.xml vc coloca essa tag:
Espero que seja util, ate a proxima
Edited Janeiro 24 by Killua