Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Twb6543

1
A mod by Kodaichi(Zero) has sparked a huge interest in the minecraft community. Most minecraft players know him as an excellent modder and also part of the Aether mod production team. One of his newest mods is Clay Soldiers.

Visit here for the mod and information.

As it was getting popular I decided to create a small series of videos revolving around the mod.

Current Match1 Red vs Blue has been recorded and is currently uploading.

In this thread a will post each video as it completes and invite other minecrafters to discuss(most likely argue) about the mod.

EACH SPOILER CONTAINS A VIDEO, SLOW INTERNET USERS HAVE BEEN WARNED





Match 1 Round 3 - Lava Platform: ShowHide




Match 1 Round 5 - Valley Trouble: ShowHide


Note for users wondering how to post embed youtube videos includes video:: ShowHide

Tutorial by Twb6543:

First on the post create a new flash element (there is a button called insert flash)
changing the width and height correctly (default for youtube embed videos is 425,344, default for flash is 200,200)
[flash=width,height][/flash]


Next copy the video url from youtube (really you should comp it from the embed code but this still works)
http://www.youtube.com/watch?v=bgthOv9IQ-E


We now need to change it a little:
we need to change the url from /watch?v=CODE to /v/CODE as this is the actual video
Also remove any extra url parts like &fs=1 or &feature=channel, etc.

so
http://www.youtube.com/watch?v=bgthOv9IQ-E

becomes
http://www.youtube.com/v/bgthOv9IQ-E


next paste the new url into the flash element like so
[flash=425,344]http://www.youtube.com/v/bgthOv9IQ-E[/flash]


and you should receive something like this (remember to place the video in a spoiler for slow internet users)
Quotehttp://www.youtube.com/v/bgthOv9IQ-E

Unfortunately two spoilers won't work together at the moment so the videon is now in a quote.
2
Drop Luck for Advance Equipment
Authors: Twb6543
Version: 1.0
Type: Drop Item Modification
Key Term: Battle Add-On



