Ir para conteúdo
  • 0

Erro em NPC que vende Vocação


yagoshira004

Pergunta

Eai galera estou usando um Script de NPC que ele vende vocação

Está tudo em conformes porem quando eu deslogo o player perde a vocação:

Script NPC:

 

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, 'mestre kame') or msgcontains(msg, 'kame')) then
selfSay('Voce realmente deseja se tornar um {Mestre Kame}.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 9971) >= 30) then
doPlayerRemoveItem(cid, 9971, 30)
doPlayerSetVocation(cid,350)
selfSay('Voce se tornou um Mestre Kame.', cid)
else
selfSay('Você não tem {vip coins} suficientes.', cid)
end
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Lá no Vocations.XML

<vocation id="350" name="Kame" description="" needpremium="1" gaincap="70" gainhp="160" gainmana="150" gainhpticks="3.5" gainhpamount="300" gainmanaticks="3" gainmanaamount="400" manamultiplier="1.1" attackspeed="1800" soulmax="100" gainsoulticks="120"> fromvoc="nil">
<formula meleeDamage="8.0" distDamage="8.0" wandDamage="3.0" magDamage="3.5" magHealingDamage="7.0" defense="1.1" magdefense="1.3" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.0" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>

Imagens:
Apos comprar a vocação com o npc
post-269283-0-01292800-1397883022_thumb.png
Apos deslogar
post-269283-0-72249400-1397883060_thumb.png
ALGUEM SABE O QUE PODE SER ESSE ERRO? POR FAVOR ME AJUDEM ! REP+

 

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Substitui o código do npc por este:

 

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
local storage = 2014042021
local vocation = 350


if(msgcontains(msg, 'mestre kame') or msgcontains(msg, 'kame')) then
selfSay('Voce realmente deseja se tornar um {Mestre Kame}.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 9971) >= 30) then
doPlayerRemoveItem(cid, 9971, 30)
doPlayerSetVocation(cid, vocation)
setPlayerStorageValue(cid, storage, vocation)
selfSay('Voce se tornou um Mestre Kame.', cid)
else
selfSay('Você não tem {vip coins} suficientes.', cid)
end
talkState[talkUser] = 0
end
return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Cria um arquivo .lua em data/creaturescripts/scripts e coloca isso:

function onLogin(cid)

local storage = getPlayerStorageValue(cid, 2014042021)

if storage ~= -1 then
	doPlayerSetVocation(cid, storage)
end

return true
end

Depois é só colocar a tag no creaturescripts.xml (me avisa se vc n souber fazer)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...