Ir para conteúdo
  • 0

[pedido] exp ring por %


edukf

Pergunta

Posts Recomendados

  • 0

Qual a versão da sua distro?
Vc precisa somente do script pro ring? Ou vc tb precisa de um tutorial passo a passo ensinando a instalar o script? O anel vai se transformar de um id1 pra um id2 ao ser equipado?

Esclareça essas dúvidas e se quiser, dê mais detalhes sobre o anel para que possamos te ajudar de forma mais eficiente.

Link para o comentário
Compartilhar em outros sites

  • 0

@edukf, primeiramente vc terá que criar 2 novos itens utilizando alguma ferramenta para tal (recomendo Item Dat Editor). Um item será para qnd o anel não estiver equipado e o outro para qnd o anel estiver equipado (brilhando, ou sei lá, sahusahu)

 

Agora vá no arquivo items.xml (data\items) e adicione o seguinte (atente-se para os id's! coloque os id's dos novos items):

<item id="ID-DO-ANEL-EQUIPADO" article="an" name="experience ring">  <attribute key="weight" value="70" />   <!--peso do anel-->  <attribute key="description" value="You see a boost experience ring." />  <attribute key="slotType" value="ring" />  <attribute key="duration" value="3600" />   <!--duração do anel-->  <attribute key="decayTo" value="0" />  <attribute key="showduration" value="1" />  <attribute key="transformDeEquipTo" value="ID-DO-ANEL-DESEQUIPADO" /></item><item id="ID-DO-ANEL-DESEQUIPADO" article="an" name="experience ring">		<attribute key="weight" value="70" />		<attribute key="slotType" value="ring" />		<attribute key="stopduration" value="1" />		<attribute key="showduration" value="1" />		<attribute key="transformEquipTo" value="ID-DO-ANEL-EQUIPADO" /></item>

*volto a frisar, ñ esqueça de ler tudo e colocar os devidos id's nos locais sinalizados

 

Agora vá no arquivo movements.xml (data\movements) e adicione o seguinte:

<movevent type="Equip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="function" value="onEquipItem"/><movevent type="DeEquip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="Equip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="DeEquip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="function" value="onDeEquipItem"/>

 

Agora crie um arquivo chamado exp_ring.lua dentro da pasta data\movements\scripts e coloque isso dentro do arquivo:

local idAnelDesequipado = ID-DO-ANEL-DESEQUIPADOlocal idAnelEquipado = ID-DO-ANEL-EQUIPADOlocal extraRate = 0.5function onEquip(cid, item, slot)doTransformItem(item.uid, idAnelEquipado)doPlayerSetExtraExpRate(cid, extraRate)return trueendfunction onDeEquip(cid, item, slot)doTransformItem(item.uid, idAnelDesequipado)doPlayerSetExtraExpRate(cid, 0)return trueend

*novamente alerto para atentar aos locais e colocar os devidos id's nos locais indicados

 

Bom, não testei nada, então ñ posso garantir q vai funfar tudo de primeira... sahusahusahu
Diz aí o que deu.

Link para o comentário
Compartilhar em outros sites

  • 0

Blz, imaginei que ia precisar do data editor e ja criei o item hahaha, aqueles 0.5 seria 50% entao?

 

 

E mt obrigado! vc ta sendo o cara

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

  • 0

@edukf, substitua o script por esse:

local idAnelDesequipado = ID-DO-ANEL-DESEQUIPADOlocal idAnelEquipado = ID-DO-ANEL-EQUIPADOlocal extraRate = 1.5function onEquip(cid, item, slot)doTransformItem(item.uid, idAnelEquipado)doPlayerSetRate(cid, SKILL__LEVEL, extraRate*getExperienceStage(getPlayerLevel(cid)))return trueendfunction onDeEquip(cid, item, slot)doTransformItem(item.uid, idAnelDesequipado)doPlayerSetRate(cid, getExperienceStage(getPlayerLevel(cid)))return trueend

 

Link para o comentário
Compartilhar em outros sites

  • 0

@edukf, certo, vamo lá:

Substitua o script por esse:

local idAnelDesequipado = ID-DO-ANEL-DESEQUIPADOlocal idAnelEquipado = ID-DO-ANEL-EQUIPADOlocal extraRate = 1.5function onEquip(cid, item, slot)if isPlayer(cid) thendoTransformItem(item.uid, idAnelEquipado)doPlayerSetRate(cid, SKILL__LEVEL, extraRate*getExperienceStage(getPlayerLevel(cid)))endreturn trueendfunction onDeEquip(cid, item, slot)if isPlayer(cid) thendoTransformItem(item.uid, idAnelDesequipado)doPlayerSetRate(cid, getExperienceStage(getPlayerLevel(cid)))endreturn trueend

 

E em movements.xml remova o que eu pedi pra colocar anteriormente e coloque isso:

<movevent type="Equip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="DeEquip" itemid="ID-DO-ANEL-EQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="Equip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="script" value="exp_ring.lua"/><movevent type="DeEquip" itemid="ID-DO-ANEL-DESEQUIPADO" slot="ring" event="script" value="exp_ring.lua"/>

 

Link para o comentário
Compartilhar em outros sites

  • 0

@edukf, velho... Eu devo ter deficit de atenção... kkkkk

O erro tava na cara... Bastava ler com o minimo de atenção... --'

Bom, mas agr eu msm testei e acredito que funcione 100% aí tb:

Script:

local idAnelDesequipado = ID-DO-ANEL-DESEQUIPADOlocal idAnelEquipado = ID-DO-ANEL-EQUIPADOlocal extraRate = 1.5function onEquip(cid, item, slot)doTransformItem(item.uid, idAnelEquipado)doDecayItem(item.uid)doPlayerSetRate(cid, SKILL__LEVEL, extraRate*getExperienceStage(getPlayerLevel(cid)))return trueendfunction onDeEquip(cid, item, slot)if item.uid ~= 0 thendoTransformItem(item.uid, idAnelDesequipado)endlevel = tonumber(getPlayerLevel(cid))doPlayerSetRate(cid, SKILL__LEVEL, getExperienceStage(level))return trueend

 

Link para o comentário
Compartilhar em outros sites

  • 0

@danihcv

 

Funcionou hahaha, mas não como eu queria

 

eu coloquei  "local extraRate = 0.5" , no caso seria 50% né? mas o monstro ta dando metade da sua exp e não 50% a mais /:

 

 

edit:

 

e ainda ta dando esse erro

VWCPxpZ.png

 

o ot inteiro cai, e bugo tudo o char ta recendo mais exp do que devia tb! parece que acrescentou esses 50% permanente!

enfim ta tudo bugado uahauhauha

 

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...