Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

bom dia rapaziada, queria uma script que usasse os stages.xml.. ou seja, parte da experience do server.. ela é o seguinte

se o player não tiver storage X, a exp stages dele é diferente de quem tem a storage..

Se o player não tiver a storage, usar exp definida por script..

Se ele tiver a storage, usar a exp definida no STAGES.xml

  • Respostas 5
  • Visualizações 892
  • Created
  • Última resposta

Top Posters In This Topic

Postado
20 horas atrás, joaozinhocabal disse:

Upup

ip

up

function onLogin(cid)

local rate = 1.2 -- 20% EXTRA EXP
local config = {
str = 101010,-- ADD STORAGE DE SUA ESCOLHA
expE = "voce está ganhando "..((rate - 1)*100).."% de experience."
}

if getPlayerStorageValue(cid, config.str) == TRUE then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.expE)
end
return TRUE
end

ADD Creaturescripts/scripts

cria um arquivo lua com nome ( EXPEXTRA) E ADD CODIGO ACIMA

 

em Creaturescripts.xml

    <event type="login" name="EXPSTR" event="script" value="EXPEXTRA.lua"/>

   no arquivo login.lua ADD registerCreatureEvent(cid, "EXPSTR") 

 

 

Editado por Etheron8 (veja o histórico de edições)

  • 1 year later...
Postado
function onLogin(cid)
    local skill_rate = 0.0 -- rate das skill
    local rate = 1.0 -- 0%
    local expConfig = {
        storage_2 = {storage = 1001, rate = 1.4, message = "Agora você está ganhando 40% de experiência extra!"},
        storage_3 = {storage = 1002, rate = 1.3, message = "Agora você está ganhando 30% de experiência extra!"},
        storage_4 = {storage = 1003, rate = 1.2, message = "Agora você está ganhando 20% de experiência extra!"},
        storage_5 = {storage = 1004, rate = 1.1, message = "Agora você está ganhando 10% de experiência extra!"},
        storage_6 = {storage = 1005, rate = 1.0, message = ""},
        storage_7 = {storage = 1006, rate = 1.0, message = ""},
        storage_8 = {storage = 1007, rate = 1.0, message = ""},
        storage_9 = {storage = 1008, rate = 1.0, message = ""},
        storage_10 = {storage = 1009, rate = 1.0, message = ""},
        storage_11 = {storage = 1010, rate = 1.0, message = ""},
        storage_12 = {storage = 1011, rate = 1.0, message = ""},
        storage_13 = {storage = 1012, rate = 1.0, message = ""},
        -- adicione as outras storages e suas respectivas configurações aqui
    }

    local playerStorage = -1
    local message = "Voce nao tem nenhum bonus de experiencia ativo."
    for storage, config in pairs(expConfig) do
        if getPlayerStorageValue(cid, storage) > 0 then
            playerStorage = storage
            rate = config.rate
            message = config.message
            break
        end
    end

    if playerStorage > 0 then -- verifica se o jogador tem alguma storage ativa
        doPlayerSetExperienceRate(cid, rate)
        doPlayerSetSkillRate(cid, 0, skill_rate)
        doPlayerSetSkillRate(cid, 1, skill_rate)
        doPlayerSetSkillRate(cid, 2, skill_rate)
        doPlayerSetSkillRate(cid, 3, skill_rate)
        doPlayerSetSkillRate(cid, 4, skill_rate)
        doPlayerSetSkillRate(cid, 5, skill_rate)
        doPlayerSetSkillRate(cid, 6, skill_rate)
        doPlayerSetSkillRate(cid, 7, skill_rate)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, message)
    else
        doPlayerSetExperienceRate(cid, rate)
        doPlayerSetSkillRate(cid, 0, skill_rate)
        doPlayerSetSkillRate(cid, 1, skill_rate)
        doPlayerSetSkillRate(cid, 2, skill_rate)
        doPlayerSetSkillRate(cid, 3, skill_rate)
        doPlayerSetSkillRate(cid, 4, skill_rate)
        doPlayerSetSkillRate(cid, 5, skill_rate)
        doPlayerSetSkillRate(cid, 6, skill_rate)
        doPlayerSetSkillRate(cid, 7, skill_rate)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, message)
    end
    return TRUE
end

 

Editado por Gustavots (veja o histórico de edições)

Postado
function onLogin(cid)
    local storageValue = getPlayerStorageValue(cid, 5698284813)

    local expBonus = 0
    if storageValue >= 4 then
        expBonus = 0.4
    elseif storageValue == 3 then
        expBonus = 0.3
    elseif storageValue == 2 then
        expBonus = 0.2
    elseif storageValue == 1 then
        expBonus = 0.1
    end

    doPlayerSetExperienceRate(cid, expBonus + 1.0)

    for i = 0, 7 do
        doPlayerSetSkillRate(cid, i, expBonus + 1.0)
    end

    if expBonus > 0 then
        local txt = "Voce recebeu um bonus de " .. expBonus * 100 .. "% em experiência."
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, txt)
    end

    return true
end

 

Explicando:
Se o jogador ter o valor da storage '5698284813' em 1, ganhará 10% de exp, se for 2, ganhará 20%...

Editado por Anderson Sacani (veja o histórico de edições)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo