function onKill(cid, target, lastHitKiller) if isPlayer(target) == TRUE and isCreature(lastHitKiller) then doSetCreatureDropLoot(cid, false) return TRUE end end
Script De Not Lose Loot
Por exorcist, 09 de ago. de 2012 em Scripts
info
Grupo: Barão
Registrado: 05/08/10
Posts: 218
Reputação: +86
Gênero: Masculino

Editado Agosto 10 por mulizeu
info
Grupo: Cavaleiro
Registrado: 13/06/11
Posts: 172
Reputação: +6

Desculpe mais não funciono ![]()
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

creaturescripts.xml:
<event type="preparedeath" name="MonsterKill" event="script" value="monsterkill.lua"/>
monsterkill.lua:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if isPlayer(cid) and isMonster(mostDamageKiller) then
doCreatureSetDropLoot(cid, false)
end
return true
end
Adicione isso no final do login.lua:
registerCreatureEvent(cid, "MonsterKill")
Editado Agosto 10 por LuckOake
info
Grupo: Herói
Registrado: 23/12/08
Posts: 2.4k
Reputação: +359
Gênero: Masculino
Char no Tibia: Gordo Warlike

amigo vc poderia adptar esse script e por ele por comando para que o player nao perca apenas loot para players e monstros isso sem usar as blessings?
se sim Agradeço desde já!
Editado Agosto 11 por PiabetaMan01
info
Grupo: Cavaleiro
Registrado: 13/06/11
Posts: 172
Reputação: +6

obrigado
LuckOake vou testas aqui se der eu te reputo
Ainda não funciona kk mais se ajuda o meu server é 8.60
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

@neero102
Pode não estar funcionando pelos seguinte motivo: Você colocou o registerCreatureEvent no lugar errado do login.lua
Ou então, você testou errado. O player não vai perder o loot apenas se foi o mostro que deu mais damage nele.
Na verdade, LuckOake, depende muito da versão do servidor usada. Nos servidores mais atuais, a função onPrepareDeath e a função onDeath retornam uma tabela com todas as criaturas que estavam atacando na hora da execução do evento:
onDeath(cid, corpse, deathList) onPrepareDeath(cid, deathList)
Antigamente elas retornavam dois parâmetros, um que retornava a criatura que causou maior dano e o outro que retornava a criatura que deu o último ataque, como usado em seus scripts.
O erro então pode estar vindo daí.
Um grande abraço.
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

@Oneshot
Bom, eu parcialmente entendi o que você falou, mas tou meio perdido sobre o que devo fazer pra arrumar o script. Se puder dar uma mão, eu agradeço.
Por exemplo,
function onPrepareDeath(cid, deathList) for _, killer in ipairs(deathList) do if isMonster(killer) then doCreatureSetDropLoot(cid, false) break end end return true end
Editado Agosto 11 por Oneshot
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

@neero102
Tenta assim:
function onPrepareDeath(cid, deathList)
for _, killer in ipairs(deathList) do
if isPlayer(cid) and isMonster(killer) then
doCreatureSetDropLoot(cid, false)
break
end
end
return true
end
@Oneshot
Me explica aquele break alí?
O break é uma palavra-chave que para um loop, no caso, o loop causado pelo for ali no script.
Eu usei o for junto com ipairs para percorrer a tabela deathlist retornada pelo creaturescript e quando ele achar um jogador na tabela, eu comando a interrupção da procura por jogadores através do break. Simples assim.
Abraço.
Editado Agosto 11 por Oneshot
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Hm... Ok, entendi. Obrigado, REP + pela explicação.
info
Grupo: Cavaleiro
Registrado: 13/06/11
Posts: 172
Reputação: +6

luck, eu vou testa aqui e se der eu te reputo kk
@Edit
Desculpe mais não funciono kk, esperando uma resposta
putz mano 1000 desculpas, eu esqueci de dizer que não é para perder o aol para monster
Editado Agosto 12 por neero102





info
Grupo: Cavaleiro
Registrado: 13/06/11
Posts: 172
Reputação: +6
Cara se não for pedir muito, eu queria que voces fizesse para min um script que:
Quando o player estivesse SEM aol e morrese para algum monstro, ele não iria perder o loot dele
porem se ele estivesse sem aol e moresse para um PLAYER ele continuaria perdendo o seu loot
Mas se ele estivesse com aol e moresse para um player, não perderia
|-------------------|
por favor só vocês pode salvar minha vida!.
att : neero102
|rep quem conseguir |
Editado Agosto 9 por neero102