Postado Janeiro 11, 2024 1 ano Eu tava buscando um script para colocar um bloqueio em upar de nível que só é liberado se tiver uma certa storage. Buscando em foruns, encontrei esse script que estará logo a seguir, porém ele é para tfs 1.x, mas gostaria que fosse para tfs 0.4. Como fazer? -- Put this in data/global.lua function getExpForLevel(level) level = level - 1 return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3 end -- Put this in data/events/scripts/player.lua before Player:onGainExperience (outside of function) local level_tiers = { {level = 20, storage = 50000, value = 1}, -- level, quest_storage, value_required {level = 40, storage = 50001, value = 1}, {level = 60, storage = 50002, value = 1}, } -- Put this in data/events/scripts/player.lua within Player:onGainExperience before "return exp" for _, array in pairs(level_tiers) do if self:getStorageValue(array.storage) < array.value then local current_exp, level_exp = self:getExperience(), getExpForLevel(array.level) if (current_exp + exp) > level_exp then exp = math.max(0, level_exp - current_exp) break end end end
Postado Janeiro 14, 2024 1 ano Em 11/01/2024 em 10:57, HexusAlphos disse: for _, array in pairs(level_tiers) do if self:getStorageValue(array.storage) < array.value then local current_exp, level_exp = self:getExperience(), getExpForLevel(array.level) if (current_exp + exp) > level_exp then exp = math.max(0, level_exp - current_exp) break end end end só mudar esse for pra for _, array in pairs(level_tiers) do if getPlayerStorageValue(cid, array.storage) then local current_exp, level_exp = getPlayerExperience(cid), getExpForLevel(array.level) if (current_exp + exp) > level_exp then exp = math.max(0, level_exp - current_exp) break end end end vc pode colocar esse script em um "onGainExperience" caso exista na sua source, ou num "onAdvance" no creaturescript
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.