exorcist 6 Postado Agosto 9, 2012 Share Postado Agosto 9, 2012 (editado) 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, 2012 por neero102 Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/ Compartilhar em outros sites More sharing options...
0 Mulizeu 86 Postado Agosto 10, 2012 Share Postado Agosto 10, 2012 (editado) function onKill(cid, target, lastHitKiller) if isPlayer(target) == TRUE and isCreature(lastHitKiller) then doSetCreatureDropLoot(cid, false) return TRUE end end Editado Agosto 10, 2012 por mulizeu Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1313872 Compartilhar em outros sites More sharing options...
0 exorcist 6 Postado Agosto 10, 2012 Autor Share Postado Agosto 10, 2012 Desculpe mais não funciono Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1313974 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 10, 2012 Share Postado Agosto 10, 2012 (editado) 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, 2012 por LuckOake Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314312 Compartilhar em outros sites More sharing options...
0 Piabeta Kun 359 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 (editado) 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, 2012 por PiabetaMan01 Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314563 Compartilhar em outros sites More sharing options...
0 exorcist 6 Postado Agosto 11, 2012 Autor Share Postado Agosto 11, 2012 obrigado LuckOake vou testas aqui se der eu te reputo Ainda não funciona kk mais se ajuda o meu server é 8.60 Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314615 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 @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. Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314675 Compartilhar em outros sites More sharing options...
0 Oneshot 732 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 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. Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314681 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 @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. Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314703 Compartilhar em outros sites More sharing options...
0 Oneshot 732 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 (editado) 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, 2012 por Oneshot Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314790 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 @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í? Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314796 Compartilhar em outros sites More sharing options...
0 Oneshot 732 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 (editado) 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, 2012 por Oneshot Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314801 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 Hm... Ok, entendi. Obrigado, REP + pela explicação. Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1314814 Compartilhar em outros sites More sharing options...
0 exorcist 6 Postado Agosto 12, 2012 Autor Share Postado Agosto 12, 2012 (editado) 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, 2012 por neero102 Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1315401 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Agosto 12, 2012 Share Postado Agosto 12, 2012 @neero102 Deu algum erro no distro? Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1315606 Compartilhar em outros sites More sharing options...
0 Skymagnum 234 Postado Agosto 13, 2012 Share Postado Agosto 13, 2012 Tenta esse function onDeath(cid, deathList) if isMonster(deathList[1]) then doCreatureSetDropLoot(cid, false) end return true end Link para o comentário https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/#findComment-1315875 Compartilhar em outros sites More sharing options...
Pergunta
exorcist 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 por neero102Link para o comentário
https://xtibia.com/forum/topic/191677-script-de-not-lose-loot/Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados