-
Content Count
56 -
Joined
-
Last visited
Community Reputation
14 ⋆About BLACK WYVERN

-
Rank
Code Dragon
- Birthday 10/12/1988
Contact Methods
-
Skype
LuneEmberhide
Profile Information
-
Gender
Male
-
Location
Looking for a nice rock to bask on.
-
Interests
Code ALL the things! \o,
-
RPGM-X Sleeker Gauges 3.12 + Sleeker Addons
BLACK WYVERN replied to BLACK WYVERN's topic in Completed Scripts/Plugins/etc.
3.12 Pushed Fix: Incompatibility (more like Codependency) bug when not using Yanfly Battle Engine Implement: Parameter Gauges and Dragon Combat Gauges are now fully implemented. (Nothing to say about DCS though.) Compatibility: Added compatibility with Eclipse Engine (Which will now start to phase out RPGM-X Core, as it does so much more.) -
module Graphics.. Any remaining documentation?
BLACK WYVERN replied to BLACK WYVERN's topic in Programming
This can be closed if required. I was able to correct the issues with Sigma Resolution without the documentation by studying and rebuilding the code Gab used. There's still 1-2 issues I need to iron out, but otherwise, things look good. For anyone out of the know who is wondering why there's no actual documentation related to module Graphics on the internet: Ruby is not a native language; rather it is a platform built upon C as an interpreter. This means that every Ruby function is broken down into C, and then processed by whatever handles the C execution. This however means, that it is possible to write methods for Ruby in C, and have them stored as part of a library that, unless you have the actual library file itself, decompressed, it is completely inaccessible to read. Graphics is one such method, stored (Presumably) in the DLL file or or the EXE file itself. Try as one might, Ruby methods to reverse engineer the source code are ineffective due to this. (Gem::Pry, source_location, ect) The modules one can find are usually attributed to OpenRPG or Gem documentation for external editors and are either approximations, or completely unimplimented. -
RK5 Debug Console
BLACK WYVERN replied to Rikifive's topic in Completed Scripts/Plugins/etc.
# ** Main == $TEST = true rgss_main { SceneManager.run } Done. Test mode in the .EXE file. Don't need anything elaborate. If you have other scripts (Say Mog's Debug view that grant all items and whatnot in test mode, this'll kick those in too. [should anyways.])- 27 replies
-
RK5 Debug Console
BLACK WYVERN replied to Rikifive's topic in Completed Scripts/Plugins/etc.
It's probably not something you need to worry about. The only reason I had to, is because my menu system stacks two scenes on top of each other, and I use Graphics.freeze to make a smooth transition between items and moving to the selected scene. But, the frozen graphic appears above the console, and rather than looking to find a z value, I just called the transition. Lol. VX and VX Ace do not use the same code base. IIRC VX is RGSS2, whereas Ace is RGSS3. They're almost completely incompatible with each other.- 27 replies
-
RK5 Debug Console
BLACK WYVERN replied to Rikifive's topic in Completed Scripts/Plugins/etc.
Oh gods that hook function. Had to add a 'Graphics.transition(0)' to line 752 to get it (the console itself) compatible with my Chrono Menu system. But otherwise damn sexy.- 27 replies
-
- 1
-
-
RK5 Debug Console
BLACK WYVERN replied to Rikifive's topic in Completed Scripts/Plugins/etc.
I quite liked the gifs. Lol. But that's just me. Not having a capture card, I'm always stuck using fraps, converting it in WMM, and uploading it. (Trust me, this is not easy when you live in a town where the entire internet is funneled through microwave towers. x.=.x) Seems a much more elegant solution, considering I should be able to do the same with gyazo. if I weren't so busy with my own stuff, I'd love to poke around Yan's, Neon's, and your code just to see if it's possible to make a single optimized console entry system that does everything, in one spot.- 27 replies
-
- 1
-
-
RK5 Debug Console
BLACK WYVERN replied to Rikifive's topic in Completed Scripts/Plugins/etc.
Initially seems functionally similar to Yanfly's Debug Extension. However, the additional information provided with the secondary display, and the quick commands are quite promising. Already can see some of it being useful to me over the former. Well done. Additionally. Taking from Yanfly, because your final code evaluation is capable of crashing, might I suggest a begin, rescue clause? begin SceneManager.scene.console_eval_string(@string) Sound.play_ok rescue Sound.play_buzzer rescue SyntaxError => se Sound.play_buzzer end This will prevent, or more precisely, ignore errors brought up by invalid entries, and just process a failed sound notification instead. Speaking of sound, having an option to disable everything except success/failiure confirmation might appeal to some.- 27 replies
-
- 1
-
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
I have difficulty understanding the nature of your question. Edit: Figured it out. But not before I did this whole big thing on how the stats work. This is why you read posts 5-6 times before writing things. One sec... get_damage_numbers( $game_actors[1], # Or however you are selecting the focus $game_actors[1], # Or however you are selecting the target $game_actors[1].skills[1] # Or however you are selecting the item ) def get_damage_numbers(focus, target, item) if item.physical? || item.magical? value = item.damage.eval(focus, target, $game_variables) value *= focus.item_element_rate(target, item) value *= target.pdr if item.physical? value *= target.mdr if item.magical? value *= target.rec if item.damage.recover? amp = [value.abs * item.damage.variance / 100, 0].max.to_i var = rand(amp + 1) + rand(amp + 1) - amp max = value + var min = value - var return [max.to_i,min.to_i] end end This should do what you want. Put the call and definition somewhere together, then just set the targets and what you want to evaluate.- 19 replies
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
Very true. Corrected with a quick check. Whoops It does. You can have class_eval run in naked code even. I use it in my performance manager to add in checks to multiple classes to prevent their update methods from being called multiple times within the same Graphics.frame. Cleans up performance for some things I do, especially in Window_Base when you're dealing with gauge drawing. (Window_BattleStatus, even on vanilla code has 3 update calls per frame for whatever reason.) What? I, atleast, much prefer a.sta over a.custom_prm("sta"). I only use the trichar references in anything I do, because I'm generally too lazy to actually type out the whole methods every time. Lol. K. Added to my post.- 19 replies
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
I made a thing. class RPG::BaseItem def custom_prm(param,user) if (@custom_prm||={})[param].nil? init_custom_prm(param,user) init_param_accessors(param) elsif CustomParams::Params[param][:update] init_custom_prm(param,user) end @custom_prm[param] end def init_param_accessors(param) vocab_l = CustomParams::Params[param][:name] vocab_s = CustomParams::Params[param][:short] Vocab.class_eval( "def self.#{param}; \"#{vocab_l}\"; end" ) unless vocab_l.nil? Vocab.class_eval( "def self.#{param}_a; \"#{vocab_s}\"; end" ) unless vocab_s.nil? Game_BattlerBase.class_eval( "def #{param}; self.custom_prm(\"#{param}\"); end; def #{param}_bonus; self.custom_prm_bonus(\"#{param}\"); end" ) end end You can either add/replace the appropriate methods in Sixth's code, or just copy/paste the entire snippet into the slot under his script. OK so. This edit runs when the parameter is initialized. It adds the :name and :short vocab which was defined in the CustomParams module (Assuming you did) to the master Vocab module. So, for instance, we'll look at "cdr" "cdr" => { :name => "Critical Damage Rate", :short => "CDR", :default => 1.0, :min => 0.0, :max => 3.0, :type => :mul, },The :name and :short values will be sent to Vocab so you can reference them withVocab::cdr and Vocab::crd_a similar to default parameters. Vocab::cdr will output as "Critical Damage Rate" It also adds a reference to Game_BattlerBase to retrieve the param and it's bonus values. These can be accessed with focus.cdr and focus.cdr_bonus (Focus being actor/battler/$game_actors[]/whatever..) So calling $game_actors[1].cdr will in turn call self.custom_prm("cdr"); which as the base script does, pulls the param value and checks/applies any applicable bonuses. In this case, $game_actors[1].cdr == 1 as we haven't done anything to change it yet, so it defaults to it's default value.- 19 replies
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
If it makes you feel any better about it, I'm going to be using his over mine as well. Got completely shown up.- 19 replies
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
Hrrmn. Goes to show there's different ways to solve the same issue. Might have to dive into yours, Sixth to see how it all works under the hood. Verdict: His is a much simpler, and more flexible system than mine in terms of use. It's almost too simple for me to determine if it can support buffs/debuffs and associated states. I am guessing it might though.- 19 replies
-
- 1
-
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
Ah. Again, figured I had oversimplified. I can get something out for that here in a few. (Kay, read over again, you want a fully implemented stat. Just got in from lunch. That's going to take a bit longer. Lol. I'll do it though.) Done: With caution. I currently don't have a platform for testing this as extensively as I would like, as this bit of code was taken from my personal project platform, which I am currently in process of recoding. I have checked to make sure gear increases are properly implemented, and functional though. As for the rest of it, if you run into any major issues, I should be able to fix them. Just gimme a poke. Compatible with yanfly engine ace and his popups, also lunatic stats, cuz, they were already there for me.- 19 replies
-
- 1
-
-
Custom Actor Parameters
BLACK WYVERN replied to Rikifive's topic in Programming
#â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• # CLASS: Game_BattlerBase. # - Initializes the new parameter to all units. #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• class Game_BattlerBase attr_reader :cdg # Define actor/enemy.cdg reader. #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• # REINITIALIZE #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• alias cdg_gbb_init initialize def initialize cdg_gbb_init self.cdg = 0 # Calls CDG= to initialize clamped value. end #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• # DEFINE: Game_BattlerBase.cdg=(cdg) # - Update CDG; Clamps minimum and maximum values. (Change these as you like.) #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• def cdg=(cdg) @cdg = [[cdg,3].max,5].min end #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• # REDEFINE: Game_BattlerBase.apply_critical(user, damage) # - Replaced to use CDG #â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• def apply_critical(user, damage) damage * user.cdg end end I may have oversimplified this, for the intended purpose, but it should work all the same. Restricts Critical Severity to 3-500%. Change these as you like. Can also set the CDR on a target by calling (actor/enemy/battler/whatever-class-you're-working-with).cdr=something Edit: Noticed I had used cdr instead of cdg like a pro. (Kept thinking Critical Damage Rate)- 19 replies
-
Professional Pathfinding Solution. Lightning Fast!
BLACK WYVERN replied to ♥SOURCE♥'s topic in Completed Scripts/Plugins/etc.
Can't help with that one. Payware and all. I'd say ask on the effectus forums, but even those are on their last breath. May have to make a new thread about that in support, and hope someone is using it and is knowledgeable enough to help.- 37 replies
-
- ai
- move route
-
(and 8 more)
Tagged with:


