HE
poketibia

[Encerrado] [PEDIDO] Ao matar tal monstro recebe item na bag!

Por HenrikDiamond, 30 de mar. de 2014 em Tópicos Sem Resposta

ajuda
porfavor
resolvido
tibia
script
otserv
25
7.6k
HenrikDiamondH
30 de março de 2014 às 12:58

Olá amigoos! Gostaria desse script pro meu poketibia 2.9 versao do slicer, Seria um Script (creio que é uma creatureevent) que toda vez que o player matar tal pokemon Shiny, recebesse uma Shiny Stone na Bag! Shiny Stone = 11454!

 

Espero que me ajudem

TechrlzT
30 de março de 2014 às 15:02

Para isso você vai precissar utilizar a função onKill

HenrikDiamondH
30 de março de 2014 às 15:26

Pois é, eu imaginei isso. Mas nao tenho muita experiencia com scripts. Mas eu só de tanto editar fica um pouco na cabeça..

Aff to precisando muito disso =(

TechrlzT
30 de março de 2014 às 15:32

Posta o xml de algum pokemon que você queira que isso aconteça para eu te mostrar como fica.

HenrikDiamondH
30 de março de 2014 às 15:38

Aki \/

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Shiny Tropius" nameDescription="a shiny tropius" race="grass" experience="0" speed="160" manacost="0">
<health now="40" max="40"/>
<look type="1504" head="90" body="105" legs="95" feet="113" corpse="12680"/>
<targetchange interval="10000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="1"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag passive="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag canpushcreatures="0"/>
<flag targetdistance="1"/>
<flag staticattack="90"/>
<flag runonhealth="0"/>
<flag hungerdelay="15"/>
</flags>
<attacks>
<attack name="melee" interval="2000" chance="100" range="1" min="-35" max="-60"/>
<attack name="Quick Attack" interval="2852" chance="29" range="1"/>
<attack name="Razor Leaf" interval="2758" chance="30" range="4"/>
<attack name="Slash" interval="2993" chance="28" range="6"/>
<attack name="Vine Whip" interval="2711" chance="30" range="1"/>
<attack name="Headbutt" interval="3557" chance="25" range="4"/>
<attack name="Leech Seed" interval="4779" chance="17" range="6"/>
<attack name="Bullet Seed" interval="5766" chance="18" range="6"/>
<attack name="Solar Beam" interval="4497" chance="21" range="6"/>
</attacks>
<defenses armor="0" defense="0">
</defenses>
<voices interval="5000" chance="10">
<voice sentence="Trooo!"/>
<voice sentence="PIUSS!"/>
<voice sentence="TROPIUS!"/>
</voices>
<loot>
<item id="12163" chance="1000" countmax="50"/>
<item id="11454" chance="1000" count="1" countmax="3"/>
<item id="12155" chance="5000" count="1" countmax="1"/>
<item id="12153" chance="5000" count="1" countmax="1"/>
<item id="12779" chance="50" countmax="50"/>
<item id="12778" chance="25" countmax="50"/>
<item id="12785" chance="5" countmax="50"/>
</loot>
<script>
<event name="Spawn"/>
</script>
</monster>

 

 

TechrlzT
30 de março de 2014 às 15:44

Monstro:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Shiny Tropius" nameDescription="a shiny tropius" race="grass" experience="0" speed="160" manacost="0">
  <health now="40" max="40"/>
  <look type="1504" head="90" body="105" legs="95" feet="113" corpse="12680"/>
<targetchange interval="10000" chance="0"/>
<strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="1"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag passive="1"/>
    <flag illusionable="1"/>
    <flag convinceable="1"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="0"/>
   <flag hungerdelay="15"/>
</flags>
  <attacks>
   <attack name="melee" interval="2000" chance="100" range="1" min="-35" max="-60"/> 
        <attack name="Quick Attack" interval="2852" chance="29" range="1"/>
        <attack name="Razor Leaf" interval="2758" chance="30" range="4"/>
        <attack name="Slash" interval="2993" chance="28" range="6"/>
        <attack name="Vine Whip" interval="2711" chance="30" range="1"/>
        <attack name="Headbutt" interval="3557" chance="25" range="4"/>
        <attack name="Leech Seed" interval="4779" chance="17" range="6"/>
        <attack name="Bullet Seed" interval="5766" chance="18" range="6"/>
        <attack name="Solar Beam" interval="4497" chance="21" range="6"/>
  </attacks>
  <defenses armor="0" defense="0">
  </defenses>
  <voices interval="5000" chance="10">
<voice sentence="Trooo!"/>
<voice sentence="PIUSS!"/>
<voice sentence="TROPIUS!"/>
  </voices>
  <loot>
        <item id="12163" chance="1000" countmax="50"/>
        <item id="11454" chance="1000" count="1" countmax="3"/>
        <item id="12155" chance="5000" count="1" countmax="1"/>
        <item id="12153" chance="5000" count="1" countmax="1"/>
      <item id="12779" chance="50" countmax="50"/>
  <item id="12778" chance="25" countmax="50"/>
  <item id="12785" chance="5" countmax="50"/>
  </loot>
<script>
<event name="Spawn"/>
<event name="ItemShiny"/>
</script>
</monster>

[/code]

 

 

Creaturescripts:


<event type="kill" name="ItemShiny" event="script" value="ItemShiny.lua"/>

ItemShiny.lua:

function onKill(cid, target, damage, flags)
doPlayerAddItem(uid, 11454)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Você acabou de ganhar uma Shiny Stone)
end

