Ir para conteúdo

Featured Replies

Postado

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

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
  • 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo