Ir para conteúdo

Preciso de ajuda shop.lua adicionar 4 funções de entrega. 1 funcionando.

Featured Replies

Postado

Procurei muitos nos tropicos do tibiaking e não encontrei uma solução.

preco que alguem por favor com conhecimento editar o shop.lua

ele se encontra funcionando. Porem apenas envia para o player items.

 

O Gesior. em questão ele tem 4 separações.

item,addon,mount,container,other

 

----------------------------------------------------------

Exemplo o banco de dados. em questão tem que entregar other. exemplo premium scroll etc..

container backpacks essas coisas.. mount montarias. addon.  e item. armas,escudo,calça. exemplo.

 

----------------------------------------------------------

Não o que esta falta entregar as outras coisas 

addon,mount,container,other.

 

Pois apenas os items estão sendo entregue

para ficar bem claro.. para não ter duvidas no que preciso. e

no que a maioria dos player do tibiaking procura.

----------------------------------------------------------

Apenas o item esta entregando..

as demais coisas não esta entregando..

preciso de ajuda para solução do script creio que muitas pessoas do tibiaking vão fica grato..

em breve irei fazer umas contribuições nessa conta nova que estou.

pois a antiga do tibiaking esqueci a senha do e-mail e do tibiaking rsrs.

 

o script se encontra abaixo por favor me ajudar obrigado.. desde já agradeço.

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 18
-- 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.storeQuery("SELECT * FROM z_ots_comunication")
    if(result_plr ~= false) then
        repeat
            local id = tonumber(result.getDataInt(result_plr, "id"))
            local action = tostring(result.getDataString(result_plr, "action"))
            local delete = tonumber(result.getDataInt(result_plr, "delete_it"))
            local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))
            if(cid) then
                local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))
                local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))
                local container_id = tonumber(result.getDataInt(result_plr, "param3"))
                local container_count = tonumber(result.getDataInt(result_plr, "param4"))
                local add_item_type = tostring(result.getDataString(result_plr, "param5"))
                local add_item_name = tostring(result.getDataString(result_plr, "param6"))
                local storage = tostring(result.getDataString(result_plr, "param7"))
                local received_item = 0
                local full_weight = 0
                if(add_item_type == 'container') then
                    container_weight = getItemWeight(container_id, 1)
                    if(isItemRune(itemtogive_id)) then
                        items_weight = container_count * getItemWeight(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeight(itemtogive_id, itemtogive_count)
                    if(isItemRune(itemtogive_id)) then
                        full_weight = getItemWeight(itemtogive_id, 1)
                    else
                        full_weight = getItemWeight(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(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'Voce recebeu >> '.. add_item_name ..' << do Underworld SHOP.')
						setPlayerStorageValue(cid,storage+555884621212,1)
                        db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Voce nao tem cap ou espaço para receber o item >> '.. SQL_interval ..' << , o SHOP esta esperando voce ter cap para entregar o item!')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Voce nao tem cap ou espaço para receber o item >> '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' << , o SHOP esta esperando voce ter cap para entregar o item!')
                end
            end
        until not result.next(result_plr)
        result.free(result_plr)
    end
    return true
end

 

Editado por leandronetx (veja o histórico de edições)

Postado
  • Autor

 

Procurei muitos nos tropicos do tibiaking e não encontrei uma solução.

preco que alguem por favor com conhecimento editar o shop.lua

ele se encontra funcionando. Porem apenas envia para o player items.

 

O Gesior. em questão ele tem 4 separações.

item,addon,mount,container,other

 

----------------------------------------------------------

Exemplo o banco de dados. em questão tem que entregar other. exemplo premium scroll etc..

container backpacks essas coisas.. mount montarias. addon.  e item. armas,escudo,calça. exemplo.

 

----------------------------------------------------------

Não o que esta falta entregar as outras coisas 

addon,mount,container,other.

 

Pois apenas os items estão sendo entregue

para ficar bem claro.. para não ter duvidas no que preciso. e

no que a maioria dos player do tibiaking procura.

----------------------------------------------------------

Apenas o item esta entregando..

as demais coisas não esta entregando..

preciso de ajuda para solução do script creio que muitas pessoas do tibiaking vão fica grato..

em breve irei fazer umas contribuições nessa conta nova que estou.

pois a antiga do tibiaking esqueci a senha do e-mail e do tibiaking rsrs.

 

o script se encontra abaixo por favor me ajudar obrigado.. desde já agradeço.

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 18
-- 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.storeQuery("SELECT * FROM z_ots_comunication")
    if(result_plr ~= false) then
        repeat
            local id = tonumber(result.getDataInt(result_plr, "id"))
            local action = tostring(result.getDataString(result_plr, "action"))
            local delete = tonumber(result.getDataInt(result_plr, "delete_it"))
            local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))
            if(cid) then
                local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))
                local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))
                local container_id = tonumber(result.getDataInt(result_plr, "param3"))
                local container_count = tonumber(result.getDataInt(result_plr, "param4"))
                local add_item_type = tostring(result.getDataString(result_plr, "param5"))
                local add_item_name = tostring(result.getDataString(result_plr, "param6"))
                local storage = tostring(result.getDataString(result_plr, "param7"))
                local received_item = 0
                local full_weight = 0
                if(add_item_type == 'container') then
                    container_weight = getItemWeight(container_id, 1)
                    if(isItemRune(itemtogive_id)) then
                        items_weight = container_count * getItemWeight(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeight(itemtogive_id, itemtogive_count)
                    if(isItemRune(itemtogive_id)) then
                        full_weight = getItemWeight(itemtogive_id, 1)
                    else
                        full_weight = getItemWeight(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(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'Voce recebeu >> '.. add_item_name ..' << do Underworld SHOP.')
						setPlayerStorageValue(cid,storage+555884621212,1)
                        db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Voce nao tem cap ou espaço para receber o item >> '.. SQL_interval ..' << , o SHOP esta esperando voce ter cap para entregar o item!')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Voce nao tem cap ou espaço para receber o item >> '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' << , o SHOP esta esperando voce ter cap para entregar o item!')
                end
            end
        until not result.next(result_plr)
        result.free(result_plr)
    end
    return true
end

 

 

Por falta de criatividade estou desativando esse tropico.. em breve vou resolver isso.

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.6k

Informação Importante

Confirmação de Termo