Ache o login.lua e registre o evento:

registerCreatureEvent(cid, "ItemShiny")

Editado Março 30 por Techrlz

HenrikDiamondH
30 de março de 2014 às 16:18

Parece q vai dar certinho mas ta dando erro na distro:

 

[30/03/2014 16:17:17] Reloaded creature events.
[30/03/2014 16:17:36] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/ItemShiny.lua:3: ')' expected near 'acabou'
[30/03/2014 16:17:36] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/ItemShiny.lua)
[30/03/2014 16:17:36] data/creaturescripts/scripts/ItemShiny.lua:3: ')' expected near 'acabou'

 

--Edit

 

Retirei a mensagem e parou de dar erro. Mas ai quando o poke vai pra morrer, ele fica la parado sem vida e nao para de aparecer isso aki la

 

 

[30/03/2014 16:20:41] [Error - CreatureScript Interface]
[30/03/2014 16:20:41] data/creaturescripts/scripts/ItemShiny.lua:onKill
[30/03/2014 16:20:41] Description:
[30/03/2014 16:20:41] (luaDoPlayerAddItem) Player not found

Editado Março 30 por HenrikDiamond

TechrlzT
31 de março de 2014 às 12:54

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, Você acabou de ganhar uma Shiny Stone)

 

por

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acabou de ganhar uma Shiny Stone")
HenrikDiamondH
31 de março de 2014 às 13:03

Mas quando o pokemon vai pra morrer, fica dando um erro que nao acaba mais..

 

\/

[30/03/2014 16:20:41] [Error - CreatureScript Interface]
[30/03/2014 16:20:41] data/creaturescripts/scripts/ItemShiny.lua:onKill
[30/03/2014 16:20:41] Description:
[30/03/2014 16:20:41] (luaDoPlayerAddItem) Player not found

TechrlzT
31 de março de 2014 às 13:29

Porem ao morrer você recebe o item?

HenrikDiamondH
31 de março de 2014 às 13:30

Esse é o problema o pokemon n morre mais, ele fica la sem vida parado

 

E nao recebi a stone nao

Editado Março 31 por HenrikDiamond

TechrlzT
31 de março de 2014 às 13:32

Troque a função por esta:

 

 

doPlayerAddItem(uid, "11454")

 

ou

 

 

doPlayerAddItem(cid, "11454")
HenrikDiamondH
31 de março de 2014 às 13:48

Aff agora to recebendo a stone, mas eu posso matar qualquer pokemon que vo recebendo a stone, e a stone nunca para de chegar, vem chegando infinitamente, e o poke continua nao morrendo!

valakasV
31 de março de 2014 às 14:55

Se eu fosse você nem faria isso isso faz dar lag no servidor a não ser que o desempenho do servidor seja bem Daora, caso contrario nem vira

SmiXS
31 de março de 2014 às 15:00

local pokes = {"Shiny Rattata", "Shiny Alakazam"}

function onKill(cid, target, damage, flags)

if isInArray(pokes, getCreatureName(target)) then

doPlayerAddItem(cid, 11454, 1)

doPlayerSendTextMessage(cid, 27, Você acabou de ganhar uma Shiny Stone)

end

end

 

 

 

Troca o teu script por este ai.