• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Ayuda] Ayuda con el shop

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

    1default [Ayuda] Ayuda con el shop el Lun Jun 19, 2017 9:13 pm

    dracula

    avatar
    Miembro
    Miembro


    Esta es la consola

    Ver perfil de usuario

    2default Re: [Ayuda] Ayuda con el shop el Lun Jun 19, 2017 10:31 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador

    todo esto en global events


    Código:

    -- ### CONFIG ###
    -- message send to player by script "type" (types you can check in "global.lua")
    SHOP_MSG_TYPE = 19
    -- 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.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)
                            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.')
                            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

    Código:

    <globalevent name="shop" interval="36000" script="shop.lua" />



    Ver perfil de usuario http://www.tibiaface.com

    3default teste el Mar Jun 20, 2017 12:18 am

    dracula

    avatar
    Miembro
    Miembro
    Lo probare aver que tal.


    Maya No me Funciono.

    Ver perfil de usuario

    Contenido patrocinado


    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).