Ir para conteúdo
  • 0

talkaction dando erro


roriscrave

Pergunta

Porque ta dando este erro?

 

 

[Error - TalkAction Interface]

mods/scripts/Private Shop/Talkaction.lua:onSay

Description:

mods/scripts/Private Shop/Talkaction.lua:76: attempt to call global 'errors' (a nil value)

[01/12/2012 07:38:16] stack traceback:

mods/scripts/Private Shop/Talkaction.lua:76: in function <mods/scripts/Private Shop/Talkaction.lua:22>

 

 

 

 

talkaction;

 

-- ########################################################

-- ##### Name: Private Shop System #####

-- ##### Version: 2.0 #####

-- ########################################################

-- ##### Developed by Maxwell Alcantara[MaXwEllDeN] #####

-- ##### Contact: maxwellmda@gmail.com #####

-- ##### maxwellden@hotmail.com #####

-- ########################################################

 

local function tabletama(tb)

local tam = 0

 

for i, v in pairs(tb) do

tam = tam + 1

end

 

return tam

end

 

local funcs = {"on", "off", "add", "remove", "list", "help", "list"}

 

function onSay(cid, words, param)

 

local param = param:lower()

local params = string.explode(param, ",")

local param = params[1]

 

local configs = _PV_SHOP_CONFIG

 

if (configs.premmy) and not(isPremium(cid)) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must have a premium account to use this system.")

end

 

if (getPlayerLevel(cid) < configs.level) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must be at least level " .. configs.level .. " to use this system.")

end

 

if not(isInArray(funcs, param)) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You typed a invalid option, to see help window type ".. words .. " help.")

end

 

if (param == "on") then

if (getCreatureCondition(cid, CONDITION_INFIGHT)) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't activate the system with your pz locked.")

end

 

local pos = getThingPos(cid)

local pos1 = {x = pos.x-5, y = pos.y-5, z = pos.z}

local pos2 = {x = pos.x+5, y = pos.y+5, z = pos.z}

local uids = getUidsInArea(pos1, pos2)

 

for _, b in pairs(uids) do

if (not(isPlayer(b)) and not (isMonster(b))) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You're near a npc.")

end

end

 

local pikznelis = 0

for _, a in pairs(getPlayerShopItens(getPlayerGUIDByName(getCreatureName(cid)))) do

pikznelis = 1

break

end

 

if (pikznelis == 0) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Before activate the system you must add a item there.")

end

 

setPlayerStorageValue(cid, 75431, 1)

addEvent(doRemoveCreature, 1, cid)

elseif (param == "add") then

 

if not(params[4]) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You typed a invalid option, to see help window type ".. words .. " help.")

end

 

errors(false)

local item = getItemIdByName(params[2])

errors(true)

 

if not (item) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, params[2] .." isn't a valid item.")

end

 

if (tabletama(getPlayerShopItens(getPlayerGUIDByName(getCreatureName(cid)))) >= configs.maxitens) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't have more than ".. configs.maxitens.." types of items in your Private Shop.")

end

 

if (isInArray(configs.notadd, item)) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't add " .. params[2] .. " to Private Shop.")

end

 

if not(tonumber(params[3])) or (tonumber(params[3]) < 1) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, params[3] .. " isn't a valid quanty.")

end

 

if (getPlayerItemCount(cid, item) < tonumber(params[3])) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You haven't ".. params[3] .." " .. params[2] .."(s).")

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You added with successful ".. params[3] .. " ".. params[2] .."(s) to your Private Shop.")

doAddItemForPlayerShop(getPlayerGUIDByName(getCreatureName(cid)), item, params[3], params[4])

doPlayerRemoveItem(cid, item, tonumber(params[3]))

elseif (param == "list") then

local itens = getPlayerShopItens(getPlayerGUIDByName(getCreatureName(cid)))

local msgiteins = "Items in your Private Shop:\n"

 

for a, b in pairs(itens) do

msgiteins = msgiteins .. "\n".. b[1] .. " " .. getItemNameById(a) .. getPrefix(b[1]) .. " - ".. b[2] .. " Gold Coins"

end

 

local msgiteins = msgiteins .. "\nX-X-X-X-X-X-X-X-X-X-X-X-X"

doShowTextDialog(cid, 2160, msgiteins)

elseif (param == "remove") then

if not(params[3]) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You typed a invalid option, to see help window type ".. words .. " help.")

end

 

if not(tonumber(params[3])) or (tonumber(params[3]) < 1) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, params[3] .. " isn't a valid quanty.")

end

 

local item = getItemIdByName(params[2])

if not (item) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, params[2] .." isn't a item.")

end

 

local shopt = getPlayerShopItens(getPlayerGUIDByName(getCreatureName(cid)))

if not(shopt[item]) or (tonumber(shopt[item][1]) < tonumber(params[3])) then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You haven't ".. params[3] .." " .. params[2] .."(s) in Private Shop.")

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed with successful ".. params[3] .. " ".. params[2] .."(s) from your Private Shop.")

doRemoveItemFromPlayerShop(getPlayerGUIDByName(getCreatureName(cid)), item, params[3])

doPlayerAddItem(cid, item, tonumber(params[3]))

elseif (param == "help") then

local msg = "Private Shop System Help: \n \n * add - is used to add a item to your Private Shop. \n"

local msg = msg .." Usage Example: " .. words .. " add, item, quanty, price by unit"

local msg = msg .."\n" .. words .. " add, demon armor, 1, 60000\n"

local msg = msg .."\n * remove - is used to remove a item from your Private Shop. \n"

local msg = msg .." Usage Example: " .. words .. " remove, item, quanty"

local msg = msg .."\n" .. words .. " remove, demon armor, 5\n"

local msg = msg .."\n * on - is used to active your Private Shop\n"

local msg = msg .. "\n * list - displays in screen a window containing all items that you have in your Private Shop."

doShowTextDialog(cid, 2160, msg)

end

 

return true

end

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

×
×
  • Criar Novo...