Per 2016, RMID pindah ke RMID Discord (Invite link dihapus untuk mencegah spambot -Theo @ 2019). Posting sudah tidak bisa dilakukan lagi.
Mohon maaf atas ketidaknyamanannya dan mohon kerjasamanya.

Share | 
 

 Ibegu PEE

Topik sebelumnya Topik selanjutnya Go down 
Ibegu PEE Empty2011-07-11, 02:16
PostIbegu PEE
#1
ibegu 
Advance
Advance
ibegu

Level 5
Posts : 451
Thanked : 14
Engine : RMVX
Skill : Very Beginner
Type : Composer

Ibegu PEE Vide
Ibegu Parameter + Equip Enhancement
Versi: 1.00


Pengenalan

Ya..ya..ya gw rasa udah ada yang buat script kyk gini tapi disini gw cuma mo coba tampilinin kreasi sendiri aja sapa tau ada yang sedikit berbeda dengan yang pernah kalian punya..jadi di script ini kita bisa punya parameter selain atk, def,spi..dll...yaitu str,dex,vit,int. dimana parameter tambahan ini mempengaruhi perkembangan dari main paratemer alias paramter awalnya (atk,def,spi,agi,maxhp,maxmp,)


Screenshots

ga ada



Demo

ga ada


Scripts

Code:
################################################################################
# Ibegu Parameter + Equipment Enhancement                                      #
# Version 1.00                                                                #
# 12/02/2011                                                                  #
# Credits to me!!                                                              #
################################################################################
#===============================================================================
# Intro
#===============================================================================
# Dengan script ini game kamu akan memiliki attribute tambahan
# yaitu str, vit, int, dex.
# dimana setiap atribut tambahannya akan mempengaruhi attribute dasar yang
# diberikan oleh RM ini sendiri(atk,def,spi,agi).
#===============================================================================
# Command Note
#===============================================================================
#-------------------------------------------------------------------------------
# Equipment (Weapon / Armor)
#-------------------------------------------------------------------------------
# tambahkan pada weapon / armor note :
#
# <attribute +x> atau <attribute -x>
# maka equip tersebut akan menambahkan atau mengurangi attribute
# aktor yang menggunakannya sebanyak x.
# attribute diantaranya :
# maxhp, maxmp, atk, def, spi, agi, str, vit, int, dex, hit, eva, cri
# contoh <def -200> atau <dex +1>
#
# <attribute per +x> atau <attribute per -x>
# maka equi[ tersebut akan menambahkan atau mengurangi attribute
# aktor yang menggunakannya sebanyak x%.
# attribute diantaranya :
# maxhp, maxmp, atk, def, spi, agi, str, vit, int, dex, hit, eva, cri
# contoh <def per -200> atau <dex per +1>
#-------------------------------------------------------------------------------
# State
#-------------------------------------------------------------------------------
# tambahkan pada state note :
#
# <attribute +x> atau <attribute -x>
# maka state tersebut akan menambahkan atau mengurangi attribute
# target sebanyak x.
# attribute diantaranya :
# atk, def, spi, agi, str, vit, int, dex
# contoh : <cri -20> atau <int +13>
#
# <attribute per +x> atau <attribute per -x>
# maka state tersebut merubah attribute target menjadi x%
# attribute diantaranya :
# atk, def, spi, agi, str, vit, int, dex
# contoh : <cri per -20> atau <int per +13>
#-------------------------------------------------------------------------------
# On Game
#-------------------------------------------------------------------------------
# $game_actors[x].attribute y z
# x = actor id di database game kamu
# y : =(sama dengan), += (ditambah), -= (dikurang), *= (dikali), /= (dibagi)
# z = nominal yang diinginkan (integer)
# contoh : - $game_actors[1].str *= 10 (Strength ralph yang semula akan dikali 10)
#          - $game_actors[1].str = 10 (Stregth ralph akan menjadi 10)
#===============================================================================
# Notification!!
#===============================================================================
# Jika kamu menggunakan script ini kamu tidak perlu lagi menggunakan
# script Ibegu Equip Plus Attribute
#-------------------------------------------------------------------------------
module IBEGU
#===============================================================================
# Configuration
#===============================================================================
  LIMIT_HP  = 99999
  LIMIT_MP  = 99999
  LIMIT_ATT = 9999      # Limit attribute (atk,def,spi,agi,str,vit,int,dex)
  HIT_RATE  = "Hit Rate" # Vocab Hit Rate
  HIT      = "HIT"      # Abbrevation(Singkatan)
  EVASION  = "Evasion"  # Vocab Evation
  EVA      = "EVA"      # Abbv
  CRITICAL  = "Critical" # Vocab Critical
  CRI      = "CRI"      # Abbv
  module ATT
