Bom dia, gostaria de um exp ring por %, por exemplo 50%
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.
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!
Este tópico foi movido para Tutoriais e Suporte - Tutoriais de Scripting - Suporte Scripting
DICA
Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.
Pode ser o tutorial completo hahaha, sim id1 para id2 igual um ring normal.
a versão é 0.4
@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.
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!
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
@edukf, sim, 0.5 são os 50% a mais.
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!
@danihcv
ta dando esse erro
@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
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!
@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"/>
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!
@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
Te ajudei?? REP+ e ficamos quites...
Atenciosamente,
Danihcv.
Abraços!