Ir para conteúdo

[ Resolvido ] Ajuda Em Movement


dgprado

Posts Recomendados

Duvidas sanadas item 100% thx all.

 

Bom criei este item inspirado no ring of xp, porem ela nao esta gastando os 60 minutos que possui se alguem poder dar um auxilio ficaria muito grato, aki vai o link do post com todos os detalhes.

 

 

Scripts:

 

movements.xml

 

<movevent type="Equip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
<movevent type="DeEquip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
<movevent type="Equip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/><!-- luva despida-->
<movevent type="DeEquip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/><!-- luva despida-->

 

movements .lua

 

function onEquip(cid, item, slot)
doTransformItem(item.uid, 10309, 1)
doPlayerSendTextMessage(cid, 22, 'Now you have 2x extra experience!')
doPlayerSetExperienceRate(cid, 2)


return TRUE
end

function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 10310, 1)
doPlayerSendTextMessage(cid, 22, 'Extra experience ended.')
doPlayerSetExperienceRate(cid, 1)

 

 

itens.xml

 

<item id="10309" article="a" name="Luva de Akilliz">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Voce pode sentir o poder desta luva."/>
       <attribute key="slotType" value="ring"/>
        <attribute key="decayTo" value="10311"/>
       <attribute key="transformDeEquipTo" value="10310"/>
       <attribute key="duration" value="3600"/>
       <attribute key="showduration" value="1"/>
          </item>
   <item id="10310" article="a" name="Luva de Akilliz">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Dizem os sabios que esta luva pode aumentar seu poder evolutivo quando vestida."/>
       <attribute key="slotType" value="ring"/>
       <attribute key="transformEquipTo" value="10309"/>
       <attribute key="stopduration" value="1"/>
       <attribute key="showduration" value="1"/>
   </item>

   <item id="10311" article="a" name="Luva de Akilliz descarregada">
       <attribute key="weight" value="40"/>
       <attribute key="description" value="Talvez o homem mais forte do mundo possa recarregar este poderoso acessorio."/>
   </item>

 

 

Thx

Editado por dgprado
Link para o comentário
Compartilhar em outros sites

Credo cara seu problema e muito complexo, tenho a vaga impressao de que ninguem ira te ajudar hahhahah, se voce kizesse algo tipo como adaptar um servidor para sqlite algo que assassinasse sua criatividade e seu potencial vc certamente axaria dezenas de serial killers dispostos a te "ajudar", mas nesse caso , nah eskece =p definitivamente ninguem ira contribuir para seu exito, por mais tosco q seja, nah, nos somos maus ;D, e nao adianta ser educado, pois nos nao sabemos o q e educaçao ;x

Link para o comentário
Compartilhar em outros sites

Eu sei porque ocorre esse erro.

você está usando um script pra executar a função onequip e ondeequip.

pra isso o sistema convencional de onequip e ondeequip não é executado porque cabe ao script as informações condicionais do que ocorrerá com tal item.

ou seja você necessita declarar tudo o que for feito com esse item, tudo que ocorrerá tem que ser declarado no script acima.

 

isso quer dizer que pra ele gastar tempo você tem que declarar isso no script se não for declarado acontece isso ae que você postou.

e outra caso declare o tempo de uso do item terá que salvar as informações no item quando ele não for gasto por completo (salvar o tempo restante do item.)

 

complicado?

não.

trabalhoso.

não é só se dedicar um pouco.

Link para o comentário
Compartilhar em outros sites

Mais ou menos o q eu imaginava, muito obrigado por me esclarecer esta duvida, pena que nao sei nada de scripting,talvez alguma alma generoza resolva criar um script para mim hehehehh, mas de qualker forma muito obrigado mais uma vez,se por acaso, algum dia voce nao tiver nada para fazer, e resolver dar uma estudada neste script eu nao ficaria triste xD

 

:positive: Thx :positive:

Link para o comentário
Compartilhar em outros sites

arrumei um tempinho e resolvi te ajudar.

adoro essas novas versões de ots tem muita funções novas e legais.

ta ae o script arrumado.

 

como eu disse no post acima

complicado?

não.

trabalhoso.

não é só se dedicar um pouco.

então arrumei o script pra você.

 

function onEquip(cid, item, slot)

doTransformItem(item.uid, 10309, 1)

doDecayItem(item.uid)

doPlayerSendTextMessage(cid, 22, 'Now you have 2x extra experience!')

doPlayerSetExperienceRate(cid, 2)

return TRUE

end

 

function onDeEquip(cid, item, slot)

doTransformItem(item.uid, 10310, 1)

doPlayerSendTextMessage(cid, 22, 'Extra experience ended.')

doPlayerSetExperienceRate(cid, 1)

return TRUE

end

 

edited:

utiliza no movements.xml apenas isso que vai funcionar perfeitamente.

é desnecessario o uso de todos eles só esses dois ja resolvem.

dessa forma ele não envia duas vezes o mesmo texto.

 

<movevent type="Equip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/>

<movevent type="DeEquip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/>

 

já o level necessario pra usar o ring você tem que declarar dentro do script.lua

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

Aeww mano, muito obrigado mais uma vez e parabens pela sua competencia e principalmente pela sua acessibilidade,o conhecimento egoista faz dos grandes genios simples tolos, e voce se mostra cada vez mais grandioso nao so pelo seu conhecimento mas sim em compartilhar-lo com humildes usuarios como eu.

Quanto a dica de iRockStar nao funcionou deu um erro no console mas valeu pela iniciativa e isso me deu uma idea que axo q podera resolver este problema,

 

Marcryzius testei aki, so com as 2 tags a luva nao equipa,andei observando e pude perceber que todos os rings possuem 2 tags, uma de equip e uma de deequip para o item equipado.

 

Thax all

Editado por dgprado
Link para o comentário
Compartilhar em outros sites

qual dos desses dois é o anel que fica no slot ring?

 

<movevent type="Equip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/>

<movevent type="DeEquip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/>

Link para o comentário
Compartilhar em outros sites

qual dos desses dois é o anel que fica no slot ring?

 

O item que fica no slot ring e o item equipado 10309 a luva brilhando, mas ja consegui resolver todos os problemas.

 

function onEquip(cid, item, slot)
if getPlayerLevel(cid) > 30 then
else
doPlayerSendTextMessage(cid,22,"Somente players de lv 200+ podem usar a luva.")
return FALSE
end
doTransformItem(item.uid, 10309, 1)
doDecayItem(item.uid)
doPlayerSendTextMessage(cid, 22, 'Now you have 2x extra experience!')
doPlayerSetExperienceRate(cid, 2)
return TRUE
end


function onDeEquip(cid, item, slot)
doTransformItem(item.uid, 10310, 1)
doPlayerSendTextMessage(cid, 22, 'Extra experience ended.')
doPlayerSetExperienceRate(cid, 1)
return TRUE
end

 

E o problema das 2 mensagens resolvi criando um segundo script chamado luva2.lua, que seria uma copia do luva.lua porem sem a linha doPlayerSendTextMessage(cid, 22, 'Now you have 2x extra experience!')

 

usando essas tags em movements.xml:

 

<movevent type="Equip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
       <movevent type="DeEquip" itemid="10309" slot="ring" level="200" event="script" value="luva.lua"/><!-- Luva em uso-->
       <movevent type="Equip" itemid="10310" slot="ring" level="200" event="script" value="luva2.lua"/><!-- luva despida-->
       <movevent type="DeEquip" itemid="10310" slot="ring" level="200" event="script" value="luva.lua"/><!-- luva despida-->

 

Valeu a todos pelas dicas :positive:

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...