#===============================================================================
# Attribute (Default)
#===============================================================================
#                    A  |  B          | C | D
#-------------------------------------------------------------------------------
    ATT_DEFAULT = [["STR","Strength"    ,15 ,1.25],
                  ["VIT","Vitality"    ,15 ,1.25],
                  ["INT","Intelligence",15 ,1.25],
                  ["DEX","Dexterity"  ,15 ,1.25]
                    ]
#-------------------------------------------------------------------------------
# A : Abbrevation
# B : Vocab
# C : Basic Attribute
# D : Multiply (setiap naik level akan dikali dengan nominal D)
#===============================================================================
# Parameter Calculation (Default)
#===============================================================================
#                          STR | VIT | INT | DEX
#-------------------------------------------------------------------------------
    PARAM_CALC_DEFAULT = [[3  ,  19 ,  0 ,  0], # Maximum HP
                          [0  ,  3 ,  0 ,  9], # Maximum MP
                          [2.3 , 0.2 , 0.5 ,  0], # Attack
                          [0.3 , 2.3 ,  0 , 0.2], # Defense
                          [  0 ,  0 , 2.3 ,  0], # Spirit
                          [  0 ,  0 ,  0 , 2.3]  # Agility
                          ]
#-------------------------------------------------------------------------------
# Horizontal : attribute yang mempengaruhi
# Vertikal  : attribute yang dipengaruhi
#
# penjelasan :
# coba lihat di baris maximum HP disitu ada array [3 , 19 , 0 , 0]
# artinya adalah 1 point STR akan menambah 3 maxhp, 1 point VIT akan menambah
# 19 maxhp, 1 point INT akan menambah 0 point maxhp, dst.
#===============================================================================
# Konfigurasi per actor
#===============================================================================
    ATT_ACTOR = []
    PARAM_CALC_ACTOR = []
#-------------------------------------------------------------------------------
# Kamu bisa mengkonfigurasi tiap karakternya contoh :
#
# ATT_ACTOR[1] = [ ["STR","Strength"    ,18 ,1.25],
#                  ["VIT","Vitality"    ,18 ,1.25],
#                  ["INT","Intelligence",18 ,1.25],
#                  ["DEX","Dexterity"  ,18 ,1.25]
#                    ]
#
# PARAM_CALC_ACTOR[1] =[[3  ,  14 ,  0 ,  0], # Maximum H
#                      [0  ,  3 ,  0 ,  9], # Maximum MP
#                      [2.8 , 0.1 , 0.9 ,  0], # Attack
#                      [0.3 ,  1 ,  0 , 0.2], # Defense
#                      [  0 ,  0 , 2.3 ,  0], # Spirit
#                      [  0 ,  0 ,  0 , 2.3]  # Agility
#                          ]
#
# Jika kamu membuat ATT_ACTOR kamu juga harus membuat PARAM_CALC_ACTOR juga.
#===============================================================================
# Information
#===============================================================================
# Script ini mengeset ulang :
# RPG::Weapon, RPG::Armor, RPG::State, Game_Actor, Game_Battler, Window_Base dan
# Window_Status
#===============================================================================
# Attention!!
#===============================================================================
# Dengan menggunakan Script ini beberapa panel di database tidak akan berfungsi
# alias kalau kamu merubah sesuatu di beberapa panel tertentu tidak akan
# merubah nilai apapun di game nanti, jadi kamu harus mengatur secara manual
# dengan perintah di game ini.
#===============================================================================
# Panel yang tidak akan berfungsi(di database)
#===============================================================================
# Panel Weapons : Attack, Defense, Spirit, Agility dan Hit Ratio
# Panel Armors  : Attack, Defense, Spirit, Agility dan Evasion
# Panel States  : Attak %, Defense %, Spirit %, dan Agility %
#===============================================================================
# Jika kamu tidak mengerti tentang script, jangan pernah mengotak - ngatik
# dimulai dari bawah ini.
#===============================================================================
  end
  module EQUIP
    MAXHP    = /<(?:MAXHP|maxhp)[ ]*([\-\+]\d+)>/i
    MAXHP_PER = /<(?:MAXHP PER|maxhp per)[ ]*([\-\+]\d+)>/i
    MAXMP    = /<(?:MAXMP|maxmp)[ ]*([\-\+]\d+)>/i
    MAXMP_PER = /<(?:MAXMP PER|maxmp per)[ ]*([\-\+]\d+)>/i
    ATK      = /<(?:ATK|atk)[ ]*([\-\+]\d+)>/i
    ATK_PER  = /<(?:ATK PER|atk per)[ ]*([\-\+]\d+)>/i
    DEF      = /<(?:DEF|def)[ ]*([\-\+]\d+)>/i
    DEF_PER  = /<(?:DEF PER|def per)[ ]*([\-\+]\d+)>/i
    SPI      = /<(?:SPI|spi)[ ]*([\-\+]\d+)>/i
    SPI_PER  = /<(?:SPI PER|spi per)[ ]*([\-\+]\d+)>/i
    AGI      = /<(?:AGI|agi)[ ]*([\-\+]\d+)>/i
    AGI_PER  = /<(?:AGI PER|agi per)[ ]*([\-\+]\d+)>/i
    STR      = /<(?:STR|str)[ ]*([\-\+]\d+)>/i
    STR_PER  = /<(?:STR PER|str per)[ ]*([\-\+]\d+)>/i
    VIT      = /<(?:VIT|vit)[ ]*([\-\+]\d+)>/i
    VIT_PER  = /<(?:VIT PER|vit per)[ ]*([\-\+]\d+)>/i
    INT      = /<(?:INT|int)[ ]*([\-\+]\d+)>/i
    INT_PER  = /<(?:INT PER|int per)[ ]*([\-\+]\d+)>/i
    DEX      = /<(?:DEX|dex)[ ]*([\-\+]\d+)>/i
    DEX_PER  = /<(?:DEX PER|dex per)[ ]*([\-\+]\d+)>/i
    HIT      = /<(?:HIT|hit)[ ]*([\-\+]\d+)>/i
    EVA      = /<(?:EVA|eva)[ ]*([\-\+]\d+)>/i
    CRI      = /<(?:CRI|cri)[ ]*([\-\+]\d+)>/i   
  end
