RO
dúvida

talkaction dando erro

Por roriscrave, 19 de dez. de 2012 em Scripts

script
10
1.1k
19 de dezembro de 2012 às 16:52

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

SlicerS
19 de dezembro de 2012 às 17:10

por causa disso aki..

errors(false)
local item = getItemIdByName(params[2])
errors(true)

tu n tem essa funçao 'errors()' no teu serv..

19 de dezembro de 2012 às 17:35

kct nao tem como fazer nada entao nao?

SlicerS
19 de dezembro de 2012 às 17:49

n sabes oq ela deveria fazer? pq elas tao ali meio avulsas kk estranhu.. ;/

19 de dezembro de 2012 às 17:55

o cara pos ela ai pra tentar evitar akele erro que aparece item not found quando usa o comando

SlicerS
19 de dezembro de 2012 às 18:04

tenta fla com o max.. ve se ele te arranja a funçao... podes mandar PM pra ele... ou tenta fla pelo msn q ta ali no script.. '--'

19 de dezembro de 2012 às 18:06

vlwss vou tentar aki rs.

meubkM
19 de dezembro de 2012 às 18:32

slicer, precisava falar com vc :X

LuckOakeL
19 de dezembro de 2012 às 18:34

slicer, precisava falar com vc :X

 

Use a PM se você quer falar com ele. Esse tipo de post é flood. Dessa vez passa, na próxima é REP-.

19 de dezembro de 2012 às 18:35

ow pode fechar esse tópico ae