Ir para conteúdo

Modificação no Shop.lua


Farathor

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
Compartilhar em outros sites

Obs: meu site é gesior, e aquele script, é o script que entrega os itens para os players no jogo

 

desculpe editado ... entendi errado porém tenho o mesmo pedido

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 2 months later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

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