end
#===============================================================================
# RPG::Weapon
#===============================================================================
class RPG::Weapon < RPG::BaseItem
  def ibegu_weapon_plus_cache
    @maxhp    = 0
    @maxhp_per = 0
    @maxmp    = 0
    @maxmp_per = 0
    @atk      = 0
    @atk_per  = 0
    @def      = 0
    @def_per  = 0
    @spi      = 0
    @spi_per  = 0
    @agi      = 0
    @agi_per  = 0
    @cri      = 0
    @hit      = 95
    @eva      = 0
    @str      = 0
    @str_per  = 0
    @vit      = 0
    @vit_per  = 0
    @int      = 0
    @int_per  = 0
    @dex      = 0
    @dex_per  = 0
    self.note.split(/[\r\n]+/).each { |line|
    case line
    when IBEGU::EQUIP::MAXHP
      @maxhp += $1.to_i
    when IBEGU::EQUIP::MAXHP_PER
      @maxhp_per += $1.to_i / 100 
    when IBEGU::EQUIP::MAXMP
      @maxmp += $1.to_i
    when IBEGU::EQUIP::MAXMP_PER
      @maxmp_per += $1.to_i / 100
    when IBEGU::EQUIP::ATK
      @atk += $1.to_i
    when IBEGU::EQUIP::ATK_PER
      @atk_per += $1.to_i / 100   
    when IBEGU::EQUIP::DEF
      @def += $1.to_i
    when IBEGU::EQUIP::DEF_PER
      @def_per += $1.to_i / 100
    when IBEGU::EQUIP::SPI
      @spi += $1.to_i
    when IBEGU::EQUIP::SPI_PER
      @spi_per += $1.to_i / 100
    when IBEGU::EQUIP::AGI
      @agi += $1.to_i
    when IBEGU::EQUIP::AGI_PER
      @agi_per += $1.to_i / 100
    when IBEGU::EQUIP::STR_PER
      @str_per += $1.to_i / 100
    when IBEGU::EQUIP::VIT
      @vit += $1.to_i
    when IBEGU::EQUIP::VIT_PER
      @vit_per += $1.to_i / 100
    when IBEGU::EQUIP::INT
      @int += $1.to_i
    when IBEGU::EQUIP::INT_PER
      @int_per += $1.to_i / 100
    when IBEGU::EQUIP::DEX
      @dex += $1.to_i
    when IBEGU::EQUIP::DEX_PER
      @dex_per += $1.to_i / 100
    end}
  end
  def maxhp
    ibegu_weapon_plus_cache if @maxhp == nil
    return @maxhp
  end
  def maxhp_per
    ibegu_weapon_plus_cache if @maxhp_per == nil
    return @maxhp_per
  end
  def maxmp
    ibegu_weapon_plus_cache if @maxmp == nil
    return @maxmp
  end
  def maxmp_per
    ibegu_weapon_plus_cache if @maxmp_per == nil
    return @maxmp_per
  end
  def atk
    ibegu_weapon_plus_cache if @atk == nil
    return @atk
  end
  def atk_per
    ibegu_weapon_plus_cache if @atk_per == nil
    return @atk_per
  end
  def def
    ibegu_weapon_plus_cache if @def == nil
    return @def
  end
  def def_per
    ibegu_weapon_plus_cache if @def_per == nil
    return @def_per
  end
  def spi
    ibegu_weapon_plus_cache if @spi == nil
    return @spi
  end
  def spi_per
    ibegu_weapon_plus_cache if @spi_per == nil
    return @spi_per
  end
  def agi
    ibegu_weapon_plus_cache if @agi == nil
    return @agi
  end
  def agi_per
    ibegu_weapon_plus_cache if @agi_per == nil
    return @agi_per
  end
  def str
    ibegu_weapon_plus_cache if @str == nil
    return @str
  end
  def str_per
    ibegu_weapon_plus_cache if @str_per == nil
    return @str_per
  end
  def vit
    ibegu_weapon_plus_cache if @vit == nil
    return @vit
  end
  def vit_per
    ibegu_weapon_plus_cache if @vit_per == nil
    return @vit_per
  end
  def int
    ibegu_weapon_plus_cache if @int == nil
    return @int
  end
  def int_per
    ibegu_weapon_plus_cache if @int_per == nil
    return @int_per
  end
  def dex
    ibegu_weapon_plus_cache if @dex == nil
    return @dex
  end
  def dex_per
    ibegu_weapon_plus_cache if @dex_per == nil
    return @dex_per
  end
