Gente mais um pedido só... =)
Eu adicionei na talkaction e aparece a menssagem mas a talkaction usa...
local function tabletama(tb)
local tam = 0
for i, v in pairs(tb) do
tam = tam + 1
end
return tam
end
function onSay(cid, words, param)
local pos = getPlayerPosition(cid)
pos.stackpos = 0
if getTileThingByPos(pos).actionid == action then
else
doPlayerSendCancelcid, "Você não está na posição coreta")
end
local funcs = {"on", "off", "add", "remove", "list", "help", "list"}
local param = param:lower()
local params = string.explode(param, ",")
local param = params[1]
local action = 7871
local configs = _PV_SHOP_CONFIG
if (configs.pz) == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce so pode usar os comandos em area pz.")
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, "Essa alternativa nao existe fale ".. words .. " help.")
end
if (param == "on") then
if (getCreatureCondition(cid, CONDITION_INFIGHT)) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce nao pode ativar o shop com seu pz bloqueado.")
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, "Antes de ativar voce precisa adicionar algum item(s) na lista de venda.")
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, "Voce digitou uma alternativa invalida diga ".. words .. " help.")
end
local item = getItemIdByName(params[2])
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 = "Itens 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, "Voce digitou uma alternativa invalida diga ".. 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