• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [GlobalEvents] [GlobalEvents] Error Shop System no da item al comprar en shop en la pagina y da error en consola TFS 1.0 server 10.37

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    3zequi3l

    3zequi3l
    Miembro
    Miembro
    Descripcion escribió:Lua Script Error: [GlobalEvent Interface]
    data/globalevents/scripts/shop.lua:onThink
    data/globalevents/scripts/shop.lua:8: attempt to call field 'getResult' (a nil value)
    stack traceback:
    [C]: in function 'getResult'
    data/globalevents/scripts/shop.lua:8: in function <data/globalevents/scripts/shop.lua:7>
    [Error - GlobalEvents::think] Failed to execute event: shop


    -------------------------------------------------------------------------------
    ADJUNTO SHOPSYSTEM:


    -- ### CONFIG ###
    -- message send to player by script "type" (types you can check in "data/lib/000-constants.lua")
    SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE
    -- time (in seconds) between queries to MySQL database by shop script
    SQL_interval = 30
    -- ### END OF CONFIG ###
    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
    id = tonumber(result_plr:getDataInt("id"))
    action = tostring(result_plr:getDataString("action"))
    delete = tonumber(result_plr:getDataInt("delete_it"))
    cid = getCreatureByName(tostring(result_plr:getDataString("name")))
    if isPlayer(cid) == TRUE 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)
    doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
    doItemSetAttribute(new_container, "tid", id)
    local iter = 0
    while iter ~= container_count do
    local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
    doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
    doItemSetAttribute(new_item, "tid", id)
    doAddContainerItemEx(new_container, new_item)
    iter = iter + 1
    end
    received_item = doPlayerAddItemEx(cid, new_container)
    else
    local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
    doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
    doItemSetAttribute(new_item, "tid", id)
    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.')
    doPlayerSave(cid)
    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

    Imagen Explicativa escribió:Imagen Explicativa: [GlobalEvents] [GlobalEvents] Error Shop System no da item al comprar en shop en la pagina y da error en consola TFS 1.0 server 10.37 Tibiaf10
    Version del Scripts: TFs 1.x

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    prueba asi

    Código:

    -- ### 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 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, '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
      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
      until not result.next(result_plr)
      result.free(result_plr)
      end
      return true
    end



    [GlobalEvents] [GlobalEvents] Error Shop System no da item al comprar en shop en la pagina y da error en consola TFS 1.0 server 10.37 YNU5B25
    2 participantes
    http://www.tibiaface.com

    3zequi3l

    3zequi3l
    Miembro
    Miembro
    Excelente maya, muchas gracias me sirvio!

    2 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    TEMA RESUELTO



    [GlobalEvents] [GlobalEvents] Error Shop System no da item al comprar en shop en la pagina y da error en consola TFS 1.0 server 10.37 YNU5B25
    2 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    2 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).