Jump to content

Recommended Posts

HI there! How can I make random AP?
I've tried to modify a script by TroyZ but the AP output is wrong..

 

Here I leave the script that I modified

Spoiler

# ==============================================================================
# ▼▼▼▼▼▼                    TroyZ - Random AP Drop                       ▼▼▼▼▼▼
# ==============================================================================
# Script by : Agung Prasetyo(TroyZ)
# Contact me by : - Email agung.endisnear.xyz@gmail.com
#                 - Forum RPGMakerID, username TroyZ
#                 - Handphone 085756289121
# Engine : VXAce
# Level : Easy
# Version : 1.1
# ------------------------------------------------------------------------------
# Change Logs :
# 27 Mei 2013 - Rilis script versi 1.0
# 15 Mei 2013 - Rilis update versi 1.1
# ------------------------------------------------------------------------------
# License : Silahkan digunakan untuk game free ataupun yang komersil.
# Gak dikasih credit juga gak apa-apa, dikarenakan script ini sangat mudah dan
# berhasil saya selesaikan kurang dari 10 menit. Kalo mau kasih credit boleh juga,
# credit atas nama Agung Prasetyo(TroyZ).
# ------------------------------------------------------------------------------
# How to Use : Pasang saja dibawah material tapi diatas main
# ------------------------------------------------------------------------------
# Dengan script ini, aperience yang diberikan oleh musuh akan diacak sesuai
# dengan konfigurasi yang kamu setting nantinya dibawah ini. Misalnya random
# ratenya = 20% dengan aperience musuh 50. Maka, kamu akan mendapatkan aperience
# yang diantara 20% dibawahnya 50 dan 20% diatasnya 50, jadi ada rentang aperience
# gitu lah.
#
# Update versi 1.1
# Kamu bisa setting sendiri rate terendah dan rate tertinggi ap musuh dengan
# notetag seperti ini :
# <ap lower rate: x>
# <ap upper rate: x>
# Dimana x adalah persentasenya. Misalnya, slime mempunyai notetag seperti ini :
# <ap lower rate: 20>
# <ap upper rate: 60>
# Berarti, slime itu akan memberikan ap dengan rentang 20% dibawah base ap, dan
# 60% diatas base ap. Kalau tidak mau ada ratenya, berikan angka 0 pada persentasenya
$imported = {} if $imported.nil?
$imported[:TroyZ_RandomAPDrop] = true
     
module X_Random_AP_Drop_X
  module RandomRate
    DEFAULT_LOWER_RATE = 20 # random rate ini dalam persen
    DEFAULT_UPPER_RATE = 20 # random rate ini dalam persen
  end
  
  module NOTETAGS_RANDOM_RATE
    LOWER_RATE = /<(?:AP LOWER RATE|ap lower rate):[ ]*(\d+)>/i
    UPPER_RATE = /<(?:AP UPPER RATE|ap upper rate):[ ]*(\d+)>/i
  end
end

module DataManager
  class << self
    alias agung_load_random_ap_dbase_x    load_database
  end
  
  def self.load_database
    agung_load_random_ap_dbase_x
    agung_load_random_ap_notetags_x
  end
  
  def self.agung_load_random_ap_notetags_x
    [$data_enemies].each do |enemies|
        enemies.compact.each do |obj|
          next unless obj
          obj.agung_load_random_ap_notetags_x
        end
    end
  end
end

class RPG::Enemy
  include X_Random_AP_Drop_X
  
  attr_accessor :random_ap_lower
  attr_accessor :random_ap_upper
    attr_reader   :ap

  def agung_load_random_ap_notetags_x
    @random_ap_lower = RandomRate::DEFAULT_LOWER_RATE
    @random_ap_upper = RandomRate::DEFAULT_UPPER_RATE
    
    self.note.split(/[\r\n]+/).each { |baris|
      case baris
      when NOTETAGS_RANDOM_RATE::LOWER_RATE
        @random_ap_lower = $1.to_i
      when NOTETAGS_RANDOM_RATE::UPPER_RATE
        @random_ap_upper = $1.to_i
      end
    }
  end 
end

class Game_Enemy < Game_Battler
  def ap
    ap_1 = (self.element_rate(14) * 100)# * 100)#.to_i
    ap_batas_bawah = (ap_1 * (100 - enemy.random_ap_lower) / 100)
    ap_batas_atas = (ap_1 * (100 + enemy.random_ap_upper) / 100)
    ap = ap_batas_bawah + rand(ap_batas_atas - ap_batas_bawah + 1) #+1
    return ap.to_i
   end
end

 

thank you 

Edited by Chucksaint

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×