Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


+2
Minos
samuel6406
6 participantes

    Atributos sem limites

    avatar
    samuel6406
    Banido
    Banido


    Mensagens : 49
    Créditos : 11

    Atributos sem limites Empty Atributos sem limites

    Mensagem por samuel6406 Qua Jun 13, 2012 7:35 pm

    Atributos sem limites

    Escrito por momomo -Tradução por NicholasRg

    Introdução

    Diferente dos outros, este script sobe os atributos proporcionalmente ao que foi definido no database. Ex: se ash tem 80931 de HP no lvl 99, no lvl 100, ele terá 81741.

    Características

    Sobe os atributos proporcionalmente
    Limite dos atributos podem ser definidos no início do script

    Como usar

    Insira o script acima do main, e modifique os limites a seu gosto.

    Script
    Código:
    #===============================================================================
    # * Level sem limites, por momomo - Tradução por NicholasRg
    #===============================================================================
    #
    # Diferente dos outros, este script sobe os atributos proporcionalmente
    # ao que foi definido no database.
    # Ex:se ash tem 80931 de HP no lvl 99, no lvl 100, ele terá 81741.
    #
    #===============================================================================
    # Defina abaixo os Limites dos atributos
      BASE_FINAL_LEVEL = 9999  # Limite do LV
      MAXHP_LIMIT = 99999999    # Limite do HP
      MAXSP_LIMIT = 99999999    # Limite do MP
      STR_LIMIT  = 999999      # Limite da Força
      DEX_LIMIT  = 999999      # Limite da Destreza
      AGI_LIMIT  = 999999      # Limite da Agilidade
      INT_LIMIT  = 999999      # Limite da Inteligência
    # Não altere nada abaixo. (ao menos que saiba oque esteje fazendo)
    class Game_Actor < Game_Battler
      def new_final_level
        lv = BASE_FINAL_LEVEL
        #以下上限LV個別指定用
        #case self.id
        #when 1
        #  lv = 255
        #when 2
        #  lv = 999
        #when 8
        #  lv = 15600
        #end
        return lv
      end
      #--------------------------------------------------------------------------
      # ● EXP 計算
      #--------------------------------------------------------------------------
      def make_exp_list
        actor = $data_actors[@actor_id]
        @exp_list = Array.new(new_final_level + 2)
        @exp_list[1] = 0
        pow_i = 2.4 + actor.exp_inflation / 100.0
        for i in 2..new_final_level + 1
          if i > new_final_level
            @exp_list[i] = 0
          else
            n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
            @exp_list[i] = @exp_list[i-1] + Integer(n)
          end
        end
      end
      #--------------------------------------------------------------------------
      # ● MaxHP の取得
      #--------------------------------------------------------------------------
      def maxhp
        n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
        for i in @states
          n *= $data_states[i].maxhp_rate / 100.0
        end
        n = [[Integer(n), 1].max, MAXHP_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● 基本 MaxHP の取得
      #--------------------------------------------------------------------------
      def base_maxhp
        n = $data_actors[@actor_id].parameters[0, 1]
        n += $data_actors[@actor_id].parameters[0, 2] * @level
        return n
      end
      #--------------------------------------------------------------------------
      # ● 基本 MaxSP の取得
      #--------------------------------------------------------------------------
      def base_maxsp
        n = $data_actors[@actor_id].parameters[1, 1]
        n += $data_actors[@actor_id].parameters[1, 2] * @level
        return n
      end
      #--------------------------------------------------------------------------
      # ● 基本腕力の取得
      #--------------------------------------------------------------------------
      def base_str
        n = $data_actors[@actor_id].parameters[2, 1]
        n += $data_actors[@actor_id].parameters[2, 2] * @level
        weapon = $data_weapons[@weapon_id]
        armor1 = $data_armors[@armor1_id]
        armor2 = $data_armors[@armor2_id]
        armor3 = $data_armors[@armor3_id]
        armor4 = $data_armors[@armor4_id]
        n += weapon != nil ? weapon.str_plus : 0
        n += armor1 != nil ? armor1.str_plus : 0
        n += armor2 != nil ? armor2.str_plus : 0
        n += armor3 != nil ? armor3.str_plus : 0
        n += armor4 != nil ? armor4.str_plus : 0
        return [[n, 1].max, STR_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 基本器用さの取得
      #--------------------------------------------------------------------------
      def base_dex
        n = $data_actors[@actor_id].parameters[3, 1]
        n += $data_actors[@actor_id].parameters[3, 2] * @level
        weapon = $data_weapons[@weapon_id]
        armor1 = $data_armors[@armor1_id]
        armor2 = $data_armors[@armor2_id]
        armor3 = $data_armors[@armor3_id]
        armor4 = $data_armors[@armor4_id]
        n += weapon != nil ? weapon.dex_plus : 0
        n += armor1 != nil ? armor1.dex_plus : 0
        n += armor2 != nil ? armor2.dex_plus : 0
        n += armor3 != nil ? armor3.dex_plus : 0
        n += armor4 != nil ? armor4.dex_plus : 0
        return [[n, 1].max, DEX_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 基本素早さの取得
      #--------------------------------------------------------------------------
      def base_agi
        n = $data_actors[@actor_id].parameters[4, 1]
        n += $data_actors[@actor_id].parameters[4, 2] * @level
        weapon = $data_weapons[@weapon_id]
        armor1 = $data_armors[@armor1_id]
        armor2 = $data_armors[@armor2_id]
        armor3 = $data_armors[@armor3_id]
        armor4 = $data_armors[@armor4_id]
        n += weapon != nil ? weapon.agi_plus : 0
        n += armor1 != nil ? armor1.agi_plus : 0
        n += armor2 != nil ? armor2.agi_plus : 0
        n += armor3 != nil ? armor3.agi_plus : 0
        n += armor4 != nil ? armor4.agi_plus : 0
        return [[n, 1].max, AGI_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 基本魔力の取得
      #--------------------------------------------------------------------------
      def base_int
        n = $data_actors[@actor_id].parameters[5, 1]
        n += $data_actors[@actor_id].parameters[5, 2] * @level
        weapon = $data_weapons[@weapon_id]
        armor1 = $data_armors[@armor1_id]
        armor2 = $data_armors[@armor2_id]
        armor3 = $data_armors[@armor3_id]
        armor4 = $data_armors[@armor4_id]
        n += weapon != nil ? weapon.int_plus : 0
        n += armor1 != nil ? armor1.int_plus : 0
        n += armor2 != nil ? armor2.int_plus : 0
        n += armor3 != nil ? armor3.int_plus : 0
        n += armor4 != nil ? armor4.int_plus : 0
        return [[n, 1].max, INT_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● EXP の変更
      #    exp : 新しい EXP
      #--------------------------------------------------------------------------
      def exp=(exp)
        # ★EXPの上限チェックを解除
        @exp = [exp, 0].max
        # レベルアップ
        while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
          @level += 1
          # スキル習得
          for j in $data_classes[@class_id].learnings
            if j.level == @level
              learn_skill(j.skill_id)
            end
          end
        end
        # レベルダウン
        while @exp < @exp_list[@level]
          @level -= 1
        end
        # 現在の HP と SP が最大値を超えていたら修正
        @hp = [@hp, self.maxhp].min
        @sp = [@sp, self.maxsp].min
      end
      #--------------------------------------------------------------------------
      # ● レベルの変更
      #    level : 新しいレベル
      #--------------------------------------------------------------------------
      def level=(level)
        # 上下限チェック
        # ★LV上限をnew_final_levelでチェックするように変更
        level = [[level, new_final_level].min, 1].max
        # EXP を変更
        self.exp = @exp_list[level]
      end
    end
     
     
    class Game_Battler
      #--------------------------------------------------------------------------
      # ● MaxSP の取得
      #--------------------------------------------------------------------------
      def maxsp
        n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
        for i in @states
          n *= $data_states[i].maxsp_rate / 100.0
        end
        n = [[Integer(n), 0].max, MAXSP_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● 腕力の取得
      #--------------------------------------------------------------------------
      def str
        n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
        for i in @states
          n *= $data_states[i].str_rate / 100.0
        end
        n = [[Integer(n), 1].max, STR_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● 器用さの取得
      #--------------------------------------------------------------------------
      def dex
        n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
        for i in @states
          n *= $data_states[i].dex_rate / 100.0
        end
        n = [[Integer(n), 1].max, DEX_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● 素早さの取得
      #--------------------------------------------------------------------------
      def agi
        n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
        for i in @states
          n *= $data_states[i].agi_rate / 100.0
        end
        n = [[Integer(n), 1].max, AGI_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● 魔力の取得
      #--------------------------------------------------------------------------
      def int
        n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
        for i in @states
          n *= $data_states[i].int_rate / 100.0
        end
        n = [[Integer(n), 1].max, INT_LIMIT].min
        return n
      end
      #--------------------------------------------------------------------------
      # ● MaxHP の設定
      #    maxhp : 新しい MaxHP
      #--------------------------------------------------------------------------
      def maxhp=(maxhp)
        @maxhp_plus += maxhp - self.maxhp
        @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
        @hp = [@hp, self.maxhp].min
      end
      #--------------------------------------------------------------------------
      # ● MaxSP の設定
      #    maxsp : 新しい MaxSP
      #--------------------------------------------------------------------------
      def maxsp=(maxsp)
        @maxsp_plus += maxsp - self.maxsp
        @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
        @sp = [@sp, self.maxsp].min
      end
      #--------------------------------------------------------------------------
      # ● 腕力の設定
      #    str : 新しい腕力
      #--------------------------------------------------------------------------
      def str=(str)
        @str_plus += str - self.str
        @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 器用さの設定
      #    dex : 新しい器用さ
      #--------------------------------------------------------------------------
      def dex=(dex)
        @dex_plus += dex - self.dex
        @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 素早さの設定
      #    agi : 新しい素早さ
      #--------------------------------------------------------------------------
      def agi=(agi)
        @agi_plus += agi - self.agi
        @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
      end
      #--------------------------------------------------------------------------
      # ● 魔力の設定
      #    int : 新しい魔力
      #--------------------------------------------------------------------------
      def int=(int)
        @int_plus += int - self.int
        @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
      end
    end

    Créditos e Agradecimentos
    Feito por momomo
    Traduzido por NicholasRg
    Minos
    Minos
    Ocasional
    Ocasional


    Mensagens : 238
    Créditos : 38

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por Minos Qua Jun 13, 2012 8:04 pm

    Justamente que tavo Procurando^^+Cred ponha um sistema de pet ou algo assim kkk
    Lief
    Lief
    Desenvolvedor
    Desenvolvedor


    Mensagens : 834
    Créditos : 50

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por Lief Qua Jun 13, 2012 8:14 pm

    Bem,tomara que esse não dê bug no netplay u_u
    +1cred
    avatar
    samuel6406
    Banido
    Banido


    Mensagens : 49
    Créditos : 11

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por samuel6406 Qui Jun 14, 2012 1:41 pm

    bom cara akie nao deu bug no netplay v3 nao (: e quanto ao sistema de pets acho q já tem akie néh? se nao tiver eu ponho um sistema de pets e talvez sistema de pets que atacam monstros (:
    insertt
    insertt
    Iniciante
    Iniciante


    Mensagens : 41
    Créditos : 9

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por insertt Ter Ago 28, 2012 9:58 am

    Nossa vlw mesmo cara... vou testar aki, se funcionar vc ganha +1 crédito Glad

    Fan Bar:
    Spoiler:



    Atributos sem limites 47011188
    heyitily
    heyitily
    Experiente
    Experiente


    Mensagens : 421
    Créditos : 12

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por heyitily Ter Ago 28, 2012 1:32 pm

    Não Ressusite Topicos '0'


    _________________
    Atributos sem limites SICBb4n
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


    Medalhas : Atributos sem limites WBLhI
    Mensagens : 1204
    Créditos : 127

    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por Samuka_Maker Ter Ago 28, 2012 1:54 pm

    kk calma nyan
    se funfar dê os créditos a mim pq eu sou o samuel6406 ok? Successful
    fui banido nessa outra acc por flood mais eu n sou mais flooder


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumais.com/

    Atributos sem limites 6f4EA

    Atributos sem limites Bxvno
    Tópico original/Tópico de Recrutamento

    Conteúdo patrocinado


    Atributos sem limites Empty Re: Atributos sem limites

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 22, 2024 5:20 am