Postado Novembro 23, 2012 12 anos Alguém saberia como arrumar este erro do meu server, quando compra um ITEM do SITE(Gesior), ele entrega pro player e aparece esse erro na distro: [23/11/2012 04:50:43] [Error - GlobalEvent Interface] [23/11/2012 04:50:43] data/globalevents/scripts/shop.lua:onThink [23/11/2012 04:50:43] Description: [23/11/2012 04:50:43] data/globalevents/scripts/shop.lua:55: attempt to call field 'executeQuery' (a nil value) [23/11/2012 04:50:43] stack traceback: [23/11/2012 04:50:43] data/globalevents/scripts/shop.lua:55: in function <data/globalevents/scripts/shop.lua:4> [23/11/2012 04:50:43] [Error - GlobalEvents::think] Couldn't execute event: shop e fica enviando o item toda hora sem parar e repitindo o erro na distro. No GLOBALEVENTS.XML está essa TAG: <globalevent name="shop" interval="10" script="shop.lua"/> E em SCRIPTS o arquivo shop.lua é esse: 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 = 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) doItemSetAttribute(new_item, "description", "This item was purchased at the shop 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, 'You received >> '.. add_item_name ..' << from Eragon 24hrs 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_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 if not(result_plr:next()) then break end end result_plr:free() end return true end Lembrando meu distro é versão 0.3.6.3429 [url=http://imageshack.us]
Postado Novembro 23, 2012 12 anos Tenta ai mecha nessa linha 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 .. ";") Do Shop.Lua e troque o db.executeQuery por executeQuery
Postado Novembro 23, 2012 12 anos Autor Tenta ai mecha nessa linha 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 .. ";") Do Shop.Lua e troque o db.executeQuery por executeQuery Nada acontece a mesma coisa, no tfs 0.4 não acontece isso mias eu deixo server on ele cai do nada sem da erro ai troquei pra 0.3.6 que é mais estavel mais um monte de coisa não funciona =/ [url=http://imageshack.us]
Postado Fevereiro 27, 2017 8 anos @tiago.bordin1988 @WalaceBz Conseguiram a solução do problema? estou na mesma situação amigos ;/
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.