Ir para conteúdo

Featured Replies

Postado

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 por hempz (veja o histórico de edições)

Resolvido por hempz

Ir para solução
  • Respostas 14
  • Visualizações 444
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Testei no TFS 0.3.7, mas o seu "antigo" funciona certo? Porem ao relogar, ele some a vocação? Irei modificar para nao sumir.   EDIT: substitua seu vocationsupreme.lua por esse local keywordHandl

  • Flavio S. Cabral
    Flavio S. Cabral

    local vocations = {5, 6, 7, 8} -- Não modifique... local stg = 98749 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler

Postado
  • 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 por hempz (veja o histórico de edições)

Postado

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())
Postado
  • 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

bug1.png

 

depois de dizer hi

bug2.png

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo