Postado Fevereiro 4, 2015 10 anos Olá galera do TK gostaria de pedir uma força a todos vocês, eu tenho um npc que você entrega um item "X" a ele e em troca ele le dá a vocação suprema só que eu mudei o distro do meu servidor para o tsf 0.4 DEV e depois disso o npc bugou, quando o player fala com ele, ele da a vocação mais ao relogar o player perde a vocação volta para a anterior! vocatiosuprema.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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, 'voc suprem') or msgcontains(msg, 'voc suprem')) then selfSay('Deseja virar {Voc suprem} ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 142) >= 1) then doPlayerRemoveItem(cid, 142, 1) doPlayerSetVocation(cid, getPlayerVocation(cid) > 4 and getPlayerVocation(cid) + 4 or getPlayerVocation(cid) + 8) selfSay('Parabéns você acaba de completar Asgard.', cid) else selfSay('Você não tem {suprem vocation} suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) se alguem souber modificar a linha em vermelho para dar segunda promotion em vez de dar vocação será que dava certo? eu não sei o codigo porisso não tento! Editado Fevereiro 4, 2015 10 anos por hempz (veja o histórico de edições) Se Ajudei Clique no ao Lado, Não Custa nada !!
Postado Fevereiro 4, 2015 10 anos Você mudou a pasta lib do NPC? dá algum erro no distro? Te ajudei? Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta" Skype: JoadsonAion
Postado Fevereiro 4, 2015 10 anos Autor N mudei nada na pasta lib manow e tmb n da nenhum erro no distro. teria como alterar esta linha: doPlayerSetVocation(cid, getPlayerVocation(cid) > 4 and getPlayerVocation(cid) + 4 or getPlayerVocation(cid) + 8) para em vez de dar vocation ela dar a segunda promotion? porque a segunda promotion no meu servidor é a vocação suprema! OBS: segunda promotion no caso que eu falo é acima de master sorcerer, elder druid, elite knight e royal paladin! Editado Fevereiro 4, 2015 10 anos por hempz (veja o histórico de edições) Se Ajudei Clique no ao Lado, Não Custa nada !!
Postado Fevereiro 4, 2015 10 anos Fiz uma pequena modificação, espero que resolva seu problema. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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, 'voc suprem') or msgcontains(msg, 'voc suprem')) then selfSay('Deseja virar {Voc suprem} ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 142) >= 1) then doPlayerRemoveItem(cid, 142, 1) if(isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then -- id das vocation doPlayerSetVocation(cid, getPlayerVocation(cid) + 4) selfSay('Parabéns você acaba de completar Asgard.', cid) else selfSay('Você não tem {suprem vocation} suficientes.', cid) end talkState[talkUser] = 0 end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Te ajudei? Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta" Skype: JoadsonAion
Postado Fevereiro 4, 2015 10 anos Autor Fiz uma pequena modificação, espero que resolva seu problema. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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, 'voc suprem') or msgcontains(msg, 'voc suprem')) then selfSay('Deseja virar {Voc suprem} ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 142) >= 1) then doPlayerRemoveItem(cid, 142, 1) if(isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then -- id das vocation doPlayerSetVocation(cid, getPlayerVocation(cid) + 4) selfSay('Parabéns você acaba de completar Asgard.', cid) else selfSay('Você não tem {suprem vocation} suficientes.', cid) end talkState[talkUser] = 0 end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) amigo infelizmente não deu certo, o script não deu nenhum erro no console só que ao dizer yes para o npc ta sumindo o item e ele diz "você não tem supreme vocations suficientes" tai as prints! antes de dizer hi depois de dizer hi Se Ajudei Clique no ao Lado, Não Custa nada !!
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.