end
#===============================================================================
# RPG::Armor
#===============================================================================
class RPG::Armor < RPG::BaseItem
  def ibegu_armor_plus_cache
    @maxhp    = 0
    @maxhp_per = 0
    @maxmp    = 0
    @maxmp_per = 0
    @atk      = 0
    @atk_per  = 0
    @def      = 0
    @def_per  = 0
    @spi      = 0
    @spi_per  = 0
    @agi      = 0
    @agi_per  = 0
    @cri      = 0
    @hit      = 0
    @eva      = 0
    @str      = 0
    @str_per  = 0
    @vit      = 0
    @vit_per  = 0
    @int      = 0
    @int_per  = 0
    @dex      = 0
    @dex_per  = 0
    self.note.split(/[\r\n]+/).each { |line|
    case line
    when IBEGU::EQUIP::MAXHP
      @maxhp += $1.to_i
    when IBEGU::EQUIP::MAXHP_PER
      @maxhp_per += $1.to_i / 100 
    when IBEGU::EQUIP::MAXMP
      @maxmp += $1.to_i
    when IBEGU::EQUIP::MAXMP_PER
      @maxmp_per += $1.to_i / 100
    when IBEGU::EQUIP::ATK
      @atk += $1.to_i
    when IBEGU::EQUIP::ATK_PER
      @atk_per += $1.to_i / 100   
    when IBEGU::EQUIP::DEF
      @def += $1.to_i
    when IBEGU::EQUIP::DEF_PER
      @def_per += $1.to_i / 100
    when IBEGU::EQUIP::SPI
      @spi += $1.to_i
    when IBEGU::EQUIP::SPI_PER
      @spi_per += $1.to_i / 100
    when IBEGU::EQUIP::AGI
      @agi += $1.to_i
    when IBEGU::EQUIP::AGI_PER
      @agi_per += $1.to_i / 100
    when IBEGU::EQUIP::CRI
      @cri += $1.to_i
    when IBEGU::EQUIP::HIT
      @hit += $1.to_i
    when IBEGU::EQUIP::EVA
      @eva += $1.to_i
    when IBEGU::EQUIP::STR
      @str += $1.to_i
    when IBEGU::EQUIP::STR_PER
      @str_per += $1.to_i / 100
    when IBEGU::EQUIP::VIT
      @vit += $1.to_i
    when IBEGU::EQUIP::VIT_PER
      @vit_per += $1.to_i / 100
    when IBEGU::EQUIP::INT
      @int += $1.to_i
    when IBEGU::EQUIP::INT_PER
      @int_per += $1.to_i / 100
    when IBEGU::EQUIP::DEX
      @dex += $1.to_i
    when IBEGU::EQUIP::DEX_PER
      @dex_per += $1.to_i / 100
    end}
  end
  def maxhp
    ibegu_armor_plus_cache if @maxhp == nil
    return @maxhp
  end
  def maxhp_per
    ibegu_armor_plus_cache if @maxhp_per == nil
    return @maxhp_per
  end
  def maxmp
    ibegu_armor_plus_cache if @maxmp == nil
    return @maxmp
  end
  def maxmp_per
    ibegu_armor_plus_cache if @maxmp_per == nil
    return @maxmp_per
  end
  def atk
    ibegu_armor_plus_cache if @atk == nil
    return @atk
  end
  def atk_per
    ibegu_armor_plus_cache if @atk_per == nil
    return @atk_per
  end
  def def
    ibegu_armor_plus_cache if @def == nil
    return @def
  end
  def def_per
    ibegu_armor_plus_cache if @def_per == nil
    return @def_per
  end
  def spi
    ibegu_armor_plus_cache if @spi == nil
    return @spi
  end
  def spi_per
    ibegu_armor_plus_cache if @spi_per == nil
    return @spi_per
  end
  def agi
    ibegu_armor_plus_cache if @agi == nil
    return @agi
  end
  def agi_per
    ibegu_armor_plus_cache if @agi_per == nil
    return @agi_per
  end
  def cri
    ibegu_armor_plus_cache if @cri == nil
    return @cri
  end
  def hit
    ibegu_armor_plus_cache if @hit == nil
    return @hit
  end
  def eva
    ibegu_armor_plus_cache if @eva == nil
    return @eva
  end
  def str
    ibegu_armor_plus_cache if @str == nil
    return @str
  end
  def str_per
    ibegu_armor_plus_cache if @str_per == nil
    return @str_per
  end
  def vit
    ibegu_armor_plus_cache if @vit == nil
    return @vit
  end
  def vit_per
    ibegu_armor_plus_cache if @vit_per == nil
    return @vit_per
  end
  def int
    ibegu_armor_plus_cache if @int == nil
    return @int
  end
  def int_per
    ibegu_armor_plus_cache if @int_per == nil
    return @int_per
  end
  def dex
    ibegu_armor_plus_cache if @dex == nil
    return @dex
  end
  def dex_per
    ibegu_armor_plus_cache if @dex_per == nil
    return @dex_per
  end
