To com esse problema no npc ele altera a vocação do player mais quando o player desloga e loga novamente volta a vocação inicial... o que devo fazer para resolver isso ??
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, 'vagabundo') or msgcontains(msg, 'vagabundo')) then
selfSay('Deseja virar {Vagabundo} por 10 especial coins?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 11443) >= 1) then -- item necessario pra mudar de vocação
doPlayerRemoveItem(cid, 11443, 1)
doPlayerSetVocation(cid,32) -- adcionei a vocaçao 32 la nas minhas vocacoes
selfSay('Parabens , Agora você é um Vagabundo.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'druid') or msgcontains(msg, 'druida')) then
selfSay('Deseja virar {druid} por 10 especial coins?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,2)
selfSay('Vocação trocada com sucesso , Agora você é um Druid.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'knight') or msgcontains(msg, 'kina')) then
selfSay('Deseja virar {knight} por 10 especial coins?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,4)
selfSay('Vocação trocada com sucesso , Agora você é um Knight.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'paladin') or msgcontains(msg, 'pala')) then
selfSay('Deseja virar {paladin} por 10 especial coins?', cid)
talkState[talkUser] = 4
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,3)
selfSay('Vocação trocada com sucesso , Agora você é um Paladin.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
Pergunta
crd1990 0
To com esse problema no npc ele altera a vocação do player mais quando o player desloga e loga novamente volta a vocação inicial... o que devo fazer para resolver isso ??
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, 'vagabundo') or msgcontains(msg, 'vagabundo')) then
selfSay('Deseja virar {Vagabundo} por 10 especial coins?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 11443) >= 1) then -- item necessario pra mudar de vocação
doPlayerRemoveItem(cid, 11443, 1)
doPlayerSetVocation(cid,32) -- adcionei a vocaçao 32 la nas minhas vocacoes
selfSay('Parabens , Agora você é um Vagabundo.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'druid') or msgcontains(msg, 'druida')) then
selfSay('Deseja virar {druid} por 10 especial coins?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,2)
selfSay('Vocação trocada com sucesso , Agora você é um Druid.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'knight') or msgcontains(msg, 'kina')) then
selfSay('Deseja virar {knight} por 10 especial coins?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,4)
selfSay('Vocação trocada com sucesso , Agora você é um Knight.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'paladin') or msgcontains(msg, 'pala')) then
selfSay('Deseja virar {paladin} por 10 especial coins?', cid)
talkState[talkUser] = 4
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(getPlayerItemCount(cid, 2159) >= 10) then
doPlayerRemoveItem(cid, 2159, 10)
doPlayerSetVocation(cid,3)
selfSay('Vocação trocada com sucesso , Agora você é um Paladin.', cid)
else
selfSay('Você não tem {Especial Coins} Suficientes.', cid)
end
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Msm eu dando /save quando reloga volta a vocacao de antes ...
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados