Postado Fevereiro 20, 2019 6 anos Bom dia/tarde/noite Galera. Seguinte, estou montando um OT 8.60 que funciona da seguinte maneira Todos os players começam com a vocaçao aprendiz, no level 30 eles falam com um npc e podem escolher entre Mago, Guerreiro e Paladino. No level 200, em outro NPC, o player tem o seguinte leque de vocações: Mago - Feiticeiro / Sacerdote Guerreiro - Gladiador / Barbaro / Brutamontes Paladino - Arqueiro / Bestista Eu ja criei todas as classes e numerei certinho no Vocations.Xml Os npcs estão entregando as classes normalmente, o problema é que quando o player desloga, ele volta 1 classe para tras, e se deslogar novamente, volta outra vez... Já procurei em tudo aqui mas ninguem conseguiu me ajudar.... Alguem pfv? Segue Script do NPC: Citar 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 local vocation = 2 -- Vocação que precisa ter -- Primeira Vocação local vocationnome1 = 'Feiticeiro' -- Nome da primeira vocação que ira se torna local vocationid1 = 5 -- id da vocação que vai ganha -- Segunda Vocação local vocationnome2 = 'Sacerdote' -- Nome da segunda vocação que ira se torna local vocationid2 = 6 -- id da vocação que vai ganha 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, 'promover') then if getPlayerVocation(cid) == vocation then selfSay('Deseja se tornar um {'..vocationnome1..'} ou um {'..vocationnome2..'}?', cid) talkState[talkUser] = 1 else selfSay('Você precisar ser um {Mago} para que eu possa te promover.', cid) end end if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome1..'') then selfSay('Parabêns, agora você é um {'..vocationnome1..'!}', cid) doPlayerSetVocation(cid, vocationid1) doPlayerAddItem(cid, 2189, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) end if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome2..'') then selfSay('Parabêns, agora você é um {'..vocationnome2..'}!', cid) doPlayerSetVocation(cid, vocationid2) doPlayerAddItem(cid, 8912, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Fevereiro 21, 2019 6 anos Vai no seu vocations.xml é certifica que o ID da vocação é o mesmo ID do fromvoc Exemplo: <vocation id="10" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> vocation id="10" fromvoc="5"> a vocação 10 quando morreu ou deslogar vai voltar para a vocação 5, então certifique-se que os fromvoc estão iguais aos vocation id.
Postado Fevereiro 22, 2019 6 anos Autor Em 21/02/2019 em 03:41, .Smile disse: Vai no seu vocations.xml é certifica que o ID da vocação é o mesmo ID do fromvoc Exemplo: <vocation id="10" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> vocation id="10" fromvoc="5"> a vocação 10 quando morreu ou deslogar vai voltar para a vocação 5, então certifique-se que os fromvoc estão iguais aos vocation id. Obrigado, não era só esse o problema, mas agora consegui resolver! REP+
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.