Ó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+.
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- Matar Player Tirar Coração, Anunciar No Default
Matar Player Tirar Coração, Anunciar No Default
Por Killua, 28 de set. de 2013 em Globalevents e Spells
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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.
Editado Novembro 9 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 Setembro 28 por NParks
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Grupo: Campones
Registrado: 06/08/12
Posts: 3
Reputação: 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
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Grupo: Artesão
Registrado: 15/11/12
Posts: 124
Reputação: +7
Char no Tibia: 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
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Grupo: Artesão
Registrado: 15/11/12
Posts: 124
Reputação: +7
Char no Tibia: 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
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Grupo: Artesão
Registrado: 15/11/12
Posts: 124
Reputação: +7
Char no Tibia: Xtibia Soul

Ok.. Obrigado ![]()




info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: 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
Editado Janeiro 24 por Killua