Postado Maio 14, 2015 10 anos Autor Tente usar este: -- ### CONFIG ### -- 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 player = Player(tostring(result.getDataString(result_plr, 'name'))) if player 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 received_item = 0 local full_weight = 0 local itemType = ItemType(itemtogive_id) if add_item_type == 'container' then if itemType:isRune() then full_weight = container_count * itemType:getWeight() else full_weight = container_count * itemType:getWeight(itemtogive_count) end full_weight = full_weight + ItemType(container_id):getWeight() else if itemType:isRune() then full_weight = itemType:getWeight() else full_weight = itemType:getWeight(itemtogive_count) end end local free_cap = player:getFreeCapacity() if full_weight <= free_cap then if add_item_type == 'container' then local new_container = Game.createItem(container_id, 1) local iter = 0 while iter ~= container_count do new_container:addItem(itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = player:addItemEx(new_container) else local new_item = Game.createItem(itemtogive_id, itemtogive_count) received_item = player:addItemEx(new_item) end if type(received_item) == 'number' and received_item == 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You received >> ' .. add_item_name .. ' << from OTS shop.') 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 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, '>> ' .. add_item_name .. ' << from OTS 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 player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, '>> ' .. add_item_name .. ' << from OTS 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 until not result.next(result_plr) result.free(result_plr) end return true end Tópico resolvido. Fica a vontade pra fechar.
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.