Postado Novembro 19, 2015 9 anos Eai pessoal blz?? estou com um problema, o player configurei pra que ao ser criado ele fique como no vocation, ai vai ter um npc que configura isto, ou seja, define uma vocation pro player, mas quando ele reloga ele volta pra no vocation !?!?!?!?!?!?!!!! Não sei qual é o motivo, eu tenho uma ideia de como resolver o problema.. ideia 1: Eu poderia colocar pra neste NPC ele setar uma storage que receba o valor da vocationid, por exemplo, Storage: 23123124, Value: 10(vocationid), ai ao logar o player verifica se tem está storage, se sim, ele retorna o valor da storage(o value, que no caso é 10), mas eu não sei como fazer retornar o valor exato da storage(valor 10) Ideia 2: Vcs tentarem me ajudar a fazer algo Preciso mt disto pfv Então pessoal! Tomara que vcs possam me ajudar! pfv help-me! preciso mt da ajuda de vcs! Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Novembro 19, 2015 9 anos Função no NPC: if getPlayerStorageValue(cid, storage) < 1 then setPlayerStorageValue(cid, storage, vocID) doPlayerSetVocation(cid, vocID) doPlayerSendCancel(cid, 'msg done.') else doPlayerSendCancel(cid, 'msg fail.') end Função no Login.lua: if getPlayerStorageValue(cid, storage) > 0 then doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) end Assim deve funcionar normalmente, caso não funcione, me avise. Editado Novembro 19, 2015 9 anos por Wakon (veja o histórico de edições) ➥ Regras | Seções OTServ | Seções BOT
Postado Novembro 19, 2015 9 anos Autor if getPlayerStorageValue(cid, storage) > 0 then -- Aqui em storage, coloca a primeira storage na outra parte do script doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- Está parte em storage, não sei qual storage é pra colocar.... end Deixa eu ver se entendi: if getPlayerStorageValue(cid, storage) < 1 then -- Aqui em storage coloca uma storage qual quer setPlayerStorageValue(cid, vocID) -- VocationID doPlayerSetVocation(cid, vocID) -- VocationID doPlayerSendCancel(cid, 'msg done.') else doPlayerSendCancel(cid, 'msg fail.') end Função no Login.lua: if getPlayerStorageValue(cid, storage) > 0 then -- Aqui em storage, coloca a primeira storage na outra parte do script doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- Está parte em storage, não sei qual storage é pra colocar.... end Na lib que criei está assim: local geral = { speed = 300, storage = 34132, mana = 900 } local config = { [2] = {level = 1, health = 39, looktype = 369, storage = 857643, speed = 68, vocid = 2}, } function setMonsterClass(cid, Monster) -- Está Incompleta -- tem outras funções que prefiro não postar, porem não tem nada a ver com vocation doPlayerSetVocation(cid, config[Monster].vocid) doPlayerSave(cid) ------ if getPlayerStorageValue(cid, geral.storage) < 1 then setPlayerStorageValue(cid, config[Monster].vocid) doPlayerSetVocation(cid, config[Monster].vocid) doPlayerSendCancel(cid, 'msg done.') else doPlayerSendCancel(cid, 'msg fail.') end end e no login.lua está assim: if getPlayerStorageValue(cid, 34132) > 0 then doPlayerSetVocation(cid, getPlayerStorageValue(cid, storage)) -- não entendi oque é pra fazer( não sei qual das storages é pra colocar) end Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Novembro 19, 2015 9 anos Troca o código do função NPC pelo novo que editei acima, sobre a storage, coloque a mesma storage em todos os códigos. ➥ Regras | Seções OTServ | Seções BOT
Postado Novembro 19, 2015 9 anos Autor 8 horas atrás, Wakon disse: Troca o código do função NPC pelo novo que editei acima, sobre a storage, coloque a mesma storage em todos os códigos. Eu testei oque você falo, quando o player falou com o npc apareceu "msg done" e quando o player relogou e volto para no vocation. NPC: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'Monster') or msgcontains(msg, 'Monster') then if getPlayerStorageValue(cid, 34132) < 1 then setPlayerStorageValue(cid, 2) doPlayerSetVocation(cid, 2) doPlayerSendCancel(cid, 'msg done.') else doPlayerSendCancel(cid, 'msg fail.') end selfSay('You have just become a Monster!', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) E no login ficou assim: if getPlayerStorageValue(cid, 34132) > 0 then doPlayerSetVocation(cid, getPlayerStorageValue(cid, 34132)) end ... alguem ai pra ajudar ?? :/ Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.