Jump to content
New account registrations are disabed. This website is now an archive. Read more here.

Leon

Legend
  • Content Count

    1,713
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by Leon

  1. Make a new project, then open that project's folder. Inside there, there is a folder named 'data'. Now, inside the demo's folder, there should be a folder named 'data'. Copy all the files in the demo's 'data' folder, and paste them in the new project's 'data' folder, replacing all the files. Now, it should work.
  2. Oh, no. He is a friend of mine from Rmxp world. (I site I mentiond on ultimate.)
  3. Arkbennett and Leon's 'Moving Guard' This event system allows a guard to catch you, and allows you to assassinate him. This is an event engine that uses a script command in conjunction with it. Credits go to Ark for helping me set up the x and y variables, and to me (Leon) for adding in the 'limit' and attack only from RIGHT behind the guard. PLEASE give us credit. For learning our knowledge, that isn't too big a price, is it? This may seem long, but it is ALL worth it. Anyway, this requires 1 loop, 2 labels, a wait command,and a ton of conditional branches: 1. In a parallel process event other than this one, put variables 1 and 2 equal to the 'player's x tile and y tile', so that variable 1 = player's x variable 2 = player's y 2. Start off with a guard picture, set the event to parallel process and his movement to 'random'. 3. Add in a loop, and right above 'repeat', put a 'wait' command of 1 frame, else the game will freeze. 4. Now, set 2 more variables, i used 6 and 7 variable 6 = this event's x variable 7 = this event's y Make CERTAIN it says this events, and not the event's id. This allows you to copy this event and use it in a different map, rather than rewriting the whole event. 5. Next, we need the labels. One entitled: Caught and the other: Kill Guard I cap each word because it is case sensitive. 6. The conditional branches. These get a little confusing. You need 4 for each direction, Right, Left, Up and Down. I'll show you how to do this part, because it mixes events and scripting in one of the best ways: conditional branch. 7. Guard facing Right/Left, caught: Make sure all conditional branches have the 'else' indicator turned off. a. Put in a conditional branch on if THIS event is facing right. b. Use a conditional branch testing to make sure the player's x position (which is how far to the right the player is on the map) is greater than this event's variable x, in this case, 6. c. Use a third conditional branch, and go to 'script'. When using it with script, you dont have to ask 'if', because it is implied. So you want to set up a limit on how far the guard can see (because you dont want him out of view of the player, from 30 squares away and catch your player off guard.). To do this, go to script and call up: $game_variables[x] <= $game_variables[y] + z x = player's x variable y = this event's x variable z = how far away they can see you + 1. 2 things I must point out are: we use less than because we want the x position to be less than the guard's x plus the amount z. Now why add 1 to the amount of how far they can see? to count for the guard's position x. So if we used '6' in place of 'z', you would get that the guard can see 5 places away. d. Your last conditional branch needs to make sure teh 'y' variable of both the player and 'this event' are equal to eachother, so that the guard can only see straight ahead of him. Inside that last conditional branch, add in the 'jump to label' command to 'Caught'. e. Left is just doing the same as right, but change teh "This event is facing Right" to say left instead, then REVERSE the '>' and '<' signs, leaving the '=' parts alone (including with the script conditional branch) Further, change teh '+' to a '-'. 8. Guard facing Up/Down, caught: For the guard facing up and down, we need to do the same thing as with left/right, but change the x to y. I'll walk you through up, then just change the signs for down. a. Your first coniditional branch should make sure the guard is facing up. b. Next Conditional Branch, mae sure the player's y variable is less than the guard's y variable. c. This branch checks how far the guard can see using: $game_variables[x] >= $game_variables[y] - z x = player's y variable y = this event's y variable z = how far. If we use the example 6 again, he can see 6 spaces away. We use '-' here as we did with left, because thte numbers are now in decending order, when going from bottom to top, or right to left. d. the last one is to make sure the player's x variable and this event's x variable are equal add in the jump to label 'Caught' inside all four of those. e. To do 'Down', change the first branch to say 'down; instead of 'up', in the second and third branches, reverse the signs, including changing '-' to '+', and the fouth one should remain the same. 9. To kill a guard, facing left/right. These next two parts require 5 conditional branches each. Here, I will do right again, then explain how to do left: a. Conditional branches 1 and 2 should make sure both the event AND the player are both facing right. b. The third branch should make sure that the player's x is 1 less than this event's. To do that, go into the script part, and do: $game_variables[x] == $game_variables[y] - 1 x = player's x variable y = this event's x variable c. The fouth one makes sure that the player and this event's y variables are the same. d. The final one should check if the 'C' button is pressed. Inside all of those, put the label 'Kill Guard' e. to do facing left, switch the first two conditional branches to say 'left' instead of 'right', then the '-1' to '+1' 10. To kill a guard, up/down. I'll show up, then explain down: a. Make sure, with 2 conditional branches, that both this event and the player are facing up. b. With the third CB, make sure that the player's y is one greater than this event's. to do that, use: $game_variables[x] == $game_variables[y] + 1 x = player's y variable y = this event's y variable c. Make sure the 'x' variables of both player and this event are teh same. d. add in the if 'C' is pressed. Add in 'jump to label' and have it say 'Kill Guard' e. to do this with down, change the 'up's to 'down's, then change '+1' to '-1' 11. Ok, now we just need to set the labels: Label 1: Caught After 'Repeat', put: Label: Caught Then, put what happens when caught. Next, 'end event processing'. Label 2: Kill Guard Next, play 'se' 089-Attack01 Then, move the event to face whatever direction the dead body will be at on the next page, Proceed with the movement, then local switch a = on. 12. Dead body, and make it disappear! Make the prerequisite local switch a is on. Make the graphic the dead body and lock the facing. Set it to 'auto start', and the event like this: Opacity = 0 wait 2 frames Opacity = 255 wait 2 frames Repeat the process 3-4 times, add in proceed with movement, then local switch b = on. On page 3, give it no graphic, no commands, no nothing. Just the prerequisite of local switch b being on. You can now have a walking guard who can catch you, and you can assassinate him. Now, the best part is, with only 2 new variables, you can set up ANOTHER new guard on the same map. Further, you can copy this event, and use it on a different map without needing to change the variables at all, because it is all specific to THIS event. Enjoy! Demo: Sorry, no screenshots. The demo should more than suffice though.
  4. I request that this forum be locked, and possibly either moved or deleted. Else anyone who goes to CA may not join here, and we may start a war.
  5. This is a very interesting concept. The only problem is personally, I have no idea how to execute it. I have the feeling this will keep me up thinking all night. lol
  6. lol. What's better than that is when it does hit level 2 or 3, check out it's attack compared to level 1
  7. The trick to being a mod is being fair and listening to both sides of the story before making a judgement, and then making certain the rules are clear on both sides, giving a warning. Then, if the rules are broken again, take action. Fairness is always the key.
  8. Bugs are eliminated. They were the product of being modified for use with my option menu.
  9. Nanaki's real name is mentioned many times, Satiel. Mainly by his Grandfather, Bugenhagen.
  10. Marked, thank you VEYR much for pointing that one out! Holy cow... I can't believe i did that...
  11. All right, you see, I made a Weapon Level script many moons ago. Well, I upgraded it for use in my game. Well, given what is added, I thought I would make it more of a public script. Just remember, if I find out you used it and didn't give credit, I will create a virtual world of hell for you. :rolleyes: lol. Just messing, just give me credit. it's all I ask, y'know? Anyway, Here is the script + Features. please PLEASE PLEASE! ask if you have any questions or comments. This hasn't been tested with any battle systems other than the default battle system. Original Features: Customizable starting and max levels for each script. Attack increases based on weapon power. You can call the scene showing all the weapons and levels using: $scene = Scene_WeaponLeve.new You can set up weapon exp gain based on a default number, monster, or weapon. It will only show weapons that oyu have experience for, not if it has been equipped. New Features: Weapon's can have a % chance of using a skill instead of attacking. You can increase weapon hit %. You can increase critical hit %. Ammunition has been added. Each weapon can have it's own unique ammo, but no weapon can have more than one type of ammunition. Script: #=================================== # Leon's Weapon Level system #---------------------------------------------------------------------- # Version 1 #=================================== #=================================== # Leon's Ammo Script #---------------------------------------------------------------------- =begin Change Game_Battler, Scene_Battle for if you have 0 Also to remove one if you attack with a bow. hash: bow_id => item_id twin bow id as constant. =end =begin Script Description: Each actor is skilled in a weapon rather than a weapon type. So they may be proficient in the Iron Sword, but not Steel Sword. Features: 1. Customizable beginning and max levels for all actors, as a group or individually. 2. Attack goes up based upon weapon level 3. A window shows weapon level and exp bar. 4. You can set weapon gain based on enemy, weapon, or default. 5. It only shows weapons that the actor has experience in. Instructions: 1. Place this script above main. 2. Set the modules the way you want to below. 3. Search (using Ctrl + F) for Leon_Edit for the final place to edit. Compatibility with SDK: Unknown How to use Call Script... To add a weapon level for a weapon: x being actor's number, y being the weapon's id, z being the number of levels to add $game_actors[x].weapon_level[y] += z To add to exp to the current equipped weapon: x being actor's number, y being the exp to add $game_actors[x].weapon_exp[@weapon_id] += y To add to the max level for an actor's weapon: x being actor's number y being the weapon's id z being the max level $game_actors[x].weapon_max[y] == z =end module Weapon_Level #-------------------------------------------------------------------- # Set exp for each level # For example: 75 total weapon exp for level 2, 225 for level 3 # 525 for level 4, etc... # Weapon_level => to next level #-------------------------------------------------------------------- Exp ={ 1 => 50, 2 => 125, 3 => 300, 4 => 500, 5 => 725, 6 => 1000, 7 => 1300, 8 => 1750, 9 => 2500, 10 => 3500, 11 => 5000 } #-------------------------------------------------------------------- # Increase % to attack per level # weapon_level => % #-------------------------------------------------------------------- Weapon_Bonus = { 2 => 10, 3 => 15, 4 => 20, 5 => 25, 6 => 30, 7 => 35, 8 => 40, 9 => 45, 10 => 50 } #-------------------------------------------------------------------- # Set default start level for weapons #-------------------------------------------------------------------- Default_Start = 1 #-------------------------------------------------------------------- # Set default max level for weapons #-------------------------------------------------------------------- Default_Max = 5 #-------------------------------------------------------------------- # Set unique start levels for weapons, default for all actors. # weapon_id => start_level #-------------------------------------------------------------------- Weapon_Start = { } #-------------------------------------------------------------------- # Set unique max levels for each weapon, default for all actors. # weapon_id => max_level #-------------------------------------------------------------------- Weapon_Max = { 1 => 7 } #-------------------------------------------------------------------- # Default gain of weapon exp per attack #-------------------------------------------------------------------- Default_Gain = 3 #-------------------------------------------------------------------- # Unique Enemy gain per attack. Adds it to the weapon's Gain. # enemy_id => exp #-------------------------------------------------------------------- Enemy_Gain = { 1 => 2 } #-------------------------------------------------------------------- # Unique Weapon gain per attack # weapon_id => exp #-------------------------------------------------------------------- Weapon_Gain ={ 1 => 200 } end #=================================== # Module #=================================== module Weapon_Skills #-------------------------------------------------------------------- # Weapon_Skill => weapon_id => [skill, %chance] # Note: Use only offensive skills, and only "Attack one" skills. #-------------------------------------------------------------------- Weapon_Skill = { 1=> [27, 50] } #-------------------------------------------------------------------- # Weapon_Hit => weapon_id => hit % #-------------------------------------------------------------------- Weapon_Hit = { 1 => 95 } #-------------------------------------------------------------------- # Weapon_Crit => weapon_id => crit % #-------------------------------------------------------------------- Weapon_Crit = { 1 => 5 } end #=================================== # Module #=================================== module Bows #-------------------------------------------------------------------- # Bows = {Bow_ID, Item_Id} #-------------------------------------------------------------------- Arrows = { 138 => 73 } end #=================================== # Game_Battler #=================================== class Game_Battler alias leon_gb_weaponlevel_attackeffect attack_effect def attack_effect(attacker) self.critical = false wep = Weapon_Skills #--------------Weapon_SKills-------------------------------- if attacker.is_a?(Game_Actor) if wep::Weapon_Hit.keys.include?(attacker.weapon_id) hit_result = (rand(100) < attacker.hit + wep::Weapon_Hit[attacker.weapon_id]) else hit_result = (rand(100) < attacker.hit) end else hit_result = (rand(100) < attacker.hit) end #--------------------------------------------------------------- hit_result = (rand(100) < attacker.hit) if hit_result == true if attacker.is_a?(Game_Actor) weps = Weapon_Level attacker.weapon_check weapon_gain = weps::Weapon_Gain[attacker.weapon_id] unless weps::Weapon_Gain.include?(attacker.weapon_id) unless weps::Enemy_Gain.include?(self.id) attacker.weapon_exp[attacker.weapon_id] += weps::Default_Gain attacker.weapon_check else attacker.weapon_exp[attacker.weapon_id] += weps::Enemy_Gain[self.id] attacker.weapon_check end else unless weps::Enemy_Gain.include?(self.id) attacker.weapon_exp[attacker.weapon_id] += (weapon_gain) attacker.weapon_check else attacker.weapon_exp[attacker.weapon_id] += (weps::Enemy_Gain[self.id] + weapon_gain) attacker.weapon_check end end end atk = [attacker.atk - self.pdef / 2, 0].max self.damage = atk * (20 + attacker.str) / 20 self.damage *= elements_correct(attacker.element_set) self.damage /= 100 if self.damage > 0 #----------------------Weapon_Skills------------------------ if attacker.is_a?(Game_Actor) if wep::Weapon_Crit.keys.include?(attacker.weapon_id) if rand(100) < 4 * attacker.dex / self.agi + wep::Weapon_Crit[attacker.weapon_id] self.damage *=2 self.critical = true end if self.guarding? self.damage /= 2 end else if rand(100) < 4 * attacker.dex / self.agi self.damage *= 2 self.critical = true end if self.guarding? self.damage /= 2 end end else if rand(100) < 4 * attacker.dex / self.agi self.damage *= 2 self.critical = true end if self.guarding? self.damage /= 2 end end #------------------------------------------------------------ if rand(100) < 4 * attacker.dex / self.agi self.damage *= 2 self.critical = true end if self.guarding? self.damage /= 2 end end if self.damage.abs > 0 amp = [self.damage.abs * 15 / 100, 1].max self.damage += rand(amp+1) + rand(amp+1) - amp end eva = 8 * self.agi / attacker.dex + self.eva hit = self.damage < 0 ? 100 : 100 - eva hit = self.cant_evade? ? 100 : hit hit_result = (rand(100) < hit) end if hit_result == true if attacker.is_a?(Game_Actor) if wep::Weapon_Skill.keys.include?(attacker.weapon_id) if skill_chance = (rand(100) < wep::Weapon_Skill[attacker.weapon_id][1]) skill = $data_skills[wep::Weapon_Skill[attacker.weapon_id][0]] $skill_variable = 1 skill_effect(attacker, skill) return end else remove_states_shock self.hp -= self.damage @state_changed = false states_plus(attacker.plus_state_set) states_minus(attacker.minus_state_set) end else remove_states_shock self.hp -= self.damage @state_changed = false states_plus(attacker.plus_state_set) states_minus(attacker.minus_state_set) end else self.damage = "Miss" self.critical = false end return true end end #=================================== # Game_Actor #=================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------- # Attribute Listings #-------------------------------------------------------------------- attr_accessor :weapon_level attr_accessor :weapon_max attr_accessor :weapon_exp attr_accessor :weapon_name attr_accessor :weapon_icon attr_accessor :weapons attr_accessor :weplev_up #-------------------------------------------------------------------- # Alias Listings #-------------------------------------------------------------------- alias leon_ga_weaponlevel_setup setup alias leon_ga_weaponlevel_baseatk base_atk def setup(actor_id) #------------------------------------------------------------------ # Leon_Edit # This sets beginning weapon levels for all actors, if you want # all actor's to be proficient with a weapon to begin with. #------------------------------------------------------------------ # weapon_id => beginning_level #------------------------------------------------------------------ @weapon_level = { } #------------------------------------------------------------------ # Changes the max weapon level for 1 weapon for all actors. #------------------------------------------------------------------ # weapon_id => weapon_max_level #------------------------------------------------------------------ @weapon_max = { 3 => 9 } #------------------------------------------------------------------ # Weapon exp. Sets it for every actor. #------------------------------------------------------------------ # weapon_id => known_exp #------------------------------------------------------------------ @weapon_exp = { 1 => 49 } @weapons = [] @weplev_up = false leon_ga_weaponlevel_setup(actor_id) weapon_check end def weapon_check weapon = $data_weapons[@weapon_id] weps = Weapon_Level unless @weapon_level.include?(@weapon_id) @weapon_level[@weapon_id] = weps::Default_Start end unless @weapon_max.include?(@weapon_id) @weapon_max[@weapon_id] = weps::Default_Max end unless @weapon_exp.include?(@weapon_id) @weapon_exp[@weapon_id] = 0 end unless @weapons.include?(@weapon_id) if @weapon_id > 0 and not weapons_learn? if @weapon_exp[@weapon_id] > 0 if @weapon_level[@weapon_id] >= 1 @weapons.push(@weapon_id) @weapons.sort! end end end end if weapon_exp[@weapon_id] >= weps::Exp[weapon_level[@weapon_id]] weapon_exp[@weapon_id] -= weps::Exp[weapon_level[@weapon_id]] weapon_level[@weapon_id] += 1 if $game_temp.in_battle @weplev_up = true else weapon_check end end if weapon_level[@weapon_id] > weapon_max[@weapon_id] weapon_level[@weapon_id] = weapon_max[@weapon_id] end if weapon_level[@weapon_id] >= weapon_max[@weapon_id] weapon_level[@weapon_id] = weapon_max[@weapon_id] end end def base_atk weps = Weapon_Level n = leon_ga_weaponlevel_baseatk if weps::Weapon_Bonus.include?(@weapon_level[@weapon_id]) bonus_atk = weps::Weapon_Bonus[@weapon_level[@weapon_id]] o = ((bonus_atk * 0.01 * n) + n) return o else return n end end def weapons_learn? return @weapons.include?(@weapon_id) end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Window_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class Window_Base def draw_bar(x, y, min, max, width = 152, height = 6, bar_color = Color.new(60, 130, 60, 255), end_color = Color.new(180, 250, 180, 255)) for i in 0..height self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255)) end for i in 1..(height - 1) r = 100 * (height - i) / height + 0 * i / height g = 100 * (height - i) / height + 0 * i / height b = 100 * (height - i) / height + 0 * i / height a = 255 * (height - i) / height + 255 * i / height self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a)) end for i in 1..( (min.to_f / max.to_f) * width - 1) for j in 1..(height - 1) r = bar_color.red * (width - i) / width + end_color.red * i / width g = bar_color.green * (width - i) / width + end_color.green * i / width b = bar_color.blue * (width - i) / width + end_color.blue * i / width a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a)) end end end end #=================================== # Scene_Battle #=================================== class Scene_Battle alias leon_weplev_sb_start_phase5 start_phase5 def update_phase4_step3 wep = Weapon_Skills if $skill_variable == 1 skill = $data_skills[wep::Weapon_Skill[@active_battler.id][0]] if @active_battler.weapon_id != nil @help_window.visible = true actor = @active_battler weapon = @active_battler.weapon_id @help_window.set_text("#{actor}'s #{weapon} used #{skill.name}!") @wait_count = 150 end skill = $data_skills[wep::Weapon_Skill[@active_battler.id][0]] @animation1_id = skill.animation1_id @animation2_id = skill.animation2_id $skill_variable = 0 end if @animation1_id == 0 @active_battler.white_flash = true else @active_battler.animation_id = @animation1_id @active_battler.animation_hit = true end @phase4_step = 4 end def update_phase4_step4 for target in @target_battlers target.animation_id = @animation2_id target.animation_hit = (target.damage != "Miss") end @wait_count = 8 @phase4_step = 5 end def make_basic_action_result # If attack if @active_battler.current_action.basic == 0 # Set anaimation ID @animation1_id = @active_battler.animation1_id @animation2_id = @active_battler.animation2_id # If action battler is enemy if @active_battler.is_a?(Game_Enemy) if @active_battler.restriction == 3 target = $game_troop.random_target_enemy elsif @active_battler.restriction == 2 target = $game_party.random_target_actor else index = @active_battler.current_action.target_index target = $game_party.smooth_target_actor(index) end end # If action battler is actor if @active_battler.is_a?(Game_Actor) bow = Bows if bow::Arrows.keys.include?(@active_battler.weapon_id) if $game_party.item_number(bow::Arrows[@active_battler.weapon_id]) >= 1 $game_party.lose_item(bow::Arrows[@active_battler.weapon_id], 1) else @help_window.set_text("Out of Arrows.") @wait_count = 75 return end end if @active_battler.restriction == 3 target = $game_party.random_target_actor elsif @active_battler.restriction == 2 target = $game_troop.random_target_enemy else index = @active_battler.current_action.target_index target = $game_troop.smooth_target_enemy(index) end if @active_battler.is_a?(Game_Actor) for actor in $game_party.actors if actor.weapon_level[actor.weapon_id] == nil actor.weapon_level[actor.weapon_id] = 1 end if actor.weapon_exp[actor.weapon_id] == nil or actor.weapon_exp[actor.weapon_id] == 0 actor.weapon_exp[actor.weapon_id] = 1 end wep = Weapon_Level if actor.weplev_up == true @help_window.visible = true Audio.me_play("Audio/ME/002-Victory02", 100, 100) weapon = $data_weapons[actor.weapon_id] @help_window.set_text("#{actor.name}'s #{weapon.name} level increased to level #{actor.weapon_level[weapon.id]}", 1) @wait_count = 150 actor.weplev_up = false end end end end # Set array of targeted battlers @target_battlers = [target] # Apply normal attack results for target in @target_battlers target.attack_effect(@active_battler) end return end # If guard if @active_battler.current_action.basic == 1 # Display "Guard" in help window @help_window.set_text($data_system.words.guard, 1) return end # If escape if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2 # Display "Escape" in help window @help_window.set_text("Escape", 1) # Escape @active_battler.escape return end # If doing nothing if @active_battler.current_action.basic == 3 # Clear battler being forced into action $game_temp.forcing_battler = nil # Shift to step 1 @phase4_step = 1 return end end def start_phase5 # if @active_battler.is_a?(Game_Actor) for actor in $game_party.actors if actor.weapon_level[actor.weapon_id] == nil actor.weapon_level[actor.weapon_id] = 1 end if actor.weapon_exp[actor.weapon_id] == nil or actor.weapon_exp[actor.weapon_id] == 0 actor.weapon_exp[actor.weapon_id] = 1 end wep = Weapon_Level if actor.weplev_up == true @help_window.visible = true Audio.me_play("Audio/ME/002-Victory02", 100, 100) weapon = $data_weapons[actor.weapon_id] @help_window.set_text("#{actor.name}'s #{weapon.name} level increased to level #{actor.weapon_level[weapon.id]}", 1) @wait_count = 150 actor.weplev_up = false end end #end leon_weplev_sb_start_phase5 end end #---------------------------------------------------------------------- # Window_Wepinfo #---------------------------------------------------------------------- class Window_Wepinfo < Window_Base def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $defaultfonttype self.contents.font.size = $defaultfontsize end def update(help_text) self.contents.clear self.contents.draw_text(0, 0, 618, 32, help_text) end end #---------------------------------------------------------------------- # Window_Weplev #---------------------------------------------------------------------- class Window_Weplev < Window_Selectable def initialize(actor) super(0, 64, 640, 416) @column_max = 2 self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $defaultfonttype self.contents.font.size = $defaultfontsize @actor = actor self.index = 0 refresh end def weapon return @data[self.index] end def refresh @actor.weapon_check if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 0...@actor.weapons.length weapon = $data_weapons[@actor.weapons[i]] if weapon != nil @data.push(weapon) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = $defaultfonttype self.contents.font.size = $defaultfontsize for i in 0...@item_max draw_item(i) end end end def draw_item(index) weps = Weapon_Level weapon = @data[index] max = weps::Exp[@actor.weapon_level[weapon.id]] x = 4 + index % 2 * (245 + 72) y = index / 2 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(weapon.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y - 4, 164, 32, weapon.name, 0) if @actor.weapon_level[weapon.id] >= @actor.weapon_max[weapon.id] draw_bar(x + 28, y + 23, max, max, 160, 5, Color.new(130, 80, 80, 255), Color.new(200, 150, 150,255)) else draw_bar(x + 28, y + 23, @actor.weapon_exp[weapon.id], max, 160, 5, Color.new(130, 80, 80, 255), Color.new(200, 150, 150,255)) end self.contents.draw_text(x + 170, y, 100, 32, @actor.weapon_level[weapon.id].to_s + "/" + @actor.weapon_max[weapon.id].to_s, 2) end end #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # Scene_WeaponLevel #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- class Scene_WeaponLevel def initialize(actor_index = 0) @actor_index = actor_index end def main @actor = $game_party.actors[@actor_index] @info_window = Window_Wepinfo.new @stat_window = Window_Weplev.new(@actor) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @info_window.dispose @stat_window.dispose end def update @info_window.update("Weapon levels and experience points.") @stat_window.update if Input.trigger?(Input::L) $game_system.se_play($data_system.cursor_se) @actor_index += $game_party.actors.size - 1 @actor_index %= $game_party.actors.size $scene = Scene_WeaponLevel.new(@actor_index) end if Input.trigger?(Input::R) $game_system.se_play($data_system.cursor_se) @actor_index += 1 @actor_index %= $game_party.actors.size $scene = Scene_WeaponLevel.new(@actor_index) end if Input.trigger?(Input::B) $scene = Scene_map.new end end end
  12. Definately dont hesitate to ask for help, but atleast give it a few shots first.
  13. 'nother scripter eh? This could be interesting... Think we should develop a set of standards for writing scripts on this site, or just do it all our own way?
  14. Welcome. So, what are your talents with RmXP? I've seen you around CA, but never really seen any of your work.
  15. A very nice addition. The max number of maps is something i needed to know. >.> lol
  16. RGSS may look like alot of work, but once you understand teh basics, it all falls right into place. then it is just the fact of learning the proper syntaxes. After that, moving on to new ways of doing htings.
  17. Just tell him you are in touch with your feminine side. Believe it or not, there is nothing wrong with that. (INfact, girls dig that half the time. Just be sure to save some mystery and some macho too... lol)
  18. I, too, plan on using this in an upcoming game, along with a couple other recent scripts i've written. I just have to stick with my current project. I've put 5 months of work into it, I'm not letting it go that easy.
  19. What makes this right here so great is with 1 command, you can put the bar anywhere you want in any window. Further, it's use is hidden to most, hence why i am preparing a demo showing how to use it.
  20. Looks like this may help out those new to the program. Good work.
  21. I skipped out of CA becuase I didn't get the respect I deserved. I mean, sure, there are better scripters, but mine are scripts nobody else has either made or thought of. For example, i cite the Mission script and the Skill Level script. Sure, a mission script has been done before, but not to this ease. This one is that should have gotten better recognition, for what it does.
×
×
  • Create New...