DG

[ Resolvido ] Ajuda Em Movement

Por dgprado, 30 de ago. de 2009 em Archived

script
13
1.4k
dgpradoD
30 de agosto de 2009 às 20:10

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 Setembro 6 por dgprado

EdImundoE
03 de setembro de 2009 às 06:44

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

satan666S
03 de setembro de 2009 às 10:33

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.

dgpradoD
03 de setembro de 2009 às 16:37

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:

dgpradoD
04 de setembro de 2009 às 03:51

Marcryzius, me da uma força ae se nao for muito complicado, apenas adicionar requerimento de lv minimo 200 no script plz.

 

Thx

rockstar96R
04 de setembro de 2009 às 12:11

Simplesmente adicione essa condição:

if getPlayerLevel(cid) >= LEVEL then

rubinhobarricheloR
04 de setembro de 2009 às 12:26

dgprado, evite double post's é considerado flood, e você deveria saber disto.

Se não lembra, releia as regras do fórum.

Abraço.

dgpradoD
04 de setembro de 2009 às 14:18

OMG, pura falta de atençao peço desculpas.

satan666S
05 de setembro de 2009 às 16:08

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 Setembro 5 por Marcryzius

dgpradoD
05 de setembro de 2009 às 18:14

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 Setembro 5 por dgprado

satan666S
05 de setembro de 2009 às 21:23

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"/>

dgpradoD
06 de setembro de 2009 às 00:35
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:

DaNDaNrOxXD
06 de setembro de 2009 às 01:26

Problema Resolvido,

:button_cancel: Tópico Fechado