end
#===============================================================================
# RPG::State
#===============================================================================
class RPG::State
  def ibegu_state_plus_cache
    @atk      = 0
    @atk_per  = 100
    @def      = 0
    @def_per  = 100
    @spi      = 0
    @spi_per  = 100
    @agi      = 0
    @agi_per  = 100
    @str      = 0
    @str_per  = 100
    @vit      = 0
    @vit_per  = 100
    @int      = 0
    @int_per  = 100
    @dex      = 0
    @dex_per  = 100
    self.note.split(/[\r\n]+/).each { |line|
    case line
    when IBEGU::EQUIP::ATK
      @atk += $1.to_i
    when IBEGU::EQUIP::ATK_PER
      @atk_per += $1.to_i   
    when IBEGU::EQUIP::DEF
      @def += $1.to_i
    when IBEGU::EQUIP::DEF_PER
      @def_per += $1.to_i 
    when IBEGU::EQUIP::SPI
      @spi += $1.to_i
    when IBEGU::EQUIP::SPI_PER
      @spi_per += $1.to_i 
    when IBEGU::EQUIP::AGI
      @agi += $1.to_i
    when IBEGU::EQUIP::AGI_PER
      @agi_per += $1.to_i 
    when IBEGU::EQUIP::STR
      @str += $1.to_i
    when IBEGU::EQUIP::STR_PER
      @str_per += $1.to_i 
    when IBEGU::EQUIP::VIT
      @vit += $1.to_i
    when IBEGU::EQUIP::VIT_PER
      @vit_per += $1.to_i
    when IBEGU::EQUIP::INT
      @int += $1.to_i
    when IBEGU::EQUIP::INT_PER
      @int_per += $1.to_i 
    when IBEGU::EQUIP::DEX
      @dex += $1.to_i
    when IBEGU::EQUIP::DEX_PER
      @dex_per += $1.to_i 
    end}
  end
  def atk_rate
    ibegu_state_plus_cache if @atk == nil
    return @atk
  end
  def atk_per_rate
    ibegu_state_plus_cache if @atk_per == nil
    return @atk_per
  end
  def def_rate
    ibegu_state_plus_cache if @def == nil
    return @def
  end
  def def_per_rate
    ibegu_state_plus_cache if @def_per == nil
    return @def_per
  end
  def spi_rate
    ibegu_state_plus_cache if @spi == nil
    return @spi
  end
  def spi_per_rate
    ibegu_state_plus_cache if @spi_per == nil
    return @spi_per
  end
  def agi_rate
    ibegu_state_plus_cache if @agi == nil
    return @agi
  end
  def agi_per_rate
    ibegu_state_plus_cache if @agi_per == nil
    return @agi_per
  end
  def str_rate
    ibegu_state_plus_cache if @str == nil
    return @str
  end
  def str_per_rate
    ibegu_state_plus_cache if @str_per == nil
    return @str_per
  end
  def vit_rate
    ibegu_state_plus_cache if @vit == nil
    return @vit
  end
  def vit_per_rate
    ibegu_state_plus_cache if @vit_per == nil
    return @vit_per
  end
  def int_rate
    ibegu_state_plus_cache if @int == nil
    return @int
  end
  def int_per_rate
    ibegu_state_plus_cache if @int_per == nil
    return @int_per
  end
  def dex_rate
    ibegu_state_plus_cache if @dex == nil
    return @dex
  end
  def dex_per_rate
    ibegu_state_plus_cache if @dex_per == nil
    return @dex_per
  end
