Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sql_communication(parameters)
- print "executing sql_communication"
- dofile("./config.lua")
- env = assert(luasql.mysql())
- con = assert(env:connect(sql_db, sql_user, sql_pass, sql_host, sql_port))
- result_plr = assert(con:execute("SELECT * FROM z_ots_comunication WHERE `type` = 'login';"))
- todo = result_plr:fetch({}, "a")
- while todo do
- id = tonumber(todo.id)
- action = tostring(todo.action)
- delete = tonumber(todo.delete_it)
- cid = getPlayerByName(tostring(todo.name))
- if isPlayer(cid) == TRUE then
- local itemtogive_id = tonumber(todo.param1)
- local itemtogive_count = tonumber(todo.param2)
- local container_id = tonumber(todo.param3)
- local container_count = tonumber(todo.param4)
- local add_item_type = tostring(todo.param5)
- local add_item_name = tostring(todo.param6)
- local received_item = 0
- local full_weight = 0
- 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, 'You received >> '.. add_item_name ..' << from OTS shop.')
- delete = assert(con:execute("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";"))
- assert(con:execute("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 ..' << 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
- doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. 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
- todo = result_plr:fetch (todo, "a")
- end
- con:close()
- env:close()
- local eventServ = addEvent(sql_communication, SQL_COMUNICATION_INTERVAL, parameters)
- end
Add Comment
Please, Sign In to add comment