A variável talkUser foi ajustada para garantir que a conversa seja atribuída corretamente ao jogador.
substitua:
local talkUser = cid
por:
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
A lógica para verificar e atualizar a vocação e o nível do jogador foi revisada para garantir que esteja funcionando corretamente.
if isInArray({"promotion", "promot", "promo"}, msg) then selfSay('Você precisa ter 100 [VIP COINS] e estar no level 717217!', cid) talkState[talkUser] = 1 elseif msg == "yes" and talkState[talkUser] == 1 then local playerVocation = getPlayerVocation(cid) if vocation[playerVocation] then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, 11192) >= 100 then doPlayerRemoveItem(cid, 11192, 100) local newVocationId = vocation[playerVocation] doPlayerSetVocation(cid, newVocationId) doSendMagicEffect(getPlayerPosition(cid), 12) selfSay("Parabéns, você foi promovido!", cid) else selfSay("Você não tem 100 [VIP COINS] suficientes para ser promovido.", cid) end else selfSay("Desculpe, você precisa estar no level " .. level .. " ou acima para ser promovido!", cid) end else selfSay("Desculpe, você não pode receber promoção.", cid) end talkState[talkUser] = 0 end
script completo corrigido:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local vocation = { [2] = 6, [3] = 7, [4] = 8 } 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 msg = string.lower(msg) local level = 717217 if isInArray({"promotion", "promot", "promo"}, msg) then selfSay('Você precisa ter 100 [VIP COINS] e estar no level 717217!', cid) talkState[talkUser] = 1 elseif msg == "yes" and talkState[talkUser] == 1 then local playerVocation = getPlayerVocation(cid) if vocation[playerVocation] then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, 11192) >= 100 then doPlayerRemoveItem(cid, 11192, 100) local newVocationId = vocation[playerVocation] doPlayerSetVocation(cid, newVocationId) doSendMagicEffect(getPlayerPosition(cid), 12) selfSay("Parabéns, você foi promovido!", cid) else selfSay("Você não tem 100 [VIP COINS] suficientes para ser promovido.", cid) end else selfSay("Desculpe, você precisa estar no level " .. level .. " ou acima para ser promovido!", cid) end else selfSay("Desculpe, você não pode receber promoção.", cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())


info
Grupo: Artesão
Registrado: 01/03/20
Posts: 110
Reputação: +1
Gênero: Masculino
Char no Tibia: Samuel on Issobra
-=[TFS]=- 0.3.6 - 8.60 - NPC Promotion ta Dando Erro no Console e Não Salva Vocação Fica de Primeira Com a Vocação Depois Quando Desloga e Loga Some
data/npc/scripts/promotion.lua:15: in function <data/npc/scripts/promotion.lua:15>[20/07/2024 08:57:34] [Error - Npc interface] [20/07/2024 08:57:34] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:34] Description: [20/07/2024 08:57:34] (luaGetNpcDistanceTo) Thing not found [20/07/2024 08:57:34] [Error - Npc interface] [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:35] Description: [20/07/2024 08:57:35] (luaGetCreatureName) Creature not found [20/07/2024 08:57:35] [Error - Npc interface] [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:onThink [20/07/2024 08:57:35] Description: [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:301: bad argument #3 to 'gsub' (string/function/table expected) [20/07/2024 08:57:35] stack traceback: [20/07/2024 08:57:35] [C]: in function 'gsub' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:301: in function 'parseMessage' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:538: in function 'onWalkAway' [20/07/2024 08:57:35] data/npc/lib/npcsystem/npchandler.lua:473: in function 'onThink' [20/07/2024 08:57:35] data/npc/scripts/promotion.lua:15: in function <data/npc/scripts/promotion.lua:15>Editado Julho 20 por Muvuka