end
#===============================================================================
# Game_Actor
#===============================================================================   
class Game_Actor < Game_Battler
  def maxhp_limit
    return IBEGU::LIMIT_HP
  end
  def base_str
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      n = IBEGU::ATT::ATT_ACTOR[actor.id][0][2] + IBEGU::ATT::ATT_ACTOR[actor.id][0][3] * @level
    else
      n = IBEGU::ATT::ATT_DEFAULT[0][2] + IBEGU::ATT::ATT_DEFAULT[0][3] * @level
    end   
    for item in equips.compact do n += item.str end
    for item in equips.compact do n += n * item.str_per end
    return n
  end
 
  def base_vit
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      n = IBEGU::ATT::ATT_ACTOR[actor.id][1][2] + IBEGU::ATT::ATT_ACTOR[actor.id][1][3] * @level
    else
      n = IBEGU::ATT::ATT_DEFAULT[1][2] + IBEGU::ATT::ATT_DEFAULT[1][3] * @level
    end
    for item in equips.compact do n += item.vit end
    for item in equips.compact do n += n * item.vit_per end
    return n
  end
 
  def base_int
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      n =  IBEGU::ATT::ATT_ACTOR[actor.id][2][2] + IBEGU::ATT::ATT_ACTOR[actor.id][2][3] * @level
    else
      n =  IBEGU::ATT::ATT_DEFAULT[2][2] + IBEGU::ATT::ATT_DEFAULT[2][3] * @level
    end
    for item in equips.compact do n += item.int end
    for item in equips.compact do n += n * item.int_per end
    return n
  end
 
  def base_dex
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      n = IBEGU::ATT::ATT_ACTOR[actor.id][3][2] + IBEGU::ATT::ATT_ACTOR[actor.id][3][3] * @level
    else
      n = IBEGU::ATT::ATT_DEFAULT[3][2] + IBEGU::ATT::ATT_DEFAULT[3][3] * @level
    end
    for item in equips.compact do n += item.dex end
    for item in equips.compact do n += n * item.dex_per end
    return n
  end
 
  def maxhp_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]
      @maxhp_add  = @calc_actor[0][0] * base_str + @calc_actor[0][1] * base_vit + @calc_actor[0][2] * base_int + @calc_actor[0][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @maxhp_add  = @calc_actor[0][0] * base_str + @calc_actor[0][1] * base_vit + @calc_actor[0][2] * base_int + @calc_actor[0][3] * base_dex
    end
  end
 
  def maxmp_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]
      @maxmp_add  = @calc_actor[1][0] * base_str + @calc_actor[1][1] * base_vit + @calc_actor[1][2] * base_int + @calc_actor[1][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @maxmp_add  = @calc_actor[1][0] * base_str + @calc_actor[1][1] * base_vit + @calc_actor[1][2] * base_int + @calc_actor[1][3] * base_dex
    end
  end
 
  def atk_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]
      @atk_add    = @calc_actor[2][0] * base_str + @calc_actor[2][1] * base_vit + @calc_actor[2][2] * base_int + @calc_actor[2][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @atk_add    = @calc_actor[2][0] * base_str + @calc_actor[2][1] * base_vit + @calc_actor[2][2] * base_int + @calc_actor[2][3] * base_dex
    end
  end
 
  def def_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]     
      @def_add    = @calc_actor[3][0] * base_str + @calc_actor[3][1] * base_vit + @calc_actor[3][2] * base_int + @calc_actor[3][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @def_add    = @calc_actor[3][0] * base_str + @calc_actor[3][1] * base_vit + @calc_actor[3][2] * base_int + @calc_actor[3][3] * base_dex
    end
  end
 
  def spi_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]     
      @spi_add    = @calc_actor[4][0] * base_str + @calc_actor[4][1] * base_vit + @calc_actor[4][2] * base_int + @calc_actor[4][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @spi_add    = @calc_actor[4][0] * base_str + @calc_actor[4][1] * base_vit + @calc_actor[4][2] * base_int + @calc_actor[4][3] * base_dex
    end
  end
 
  def agi_add
    if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]  != nil
      @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id]     
      @agi_add    = @calc_actor[5][0] * base_str + @calc_actor[5][1] * base_vit + @calc_actor[5][2] * base_int + @calc_actor[5][3] * base_dex
    else
      @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT
      @agi_add    = @calc_actor[5][0] * base_str + @calc_actor[5][1] * base_vit + @calc_actor[5][2] * base_int + @calc_actor[5][3] * base_dex
    end
  end
  alias ibegu_maxhp_limit maxhp_limit
  def maxhp_limit
    ibegu_maxhp_limit
    return IBEGU::LIMIT_HP
  end
 
  alias ibegu_base_maxhp base_maxhp
  def base_maxhp
    ibegu_base_maxhp
    n = Integer(actor.parameters[0, @level] + maxhp_add)
    for item in equips.compact do n += item.maxhp end
    for item in equips.compact do n += n *item.maxhp_per end
    return n
 end
 
  alias ibegu_base_maxmp base_maxmp
  def base_maxmp
    ibegu_base_maxmp
    n = Integer(actor.parameters[1, @level] + maxmp_add)
    for item in equips.compact do n += item.maxmp end
    for item in equips.compact do n += n *item.maxmp_per end
    return n
  end
 
  def base_atk
    n = actor.parameters[2, @level]
    n += atk_add
    for item in equips.compact do n += item.atk end
    for item in equips.compact do n += n * item.atk_per end
    return n
  end
 
  def base_def
    n = actor.parameters[3, @level]
    n += def_add
    for item in equips.compact do n += item.def end
    for item in equips.compact do n += n * item.def_per end
    return n
  end
 
  def base_spi
    n = actor.parameters[4, @level]
    n += spi_add
    for item in equips.compact do n += item.spi end
    for item in equips.compact do n += n * item.spi_per end
    return n
  end
 
  def base_agi
    n = actor.parameters[5, @level]
    n += spi_add
    for item in equips.compact do n += item.agi end
    for item in equips.compact do n += n * item.agi_per end
    return n
  end