Introduction
QuoteCreative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
( http://creativecommons.org/licenses/by-nc-sa/3.0/ )

You are free:

to Share - to copy, distribute and transmit the work
to Remix - to adapt the work

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

- For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

- Any of the above conditions can be waived if you get permission from the copyright holder.

- Nothing in this license impairs or restricts the authors moral rights.

This script was requested by JanraeMendoza...
This Script is a Xp version of the original VX one.
THIS SCRIPT HAS NOT BEEN FULLY TESTED
This script may have a few flaws this is because I prefer and am much better at VX rather than XP.
This is my first proper released XP script.

Also a version that works with XAS Hero edition was requested and fufilled.
These Scripts are currently equal to the 1.1 version of the VX one, I may update these to match the VX version.

In both scripts a definition called dropluckcalc is added, and in Game_Actor two definitions are added (replicating the VX .armors and .weapons).


Features


  • Generates A Drop luck variable that changes the probability of dropping any advance equipment

  • Uses hashes and arrays for easy editing




Screenshots

Not Needed


Demo

Not Needed / Plugin, Set-up and Play


Script
Scripts add soon
XP Version 1.0: ShowHide

#===============================================================================
# Drop Luck Ver 1.0
# By Twb6543
#===============================================================================
# Setup on lines 12 to 17
#===============================================================================
class Scene_Battle
 
 alias initialize_old_Drop_Luck initialize
 def initialize
   
   @@AdvancedItems = []
   @@AdvancedWeapons = []
   @@AdvancedArmors = []
   
   @@DropLuckIncreasingArmors = {}
   @@DropLuckIncreasingWeapons = {}
   
 end
 
 
 def dropluckcalc
   
   result = 0
   
   @@DropLuckIncreasingArmors.each_key do |i|
     
     if $game_actors[$game_party.members[0].id].armors.include?($data_armors[i]) == true
       
       result += @@DropLuckIncreasingArmors[i]
       
     end
     
   end
   
   @@DropLuckIncreasingWeapons.each_key do |i|
     
     if $game_actors[$game_party.members[0].id].weapons.include?($data_armors[i]) == true
       
       result += @@DropLuckIncreasingWeapons[i]
       
     end
     
   end
   
   return result
   
 end
 
 alias start_phase5_old_Drop_Luck start_phase5
 def start_phase5
   # Shift to phase 5
   @phase = 5
   # Play battle end ME
   $game_system.me_play($game_system.battle_end_me)
   # Return to BGM before battle started
   $game_system.bgm_play($game_temp.map_bgm)
   # Initialize EXP, amount of gold, and treasure
   exp = 0
   gold = 0
   treasures = []
   #===========================================================================
   # Drop Luck Added Here
   #===========================================================================
   dropluck = dropluckcalc # Calculate Drop Luck
   # Loop
   for enemy in $game_troop.enemies
     # If enemy is not hidden
     unless enemy.hidden
       # Add EXP and amount of gold obtained
       exp += enemy.exp
       gold += enemy.gold
       
       include_drop_luck = false
       
       if enemy.item_id > 0
         
         @@AdvancedItems.each_index do |i|
         if enemy.item_id == @@AdvancedItems[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if enemy.weapon_id > 0
         
         @@AdvancedWeapons.each_index do |i|
         if enemy.weapon_id == @@AdvancedWeapons[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if enemy.armor_id > 0
         
         @@AdvancedArmors.each_index do |i|
         if enemy.armor_id == @@AdvancedArmors[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       # Determine if treasure appears
       if include_drop_luck == true
         
         prob = enemy.treasure_prob + dropluck
         
         if rand(100) < prob
           if enemy.item_id > 0
             treasures.push($data_items[enemy.item_id])
           end
           if enemy.weapon_id > 0
             treasures.push($data_weapons[enemy.weapon_id])
           end
           if enemy.armor_id > 0
             treasures.push($data_armors[enemy.armor_id])
           end
         end
         
       else
         
         if rand(100) < enemy.treasure_prob
           if enemy.item_id > 0
             treasures.push($data_items[enemy.item_id])
           end
           if enemy.weapon_id > 0
             treasures.push($data_weapons[enemy.weapon_id])
           end
           if enemy.armor_id > 0
             treasures.push($data_armors[enemy.armor_id])
           end
         end
         
       end
       
     end
   end
   #===========================================================================
   # End
   #===========================================================================
   # Treasure is limited to a maximum of 6 items
   treasures = treasures[0..5]
   # Obtaining EXP
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     if actor.cant_get_exp? == false
       last_level = actor.level
       actor.exp += exp
       if actor.level > last_level
         @status_window.level_up(i)
       end
     end
   end
   # Obtaining gold
   $game_party.gain_gold(gold)
   # Obtaining treasure
   for item in treasures
     case item
     when RPG::Item
       $game_party.gain_item(item.id, 1)
     when RPG::Weapon
       $game_party.gain_weapon(item.id, 1)
     when RPG::Armor
       $game_party.gain_armor(item.id, 1)
     end
   end
   # Make battle result window
   @result_window = Window_BattleResult.new(exp, gold, treasures)
   # Set wait count
   @phase5_wait_count = 100
 end
end

class Game_Actor < Game_Battler
 
 def armors
   armor.clear
   armor = []
   armor.push($data_armors[@armor1_id])
   armor.push($data_armors[@armor2_id])
   armor.push($data_armors[@armor3_id])
   armor.push($data_armors[@armor4_id])
   return armor
 end
 
 def weapons
   weapon.clear
   weapon = []
   weapon.push($data_weapons[@weapon_id])
   return weapon
 end
 
end


XAS Hero Edition v3.82 Version 1.0: ShowHide

#===============================================================================
# XAS_BA_ItemDrop with Drop Luck Ver 1.0
# By Twb6543
# XAS by Xiderowg / 桜雅 在土
# Hero Edition by Moghunter
# Translated Version by Calvin624
#===============================================================================
# Setup on lines 17 to 22
#===============================================================================
module XAS_BA_ItemDrop
 
 def dropluckcalc
   
   # Seeing as this def is called before the actuall usage this will surfice
   # as a place to put them seeing as initialize def causes errors with XAS
   # Setup Like the VX version
   @@AdvancedItems = [] # array ids of AE items
   @@AdvancedWeapons = [] # array ids of AE weapons
   @@AdvancedArmors = [] # array ids of AE armors
   
   @@DropLuckIncreasingArmors = {} # Hash | id => increase
   @@DropLuckIncreasingWeapons = {}
   
   result = 0
   
   @@DropLuckIncreasingArmors.each_key do |i|
     
     if $game_actors[$game_party.members[0].id].armors.include?($data_armors[i]) == true
       
       result += @@DropLuckIncreasingArmors[i]
       
     end
     
   end
   
   @@DropLuckIncreasingWeapons.each_key do |i|
     
     if $game_actors[$game_party.members[0].id].weapons.include?($data_armors[i]) == true
       
       result += @@DropLuckIncreasingWeapons[i]
       
     end
     
   end
   
   return result
   
 end
 
 #--------------------------------------------------------------------------
 # Defeat Process
 #--------------------------------------------------------------------------
 alias defeat_process_old_Drop_Luck defeat_process
 def defeat_process
   super  
   if self.battler.is_a?(Game_Enemy) and self.battler.dead? and
     $game_map.passable?(self.x, self.y,2) and
      terrain_tag != XAS::FALL_TERRAIN    
     treasure = nil      
     enemy = self.battler
     dropluck = dropluckcalc
     include_drop_luck = false
     
     if enemy.item_id > 0
         
         @@AdvancedItems.each_index do |i|
         if enemy.item_id == @@AdvancedItems[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if enemy.weapon_id > 0
         
         @@AdvancedWeapons.each_index do |i|
         if enemy.weapon_id == @@AdvancedWeapons[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if enemy.armor_id > 0
         
         @@AdvancedArmors.each_index do |i|
         if enemy.armor_id == @@AdvancedArmors[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
     
     if include_drop_luck == true
       
       prob = enemy.treasure_prob + dropluck
       
       if rand(100) < prob and
         self.battler.steal == false        
         if enemy.item_id > 0
           treasure = $data_items[enemy.item_id]
         end
         if enemy.weapon_id > 0
           treasure = $data_weapons[enemy.weapon_id]
         end
         if enemy.armor_id > 0
           treasure = $data_armors[enemy.armor_id]
         end
       else
       # Multi Drop  
       tesouro = XAS_BA_ENEMY::ENEMY_MULTI_TREASURE[enemy.id]
       if tesouro != nil
         item_2treasure = tesouro[rand(tesouro.size)]        
       end    
       if item_2treasure != nil
          treasure_type = item_2treasure[0]
          treasure_id = item_2treasure[1]
          treasure_prob = item_2treasure[2]
          include_drop_luck_tr = false
          if treasure_type == 0
           
            @@AdvancedItems.each_index do |i|
             if treasure_id == @@AdvancedItems[i]
             include_drop_luck_tr = true  # and item is an advance equipment then
             # include drop luck
             end
            end
           
          elsif treasure_type == 1
           
            @@AdvancedWeapons.each_index do |i|
             if treasure_id == @@AdvancedWeapons[i]
             include_drop_luck_tr = true  # and item is an advance equipment then
             # include drop luck
             end
            end
           
          elsif treasure_type == 2
           
            @@AdvancedArmors.each_index do |i|
             if treasure_id == @@AdvancedArmors[i]
             include_drop_luck_tr = true  # and item is an advance equipment then
             # include drop luck
             end
            end
           
          end
          if include_drop_luck_tr == true
           
            prob_tr = treasure_prob + dropluck
           
            if rand(100) < prob_tr
              if treasure_type == 0
                treasure = $data_items[treasure_id]
              end
              if treasure_type == 1
                treasure = $data_weapons[treasure_id]
              end
              if treasure_type == 2
                treasure = $data_armors[treasure_id]
              end
            end
           
          else
           
            if rand(100) < treasure_prob
              if treasure_type == 0
                treasure = $data_items[treasure_id]
              end
              if treasure_type == 1
                treasure = $data_weapons[treasure_id]
              end
              if treasure_type == 2
                treasure = $data_armors[treasure_id]
              end
            end
           
          end
        end  
        end
       
    else
     
      if rand(100) < enemy.treasure_prob and
         self.battler.steal == false        
         if enemy.item_id > 0
           treasure = $data_items[enemy.item_id]
         end
         if enemy.weapon_id > 0
           treasure = $data_weapons[enemy.weapon_id]
         end
         if enemy.armor_id > 0
           treasure = $data_armors[enemy.armor_id]
         end
       else
       # Multi Drop  
       tesouro = XAS_BA_ENEMY::ENEMY_MULTI_TREASURE[enemy.id]
       if tesouro != nil
         item_2treasure = tesouro[rand(tesouro.size)]        
       end    
       if item_2treasure != nil
          treasure_type = item_2treasure[0]
          treasure_id = item_2treasure[1]
          treasure_prob = item_2treasure[2]        
          if rand(100) < treasure_prob
             if treasure_type == 0
                treasure = $data_items[treasure_id]    
             end
             if treasure_type == 1
                treasure = $data_weapons[treasure_id]
             end
             if treasure_type == 2
                treasure = $data_armors[treasure_id]
             end          
          end
        end  
        end
       
     end
     
     if treasure != nil
       item_se = XAS::ITEMDROP_SE
       opecode = treasure.is_a?(RPG::Item) ? 126 :
                 treasure.is_a?(RPG::Weapon) ? 127 :
                 treasure.is_a?(RPG::Armor) ? 128 :
                 nil
       list = []
       if opecode != nil
         item_number = XAS::ITEM_NUMBER[treasure.id]  
         if item_number != nil and treasure.is_a?(RPG::Item)
         list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,item_number])
         else
         list[0] = RPG::EventCommand.new(opecode, 0, [treasure.id,0,0,1])
         end
         list[1] = RPG::EventCommand.new(250, 0, [item_se])
         list[2] = RPG::EventCommand.new(116, 0, [])          
       end
       list.push(RPG::EventCommand.new)
       command = RPG::MoveCommand.new
       command.code = 14
       command.parameters = [0,0]
       route = RPG::MoveRoute.new
       route.repeat = false
       route.list = [command, RPG::MoveCommand.new]
       page = RPG::Event::Page.new
       page.move_type = 3
       page.move_route = route
       page.move_frequency = 6
       page.always_on_top = true
       page.trigger = 1
       page.list = list
       page.through = true
       page.condition.variable_id = 10000
       page.condition.variable_value = 100 + (40 * MOG::XAS_ICON_ERASE_TIME)
       event = RPG::Event.new(self.x, self.y)
       event.pages = [page]
       token = Token_Event.new($game_map.id, event)
       token.icon_name = treasure.icon_name
       $game_map.add_token(token)
       end
   end
 end
end

class Game_Actor < Game_Battler
 
 def armors
   armor.clear
   armor = []
   armor.push($data_armors[@armor1_id])
   armor.push($data_armors[@armor2_id])
   armor.push($data_armors[@armor3_id])
   armor.push($data_armors[@armor4_id])
   return armor
 end
 
 def weapons
   weapon.clear
   weapon = []
   weapon.push($data_weapons[@weapon_id])
   return weapon
 end
 
end



Instructions

Place like normal (Below standard scripts and above main // Make sure that the XAS is below the actual XAS scripts)

The Script runs at the end of the battle, If an enemy has the possibility to drop any Advance equipment the drop luck is subtracted from the Advance equipment denominator before the mostly normal procedure carries out.

To set Advance Equipment(AE) just add the id to the array of the correct type, e.g. AE Weapon ids in the array @@AdvancedWeapons...

To set the drop luck increasing weapons and armours just add to the correct hash the information using this as a key "id => dropluckincrease".

Read the comments in the script, post here if any bugs or the comments don't make sense.


Compatibility

This script will probably not be compatible with any script that modifies Scene_Battle.start_phase5
XAS version modifies XAS_BA_ItemDrop.defeat_process...


Credits and Thanks

Thanks to:
  • JanraeMendoza for the request and original testing

XAS Credits:
  • Xiderowg for XAS

  • MogHunter for XAS Hero Edition

  • Calvin624 for the Translated Version




Author's Notes

A = XP Version
B = XAS Version

Version History: // Note DL is Drop Luck and AE is Advanced Equipment...
1.0 - A/B - Original version for JanraeMendoza

To Add:
- Choose who's equipment is checked...
- Add more options and make easier for user...

Please report any bugs here...
3
Drop Luck for Advance Equipment
Authors: Twb6543
Version: 1.3
Type: Drop Item Modification
Key Term: Battle Add-On



Introduction
QuoteCreative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
( http://creativecommons.org/licenses/by-nc-sa/3.0/ )

You are free:

to Share - to copy, distribute and transmit the work
to Remix - to adapt the work

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

- For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

- Any of the above conditions can be waived if you get permission from the copyright holder.

- Nothing in this license impairs or restricts the authors moral rights.


This script was requested by JanraeMendoza...
This is a modified version allowing for easier use and also checks for all part members ... Version 1.2 should include an option to choose which members of the party the drop luck is searched for...

For an XP AND XAS VERSION VISIT HERE


Features


  • Generates A Drop luck variable that changes the probability of dropping any advance equipment

  • Uses hashes and arrays for easy editing




Screenshots

Not Needed


Demo

Not Needed / Plugin, Set-up and Play


Script

Version 1.3: ShowHide

#===============================================================================
# Drop Luck for Advance Equipment
# Version 1.3
# By Twb6543
# Requested by JanraeMendoza
# See http://forum.chaos-project.com/index.php/topic,9945.0.html
# for More Details
#===============================================================================
class Game_Troop < Game_Unit
 
 attr_reader :dropluck # Not really needed as a label is used
 attr_reader :DROPLUCKTYPE
 attr_reader :DROPLUCKFIND
 
#===============================================================================
# Editable Lines
# - Line 25 to 45 -
#===============================================================================
 alias :initialize_old_Drop_Luck :initialize
 
 def initialize
   
   initialize_old_Drop_Luck  # Don't Change
   dropluck = 0 # Don't Change
   
   @@advance_equipment_item = [1, 2, 3] # array of item
   @@advance_equipment_weapon = [1, 2, 3] # array of weapon
   @@advance_equipment_armor = [6] # array of armour
   
   @@armorid = { 1 => 7, 2 => 10, 3 => 10, 4 => 10 } # id => dropluckincrease
   # Hash of armour ids that will improve drop luck and also their corresponding increases.
   @@weaponid = { 1 => 7, 2 => 10, 3 => 10, 4 => 10 } # id => dropluckincrease
   # Hash of weapon ids that will improve drop luck and also their corresponding
   # increases.
   @@DROPLUCKTYPE = "AE"
   # o "ALWAYS" - always add drop luck ...
   # o "NEVER" - never add drop luck ...
   # o "AE" or Anything other that is not the top two
   #  - only with advance equipment ...
   
   @@DROPLUCKFIND = "LEADER"
   # o "ACTOR" => from only the actors in the array below
   # (if they are in the party) ...
   # o "LEADER" => from the first actor / Leader ...
   # o "ALL" => from all actors...
   @@Actorstocheckforequip = [1]
   # Just an array of the actor ids you want the dropluck to be taken from...
   # For when @@DROPLUCKFIND == "ACTOR"
   
 end
 
#===============================================================================
# Do not change below this line unless you know what you are doing...
#===============================================================================

 # New method for calculating drop luck
 def dropluckcalc
   
   result = 0
   
   @@armorid.each_key do |i| # For each key (armour)
     
     if @@DROPLUCKFIND == "ALL"
       
       $game_party.members.each do |x|
         
         if $game_actors[$game_party.members[x].id].armors.include?($data_armors[i]) == true
           
           result += @@armorid[i]
           
         end
         
       end
       
     elsif @@DROPLUCKFIND == "ACTOR"
       
       @@Actorstocheckforequip.each do |x|
         
         if $game_party.members.include?(x) == true
           
           if $game_actors[$game_party.members[$game_party.members.index(x)].id].armors.include?($data_armors[i]) == true
             
             result += @@armorid[i]
             
           end
             
         end
         
       end
       
     elsif @@DROPLUCKFIND == "LEADER"
       
       if $game_actors[$game_party.members[0].id].armors.include?($data_armors[i]) == true
         
         result += @@armorid[i]
         
       end
       
     else
       
       raise "UNKNOWN STRING FOR DROPLUCKFIND, " + @@DROPLUCKFIND.to_s
       
     end
     
   end
   
   @@weaponid.each_key do |i| # For each key (weapon)
     
     if @@DROPLUCKFIND == "ALL"
       
       $game_party.members.each do |x|
         
         if $game_actors[$game_party.members[x].id].armors.include?($data_weapons[i]) == true
           
           result += @@weaponid[i]
           
         end
         
       end
       
     elsif @@DROPLUCKFIND == "ACTOR"
       
       @@Actorstocheckforequip.each do |x|
         
         if $game_party.members.include?(x) == true
           
           if $game_actors[$game_party.members[$game_party.members.index(x)].id].armors.include?($data_weapons[i]) == true
             
             result += @@weaponid[i]
             
           end
             
         end
         
       end
       
     elsif @@DROPLUCKFIND == "LEADER"
       
       if $game_actors[$game_party.members[0].id].armors.include?($data_weapons[i]) == true
         
         result += @@weaponid[i]
         
       end
       
     else
       
       raise "UNKNOWN STRING FOR DROPLUCKFIND, " + DROPLUCKFIND.to_s
       
     end
     
   end
   
   return result # return the result
   
 end
 
 alias :make_drop_items_old_Drop_Luck :make_drop_items
 def make_drop_items
   drop_items = [] # Make array of drops
   dropluck = 0
   dropluck = dropluckcalc # Calculate DropLuck
   
   for enemy in dead_members
     for di in [enemy.drop_item1, enemy.drop_item2]
       include_drop_luck = false # don't include drop luck // This is so if the
       # drop is not an advance equipment it uses the normal procedure of calc
       # drops
       
       if @@DROPLUCKTYPE == "ALWAYS"
         
         include_drop_luck = true
         
       end
       
       if di.kind == 1 # If item
         
         @@advance_equipment_item.each_index do |i|
         if di.item_id == @@advance_equipment_item[i]
           include_drop_luck = true  # and item is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if di.kind == 2 # If weapon
         
         @@advance_equipment_weapon.each_index do |i|
         if di.weapon_id == @@advance_equipment_weapon[i]
           include_drop_luck = true # and weapon is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if di.kind == 3 # If armour
         
         @@advance_equipment_armor.each_index do |i|
         if di.armor_id == @@advance_equipment_armor[i]
           include_drop_luck = true # and armour is an advance equipment then
           # include drop luck
         end
         end
         
       end
       
       if @@DROPLUCKTYPE == "NEVER"
         
         include_drop_luck = false
         
       end
       
       if include_drop_luck == true
         next if di.kind == 0 # Unless drop is non_existant then
         denom = di.denominator-dropluck # Probability is now 1/(n-dropluck)
         if denom < 1 # Sets denom to 1 if below 1
           # (1 being the minimum of the maximum for rand)
           denom = 1
         end
         next if rand(denom.to_i) != 0 # exits if rand is not 0 (this is the probability workings)
         if di.kind == 1 # When drop is item
           drop_items.push($data_items[di.item_id]) # adds item(item_id)
         elsif di.kind == 2 # When drop is weapon
           drop_items.push($data_weapons[di.weapon_id]) # adds weapon(weapon_id)
         elsif di.kind == 3 # When drop is armour
           drop_items.push($data_armors[di.armor_id]) # adds armour(armor_id)
         end
       else # Else carry out the normal procedure
         next if rand(di.denominator) != 0
         if di.kind == 1
           drop_items.push($data_items[di.item_id])
         elsif di.kind == 2
           drop_items.push($data_weapons[di.weapon_id])
         elsif di.kind == 3
           drop_items.push($data_armors[di.armor_id])
         end
       end
       
     end
   end
   return drop_items # Return drops
 end
 
 def addae(type,id)
   
   if type == "ITEM" or type == 1
     
     if @@advance_equipment_item.include?(id) == false
       @@advance_equipment_item.push(id)
     end
     
   elsif type == "WEAPON" or type == 2
     
     if @@advance_equipment_weapon.include?(id) == false
       @@advance_equipment_weapon.push(id)
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@advance_equipment_armor.include?(id) == false
       @@advance_equipment_armor.push(id)
     end
     
   end
   
 end
 
 def removeae(type,id)
   
   if type == "ITEM" or type == 1
     
     if @@advance_equipment_item.include?(id) == true
       @@advance_equipment_item.delete(id)
     end
     
   elsif type == "WEAPON" or type == 2
     
     if @@advance_equipment_weapon.include?(id) == true
       @@advance_equipment_weapon.delete(id)
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@advance_equipment_armor.include?(id) == trye
       @@advance_equipment_armor.delete(id)
     end
     
   end
   
 end
 
 def isae?(type,id)
   
   if type == "ITEM" or type == 1
     
     if @@advance_equipment_item.include?(id) == true
       return true
     else
       return false
     end
     
   elsif type == "WEAPON" or type == 2
     
     if @@advance_equipment_weapon.include?(id) == true
       return true
     else
       return false
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@advance_equipment_armor.include?(id) == trye
       return true
     else
       return false
     end
     
   end
   
 end
 
 def adddli(type,id,val)
   
   if type == "WEAPON" or type == 2
     
     if @@weaponid.include?(id) == false
       @@weaponid[id] = val
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@armorid.include?(id) == false
       @@armorid[id] = val
     end
     
   end
   
 end
 
 def removedli(type,id)
   
   if type == "WEAPON" or type == 2
     
     if @@weaponid.has_key?(id) == true
       @@weaponid.delete(id)
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@armorid.has_key?(id) == true
       @@armorid.delete(id)
     end
     
   end
   
 end
 
 def isdli?(type,id,returnval)
   
   if type == "WEAPON" or type == 2
     
     if @@weaponid.has_key?(id) == true
       return (returnval == nil ? true : @@weaponid[id])
     else
       return false
     end
     
   elsif type == "ARMOR" or type == 3
     
     if @@armorid.has_key?(id) == true
       return (returnval == nil ? true : @@armorid[id])
     else
       return false
     end
     
   end
   
 end
 
end



Instructions

Place in the materials section...

The Script runs at the end of the battle, If an enemy has the possibility to drop any Advance equipment the drop luck is subtracted from the Advance equipment denominator before the mostly normal procedure carries out.

To set Advance Equipment(AE) just add the id to the array of the correct type, e.g. AE Weapon ids in the array @@advance_equipment_weapon...

To set the drop luck increasing weapons and armours just add to the correct hash the information using this as a key "id => dropluckincrease".

Read the comments in the script, post here if any bugs or the comments don't make sense.


Compatibility

This script will probably not be compatible with any script that modifies Game_Troop.make_drop_items


Credits and Thanks


  • JanraeMendoza for the request and original testing




Author's Notes

Version History: // Note DL is Drop Luck and AE is Advanced Equipment...
1.3 - Added the definitions so users can add, remove and check AE and DL increasing items.
1.2 - Added more options such as choosing how you would like the DL to be calculated (Leader, certain actors all of the party).
1.1 - Release as proper script (edited for easier use)
1.0 - Original version for JanraeMendoza
0.* - Any version that was posted in the request thread before 1.0

To Add:
- Choose who's equipment is checked...
- Add more options and make easier for user...

Please report any bugs here...
4
RMVX Script Database / [VX] SkillScript Simple 1.1
June 04, 2011, 07:02:54 am
Skill Script Simple
Authors: Twb6543
Version: 1.1
Type: Skill Script Base/Core
Key Term: Misc Add-on



Introduction
QuoteCreative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
( http://creativecommons.org/licenses/by-nc-sa/3.0/ )

You are free:

to Share - to copy, distribute and transmit the work
to Remix - to adapt the work

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

- For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

- Any of the above conditions can be waived if you get permission from the copyright holder.

- Nothing in this license impairs or restricts the authors moral rights.


This script is the simplified and WORKING version of my original Skill Script that can still be found on chaos-project.com. This is the 7th Generation of this script (Spanning across Xp and VX), and may not include all the features the previous generations contained.


Features


  • Easy Skill Creation

  • Add/Sub/Set/Check/Show xp/level/temporary level

  • Capped Xp and Level

  • 2 options - Auto set temp to level when level up, Cap temp to level




Screenshots

N/A


Demo
DEMO 0.8
Mirror
Also see the Scripts Below


Script
Currently their are three sections - 2 Code sections (1 Setup and 1 Coded Commands) - 1 Documentation section. sections with * are required (all except Documentation)
Download .txt files of each section here...
- *Set-up -
- *Body -
- Documentation -
Documentation: ShowHide

#===============================================================================
# SkillScript Simple
# Ver 1.1
# By Twb6543
#===============================================================================

#===============================================================================
# Introduction:
#
# This script is the simplified and WORKING version of my original Skill Script
# that can still be found on chaos-project.com.
# This is the 7th Generation of this script (Spanning across Xp and VX), and
# may not include all the features the previous generations contained.
#
#===============================================================================

#===============================================================================
# Instructions:
#
# - Installation -
# Install bellow Class Game and above the main and any plugins for this script
# Plugin and change the options in the Initialisation section.
#
# - Requirements -
#
# - Usage -
# The Script automatically creates a new global variable called $skillscript
# which can (/mostly will) be used to call any command or function of the
# script.
# Use $skillscript.* // With the * being the command to carry out that function
# of the script
#
#===============================================================================

#===============================================================================
# Command List:
#
# // * is representitive of $skillscript
# o *.skill(NAME) // USE '' surrounding the Name
#  - uses NAME to set the skill, use any _NAME_ listed in $Skill_Name except
#    from 'Empty'
#
# o *.levelup?(SKILL) // USE "" surrounding the Skill
#   // This command is not normally used
#  - check if xp is higher than the required xp to level up in the skill SKILL,
#    use any Skill listed in $Skill_Name except from "Empty"
#
# o *.xpfromlevel(SKILL) // USE "" surrounding the Skill
#   // This command is not normally used
#  - sets the xp to the xp required to reach a level in the skill SKILL.
#
# o *.levelfromxp(SKILL,reset) // USE "" surrounding the Skill
#   // This command is not normally used
#  - sets the level according to the xp in the skill SKILL.
#  - if reset != 0 then resettemp will be called
#
# o *.tempcheck(SKILL) // USE "" surrounding the Skill
#  - checks if the temporary level of skill SKILL is smaller than or larger
#    than the limmits
#
# o *.resettemp(SKILL) // USE "" surrounding the Skill
#  - resets temporary level of skill SKILL to the level of skill SKILL
#
# o *.addxp(num) // USE a Number
#  - adds xp to the skill set by the command *.skill
#
# o *.addlvl(num) // USE a Number
#  - add levels to the skill set by the command *.skill
#
# o *.addtemp(num) // USE a Number
#  - adds temp lvls to the skill set by the command *.skill
#
# o *.subxp(num) // USE a Number
#  - subtracts xp from the skill set by the command *.skill
#
# o *.sublvl(num) // USE a Number
#  - subtracts levels from the skill set by the command *.skill
#
# o *.subtemp(num) // USE a Number
#  - subtracts temp lvls from the skill set by the command *.skill

# o *.setxp(num) // USE a Number
#  - Sets the xp to num in the skill set by the command *.skill
#
# o *.setlvl(num) // USE a Number
#  - Sets the level to num in the skill set by the command *.skill
#
# o *.settemp(num) // USE a Number
#  - Sets the temp lvl to num in the skill set by the command *.skill
#
#o *.checkxp(skill,num,a) // USE a Number for num and skill ""
#  - Sets $Skill_Check_results to true if skill's xp is >= num, if a is ! 0 then
#    returns true or false instead. Can leave a out...
#
# o *.checklvl(skill,num,a) // USE a Number for num and skill ""
#  - Sets $Skill_Check_results to true if skill's lvl is >= num, if a is ! 0
#    then returns true or false instead. Can leave a out...
#
# o *.checktemp(skill,num,a) // USE a Number for num and skill ""
#  - Sets $Skill_Check_results to true if skill's temp level is >= num, if a is
#    ! 0 then returns true or false instead. Can leave a out...
#
# o *.show(which,varid1,varid2,varid3)
#  - if which is 1 then sets game_variables[varid1] to xp of $Skill
#  - if which is 2 then sets game_variables[varid1] to lvl of $Skill
#  - if which is 3 then sets game_variables[varid1] to temp of $Skill
#  - if which is 4 then sets game_variables[varid1] to xp of $Skill and sets
#    game_variables[varid2] to lvl of $Skill
#  - if which is 5 then sets game_variables[varid1] to xp of $Skill and sets
#    game_variables[varid2] to temp of $Skill
#  - if which is 6 then sets game_variables[varid1] to lvl of $Skill and sets
#    game_variables[varid2] to temp of $Skill
#  - if which is 7 then sets game_variables[varid1] to xp of $Skill and sets
#    game_variables[varid2] to lvl of $Skill and sets game_variables[varid3]
#    to temp of $Skill
#
#===============================================================================

#===============================================================================
# Compatibility Problems:
#
# Version 1.0
# - None Known
#
#===============================================================================

#===============================================================================
# Version History and Change Log:
#
#  - Version 1.1 - Bug Fixes
#  - Version 1.0 - Initial Release
#
#===============================================================================

#===============================================================================
# Contact Information and Author Notes:
#
# - Contact Information -
# http://forum.chaos-project.com
# Twb6543
#
# Thread:
# http://forum.chaos-project.com/index.php/topic,
#
# - Author Notes -
# None Really
#===============================================================================

*Initialization and Setup: ShowHide

#===============================================================================
# Aliasing
#===============================================================================
# Alias the neccessary methods to change SkillScript_Simple to $skillscript
# // Is currently here do to strange errors if I place it anywhere else
# (might not happen to other users)...
#===============================================================================
class Scene_Title < Scene_Base
 
 alias :old_skillscript_create_game_objects :create_game_objects
 def create_game_objects
   old_skillscript_create_game_objects
   $skillscript = SkillScript_Simple.new
 end
 
end

class Scene_File < Scene_Base
 
 alias :old_skillscript_write_save_data :write_save_data
 def write_save_data(file)
   old_skillscript_write_save_data(file)
   Marshal.dump($skillscript, file)
 end
 
 alias :old_skillscript_read_save_data :read_save_data
 def read_save_data(file)
   $skillscript = Marshal.load(file)
   old_skillscript_read_save_data(file)
 end
 
end

#===============================================================================
# Class SkillScript_Simple Base Ver 1.1
# by Twb6543
#===============================================================================
# Adds a base to allow users to create skills
# use $skillscript.command to use a command ...
# All variables are preset (e.g. *.skill(NAME="Empty"))
# Change options on lines:
# 52, 57, ...
#===============================================================================
class SkillScript_Simple
 
 attr_accessor :_SkillScript_Option_Temporary_Cap
 
 def initialize
   
   # Whether the script should cap the temporary level to the level of the
   # skill relating to it...
   @@_SkillScript_Option_Temporary_Cap = false
   
   # Whether if a skill levels up should the temporary level be set to
   # the level of the $Skill
   # 0 = False/no - Anything else = yes
   @@_RESETTEMPAUTO_ = 1
   
   # $Skill = _NAME_
   $Skill = 'Skill_A' # Change this to whatever name you wish
   
   # Do not change
   $Skill_Check_result = false
   
   # The skill name that will be used to call up data
   # Skill => _NAME_
   $Skill_Name = {
   "Skill_A" => 'Skill_A',
   "Skill_B" => 'Skill_B',
   "Skill_C" => 'Skill_C',
   "Skill_D" => 'Skill_D',
   "Skill_E" => 'Skill_E',
   "Skill_F" => 'Skill_F',
   "Skill_G" => 'Skill_G',
   "Skill_H" => 'Skill_H',
   "Skill_I" => 'Skill_I',
   "Skill_J" => 'Skill_J',
   "Skill_K" => 'Skill_K',
   "Skill_L" => 'Skill_L',
   "Skill_M" => 'Skill_M',
   "Skill_N" => 'Skill_N',
   "Skill_O" => 'Skill_O',
   "Skill_P" => 'Skill_P',
   "Skill_Q" => 'Skill_Q',
   "Skill_R" => 'Skill_R',
   "Skill_S" => 'Skill_S',
   "Skill_T" => 'Skill_T',
   "Skill_U" => 'Skill_U',
   "Skill_V" => 'Skill_V',
   "Skill_W" => 'Skill_W',
   "Skill_X" => 'Skill_X',
   "Skill_Y" => 'Skill_Y',
   "Skill_Z" => 'Skill_Z',
   "Skill_Empty" => 'Skill_Empty' # Do Not Change
   }
   
   # The starting level of the skill
   # Skill => _LEVEL_
   $Skill_Level = {
   "Skill_A" => 1,
   "Skill_B" => 1,
   "Skill_C" => 1,
   "Skill_D" => 1,
   "Skill_E" => 1,
   "Skill_F" => 1,
   "Skill_G" => 1,
   "Skill_H" => 1,
   "Skill_I" => 1,
   "Skill_J" => 1,
   "Skill_K" => 1,
   "Skill_L" => 1,
   "Skill_M" => 1,
   "Skill_N" => 1,
   "Skill_O" => 1,
   "Skill_P" => 1,
   "Skill_Q" => 1,
   "Skill_R" => 1,
   "Skill_S" => 1,
   "Skill_T" => 1,
   "Skill_U" => 1,
   "Skill_V" => 1,
   "Skill_W" => 1,
   "Skill_X" => 1,
   "Skill_Y" => 1,
   "Skill_Z" => 1,
   "Skill_Empty" => 1 # Do not change
   }
   
   # The starting xp of the skill
   # Must be equal or in the xp boundary for the level
   # set above // Look at the table below
   # Skill => _XP_
   $Skill_Xp = {
   "Skill_A" => 1,
   "Skill_B" => 1,
   "Skill_C" => 1,
   "Skill_D" => 1,
   "Skill_E" => 1,
   "Skill_F" => 1,
   "Skill_G" => 1,
   "Skill_H" => 1,
   "Skill_I" => 1,
   "Skill_J" => 1,
   "Skill_K" => 1,
   "Skill_L" => 1,
   "Skill_M" => 1,
   "Skill_N" => 1,
   "Skill_O" => 1,
   "Skill_P" => 1,
   "Skill_Q" => 1,
   "Skill_R" => 1,
   "Skill_S" => 1,
   "Skill_T" => 1,
   "Skill_U" => 1,
   "Skill_V" => 1,
   "Skill_W" => 1,
   "Skill_X" => 1,
   "Skill_Y" => 1,
   "Skill_Z" => 1,
   "Skill_Empty" => 1 # Do not change
   }
   
   # The starting temporary level of the skill,
   # Can be between or equal to 0 and the starting level of the
   # skill
   # Skill => _TEMP_
   $Skill_Temp = {
   "Skill_A" => 1,
   "Skill_B" => 1,
   "Skill_C" => 1,
   "Skill_D" => 1,
   "Skill_E" => 1,
   "Skill_F" => 1,
   "Skill_G" => 1,
   "Skill_H" => 1,
   "Skill_I" => 1,
   "Skill_J" => 1,
   "Skill_K" => 1,
   "Skill_L" => 1,
   "Skill_M" => 1,
   "Skill_N" => 1,
   "Skill_O" => 1,
   "Skill_P" => 1,
   "Skill_Q" => 1,
   "Skill_R" => 1,
   "Skill_S" => 1,
   "Skill_T" => 1,
   "Skill_U" => 1,
   "Skill_V" => 1,
   "Skill_W" => 1,
   "Skill_X" => 1,
   "Skill_Y" => 1,
   "Skill_Z" => 1,
   "Skill_Empty" => 1 # Do not change
   }
   
   # The Maximum level in a skill that can be reached must be
   # bellow or equal to the highest level set in the Really
   # Long List of Hashes Containing the Xp required for Each Levels
   # Skill => _MAXLEVEL_
   $Skill_Max_Level = {
   "Skill_A" => 100,
   "Skill_B" => 100,
   "Skill_C" => 100,
   "Skill_D" => 100,
   "Skill_E" => 100,
   "Skill_F" => 100,
   "Skill_G" => 100,
   "Skill_H" => 100,
   "Skill_I" => 100,
   "Skill_J" => 100,
   "Skill_K" => 100,
   "Skill_L" => 100,
   "Skill_M" => 100,
   "Skill_N" => 100,
   "Skill_O" => 100,
   "Skill_P" => 100,
   "Skill_Q" => 100,
   "Skill_R" => 100,
   "Skill_S" => 100,
   "Skill_T" => 100,
   "Skill_U" => 100,
   "Skill_V" => 100,
   "Skill_W" => 100,
   "Skill_X" => 100,
   "Skill_Y" => 100,
   "Skill_Z" => 100,
   "Skill_Empty" => 1 # Do not change
   }
   
   # The Maximum xp in a skill that can be reached, must be higher
   # than 1
   # Skill => _MAXXP_
   $Skill_Max_Xp = {
   "Skill_A" => 2000000000,
   "Skill_B" => 2000000000,
   "Skill_C" => 2000000000,
   "Skill_D" => 2000000000,
   "Skill_E" => 2000000000,
   "Skill_F" => 2000000000,
   "Skill_G" => 2000000000,
   "Skill_H" => 2000000000,
   "Skill_I" => 2000000000,
   "Skill_J" => 2000000000,
   "Skill_K" => 2000000000,
   "Skill_L" => 2000000000,
   "Skill_M" => 2000000000,
   "Skill_N" => 2000000000,
   "Skill_O" => 2000000000,
   "Skill_P" => 2000000000,
   "Skill_Q" => 2000000000,
   "Skill_R" => 2000000000,
   "Skill_S" => 2000000000,
   "Skill_T" => 2000000000,
   "Skill_U" => 2000000000,
   "Skill_V" => 2000000000,
   "Skill_W" => 2000000000,
   "Skill_X" => 2000000000,
   "Skill_Y" => 2000000000,
   "Skill_Z" => 2000000000,
   "Skill_Empty" => 1 # Do not change
   }
   
   # Default Skill Table
   # Level => _XP_
   $Skill_Xp_Table = {
     1  =>     0, 31 =>  14833, 61 =>  302288, 91  =>   5902831,
     2  =>    83, 32 =>  16456, 62 =>  333804, 92  =>   6517253,
     3  =>   174, 33 =>  18247, 63 =>  368599, 93  =>   7195629,
     4  =>   276, 34 =>  20224, 64 =>  407015, 94  =>   7944614,
     5  =>   388, 35 =>  22406, 65 =>  449428, 95  =>   8771558,
     6  =>   512, 36 =>  24815, 66 =>  496254, 96  =>   9684577,
     7  =>   650, 37 =>  27473, 67 =>  547953, 97  =>  10692629,
     8  =>   801, 38 =>  30408, 68 =>  605032, 98  =>  11805606,
     9  =>   969, 39 =>  33648, 69 =>  668051, 99  =>  13034431,
     10 =>  1154, 40 =>  37224, 70 =>  737627, 100 =>  14391160,
     11 =>  1358, 41 =>  41171, 71 =>  814445, 101 =>  15889109,
     12 =>  1584, 42 =>  45529, 72 =>  899257, 102 =>  17542976,
     13 =>  1833, 43 =>  50339, 73 =>  992895, 103 =>  19368992,
     14 =>  2107, 44 =>  55649, 74 => 1096278, 104 =>  23611006,
     15 =>  2411, 45 =>  61512, 75 => 1210421, 105 =>  23611006,
     16 =>  2746, 46 =>  67983, 76 => 1336443, 106 =>  26068632,
     17 =>  3115, 47 =>  75127, 77 => 1475581, 107 =>  28782069,
     18 =>  3523, 48 =>  83014, 78 => 1629200, 108 =>  31777943,
     19 =>  3973, 49 =>  91721, 79 => 1798808, 109 =>  35085654,
     20 =>  4470, 50 => 101333, 80 => 1986068, 110 =>  38737661,
     21 =>  5018, 51 => 111945, 81 => 2192818, 111 =>  42769801,
     22 =>  5624, 52 => 123660, 82 => 2421087, 112 =>  47221641,
     23 =>  6291, 53 => 136594, 83 => 2673114, 113 =>  52136869,
     24 =>  7028, 54 => 150872, 84 => 2951373, 114 =>  57563718,
     25 =>  7842, 55 => 166636, 85 => 3258594, 115 =>  63555443,
     26 =>  8740, 56 => 184040, 86 => 3597792, 116 =>  70170840,
     27 =>  9730, 57 => 203254, 87 => 3972294, 117 =>  77474828,
     28 => 10824, 58 => 224466, 88 => 4385776, 118 =>  85539082,
     29 => 12031, 59 => 247886, 89 => 4842295, 119 =>  94442737,
     30 => 13363, 60 => 273742, 90 => 5346332, 120 => 104273167, }
   
 end
 
end

*Main Body (Coded Commands): ShowHide

#===============================================================================
# Main - SkillScript_Simple Ver 1.1
#===============================================================================
class SkillScript_Simple
 
 def skill(skill="Empty")
   
   if $Skill_Name.has_value?(skill) == true
     
     $Skill = $Skill_Name.index(skill)
     
   else

     $Skill = $Skill_Name["Empty"]
     
   end
   
 end
 
 def levelup?(skill="Empty")
   
   if $Skill_Name.has_key?(skill) == true and skill != "Empty"
     
     if $Skill_Xp[skill] > $Skill_Max_Xp[skill]
       
       $Skill_Xp[skill] = $Skill_Max_Xp[skill]
       levelfromxp(skill,@@_RESETTEMPAUTO_)
       
     end
     
     if $Skill_Xp[skill] < 0
       
       $Skill_Xp[skill] = 0
       levelfromxp(skill,@@_RESETTEMPAUTO_)
     
     end
   
     if $Skill_Xp[skill] >= $Skill_Xp_Table[$Skill_Level[skill]+1]
     
       levelfromxp(skill,@@_RESETTEMPAUTO_)
     
     end
     
   end
   
 end
 
 def xpfromlevel(skill="Empty")
   
   if skill != "Empty" and $Skill_Name.has_key?(skill) == true
     $Skill_Xp[skill] = $Skill_Xp_Table[$Skill_Level[skill]]
   end
   
 end
 
 def levelfromxp(skill="Empty",reset=0)
   
   if skill != "Empty" and $Skill_Name.has_key?(skill) == true
     $Skill_Xp_Table.each_key do |i|
       if $Skill_Xp[skill] >= $Skill_Xp_Table[i]
         $Skill_Level[skill] = i
       end
     end
     
     if reset != 0
       
       resettemp(skill)
       
     end
   end
   
 end
 
 def tempcheck(skill="Empty")
   
   if $Skill != "Empty" and $Skill_Name.has_key?(skill) == true
     
     if $Skill_Temp[skill] < 0
       
       $Skill_Temp[skill] = 0
       
     end
     
     if @@_SkillScript_Option_Temporary_Cap == true and $Skill_Temp[skill] > $Skill_Level[skill]
       
       $Skill_Temp[skill] = $Skill_Level[skill]
       
     end
     
   end
   
 end
 
 def resettemp(skill="Empty")
   
   if $Skill != "Empty" and $Skill_Name.has_key?(skill) == true
     
     $Skill_Temp[skill] = $Skill_Level[skill]
     
   end
   
 end
 
 def addxp(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Xp[$Skill] += num
   levelup?($Skill)
   
 end
 
 def addlvl(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Level[$Skill] += num
   xpfromlevel($Skill)
   
 end
 
 def addtemp(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Temp[$Skill] += num
   tempcheck($Skill)
   
 end
 
 def subxp(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Xp[$Skill] -= num
   levelup?($Skill)
   
 end
 
 def sublvl(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Level[$Skill] -= num
   xpfromlevel($Skill)
   
 end
 
 def subtemp(num=0)
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Temp[$Skill] -= num
   tempcheck($Skill)
   
 end
 
 def setxp(num=$Skill_Xp[$Skill])
   
   if $Skill == "Empty"
     
     num = 1
     
   end
   
   $Skill_Xp[$Skill] = num
   levelup?($Skill)
   
 end
 
 def setlvl(num=$Skill_Level[$Skill])
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Level[$Skill] = num
   xpfromlevel($Skill)
   
 end
 
 def settemp(num=$Skill_Temp[$Skill])
   
   if $Skill == "Empty"
     
     num = 0
     
   end
   
   $Skill_Temp[$Skill] = num
   tempcheck($Skill)
   
 end
 
 def checkxp(skill="Empty",num=0,a=0)
   
   if skill != "Empty" and $Skill_Name.has_value?(skill) == true
     
     $Temp_Skill = $Skill_Name.index(skill)
     
     if $Skill_Xp[$Temp_Skill] >= num
       
       if a != 0
         
         return true
         
       else
         
         $Skill_Check_result = true
         
       end
       
     else
       
       if a != 0
         
         return false
         
       else
         
         $Skill_Check_result = false
         
       end
       
     end
     
   end
   
 end
 
 def checklvl(skill="Empty",num=0,a=0)
   
   if skill != "Empty" and $Skill_Name.has_value?(skill) == true
     
     $Temp_Skill = $Skill_Name.index(skill)
     
     if $Skill_Level[$Temp_Skill] >= num
       
       if a != 0
         
         return true
         
       else
         
         $Skill_Check_result = true
         
       end
       
     else
       
       if a != 0
         
         return false
         
       else
         
         $Skill_Check_result = false
         
       end
       
     end
     
   end
   
 end
 
 def checktemp(skill="Empty",num=0,a=0)
   
   if skill != "Empty" and $Skill_Name.has_value?(skill) == true
     
     $Temp_Skill = $Skill_Name.index(skill)
     
     if $Skill_Temp[$Temp_Skill] >= num
       
       if a != 0
         
         return true
         
       else
         
         $Skill_Check_result = true
         
       end
       
     else
       
       if a != 0
         
         return false
         
       else
         
         $Skill_Check_result = false
         
       end
       
     end
     
   end
   
 end
 
 def show(which=0,varid1=0,varid2=0,varid3=0)
   
   if $Skill != "Empty"
     
     if which == 1 or which == "Xp"
       
       $game_variables[varid1] = $Skill_Xp[$Skill]
       
     elsif which == 2 or which == "Level"
       
       $game_variables[varid1] = $Skill_Level[$Skill]
       
     elsif which == 3 or which == "Temp"
       
       $game_variables[varid1] = $Skill_Temp[$Skill]
       
     elsif which == 4 or which == "Xp and Level"
       
       $game_variables[varid1] = $Skill_Xp[$Skill]
       $game_variables[varid2] = $Skill_Level[$Skill]
       
     elsif which == 5 or which == "Xp and Temp"
       
       $game_variables[varid1] = $Skill_Xp[$Skill]
       $game_variables[varid2] = $Skill_Temp[$Skill]
       
     elsif which == 6 or which == "Level and Temp"
       
       $game_variables[varid1] = $Skill_Level[$Skill]
       $game_variables[varid2] = $Skill_Temp[$Skill]
       
     elsif which == 7 or which == "Xp and Level and Temp"
       
       $game_variables[varid1] = $Skill_Xp[$Skill]
       $game_variables[varid2] = $Skill_Level[$Skill]
       $game_variables[varid3] = $Skill_Temp[$Skill]
       
     end
     
   end
   
 end
 
end




Instructions
See documentation section...
Use the same set up as the original skill script ...
$skillscript.skill('SKILL_HERE') // sometimes not required, check to see if the command contains skill as a variable...
$skillscript.command(variables)


Compatibility

None - known


Credits and Thanks




Author's Notes

- Removed Class_Game occurances
No demo or real detail yet... Demo Near release
5
Welcome! / Hi I'm Twb6543
June 03, 2011, 12:28:56 pm
Should of really posted this earlier but anyway:

Hi I'm Twb6543, I'm literally a ghost/lurker, I mainly ghost through most forums. I have accounts on youtube, minecraft, aviary and others. I'm interested in graphics, map design and scripting for RMVX (Rpg Maker VX). My username comes from 3 main parts each with two reasons for including (also 6543 is quite easy to remember).

TWB - Three Way Boolean (true, false, n/a) and The Whiteboard
65 - 1965 - 100 years after the american civil war (even through I'm British) and the First Space Nuclear Power Plant Launched.
43 - 1943 - Uk (and US) gives up territorial rights to China and The Colossus Computer was built.

So far I've scripted 2 complete scripts (one with a lot of bugs), 1 modification, and 2 nearly complete scripts (1 - request other is redo of first script I posted). I also play a lot of Minecraft.
6
Class Game
Authors: Twb6543
Version: 1.2
Type: Scripting Tool and Game Utility
Key Term: Scripting Tool



Introduction

QuoteCreative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
( http://creativecommons.org/licenses/by-nc-sa/3.0/ )

You are free:

to Share - to copy, distribute and transmit the work
to Remix - to adapt the work

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

- For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

- Any of the above conditions can be waived if you get permission from the copyright holder.

- Nothing in this license impairs or restricts the authors moral rights.



This adds $game to the game and allows for registration and requirements for scripts...
This adds mostly the same features that RGSS had for registration and requires...


Features


  • register(name,version)

  • script?(name)

  • version?(name,version,returnversion) // returnversion is 1 for return of version (return version number)

  • deletekey(name)

  • updateversion(name,version)

  • clear




Screenshots

Screenshots N/A


Demo

No Demo just plugin and play


Script

Put this script above ALL custom scripts unless otherwise specified
//Download a .txt document of the script here //
SCRIPT: ShowHide

#===============================================================================
# Aliasing
#===============================================================================
# Alias the neccessary methods to change Game to $game // Is currently here do
# to strange errors if I place it anywhere else (might not happen to others)...
#===============================================================================
class Scene_Title < Scene_Base
 
 alias :old_create_game_objects :create_game_objects
 def create_game_objects
   old_create_game_objects
   $game          = Game.new
 end
 
end

class Scene_File < Scene_Base
 
 alias :old_write_save_data :write_save_data
 def write_save_data(file)
   old_write_save_data(file)
   Marshal.dump($game, file)
 end
 
 alias :old_read_save_data :read_save_data
 def read_save_data(file)
   $game                = Marshal.load(file)
   old_read_save_data(file)
 end
 
end

#===============================================================================
# Class Game Ver 1.2
# by Twb6543
#===============================================================================
# Adds registeration and script? commands
# Mimics RmXp commands of register and requirements
# Adds has $Scripts with layout script => version ...
# Use $Game.command to carry out a command (replacing command with a command)
#===============================================================================

#===============================================================================
# Commands:
# - register(name,version)
# - script?(name)
# - version?(name,version,returnversion) // returnversion is 1 for return of
#                                           version (return version number)
# - deletekey(name)
# - updateversion(name,version)
# - clear
#===============================================================================

#===============================================================================
# - Versions are automatically use 1.0 for base version you may change this on
#   line 67 , 79, 107...
#===============================================================================

class Game
 
 def initialize
   
   $Scripts = {}
   register("Game",1.2)
   
 end
 
 def register(name,version=1.0)
   
   $Scripts[name] = version
   
 end
 
 def script?(name)
   
   return $Scripts.has_key?(name)
   
 end
 
 def version?(name=1,version=1.0,a=0)
   
   if a == 1
     
     return $Scripts[name]
     
   else
     
     if $Scripts[name] >= version
       
       return true
       
     else
       
       return false
       
     end
     
   end
   
 end
 
 def deletekey(name)
   
   $Scripts.delete(name)
   if script?("Game") != true
     register("Game",1.2)
   end
   
 end
 
 def updateversion(name,version=1.0)
   
   $Scripts.delete(name)
   $Scripts[name] = version
   
 end
 
 def clear
   
   $Scripts.clear
   $Scripts["Game"] = 1.2
   
 end
 
end



Instructions

See script... (POST ABOVE ALL OTHER CUSTOM SCRIPTS)
Usage of commands

Register:
$game.register("Test",1.0)
// Registers the script

Script?:
if $game.script?("Test") == true
 $game_variables[1] = 1
end
// If script Test is registered then Game_Variables 1 is set to 1

Version?:
if $game.version?("Test",1.0,1) >= 1.0
 $game_variables[2] = 1
end
// If script version test is 1.0 or over then Game_Variables 2 is set to 1

if $game.version?("Test",1.0) == True OR if if $game.version?("Test",1.0,0) = True
 $game_variables[2] = 1
end
// If script version test is 1.0 or over then Game_Variables 2 is set to 1

DeleteKey:
$game.deletekey("Test")
//Will delete the info on script Test from $Scripts

UpdateVersion:
$game.updateversion("Test",1.1)
// Sets the version information about Test, in $Scripts, to 1.1

Clear:
$game.clear
//Clears $Scripts

Scripters
I recommend using a style like this to register your script in the initialize def...
if $Scripts["Game"] >= 1.2
 
 $game.register("Script",Version)
 
else
 
 print "Class Game is not found please install correctly Class Game 1.2"
 print "Visit http://forum.chaos-project.com/index.php/topic,9831";
 
end


Compatibility

Should be compatible with most scripts.


Credits and Thanks


  • Twb6543

  • Enterbrain - for original in RMXP




Author's Notes

Nothing really to add - Sorry for the section at the top but really it's the only thing that makes it work for my pc... You may have to use $SCRIPT = SCRIPT.new for the commands to register (You may have to run your script). To all scripters their is little comments but all commands should be fairly easy to understand.


Change Log
1.2


  • Registered the script itself to correct version

  • re-register if the key is deleted

1.1


  • Registered the script itself

  • Re-Register the script if $Scripts is cleared => Does not re-register if the key is deleted
7
Currently my Rpg Maker Vx base files seem to be corrupted, as I was hoping to release this script some time in the near future I hope that someone will be kind enough to test the script bellow, Due to curruption of the files I have a string of Nil:NilClass and Nil:NoMethodError errors in all scripts. The script should be easy to use and mostly just adds a few new features to Rpg Maker Vx, it should be fairly compatible with everything. What I really need is someone to test each feature of the script or a few of them to make sure they work... Thanks in advance




Script removed at topic locked... (Scripts been scrapped).
8
Skill Script
Authors: Twb6543
Version: 1.4B
Type: Skill Script Core
Key Term: Misc Add-on



Introduction

// Really don't have the time just going to be released now full of errors... Skill Script Simple is on the way, a smaller more bug free attempt at this script...//
Check out Skill Script Simple here
// Error Fixed - Download Demo from Saturday Hopefully//
// THIS SCRIPT IS NOT FINISHED COMPLETELY due to planned updates//
// You must add the 3 lines (well one but the other 2 are useful)
specified in the Documentation section of the Script //

QuoteCreative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
( http://creativecommons.org/licenses/by-nc-sa/3.0/ )

You are free:

to Share - to copy, distribute and transmit the work
to Remix - to adapt the work

Under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Noncommercial. You may not use this work for commercial purposes.

Share alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

- For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.

- Any of the above conditions can be waived if you get permission from the copyright holder.

- Nothing in this license impairs or restricts the authors moral rights.


This script is currently 1.0A as most features are finished and only a few small changes are needed to bring this into being fully complete... A few plugins as such are planned see Author Notes for more details.

This script was written to support the creation of a popular MMORPG into RMVX and also support game projects that wish to have a customisable skill system in RMVX. This script is a starting base and core for skill scripts, you can use it to create a skill system like certain MMORPG's but it's main purpose is to allow the easy creation of skills for non-scripters.

The script has taken 6 attempts to write across 2 platforms (RMXP and RMVX) and 1.5 year, this attempt was started on the 12th May 2011 and finished on the 14th May 2011 with about 4 to 5 hours per day. The reason for so many attempts is due to this project mainly being a side on and that Minecraft and Avairy had/still have a big impact on my time (both are quite recent distractions for me but rather than go into a list these two are just the most recent examples).


Features


  • Easy to use Skill Creation

  • Add, Subtract, Divide, Multiply, Set, Randomise, Power to, Root Xp / Level / Temporary Level

  • Lock and Unlock a Skill

  • Check to see if the Xp, Level or Temporary Level is higher than a number

  • Use Quick Xp | Level | Temporary Level for repetitive amounts

  • Use different Xp Tables for any skill

  • Place caps on the maximum Level and Xp

  • And a few other features




Screenshots

Currently their are no need for screenshots due to this script having no visual effect currently.


Demo
Demo should be uploaded Saturday

Demo is located HERE
Or by DropBox HERE


Script

Get the script from the demo (due to the script being in parts).
Insert the scripts in this order above the main in the materials section:
(Script sections that are required have a * next to their name.)

- Skill Script - Twb6543 *
- Documentation
- Skill Set and Checks *
- Add and Sub
- Multi and Div
- Set and Random
- Power and Root
- Lock and Unlock
- Check Xp, Level and Temp
- Quick Xp
- Quick Level
- Quick Temp




Instructions

Look at the Documentation Script Section included with the demo.


Compatibility

None Known Currently:


Credits and Thanks

  • Twb6543


No others to speak off for this script
Wait a moment, I know who I can thank...

  • Blizzard(Scorpion) for Chaos-Project.net

  • Enterbrain for RMVX (and the other titles in the RM series)...




Author's Notes

Planned Plugins:
- Combat Skills
- Window and Visual Effects (in the far future)
- Items and Enemy Skills
- Skill Effects

This script is not complete and requires a few tweaks.

To-Do List:
o Add values to Xp Table // Done
o Finish off Documentation // 90% finished
o Complete the Demo // Nearly Done