mylorc 0 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 (editado) [Resolvido] Olá,galera preciso criar um iten que da skill,alguém pode ajudar? Se tiver algum script poste porfavor,pode ser skill ML ,obrigado. Obs:falo de um item tipo livro,em que você clicka e recebe o skill,e que pode usar uma vez só. Editado Outubro 31, 2013 por mylorc Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/ Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 Vc so tem que adicionar a tag no items.xml e registar no movements.xml <attribute key="skillFist" value="5" /> Fist eh fist fighting e 5 eh o tanto de skill que adiciona pode ser skillSword skillAxe skillClub skillDistance e pra ml <attribute key="magiclevelpoints" value="1" /> Dps registra o item no movements.xml, assim <movevent type="Equip" itemid="2323" slot="head" event="function" value="onEquipItem"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="2323" slot="head" event="function" value="onDeEquipItem"/> no itemid vc coloca o id, no slot coloca onde o item fica, pode ser head, body, legs, hand. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575430 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 23, 2013 Autor Share Postado Outubro 23, 2013 Não,não,falo de um item tipo livro,em que você clicka e recebe o skill,e que pode usar uma vez só. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575439 Compartilhar em outros sites More sharing options...
0 Lumus 254 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 Tenta com esse: function onUse(cid, item, fromPosition, itemEx, toPosition) local mglevel = 10 if doPlayerAddMagLevel(cid, mglevel) then doRemoveItem(cid) doPlayerSendTextMessage(cid, 22, "Você recebeu " .. mglevel .. ".") end return true end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575441 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 23, 2013 Autor Share Postado Outubro 23, 2013 1° ele o player não recebe 10 ml corretamente e 2° o item não some da Bp. Pode corrigir isso? Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575450 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 (editado) Pra sumir da bp, só colocar doRemoveItem(item.uid, 1) no lugar de doRemoveItem(cid) eu não manjo de skills de tibia, e nem conheço muito bem as funções pra adiciona-las, mas se quiser tentar: e n, n testei function onUse(cid, item, fromPosition, itemEx, toPosition) local mglevel = 10 if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "vc já usou o item de ml.") return true end doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, mglevel) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 lvs de ml.") return true end Editado Outubro 23, 2013 por zipter98 Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575453 Compartilhar em outros sites More sharing options...
0 Lumus 254 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 Se vai remover o item, pra que está setando storage? Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575459 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 (editado) Pq ele pode ganhar o item denovo, e tentar usá-lo. E também o cara disse q só quer q possa usar o item 1x. Editado Outubro 23, 2013 por zipter98 Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575460 Compartilhar em outros sites More sharing options...
0 Lumus 254 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 (editado) Aah é esqueci disso kkk'--Topic Tenta assim: function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) if getPlayerStorageValue(cid, 13180) >= 1 then doPlayerSendCancel(cid, "Você já usou este item.") else doRemoveItem(item.uid, 1) doRemoveCreature(cid) db.query("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = "..pid) setPlayerStorageValue(cid, 13180, 1) end return true end Editado Outubro 23, 2013 por Fawz Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575463 Compartilhar em outros sites More sharing options...
0 Alexclusive 687 Postado Outubro 23, 2013 Share Postado Outubro 23, 2013 Vo ti dar um exemplo de um Short que da ml .. Em items.xml : </item><item id="7464" article="a" name="VIP Shorts"> <attribute key="weight" value="150" /> <attribute key="skillDist" value="4" /> <attribute key="skillAxe" value="4" /> <attribute key="skillsword" value="4" /> <attribute key="skillclub" value="4" /> <attribute key="skillfist" value="4" /> <attribute key="magiclevelpoints" value="4" /> <attribute key="description" value="Esse short FAZ a diferenca (+4 de tds os skills)" /> <attribute key="slotType" value="legs" /></item> <attribute key="magiclevelpoints" value="4" /> <-- Aqui voce muda quantos ela vai dar de ml. Ae adicione essa tag em movements.xml : <movevent type="Equip" itemid="7464" slot="legs" event="function" value="onEquipItem"/><movevent type="DeEquip" itemid="7464" slot="legs" event="function" value="onDeEquipItem"/> <!-- VIP SHORTS --> Lembrando que esse foi so um exemplo..Ai voce altera os Id's e Slots! Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1575471 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 27, 2013 Autor Share Postado Outubro 27, 2013 Não resolveu,tem que clicar no item e ganhar 10 de ml e ai o item some da back pack e você fica com 10 lvl de ml. Pode ajudar? Aah é esqueci disso kkk'--Topic Tenta assim: function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) if getPlayerStorageValue(cid, 13180) >= 1 then doPlayerSendCancel(cid, "Você já usou este item.") else doRemoveItem(item.uid, 1) doRemoveCreature(cid) db.query("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = "..pid) setPlayerStorageValue(cid, 13180, 1) end return true end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576442 Compartilhar em outros sites More sharing options...
0 Alexclusive 687 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 "Antes era só um item que da a ml" isso já foi te passado. Aí depois você altera o pedido, fica difícil... Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576463 Compartilhar em outros sites More sharing options...
0 Lumus 254 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 Tenta assim: function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) if getPlayerStorageValue(cid, 13180) >= 1 then doPlayerSendCancel(cid, "Você já usou este item.") else doRemoveItem(item.uid, 1) doPlayerAddMagLevel(cid, 10) setPlayerStorageValue(cid, 13180, 1) end return true end Tem esse aqui do oneshot mas é por tempo: local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SUBID, 101) function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreatureCondition(cid, CONDITION_ATTRIBUTES, 101) then return doPlayerSendCancel(cid, "Você já usou o item, aguarde o efeito acabar.") end doSendMagicEffect(fromPosition, CONST_ME_MAGIC_GREEN) return doAddCondition(cid, condition) end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576471 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 (editado) function onUse(cid, item, fromPosition, itemEx, toPosition) local mglevel = 10 if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "vc já usou o item de ml.") return true end doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, mglevel) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 lvs de ml.") return true end Engraçado é que esse script deveria funcionar. Você registrou no actions.xml? Editado Outubro 27, 2013 por LuckOake Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576508 Compartilhar em outros sites More sharing options...
0 gonorreiaswat 151 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 Bom, pode ser pequenos erros ou source diferentes. Por este script como exemplo: function onUse(cid, item, fromPosition, itemEx, toPosition)local pid = getPlayerGUID(cid) if getPlayerStorageValue(cid, 13180) >= 1 then doPlayerSendCancel(cid, "Você já usou este item.") else doRemoveItem(item.uid, 1)doPlayerAddMagLevel(cid, 10) --- poderia ser assim doPlayerAddMagicLevel(cid, 10) por exemplo.setPlayerStorageValue(cid, 13180, 1)endreturn trueend E este, para ficar infinito, recomendo usar o valor "-1" no tempo. local condition = createConditionObject(CONDITION_ATTRIBUTES)setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) -- com o valor definido para -1, seria tempo infinito.setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10)setConditionParam(condition, CONDITION_PARAM_BUFF, true)setConditionParam(condition, CONDITION_PARAM_SUBID, 101)function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreatureCondition(cid, CONDITION_ATTRIBUTES, 101) then return doPlayerSendCancel(cid, "Você já usou o item, aguarde o efeito acabar.") end doSendMagicEffect(fromPosition, CONST_ME_MAGIC_GREEN) return doAddCondition(cid, condition)end Faça os testes das minhas sugestões, pois estão certo os script, só que recomendo que use o primeiro. Boa sorte. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576514 Compartilhar em outros sites More sharing options...
0 LuckOake 400 Postado Outubro 27, 2013 Share Postado Outubro 27, 2013 Usar condition não resolve, quando o player fizer logout vai sair. O mais certo é usar doPlayerAddMagLevel(cid, amount) ou pela database mesmo, fazendo logout no player e modificando. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/#findComment-1576516 Compartilhar em outros sites More sharing options...
Pergunta
mylorc 0
[Resolvido] Olá,galera preciso criar um iten que da skill,alguém pode ajudar?
Se tiver algum script poste porfavor,pode ser skill ML ,obrigado.
Obs:falo de um item tipo livro,em que você clicka e recebe o skill,e que pode usar uma vez só.
Editado por mylorcLink para o comentário
https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/Compartilhar em outros sites
Top Posters For This Question
17
10
8
6
Popular Days
Out 30
14
Out 23
10
Out 28
8
Out 29
8
Top Posters For This Question
mylorc 17 posts
Killua 10 posts
Lumus 8 posts
zipter98 6 posts
Popular Days
Out 30 2013
14 posts
Out 23 2013
10 posts
Out 28 2013
8 posts
Out 29 2013
8 posts
Popular Posts
Killua
No script que eu passei vc n precisa mudar nada. Vc tem mudar o item que vc vai dar use, o item que esta na tag do actions.xml.
Killua
Reportado para moverem
52 respostass a esta questão
Posts Recomendados