Postado Fevereiro 19, 2018 7 anos 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.
Postado Março 3, 2018 7 anos 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 Março 3, 2018 7 anos 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.