Ir para conteúdo

Posts Recomendados

Gostaria que alguém, modifica-se esse script pra mim, para fazer que ao invés do item, ser entregue ao jogador, ele seria entregue no Depot da cidade principal.Eu também gostaria que todos os items que fossem entregues, viessem dentro de uma backpack, e essa backpack, fosse tipo essa

"You see a crown backpack (Vol:20).

It weighs 2729.30 oz.
Shopping id #21900. Item: Nose Ring. Data Recebido: 26/3/2013."

 

 

 

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_RED
-- time (in seconds) between connections to SQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
function onThink(interval, lastExecution)
local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';")
if(result_plr:getID() ~= -1) then
while(true) do
id = tonumber(result_plr:getDataInt("id"))
action = tostring(result_plr:getDataString("action"))
delete = tonumber(result_plr:getDataInt("delete_it"))
cid = getCreatureByName(tostring(result_plr:getDataString("name")))
if isPlayer(cid) == TRUE then
local itemtogive_id = tonumber(result_plr:getDataInt("param1"))
local itemtogive_count = tonumber(result_plr:getDataInt("param2"))
local container_id = tonumber(result_plr:getDataInt("param3"))
local container_count = tonumber(result_plr:getDataInt("param4"))
local add_item_type = tostring(result_plr:getDataString("param5"))
local add_item_name = tostring(result_plr:getDataString("param6"))
local received_item = 0
local full_weight = 0
if add_item_type == 'container' then
container_weight = getItemWeightById(container_id, 1)
if isItemRune(itemtogive_id) == TRUE then
items_weight = container_count * getItemWeightById(itemtogive_id, 1)
else
items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)
end
full_weight = items_weight + container_weight
else
full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
if isItemRune(itemtogive_id) == TRUE then
full_weight = getItemWeightById(itemtogive_id, 1)
else
full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
end
end
local free_cap = getPlayerFreeCap(cid)
if full_weight <= free_cap then
if add_item_type == 'container' then
local new_container = doCreateItemEx(container_id, 1)
local iter = 0
while iter ~= container_count do
doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
iter = iter + 1
end
received_item = doPlayerAddItemEx(cid, new_container)
else
local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
received_item = doPlayerAddItemEx(cid, new_item)
end
if received_item == RETURNVALUE_NOERROR then
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '{Shopping System} Entrega do item '.. add_item_name ..' feita com sucesso!.')
db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '{Shopping System} Sua backpack não tem espaço para receber o item '.. add_item_name ..' por favor abra espaço em sua backpack. Estaremos tentando entregar o item em '.. SQL_interval ..' segundos!.')
end
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '{Shopping System} Não foi possivel entregar o item '.. add_item_name ..' por causa que você está sem CAP. O peso do item e '.. full_weight ..' oz., Vc tem no momento '.. free_cap ..' oz. de capacidade livre. Coloque alguns itens no deposito e espere cerca de '.. SQL_interval ..' segundos para obte-lo.')
end
end
if not(result_plr:next()) then
break
end
end
result_plr:free()
end
return TRUE
end

 

 

 

Editado por Farathor
Link para o comentário
https://xtibia.com/forum/topic/233580-modifica%C3%A7%C3%A3o-no-shoplua/
Compartilhar em outros sites

  • 2 weeks later...
  • 2 months later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...