Ir para conteúdo
Banner com Efeitos

(Resolvido)Alguem me ajude em um shop para meu otserv e website. URGENTE

Featured Replies

Postado

Eu compro o item no shop do meu site mais o item não chega.. ele chego uma vez em 1 conta, mas ele fica mandando o item de 5 em 5 minutos. Mas agora nem mandando esta mas. Me ajudem por favor. [13/12/2014 16:31:54] [Error - GlobalEvent Interface] [13/12/2014 16:31:54] data/globalevents/scripts/shop.lua:onThink [13/12/2014 16:31:54] Description: [13/12/2014 16:31:54] data/globalevents/scripts/shop.lua:71: attempt to call field 'query' (a nil value) [13/12/2014 16:31:54] stack traceback: [13/12/2014 16:31:54] data/globalevents/scripts/shop.lua:71: in function [13/12/2014 16:31:54] [Error - GlobalEvents::think] Couldn't execute event: shop Valendo Rep!

Resolvido por Danihcv

Ir para solução
Postado
  • Solução

Tenta usar esse shop.lua:

local SHOP_MSG_TYPE = MESSAGE_EVENT_ORANGE
local 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
                        local id = tonumber(result_plr:getDataInt("id"))
                        local action = tostring(result_plr:getDataString("action"))
                        local delete = tonumber(result_plr:getDataInt("delete_it"))
                        local cid = getCreatureByName(tostring(result_plr:getDataString("name")))
                        if isPlayer(cid) 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 = getItemNameById(tonumber(result_plr:getDataInt("param1")))
								local add_item_count = tostring(result_plr:getDataInt("param2"))
                                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)
                                                doItemSetAttribute(new_item, "description", "This item can only be used by the player ".. getPlayerName(cid) .."!")
                                                doItemSetAttribute(new_item, "aid", getPlayerGUID(cid)+10000)
                                                received_item = doPlayerAddItemEx(cid, new_item)
                                        end
                                        if received_item == RETURNVALUE_NOERROR then
                                                doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'Você recebeu >> '.. add_item_count ..' '.. add_item_name ..' << do Hospice shop.')
                                                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, '>> '.. add_item_count ..' '.. add_item_name ..' << from Hospice shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')
                                        end
                                else
                                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_count ..' '.. add_item_name ..' << from Hospice shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')
                                end
                        end
                        if not(result_plr:next()) then
                                break
                        end
                end
                result_plr:free()
        end
        return true
end

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Postado
  • Autor

Vlw Daniel deu certo, só q agora estou com outro erro pode ajudar?

 

Erro 100 - O E-MAIL não está no formato correto.

ta tudo certinho no meu site as scripts retornos mais nao consigo arrumar esse erro porfavor me ajude só falta isso no meu site.

Postado

Quando esse erro aparece, exatamente?

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

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