TheoAllen

Theo - Multiple Variable Operators

Aug 22nd, 2013
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.59 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Multiple Variable Operators
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. ($imported ||= {})[:Theo_MultiVarOperator] = true
  8. # =============================================================================
  9. # CHANGE LOGS:
  10. # -----------------------------------------------------------------------------
  11. # 2013.08.23 - Finished script
  12. # =============================================================================
  13. =begin
  14.  
  15.   -----------------------------------------------------------------------------
  16.   Perkenalan :
  17.   -----------------------------------------------------------------------------
  18.   Script ini berfungsi untuk mencari nilai variable tertinggi atau terendah.
  19.   Atau ngerandom nilai variable (Untuk mempermudah eventing)
  20.  
  21.   -----------------------------------------------------------------------------
  22.   Cara penggunaan :
  23.   -----------------------------------------------------------------------------
  24.   Pasang dibawah material namun diatas main
  25.  
  26.   *) Untuk mencari nilai tertinggi dari variable
  27.      - Gunakan control variable
  28.      - Pilih variable yang akan digunakan buat nyimpen nilai
  29.      - Gunakan script call kek gini
  30.        highvar(1,2,3,4,5,6) # <-- membandingkan variable 1,2,3,4,5 dan 6
  31.      - Nilai variable yang kamu pilih akan menyimpan nilai tertinggi dari
  32.        variable2 yang dibandingkan.
  33.        
  34.   *) Untuk mencari variable id nilai tertinggi
  35.      - Gunakan control variable
  36.      - Pilih variable yang akan digunakan buat nyimpen nilai
  37.      - Gunakan script call kek gini
  38.        highvar_id(1,2,3,4,5,6) # <-- membandingkan variable 1,2,3,4,5 dan 6
  39.      - Nilai variable yang kamu pilih akan menyimpan id variable yang punya
  40.        nilai tertinggi
  41.  
  42.   *) Untuk mencari nilai terendah dari variable
  43.      - Gunakan control variable
  44.      - Pilih variable yang akan digunakan buat nyimpen nilai
  45.      - Gunakan script call kek gini
  46.        lowvar(1,2,3,4,5,6) # <-- membandingkan variable 1,2,3,4,5 dan 6
  47.      - Nilai variable yang kamu pilih akan menyimpan nilai terendah dari
  48.        variable2 yang dibandingkan.
  49.        
  50.   *) Untuk mencari variable id nilai terendah
  51.      - Gunakan control variable
  52.      - Pilih variable yang akan digunakan buat nyimpen nilai
  53.      - Gunakan script call kek gini
  54.        lowvar_id(1,2,3,4,5,6) # <-- membandingkan variable 1,2,3,4,5 dan 6
  55.      - Nilai variable yang kamu pilih akan menyimpan id variable yang punya
  56.        nilai terendah
  57.  
  58.   *) Untuk ngerandom nilai variable tertentu.
  59.      - Gunakan command script call di event
  60.      - Tulis kek gini di script callnya
  61.        random(min, max, id, id, id ...)
  62.        dimana :
  63.        - min >> nilai minimalnya
  64.        - max >> nilai maksimalnya
  65.        - id >> id dari variablenya. Kamu bisa masukin sebanyak-banyaknya
  66.        
  67.   *) Untuk per operasi manual
  68.       - Gunakan control variable
  69.       - Pilih variable yang akan digunakan untuk nyimpen nilai
  70.       - Tulis formula variablenya. Gunakan v[id] untuk ngambil nilai variable
  71.       - Misalnya kek gini :
  72.         (v[1] * v[2]) / v[3]
  73.       - Nilai variable yang kamu pilih akan menyimpan nilai hasil dari nilai
  74.         variable 1 dikali variable 2 dan dibagi variable 3
  75.        
  76.   -----------------------------------------------------------------------------
  77.   Terms of use :
  78.   Ini cuman snippet simple. Kredit ato ngga terserah
  79.   Bebas untuk komersil
  80.  
  81. =end
  82. # =============================================================================
  83. # Tidak ada konfigurasi
  84. # =============================================================================
  85. class Game_Interpreter
  86.   # --------------------------------------------------------------------------
  87.   # Simplify variable call
  88.   # --------------------------------------------------------------------------
  89.   def v
  90.     $game_variables
  91.   end
  92.  
  93.   def highvar_id(*args)
  94.     args.sort {|a,b| v[b] <=> v[a]}[0]
  95.   end
  96.  
  97.   def highvar(*args)
  98.     args.collect {|id| v[id]}.max
  99.   end
  100.  
  101.   def lowvar_id(*args)
  102.     args.sort {|a,b| v[a] <=> v[b]}[0]
  103.   end
  104.  
  105.   def lowvar(*args)
  106.     args.collect {|id| v[id] }.min
  107.   end
  108.  
  109.   def average(*args)
  110.     result = times  = 0
  111.     args.collect {|id| v[id] }.each do |var|
  112.       result += var
  113.       times += 1
  114.     end
  115.     return result/times
  116.   end
  117.  
  118.   def random(min, max, *args)
  119.     args.each do |id|
  120.       v[id] = min + rand(max - min)
  121.     end
  122.   end
  123.  
  124. end
Advertisement
Add Comment
Please, Sign In to add comment