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 zipter98 1102 Postado Outubro 29, 2013 Share Postado Outubro 29, 2013 (editado) 3 tentativas, veja se vai printar o test, e se n funcionar, poste os erros q der no console. /\ melhor prevenir do que remediar, talvez funcione assim, já q de várias de tentativas, nenhuma funcionou function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) local mglv = 10 if getPlayerStorageValue(cid, 15498) >= 1 then return doPlayerSendCancel(cid, "vc já usou o item de ml.") end doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + ".. mglv .." WHERE `id` = ".. pid) print("test") setPlayerStorageValue(cid, 15498, 1) doRemoveItem(item.uid, 1) return true end OU function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 15498) >= 1 then return doPlayerSendCancel(cid, "vc já usou o item de ml.") end doPlayerAddMagLevel(cid, 10) setPlayerStorageValue(cid, 15498, 1) print("test") doRemoveItem(item.uid, 1) return true end OU function onUse(cid, item, fromPosition, itemEx, toPosition) local pid = getPlayerGUID(cid) local mglv = 10 if getPlayerStorageValue(cid, 15498) >= 1 then return doPlayerSendCancel(cid, "vc já usou o item de ml.") end doRemoveCreature(cid, true) db.query("UPDATE `players` SET `maglevel` = `maglevel` + ".. mglv .." WHERE `id` = ".. pid) setPlayerStorageValue(cid, 15498, 1) print("test") doRemoveItem(item.uid, 1) return true end Editado Outubro 29, 2013 por zipter98 Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577144 Compartilhar em outros sites More sharing options...
0 Zaruss 17 Postado Outubro 29, 2013 Share Postado Outubro 29, 2013 (editado) function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddSkill(cid, SKILL__MAGLEVEL, 10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end Nao sei se vai funcionar. Editado Outubro 29, 2013 por Zaruss Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577152 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 29, 2013 Autor Share Postado Outubro 29, 2013 Ele realmente tira o iten e fala a menssagem que deu 10 ml,porém o player não recebe os 10 Magic Level. Sabe resolver? function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddSkill(cid, SKILL__MAGLEVEL, 10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end Nao sei se vai funcionar. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577256 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 29, 2013 Share Postado Outubro 29, 2013 (editado) Post apagado. Editado Outubro 31, 2013 por amoeba13 Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577269 Compartilhar em outros sites More sharing options...
0 gonorreiaswat 151 Postado Outubro 29, 2013 Share Postado Outubro 29, 2013 (editado) Adriano, não faltou um end ae não? Ou é só impressão minha? Faltou sim, copiei e alterei correndo pois estava saindo. Adriano, não faltou um end ae não? Ou é só impressão minha? function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, (getPlayerMagLevel(cid))+10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end @adriano é difícil identar o script? *-* Então né, eu ainda estou aprendendo trabalhar com scripts, e fiz este correndo para sair. Para de ser carente, só estou tentando ajudar aqui no fórum com o que estou aprendendo. @@Tópico. Cara, quando você tenta usar estes scripts, está aparecendo alguma mensagem no Console ou até mesmo a mensagem como se já tivesse usado o item? Pois estamos tentando sempre com a mesma storage e pode ser que algum dos scripts já tenha a adicionado no player e por isto este erro. #palpite. Tente este abaixo. function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11297) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11297, 1) doPlayerAddMagLevel(cid, getPlayerMagLevel(cid) +10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end Boa sorte. Editado Outubro 29, 2013 por Adriano Swatt Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577273 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 (editado) Adriano, não faltou um end ae não? Ou é só impressão minha? Faltou sim, copiei e alterei correndo pois estava saindo. Adriano, não faltou um end ae não? Ou é só impressão minha? function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11296) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11296, 1) doPlayerAddMagLevel(cid, (getPlayerMagLevel(cid))+10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end @adriano é difícil identar o script? *-* Então né, eu ainda estou aprendendo trabalhar com scripts, e fiz este correndo para sair. Para de ser carente, só estou tentando ajudar aqui no fórum com o que estou aprendendo. @@Tópico. Cara, quando você tenta usar estes scripts, está aparecendo alguma mensagem no Console ou até mesmo a mensagem como se já tivesse usado o item? Pois estamos tentando sempre com a mesma storage e pode ser que algum dos scripts já tenha a adicionado no player e por isto este erro. #palpite. Tente este abaixo. function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11297) >= 1 then doPlayerSendCancel(cid, "Voce ja usou este item.") else doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 11297, 1) doPlayerAddMagLevel(cid, getPlayerMagLevel(cid) +10) doPlayerSendTextMessage(cid, 22, "Você recebeu 10 leveis de magic level.") end return true end Boa sorte. Adriano, ctz que ta correto esse doPlayerAddMagLevel(cid, getPlayerMagLevel(cid) +10) ? Pelo jeito ele vai pega o ml do cara, soma 10 e adicionar tudo isso de ml pra ele. @Topic, aproveita que vai tentar com storage diferente e ja faca 4 tentativas, mudando o storage a cada uma. doPlayerAddMagLevel(cid, 10) doPlayerAddSkill(cid, SKILL__MAGLEVEL, 10) local pid = getPlayerGUID(cid) db.query("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = ".. pid) local pid = getPlayerGUID(cid) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + 10 WHERE `id` = ".. pid) Editado Outubro 30, 2013 por amoeba13 Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577280 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 30, 2013 Autor Share Postado Outubro 30, 2013 Então,na verdade poderia retirar a storage? Pois quero que o player possa usar quantas vezes quiser. Então o problema é que não ta dando o magic level para o player. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577286 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 Sim, nesse caso nao precisa de storage, ficando assim: local mli = getPlayerMagLevel(cid)+10 local pid = getPlayerGUID(cid) function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10 de ml.") doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `maglevel` = "..mli.." WHERE `id` = ".. pid) return true end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577295 Compartilhar em outros sites More sharing options...
0 gonorreiaswat 151 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 (editado) Mas pelo que entendi era isso que ele queria, que adicionasse +10 leveis mágicos ao player. E o que fez acima creio que funcione agora, até porque para alterar no database o player não pode estar logado, então o outro script não estava funcionando por isto. Caso este ainda venha a não funcionar, pode até pensar em fazer como addEvent, para em 2 segundos kickar o personagem e no 3º segundo alterar a db. Editado Outubro 30, 2013 por Adriano Swatt Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577351 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 30, 2013 Autor Share Postado Outubro 30, 2013 O player clica no item agora e não acontece nada o script não esta funcionando. Sabe arrumar? Sim, nesse caso nao precisa de storage, ficando assim: local mli = getPlayerMagLevel(cid)+10 local pid = getPlayerGUID(cid) function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10 de ml.") doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `maglevel` = "..mli.." WHERE `id` = ".. pid) return true end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577399 Compartilhar em outros sites More sharing options...
0 zipter98 1102 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 Algum erro no console? Em alguma das tentativas? Ou, por incrível que pareça, em nenhuma delas constou erro lá? Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577400 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 30, 2013 Autor Share Postado Outubro 30, 2013 Olha erro não,porém deixou de dar resultados. Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577410 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 Baixei um server aqui e to testando, ta dando varios erros na verdade. To tentando arrumar Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577419 Compartilhar em outros sites More sharing options...
0 mylorc 0 Postado Outubro 30, 2013 Autor Share Postado Outubro 30, 2013 Ok,obrigado. Quando der certo por favor poste aqui,o item que estou usando é o Id=1948 ^^ Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577425 Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Outubro 30, 2013 Share Postado Outubro 30, 2013 Pronto amigo, ta aqui. Testado e funcionando 100% function doPlayerAddMagicLevel(cid, amount) local amount = amount or 1 for i = 1, amount do doPlayerAddSpentMana(cid, getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid), false) end return true end function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10 de ml.") doPlayerAddMagicLevel(cid, 10) return true end Link para o comentário https://xtibia.com/forum/topic/223030-como-criar-um-item-que-da-skill/page/3/#findComment-1577441 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