end
#===============================================================================
# Game_Battler
#===============================================================================
class Game_Battler
  alias ibegu_cev clear_extra_values
  def clear_extra_values
    ibegu_cev
    @str_plus = 0
    @vit_plus = 0
    @dex_plus = 0
    @int_plus = 0
  end
  def maxmp
    return [[base_maxmp + @maxmp_plus, 0].max, IBEGU::LIMIT_MP].min
  end
  def atk
    n = [[base_atk + @atk_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.atk_rate end
    for state in states do n *= state.atk_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
  def def
    n = [[base_def + @def_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.def_rate end
    for state in states do n *= state.def_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
  def spi
    n = [[base_spi + @spi_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.spi_rate end
    for state in states do n *= state.spi_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
  def agi
    n = [[base_agi + @agi_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.agi_rate end
    for state in states do n *= state.agi_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
  def str
    n = [[base_str + @str_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.str_rate end
    for state in states do n *= state.str_per_rate end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
   
  def vit
    n = [[base_vit + @vit_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.vit_rate end
    for state in states do n *= state.vit_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end

  def int
    n = [[base_int + @int_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.int_rate end
    for state in states do n *= state.int_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end

  def dex
    n = [[base_dex + @dex_plus, 1].max, IBEGU::LIMIT_ATT].min
    for state in states do n -= state.dex_rate end
    for state in states do n *= state.dex_per_rate / 100.0 end
    n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min
    return n
  end
  def maxhp=(new_maxhp)
    @maxhp_plus += new_maxhp - self.maxhp
    @maxhp_plus = [[@maxhp_plus, -IBEGU::LIMIT_HP].max, IBEGU::LIMIT_HP].min
    @hp = [@hp, self.maxhp].min
  end
  def maxmp=(new_maxmp)
    @maxmp_plus += new_maxmp - self.maxmp
    @maxmp_plus = [[@maxmp_plus, -IBEGU::LIMIT_MP].max, IBEGU::LIMIT_MP].min
    @mp = [@mp, self.maxmp].min
  end
  def atk=(new_atk)
    @atk_plus += new_atk - self.atk
    @atk_plus = [[@atk_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
  def def=(new_def)
    @def_plus += new_def - self.def
    @def_plus = [[@def_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
  def spi=(new_spi)
    @spi_plus += new_spi - self.spi
    @spi_plus = [[@spi_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
  def agi=(new_agi)
    @agi_plus += new_agi - self.agi
    @agi_plus = [[@agi_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
  def str=(new_str)
    @str_plus += new_str - self.str
    @str_plus = [[@str_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
 
  def vit=(new_vit)
    @vit_plus += new_vit - self.vit
    @vit_plus = [[@vit_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end

  def int=(new_int)
    @int_plus += new_int - self.int
    @int_plus = [[@int_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
 
  def dex=(new_dex)
    @dex_plus += new_dex - self.dex
    @dex_plus = [[@dex_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min
  end
end
#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
    def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = Vocab::atk
      parameter_value = actor.atk
    when 1
      parameter_name = Vocab::def
      parameter_value = actor.def
    when 2
      parameter_name = Vocab::spi
      parameter_value = actor.spi
    when 3
      parameter_name = Vocab::agi
      parameter_value = actor.agi
    when 4
      parameter_name = IBEGU::ATT::ATT_DEFAULT[0][0]
      parameter_value = actor.str
    when 5
      parameter_name = IBEGU::ATT::ATT_DEFAULT[1][0]
      parameter_value = actor.vit
    when 6
      parameter_name = IBEGU::ATT::ATT_DEFAULT[2][0]
      parameter_value = actor.int
    when 7
      parameter_name = IBEGU::ATT::ATT_DEFAULT[3][0]
      parameter_value = actor.dex
    when 8
      parameter_name = IBEGU::HIT
      parameter_value = actor.hit
    when 9
      parameter_name = IBEGU::EVA
      parameter_value = actor.eva
    when 10
      parameter_name = IBEGU::CRI
      parameter_value = actor.cri
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 60, y, 36, WLH, parameter_value, 2)
  end
end
#===============================================================================
# Window_Status
#===============================================================================
class Window_Status < Window_Base
 
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 128, 0)
    draw_actor_face(@actor, 8, 32)
    draw_basic_info(128, 32)
    draw_parameters(8, 160)
    draw_exp_info(288, 32)
    draw_equipments(288, 160)
  end
 
  def draw_parameters(x, y)
    draw_actor_parameter(@actor, x, y + WLH * 0, 0)
    draw_actor_parameter(@actor, x, y + WLH * 1, 1)
    draw_actor_parameter(@actor, x, y + WLH * 2, 2)
    draw_actor_parameter(@actor, x, y + WLH * 3, 3)
    draw_actor_parameter(@actor, x + 128, y + WLH * 0, 4)
    draw_actor_parameter(@actor, x + 128, y + WLH * 1, 5)
    draw_actor_parameter(@actor, x + 128, y + WLH * 2, 6)
    draw_actor_parameter(@actor, x + 128, y + WLH * 3, 7)
    draw_actor_parameter(@actor, x + 64, y + WLH * 5, 8)
    draw_actor_parameter(@actor, x + 64, y + WLH * 6, 9)
    draw_actor_parameter(@actor, x + 64, y + WLH * 7, 10)   
  end
end
#===============================================================================
# END OF FILE
#===============================================================================


Credits

Ibegu
Ibegu PEE Empty2011-07-11, 08:14
PostRe: Ibegu PEE
#2
shikami 
Member 1000 Konsep
avatar

Level 5
Posts : 3744
Thanked : 31
Engine : Multi-Engine User
Skill : Beginner
Type : Developer
Awards:


Ibegu PEE Vide
namanya ga enak didenger :o
ya 11-12 ma punya wltr lah, cuma ini lebih simple..
ijin pake bang 8)
hmm str bukannya sama aja kaek atk :hmm:
tau dah :P
Ibegu PEE Empty2011-07-11, 08:37
PostRe: Ibegu PEE
#3
hyperkudit 
Pahlawan Super
hyperkudit

Level 5
Posts : 2288
Thanked : 30
Engine : RMXP
Skill : Very Beginner
Type : Artist
Awards:

Ibegu PEE Vide
woloh, ku kira ibegu pasang poto lagi pipis disini =))
aku ngerasa yg str apa gk mubazir itu?? kan sama kyk atk??
bedanya apa ya? :P
Ibegu PEE Empty2011-07-11, 10:53
PostRe: Ibegu PEE
#4
ibegu 
Advance
Advance
ibegu

Level 5
Posts : 451
Thanked : 14
Engine : RMVX
Skill : Very Beginner
Type : Composer

Ibegu PEE Vide
@chika : wokwoow mirip punya wltr ya ? XD jadi malu

@kudit : pengennya gitu tapi ntar di delete lagi threadnya...

STR emang terlihat seperti atk tapi sayangnya atk tidak bisa menambah besarnya maxhp khan ? ^.^ atau mungkin kita bisa buat str mempengaruhi perkembangan maxmp ^.^
Ibegu PEE Empty2011-07-11, 14:18
PostRe: Ibegu PEE
#5
hyperkudit 
Pahlawan Super
hyperkudit

Level 5
Posts : 2288
Thanked : 30
Engine : RMXP
Skill : Very Beginner
Type : Artist
Awards:

Ibegu PEE Vide
bukannya yg max hp itu vit y? jadi bisa diatur gt???
apa nanti str juga mempengaruhi atk..
bisa diatur gt ya??
Ibegu PEE Empty2011-07-11, 14:26
PostRe: Ibegu PEE
#6
Aegis 
Legendary
Legendary
Aegis

Level 3
Posts : 2152
Thanked : 56
Engine : Multi-Engine User
Skill : Very Beginner
Type : Artist
Awards:


Ibegu PEE Vide
judulnya jangan Ibegu PEE
tapi, IP + EE :v
Ibegu PEE Empty2011-07-11, 19:24
PostRe: Ibegu PEE
#7
ibegu 
Advance
Advance
ibegu

Level 5
Posts : 451
Thanked : 14
Engine : RMVX
Skill : Very Beginner
Type : Composer

Ibegu PEE Vide
@kudit: yup, semua bisa di atur, bisa saja dex menambahkan maxhp atau menambahkan atk...

@aegis: wokwoko iya baru nyadar namanya pipis XD
Ibegu PEE Empty
PostRe: Ibegu PEE
#8
Sponsored content 




Ibegu PEE Vide
 

Ibegu PEE

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 

Similar topics

+
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
RPGMakerID :: Scripts & Event Systems :: RMVX Scripts-