Ir para conteúdo

Featured Replies

Postado

Olá pessoal, eu tenho um script aqui do shop.lua, aquele que entrega os itens comprados no site, gostaria de fizessem uma modificação nele, invés do ITEM ir para o jogador, ele iria ser enviado para o depot

 


SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_RED
SQL_interval = 30

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 é de '.. full_weight ..' oz, Você 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

[progress=green]50[/progress]

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo