Ir para conteúdo

Featured Replies

Postado

Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website).

TFS 1.2.

Base: 

Qwizer.

 

O que você procura?

Implementação no script.

 

 

Cheguei até aqui no script, agora gostaria de adicionar bufs pelos ranks, por exemplo speed, life, skill etc. 

 

 

Você tem o código disponível? Se tiver publique-o aqui:

local config = {
    interval = 5,
    ranks = {
        {minBalance = 10000, rankName = "Knight", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 10000, rankName = "Duke", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 100000, rankName = "King", effect = CONST_ME_FIREWORK_RED},
    },
}
 
local function getRankByBalance(balance)
    for i = 1, #config.ranks do
        if balance < config.ranks[i].minBalance then
            return (i - 1 > 0) and (i - 1) or false
        end
    end
    return false
end
 
local function sendEffectTopPlayer(cid, rank)
    local player = Player(cid)
    if not player then
        return true
    end
    player:getPosition():sendMagicEffect(config.ranks[rank].effect)
    player:say(config.ranks[rank].rankName, TALKTYPE_MONSTER_SAY)
    addEvent(sendEffectTopPlayer, config.interval * 1000, cid, rank)
    return true
end
 
function onLogin(player)
    local rank = getRankByBalance(player:getBankBalance())
    if rank then
        sendEffectTopPlayer(player:getId(), rank)
    end
    return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

  • 2 weeks later...
Postado
local config = {
    interval = 5,
    ranks = {
        {minBalance = 10000, rankName = "Knight", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 10000, rankName = "Duke", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 100000, rankName = "King", effect = CONST_ME_FIREWORK_RED},
    },
}

local storage = 23525 -- storage para remover attributos
local sto = 23145 -- storage para adicionar attributos

local extrah = 100 -- hp extra
local extram = 100 -- mana extra
local speed = 50 -- speed extra
 
local function getRankByBalance(balance)
    for i = 1, #config.ranks do
        if balance < config.ranks[i].minBalance then
            return (i - 1 > 0) and (i - 1) or false
        end
    end
    return false
end
 
local function sendEffectTopPlayer(cid, rank)
    local player = Player(cid)
    if not player then
        return true
    end
    player:getPosition():sendMagicEffect(config.ranks[rank].effect)
    player:say(config.ranks[rank].rankName, TALKTYPE_MONSTER_SAY)
    addEvent(sendEffectTopPlayer, config.interval * 1000, cid, rank)
    return true
end
 
function onLogin(player)
    local rank = getRankByBalance(player:getBankBalance())
    
    if rank and player:getStorageValue(sto) == -1 then
        sendEffectTopPlayer(player:getId(), rank)
        player:setStorageValue(storage, 1)
        addAttributes()
    return true
    
    elseif rank and player:getStorageValue(sto) == 1 then
    
    sendEffectTopPlayer(player:getId(), rank)
     
    return true
    
    elseif not rank and player:getStorageValue(storage) == 1 then
        
    doRemoveAttributes()
    player:setStorageValue(storage, -1)
        
    return true
    end    
end


function doRemoveAttributes()

creature:setMaxHealth(creature:getMaxHealth() - extrah)
player:setMaxMana(creature:getMaxMana() - extram)
creature:changeSpeed(creature:getBaseSpeed())
player:setStorageValue(storage, -1)
player:setStorageValue(sto, -1)

end

function addAttributes()

creature:setMaxHealth(creature:getMaxHealth() + extrah)
player:setMaxMana(creature:getMaxMana() + extram)
creature:changeSpeed(speed)
player:setStorageValue(sto, 1)

end

 

Postado
  • Autor
21 minutos atrás, Sttorm disse:

local config = {
    interval = 5,
    ranks = {
        {minBalance = 10000, rankName = "Knight", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 10000, rankName = "Duke", effect = CONST_ME_FIREWORK_RED},
        {minBalance = 100000, rankName = "King", effect = CONST_ME_FIREWORK_RED},
    },
}

local storage = 23525 -- storage para remover attributos
local sto = 23145 -- storage para adicionar attributos

local extrah = 100 -- hp extra
local extram = 100 -- mana extra
local speed = 50 -- speed extra
 
local function getRankByBalance(balance)
    for i = 1, #config.ranks do
        if balance < config.ranks[i].minBalance then
            return (i - 1 > 0) and (i - 1) or false
        end
    end
    return false
end
 
local function sendEffectTopPlayer(cid, rank)
    local player = Player(cid)
    if not player then
        return true
    end
    player:getPosition():sendMagicEffect(config.ranks[rank].effect)
    player:say(config.ranks[rank].rankName, TALKTYPE_MONSTER_SAY)
    addEvent(sendEffectTopPlayer, config.interval * 1000, cid, rank)
    return true
end
 
function onLogin(player)
    local rank = getRankByBalance(player:getBankBalance())
    
    if rank and player:getStorageValue(sto) == -1 then
        sendEffectTopPlayer(player:getId(), rank)
        player:setStorageValue(storage, 1)
        addAttributes()
    return true
    
    elseif rank and player:getStorageValue(sto) == 1 then
    
    sendEffectTopPlayer(player:getId(), rank)
     
    return true
    
    elseif not rank and player:getStorageValue(storage) == 1 then
        
    doRemoveAttributes()
    player:setStorageValue(storage, -1)
        
    return true
    end    
end


function doRemoveAttributes()

creature:setMaxHealth(creature:getMaxHealth() - extrah)
player:setMaxMana(creature:getMaxMana() - extram)
creature:changeSpeed(creature:getBaseSpeed())
player:setStorageValue(storage, -1)
player:setStorageValue(sto, -1)

end

function addAttributes()

creature:setMaxHealth(creature:getMaxHealth() + extrah)
player:setMaxMana(creature:getMaxMana() + extram)
creature:changeSpeed(speed)
player:setStorageValue(sto, 1)

end

 

 

 

Lua Script Error: [CreatureScript Interface]
data/creaturescripts/scripts/RankbyBalance.lua:onLogin
data/creaturescripts/scripts/RankbyBalance.lua:74: attempt to index global 'creature' (a nil value)
stack traceback:
        [C]: in function '__index'
        data/creaturescripts/scripts/RankbyBalance.lua:74: in function 'addAttributes'
        data/creaturescripts/scripts/RankbyBalance.lua:43: in function <data/creaturescripts/scripts/RankbyBalance.lua:37>

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

Informação Importante

Confirmação de Termo