O erro acontece quando o player tenta comprar qualquer backpack?
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: Masculino

info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

1 hora atrás, Yan18 disse:O erro acontece quando o player tenta comprar qualquer backpack?
sim
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Em 11/08/2020 em 22:03, BrunooMaciell disse:sim
na tabela items só existem 8 elementos.
na linha 65, existe uma concatenação de dados que está buscando, na tabela "items", mais de 8 elementos; mais precisamente, estou citando isso aqui:
Citar, {'..getItemNameById(items[9])..'} e {'..getItemNameById(items[10])..'
Para solucionar isso, tu pode remover essas duas menções excedentes ou formular uma função que pegue os dados de forma automática da tabela.
Editado Agosto 14 por Poccnn
ortografia
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

9 horas atrás, Poccnn disse:na tabela items só existem 8 elementos.
na linha 65, existe uma concatenação de dados que está buscando, na tabela "items", mais de 8 elementos; mais precisamente, estou citando isso aqui:
Para solucionar isso, tu pode remover essas duas menções excedentes ou formular uma função que pegue os dados de forma automática da tabela.
Entao amigo.
Eu nao entendi foi nada kkkkkkkkkkkkk se tu puder arruma pra min pois nao entendi nada kkkkkkk
Bom este BUG ele sempre da quando vo fala com NPC so de FALA com NPC ele ja BUGA ele ja da isso
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 _,_,itemName = nil,nil,'' local function getCount(str) --[[( Marcryzius )]] return tonumber(str:match('(%d+)')) or 0 end local function tradeSay(str) --[[( Marcryzius )]]-- local tab,str = {},str:lower() tab[1] = str:match('sell') or str:match('buy') or '' -- Retorna se vai comprar ou vender. tab[2] = getCount(str) < 1 and 1 or getCount(str) -- Retorna a quantidade. tab[3] = str:match(tab[1]..(str:match('(%d+)') and "%s%d+%s" or " ").."(.+)") -- Retorna o nome do item. if not(tab[3])then local name = '' for nome in str:gmatch("(%a+)") do if(nome)then name = name..(name ~= '' and ' ' or '')..nome end end tab[3] = name end return unpack(tab) end local function getTabNames(tab) --[[( Marcryzius )]]-- -- Essa função retornar o valor dos index de uma tabela. local str = {} for t,v in pairs(tab) do if v then str[#str+1] = t end end return table.concat(str,', ')..'.' end ------------------- Configuração dos Itens ----------------------- local bonuscoin = 5984548 local tab = { --[nome] = {qte=quantidade de bonus coin,ID=ID dos Itens} ["pokeball"] = {qte=10,ID=12683}, ["greatball"] = {qte=12,ID=12682}, ["superball"] = {qte=15,ID=12684}, ["facebook"] = {qte=20,ID=12681}, ["holding"] = {qte=25,ID=2365}, ["love teddy"] = {qte=30,ID=15600}, ["dogs house"] = {qte=40,ID=23828}, ["music box"] = {qte=50,ID=17069}, } 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 _,_,prod = tradeSay(msg) ------------------- MESSAGES INICIAIS ---------------------------------------- if(tab[prod])then itemName = prod selfSay('Deseja comprar um {'..getItemNameById(tab[itemName].ID)..'} Por '..(tab[itemName].qte)..' online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'negociar') or msgcontains(msg, 'trade')) then selfSay('No momento tenho disponivel em meu estoque os seguintes itens: '..getTabNames(tab), cid) talkState[talkUser] = 0 ---------------------- NEGOCIAÇÃO ------------------------------- elseif talkState[talkUser] == 1 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, bonuscoin) >= tab[itemName].qte then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - tab[itemName].qte) doPlayerAddItem(cid, tab[itemName].ID, 1) selfSay('Parabéns, voce acabou de adquirir 1x '..getItemNameById(tab[itemName].ID)..'!', cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora voce tem: " .. getPlayerStorageValue(cid,bonuscoin) .. " Online Bonus.") else selfSay('Voce precisa de '..(tab[itemName].qte..' online bonus para adquirir esse item.', cid) end else selfSay('Morra! FDP!', cid) end talkState[talkUser] = 0 else npcHandler:say('Foda-se! nao sei o que tu quer.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

17 minutos atrás, Poccnn disse:local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 _,_,itemName = nil,nil,'' local function getCount(str) --[[( Marcryzius )]] return tonumber(str:match('(%d+)')) or 0 end local function tradeSay(str) --[[( Marcryzius )]]-- local tab,str = {},str:lower() tab[1] = str:match('sell') or str:match('buy') or '' -- Retorna se vai comprar ou vender. tab[2] = getCount(str) < 1 and 1 or getCount(str) -- Retorna a quantidade. tab[3] = str:match(tab[1]..(str:match('(%d+)') and "%s%d+%s" or " ").."(.+)") -- Retorna o nome do item. if not(tab[3])then local name = '' for nome in str:gmatch("(%a+)") do if(nome)then name = name..(name ~= '' and ' ' or '')..nome end end tab[3] = name end return unpack(tab) end local function getTabNames(tab) --[[( Marcryzius )]]-- -- Essa função retornar o valor dos index de uma tabela. local str = {} for t,v in pairs(tab) do if v then str[#str+1] = t end end return table.concat(str,', ')..'.' end ------------------- Configuração dos Itens ----------------------- local bonuscoin = 5984548 local tab = { --[nome] = {qte=quantidade de bonus coin,ID=ID dos Itens} ["pokeball"] = {qte=10,ID=12683}, ["greatball"] = {qte=12,ID=12682}, ["superball"] = {qte=15,ID=12684}, ["facebook"] = {qte=20,ID=12681}, ["holding"] = {qte=25,ID=2365}, ["love teddy"] = {qte=30,ID=15600}, ["dogs house"] = {qte=40,ID=23828}, ["music box"] = {qte=50,ID=17069}, } 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 _,_,prod = tradeSay(msg) ------------------- MESSAGES INICIAIS ---------------------------------------- if(tab[prod])then itemName = prod selfSay('Deseja comprar um {'..getItemNameById(tab[itemName].ID)..'} Por '..(tab[itemName].qte)..' online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'negociar') or msgcontains(msg, 'trade')) then selfSay('No momento tenho disponivel em meu estoque os seguintes itens: '..getTabNames(tab), cid) talkState[talkUser] = 0 ---------------------- NEGOCIAÇÃO ------------------------------- elseif talkState[talkUser] == 1 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, bonuscoin) >= tab[itemName].qte then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - tab[itemName].qte) doPlayerAddItem(cid, tab[itemName].ID, 1) selfSay('Parabéns, voce acabou de adquirir 1x '..getItemNameById(tab[itemName].ID)..'!', cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora voce tem: " .. getPlayerStorageValue(cid,bonuscoin) .. " Online Bonus.") else selfSay('Voce precisa de '..(tab[itemName].qte..' online bonus para adquirir esse item.', cid) end else selfSay('Morra! FDP!', cid) end talkState[talkUser] = 0 else npcHandler:say('Foda-se! nao sei o que tu quer.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Deu este BUG
[14/08/2020 12:38:24] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/trade/Lucy.lua
[14/08/2020 12:38:24] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
[14/08/2020 12:38:26] [Error - LuaScriptInterface::loadFile] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
[14/08/2020 12:38:26] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/trade/Lucy.lua
[14/08/2020 12:38:26] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

7 minutos atrás, BrunooMaciell disse:Deu este BUG
[14/08/2020 12:38:24] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/trade/Lucy.lua
[14/08/2020 12:38:24] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
[14/08/2020 12:38:26] [Error - LuaScriptInterface::loadFile] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
[14/08/2020 12:38:26] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/trade/Lucy.lua
[14/08/2020 12:38:26] data/npc/scripts/trade/Lucy.lua:79: ')' expected near ','
substitua essa linha do código:
CitarselfSay('Voce precisa de '..(tab[itemName].qte..' online bonus para adquirir esse item.', cid)
por essa:
CitarselfSay('Voce precisa de '..(tab[itemName].qte)..' online bonus para adquirir esse item.', cid)
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

8 minutos atrás, Poccnn disse:substitua essa linha do código:
por essa:
Deu este BUG
[14/08/2020 12:56:11] [Error - Npc interface]
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:onCreatureSay
[14/08/2020 12:56:11] Description:
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:71: attempt to index global 'talkState' (a nil value)
[14/08/2020 12:56:11] stack traceback:
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:71: in function 'callback'
[14/08/2020 12:56:11] data/npc/lib/npcsystem/npchandler.lua:391: in function 'onCreatureSay'
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:6: in function <data/npc/scripts/trade/Lucy.lua:6>
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

23 horas atrás, BrunooMaciell disse:Deu este BUG
[14/08/2020 12:56:11] [Error - Npc interface]
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:onCreatureSay
[14/08/2020 12:56:11] Description:
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:71: attempt to index global 'talkState' (a nil value)
[14/08/2020 12:56:11] stack traceback:
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:71: in function 'callback'
[14/08/2020 12:56:11] data/npc/lib/npcsystem/npchandler.lua:391: in function 'onCreatureSay'
[14/08/2020 12:56:11] data/npc/scripts/trade/Lucy.lua:6: in function <data/npc/scripts/trade/Lucy.lua:6>
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 talkState = {} local _,_,itemName = nil,nil,'' local function getCount(str) --[[( Marcryzius )]] return tonumber(str:match('(%d+)')) or 0 end local function tradeSay(str) --[[( Marcryzius )]]-- local tab,str = {},str:lower() tab[1] = str:match('sell') or str:match('buy') or '' -- Retorna se vai comprar ou vender. tab[2] = getCount(str) < 1 and 1 or getCount(str) -- Retorna a quantidade. tab[3] = str:match(tab[1]..(str:match('(%d+)') and "%s%d+%s" or " ").."(.+)") -- Retorna o nome do item. if not(tab[3])then local name = '' for nome in str:gmatch("(%a+)") do if(nome)then name = name..(name ~= '' and ' ' or '')..nome end end tab[3] = name end return unpack(tab) end local function getTabNames(tab) --[[( Marcryzius )]]-- -- Essa função retornar o valor dos index de uma tabela. local str = {} for t,v in pairs(tab) do if v then str[#str+1] = t end end return table.concat(str,', ')..'.' end ------------------- Configuração dos Itens ----------------------- local bonuscoin = 5984548 local tab = { --[nome] = {qte=quantidade de bonus coin,ID=ID dos Itens} ["pokeball"] = {qte=10,ID=12683}, ["greatball"] = {qte=12,ID=12682}, ["superball"] = {qte=15,ID=12684}, ["facebook"] = {qte=20,ID=12681}, ["holding"] = {qte=25,ID=2365}, ["love teddy"] = {qte=30,ID=15600}, ["dogs house"] = {qte=40,ID=23828}, ["music box"] = {qte=50,ID=17069}, } 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 _,_,prod = tradeSay(msg) ------------------- MESSAGES INICIAIS ---------------------------------------- if(tab[prod])then itemName = prod selfSay('Deseja comprar um {'..getItemNameById(tab[itemName].ID)..'} Por '..(tab[itemName].qte)..' online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'negociar') or msgcontains(msg, 'trade')) then selfSay('No momento tenho disponivel em meu estoque os seguintes itens: '..getTabNames(tab), cid) talkState[talkUser] = 0 ---------------------- NEGOCIAÇÃO ------------------------------- elseif talkState[talkUser] == 1 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, bonuscoin) >= tab[itemName].qte then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - tab[itemName].qte) doPlayerAddItem(cid, tab[itemName].ID, 1) selfSay('Parabéns, voce acabou de adquirir 1x '..getItemNameById(tab[itemName].ID)..'!', cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora voce tem: " .. getPlayerStorageValue(cid,bonuscoin) .. " Online Bonus.") else selfSay('Voce precisa de '..(tab[itemName].qte)..' online bonus para adquirir esse item.', cid) end else selfSay('Morra! FDP!', cid) end talkState[talkUser] = 0 else npcHandler:say('Foda-se! nao sei o que tu quer.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

24 minutos atrás, Poccnn disse:local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 talkState = {} local _,_,itemName = nil,nil,'' local function getCount(str) --[[( Marcryzius )]] return tonumber(str:match('(%d+)')) or 0 end local function tradeSay(str) --[[( Marcryzius )]]-- local tab,str = {},str:lower() tab[1] = str:match('sell') or str:match('buy') or '' -- Retorna se vai comprar ou vender. tab[2] = getCount(str) < 1 and 1 or getCount(str) -- Retorna a quantidade. tab[3] = str:match(tab[1]..(str:match('(%d+)') and "%s%d+%s" or " ").."(.+)") -- Retorna o nome do item. if not(tab[3])then local name = '' for nome in str:gmatch("(%a+)") do if(nome)then name = name..(name ~= '' and ' ' or '')..nome end end tab[3] = name end return unpack(tab) end local function getTabNames(tab) --[[( Marcryzius )]]-- -- Essa função retornar o valor dos index de uma tabela. local str = {} for t,v in pairs(tab) do if v then str[#str+1] = t end end return table.concat(str,', ')..'.' end ------------------- Configuração dos Itens ----------------------- local bonuscoin = 5984548 local tab = { --[nome] = {qte=quantidade de bonus coin,ID=ID dos Itens} ["pokeball"] = {qte=10,ID=12683}, ["greatball"] = {qte=12,ID=12682}, ["superball"] = {qte=15,ID=12684}, ["facebook"] = {qte=20,ID=12681}, ["holding"] = {qte=25,ID=2365}, ["love teddy"] = {qte=30,ID=15600}, ["dogs house"] = {qte=40,ID=23828}, ["music box"] = {qte=50,ID=17069}, } 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 _,_,prod = tradeSay(msg) ------------------- MESSAGES INICIAIS ---------------------------------------- if(tab[prod])then itemName = prod selfSay('Deseja comprar um {'..getItemNameById(tab[itemName].ID)..'} Por '..(tab[itemName].qte)..' online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 1 elseif (msgcontains(msg, 'negociar') or msgcontains(msg, 'trade')) then selfSay('No momento tenho disponivel em meu estoque os seguintes itens: '..getTabNames(tab), cid) talkState[talkUser] = 0 ---------------------- NEGOCIAÇÃO ------------------------------- elseif talkState[talkUser] == 1 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, bonuscoin) >= tab[itemName].qte then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - tab[itemName].qte) doPlayerAddItem(cid, tab[itemName].ID, 1) selfSay('Parabéns, voce acabou de adquirir 1x '..getItemNameById(tab[itemName].ID)..'!', cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora voce tem: " .. getPlayerStorageValue(cid,bonuscoin) .. " Online Bonus.") else selfSay('Voce precisa de '..(tab[itemName].qte)..' online bonus para adquirir esse item.', cid) end else selfSay('Morra! FDP!', cid) end talkState[talkUser] = 0 else npcHandler:say('Foda-se! nao sei o que tu quer.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Foi vlw demais mano vlw mesmo ^^



info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel
Estou com um BUG em um NPC relacionado a online point.
BUG
SCRIPT
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 ------------------- Configuração dos Itens ----------------------- local items = {12683, 12682, 12684, 12681, 2365, 15600, 23828, 17069} -- ID dos Itens local nome = {'pokeball backpack', 'greatball backpack', 'superball backpack', 'facebook backpack', 'backpack of holding', 'love teddy', 'dogs house', 'music box'} ------------------- MESSAGES INICIAIS ---------------------------------------- if msgcontains(msg, nome[1]) then selfSay('Deseja comprar 1x {'..getItemNameById(items[1])..'} Por 10 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 1 elseif msgcontains(msg, nome[2]) then selfSay('Deseja comprar um {'..getItemNameById(items[2])..'} Por 12 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 2 elseif msgcontains(msg, nome[3]) then selfSay('Deseja comprar um {'..getItemNameById(items[3])..'} Por 15 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 3 elseif msgcontains(msg, nome[4]) then selfSay('Deseja comprar um {'..getItemNameById(items[5])..'} Por 20 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 4 elseif msgcontains(msg, nome[5]) then selfSay('Deseja comprar um {'..getItemNameById(items[6])..'} Por 25 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 5 elseif msgcontains(msg, nome[6]) then selfSay('Deseja comprar um {'..getItemNameById(items[7])..'} Por 30 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 6 elseif msgcontains(msg, nome[7]) then selfSay('Deseja comprar um {'..getItemNameById(items[8])..'} Por 40 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 7 elseif msgcontains(msg, nome[8]) then selfSay('Deseja comprar um {'..getItemNameById(items[9])..'} Por 50 online points?', cid) selfSay('Para saber quantos pontos possui digite {!opshop}.', cid) talkState[talkUser] = 8 elseif (msgcontains(msg, 'negociar') or msgcontains(msg, 'trade')) then selfSay('No momento tenho disponivel em meu estoque os seguintes itens: {'..getItemNameById(items[1])..'}, {'..getItemNameById(items[2])..'}, {'..getItemNameById(items[3])..'}, {'..getItemNameById(items[4])..'}, {'..getItemNameById(items[5])..'}, {'..getItemNameById(items[6])..'}, {'..getItemNameById(items[7])..'}, {'..getItemNameById(items[8])..'}, {'..getItemNameById(items[9])..'} e {'..getItemNameById(items[10])..'}.', cid) talkState[talkUser] = 0 ---------------------- NEGOCIAÇÃO ------------------------------- elseif talkState[talkUser] == 1 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then local qnt = 10 local bonuscoin = 5984548 if getPlayerStorageValue(cid, bonuscoin) >= qnt then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - qnt) doPlayerAddItem(cid, items[1], 1) selfSay('Parabéns, voce acabou de adquirir 1x '..getItemNameById(items[1])..'!', cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora voce tem: " .. getPlayerStorageValue(cid,5984548) .. " Online Bonus.") else selfSay('Voce precisa de 10 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 2 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then local qnt = 12 local bonuscoin = 5984548 if getPlayerStorageValue(cid, bonuscoin) >= qnt then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - qnt) doPlayerAddItem(cid, items[2], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[2])..'.', cid) else selfSay('Voce precisa de 13 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 3 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then local bonuscoin = 5984548 local qnt = 15 if getPlayerStorageValue(cid, bonuscoin) >= qnt then setPlayerStorageValue(cid, bonuscoin, getPlayerStorageValue(cid, bonuscoin) - qnt) doPlayerAddItem(cid, items[3], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[3])..'.', cid) else selfSay('Voce precisa de 15 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 4 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, 5984548) >= 20 then setPlayerStorageValue(cid, 5984548, getPlayerStorageValue(cid, 5984548) - 10) doPlayerAddItem(cid, items[5], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[5])..'.', cid) else selfSay('Voce precisa de 20 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 5 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, 5984548) >= 25 then setPlayerStorageValue(cid, 5984548, getPlayerStorageValue(cid, 5984548) - 10) doPlayerAddItem(cid, items[6], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[6])..'.', cid) else selfSay('Voce precisa de 30 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 6 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, 5984548) >= 30 then setPlayerStorageValue(cid, 5984548, getPlayerStorageValue(cid, 5984548) - 10) doPlayerAddItem(cid, items[7], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[7])..'.', cid) else selfSay('Voce precisa de 35 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 7 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, 5984548) >= 40 then setPlayerStorageValue(cid, 5984548, getPlayerStorageValue(cid, 5984548) - 10) doPlayerAddItem(cid, items[8], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[8])..'.', cid) else selfSay('Voce precisa de 40 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end elseif talkState[talkUser] == 8 then if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then if getPlayerStorageValue(cid, 5984548) >= 50 then setPlayerStorageValue(cid, 5984548, getPlayerStorageValue(cid, 5984548) - 10) doPlayerAddItem(cid, items[9], 1) selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[9])..'.', cid) else selfSay('Voce precisa de 45 online bonus para adquirir esse item.', cid) talkState[talkUser] = 0 end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())OBS: Caso precise de mais alguma script so fala que posto ^^
REP+++