• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    Doble exp onLogin

    Compartir:

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

    1Doble exp onLogin Empty Doble exp onLogin Mar Ago 30, 2022 2:09 pm

    ioke

    ioke
    Miembro
    Miembro
    [quote="Descripcion"]hola, necesito que me ayuden a editar este script:

    Código:
    local config = {
        rate = 2,
        storage = 1000,
        expstorage = 1100,
        register = 1200,
        time = 3600,
    }

    function onUse(cid, item, fromPosition, itemEx, toPosition)
        if getPlayerStorageValue(cid, config.storage) <= 0 then
            local rates = getPlayerRates(cid)
            setPlayerStorageValue(cid, config.expstorage, rates[SKILL__LEVEL])
            setPlayerStorageValue(cid, config.register, 1)
            itemEx=itemid == 9004
            doCreatureSay(cid, "Your extra experience rate has been activated 1 hour! It now is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid)
            setPlayerStorageValue(cid, config.storage, os.time()+config.time)
            doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]*config.rate)
            doRemoveItem(item.uid,1)
            registerCreatureEvent(cid, "ExpStage")
        else
            doCreatureSay(cid, "You must finish first exp condition to start other exp condition !", TALKTYPE_ORANGE_1, true, cid)
        end
    return true
    end
    function onThink(cid, interval)
        if getPlayerStorageValue(cid, config.register) == 1 then
            if getPlayerStorageValue(cid, config.storage) <= os.time() then
                doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid)
                setPlayerStorageValue(cid, config.storage, 0)
                setPlayerStorageValue(cid, config.register, 0)
                local oldexp = getPlayerStorageValue(cid, config.expstorage)
                doPlayerSetExperienceRate(cid, oldexp)
                unregisterCreatureEvent(cid, "ExpStage")
            end
        end
    return true
    end
    function onLogin(cid)
        if getPlayerStorageValue(cid, config.register) == 1 then
            registerCreatureEvent(cid, "ExpStage")
            local rates = getPlayerRates(cid)
            doCreatureSay(cid, "Your extra experience rate is still here! It is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid)
            if getPlayerStorageValue(cid, config.storage) > os.time() then
            local oldexp = getPlayerStorageValue(cid, config.expstorage)
            doPlayerSetExperienceRate(cid, oldexp+config.rate)
            end
        end  
    return true
    end

    Me gustaria que en ves de usarse por un item se usara por esta funcion y reconociera al conectarse

    quiero un script de doble exp que reconozca la guild que domina el castillo en mi servidor y no funciona por storage solo por esta linea
    Código:
    if isPlayer(cid) and getPlayerGuildId(cid) == guildVencedora()

    yo uso este creature pero no funciona no me da doble.exp pero en cambio la pocion si me.dobla.la exp

    Código:
    function onLogin (cid)

    local rate = {}

    if getPlayerLevel(cid) > 1 then
    rate = 4.0
    end

    if isPlayer(cid) and getPlayerGuildId(cid) == guildVencedora() then
    doPlayerSetExperienceRate(cid, rate)
     doPlayerSendTextMessage(cid,22,"Welcome member of " .. getGuildNameById(guildVencedora()) .. " you will now receive the x2 of experience for completing the Castle Siege!") -- Mensaje para el jugador
     end


    return TRUE
    end

    2 participantes
    http://baiakciteron.sytes.net

    2Doble exp onLogin Empty Re: Doble exp onLogin Mar Ago 30, 2022 2:19 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    use como base este scripts

    Código:

    function getGuildMembersOnline(GuildId)
    local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
    if (query:getID() ~= -1) then
    repeat
    table.insert(players,query:getDataString("name"))
    until not query:next()
    query:free()
    end
    return #players > 0 and players or false
    end

    function onLogin(cid)

        local guild_id = getPlayerGuildId(cid)
        local minimo = 2
        local max = 2
        local porcentagem = 2
        -----------------------------------------
        doPlayerSetExperienceRate(cid, 1)
        if guild_id == 0 then
            addEvent(doPlayerSendTextMessage, 200,cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Entre em uma guild para ter bonus de experiencia.")
            return true
        end
       
        if guild_id > 0 then
            local membros_online = table.maxn(getGuildMembersOnline(guild_id))
            local tabela_membros = getGuildMembersOnline(guild_id)
           
            --if #getPlayersByIp(getPlayerIp(cid)) >= max then
                --doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Players com Multi-Cliente nao contam para ganhar o bonus de experiencia.")
            --return true
            --end
           
            if membros_online <= minimo then
                addEvent(doPlayerSendTextMessage, 2000, cid, MESSAGE_STATUS_CONSOLE_RED,"[GUILD] Para ter bonus de experiencia precisa ter mais de "..minimo.." jogadores da guild online.\n Jogadores da Guild Online ["..membros_online.."]")
                return true
            end
       
            if membros_online > minimo then
                for var = 1, #tabela_membros do
                    local nomes = getCreatureByName(tabela_membros[var])
                    local XP = ((membros_online*porcentagem) / 100) + 1.00     
                    doPlayerSetExperienceRate(nomes, XP) 
                    addEvent(doPlayerSendTextMessage,1000,nomes, MESSAGE_STATUS_CONSOLE_RED, "[GUILD] A experiencia dos membros da guilda foi aumentada para +"..membros_online*porcentagem.."% - Membro "..getCreatureName(cid).." logou.")     
                end
                return true
            end
        end
    end



    Doble exp onLogin YNU5B25
    2 participantes
    http://www.tibiaface.com

    3Doble exp onLogin Empty Re: Doble exp onLogin Mar Ago 30, 2022 4:47 pm

    ioke

    ioke
    Miembro
    Miembro
    no multiplica la exp el sceipt funciona pero la exp se queda igual 😞

    2 participantes
    http://baiakciteron.sytes.net

    4Doble exp onLogin Empty Re: Doble exp onLogin Mar Ago 30, 2022 5:24 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    pero le estoy diciendo que trabaje como base vaya comparando funciones de su otro scripts
    lo que tiene el scripts que le pase
    Código:
    doPlayerSetExperienceRate(nomes, XP) 


    y lo que que tiene el scripts que posteo
    Código:

    doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]*config.rate)



    Doble exp onLogin YNU5B25
    2 participantes
    http://www.tibiaface.com

    5Doble exp onLogin Empty Re: Doble exp onLogin Miér Ago 31, 2022 11:38 am

    ioke

    ioke
    Miembro
    Miembro
    nada no consigo que funcione



    Very Happy Resuelto Gracias Very Happy

    2 participantes
    http://baiakciteron.sytes.net

    6Doble exp onLogin Empty Re: Doble exp onLogin Jue Sep 01, 2022 8:34 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Tema Resuelto



    Doble exp onLogin 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).