What's up, RMers?
Some big updates!

Xiie
Not only did she get L'soiv D'pes done, but also began and finished Mal Morris as well!
[Image: HByb15j.png][Image: 2Le4qKe.png]

Remilia
I have largely made a huge effort to get to the End of the Disk 0 re-write, and outside of the final battle that is basically done! This does leave optional content, but all in good time!

Here's just a couple previews of what you can look forward to!

Rise of Morgana

As Agrat Bat Mahlat states in another rewritten scene, Morgana is a title rather than a name. It is Elden for 'Queen of Vampires'.

Given that Agrat Bat Mahlat (The first Morgana) is calling Lilac Morgana now and then shows she truly believes Lilac worthy of her role as such a being.

The 'Drowner of Prayer' title Mahlat introduces herself as is one of Agrat Bat Mahlat's official titles according to the Zohar Kaballah, which is where the various ENNUI are named from.

It also just sounds really fucking cool.


IA Reveals Her Existence To The World!

The introduction of the Insidious Architect here perfectly encapsulates her cruelty and imperious attitude in one fell swoop, while nailing what she very much embodies.

Tarot Cards
Due to losing the old files in my 2022 PC brick, I had to reconstitute these, and now I have!
[Image: GXO1dkZ.jpeg]
And I quickly updated the cinematic which relied on this asset.

Fantasia Scene 13 - She Brings Shadow

That's all for now~!
Reply }
I have a little... side project... that I'm piddling with.  It is a sorta 'recreation' of the RPGMaker XP scripts database basedupon the RMXP SDK that was prominently advertised by top scripters within the RMXP.Org community of 2006-2008.

The RMXP SDK as it was commonly known had some decent concepts:
  1. A standardization for script headers and comments
    1. Standardization included script author's name, version, date, etc
    2. Standardization would assist those examining the scripts: end users/debuggers

  2. A set of coding policies to make custom scripts more compliant with one another
    1. The use of 'alias_method' or just 'alias' to attach code instead of forced rewrites encouraged
    2. A standardization in naming the new alias method IDs (or aliased method names to include:
      • The name of the script
      • The script author's name
      • The name of the class the alias ID is within (Scene_Equip, etc.)
      • The name of the actual method aliased
      • All of these subject to abbreviations

  3. A recognition that the default scripts had overly-large methods/routines 
    1. Many methods such as Spriteset_Map>initialize were broken into smaller components
    2. The concept of smaller components made adding new code/features easier
These were good concepts, but execution was flawed.  They continually kept refining and updating their SDK packages, so those who crafted scripts based upon older editions found their work incompatible with the newer.  And this was an oft reoccurring issue.


 
What I am working on is intended to be a complete setup.  You would not be downloading a DerVV-SDK.txt file to import into your scripts database.  Nope... it would be an actual Scripts.rxdata file to replace the existing scripts collective.
 
I will also add that testing of my variation of the innate scripts is being performed with both the RPGMaker XP version of Game.Exe and with the Game.Exes from the HiddenChest project by Kyonides.  In truth, what I am working on is compliant with both Ruby version 1.8 through to Ruby version 2.7.
 

What does my edition of the RMXP scripts include?  Thinking

  1. A more advanced Debug screen which includes:
    1. Access by the [A] key (aka Input::X) from the default Debug menu [F9]
    2. Actor Healing and God Mode
    3. Disable Random Encounters (if anyone ever uses random encounters)
    4. Item/Weapon/Armor inventory management
    5. Pre-set destinations in which to teleport
       
  2. An actual BattleSystem Debug screen allowing for:
    1. Access by the [A] key (aka Input::X) when in any Actor Command Menu (Fight/Spells/Item...)
    2. Switch and Variable management
    3. Actor or Enemy Healing
    4. Hiding and revealing enemies
    5. Battle Turn management
    6. (and more)
       
  3. Integrated DASH (press SHIFT to run).  That took all of 6 lines Laughing + Tongue sticking out 

  4. A better enemy combat-action system preventing useless actions from being evoked
    1. Skills without enough SP points will be bypassed
    2. Healing fellow enemies already fully healed will no longer occur
    3. etc.

It should be 'relatively' compatible with RMXP SDK scripts with a few things to consider.  Version 2.0+ of the RMXP SDK used  a  SDK::Scene_Base class that was a parent or superclass to all other "Scene" scripts.  The version I have is just "Scene_Base"... no "SDK::"  prefix added.  And this version still employs index values within menus, and not test for text strings as conditions within menus..

Do know that I am not adding anything that alters the appearance or functionality of menus, maps, battles or the like.  No advanced wandering-events system as that would require further customization.  No facesets for message systems, no mini-map, no splash screens, no kidding.   The only actual features added are debug, dash and (eventually) a better functioning enemy_actions and melee/skill/item actions result collection.

I am not playing ignorant.  I do realize that some things are to be learned from later editions of the RubyScript RPGMaker line. Fortunately, I do own a copy of RPGMaker VX (or is that... [Image: dbgfula-207367d7-43e4-427e-9727-9d5ee72c...sMwwgZ9rw8] unfortunate?)  And I do have access to the scripts database for RPGMaker VXAce.    But one must keep in mind, that I am also dealing with the database specific for RPGMaker XP, and will need to consider it uses Battlers, does not use Facesets, does deal with a different tileset system, and so forth.



Status:  So far... so good.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
(12-21-2024, 06:40 PM)DerVVulfman Wrote: Within RUBY... even available when using RPGMaker XP's RGSS... you have access to the OBJECT class.  Not that you see it in the Scripts database.  And the OBJECT class has a few methods.  One of these methods is 'instance_variables' which would return an array listing all the variables specific for the class within.

However, different versions of Ruby return this array differently.

With Ruby v 1.8.1 (used by both RPGMaker XP and VX at the very least), the names stored within the returned array are listed as strings:
. . .
But at some point, RUBY had changed, and the current versions (such as version 2.7 used by HiddenChest) now return the instance variables as their 'symbols', and not by their names as strings.

Indeed, I am returning to this. For a learned colleague did suggest there are advantages with using symbols instead of strings for variable names. However, there are disadvantages too.

Within the below code block, we see the beginning of a loop that acquires a list of active objects created within the class, mainly instance variables for windows and so on.
Code:
# Passes Through All Instance Variables
    self.instance_variables.each do |object_name|
      # Ensure we have a string representation of the object
      
      p object_name
      p 'hash' if object_name.is_a?(Hash)      
      p 'Array' if object_name.is_a?(Array)      
      p 'disposable' if object_name.respond_to?(:dispose)
      p 'disposable' if object_name.respond_to?(:update)
However, if you wished to see if any of the instance variables were tied to classes that had either a dispose or update method, you would be at a loss. It cannot determine what method (if any) is associated.

BUT...


Code:
# Passes Through All Instance Variables
    self.instance_variables.each do |object_name|
      # Ensure we have a string representation of the object
      
      obj_string = (object_name.is_a?(String)) ? object_name : object_name.to_s
      # Evaluates Object
      object = eval obj_string
      
      p object_name
      p 'hash' if object.is_a?(Hash)      
      p 'Array' if object.is_a?(Array)      
      p 'disposable' if object.respond_to?(:dispose)
      p 'disposable' if object.respond_to?(:update)
Convert the symbol into a string (which the RMXP SDK uses for example), and you can then 'Evaluate' the string representation into the object that can be tested.

Note that you cannot evaluate symbols into their original objects as the second code block has shown. the 'eval' command only works with strings. And the .respond_to? command is a method within the Object class and will not respond to symbols.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
And here I come once again to prove you wrong! Tongue sticking out

At least starting from Ruby 2.7 you can use code like the following:

Code:
instance_variables.each do |var|
  this_var = instance_variable_get(var)
  puts this_var.respond_to?(:dispose)
end

This will easily retrieve the corresponding @variable and let you know whether or not that object really owns a dispose method.
So nope, you don't need to turn variable names into strings. Symbols are good enough for Ruby.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply }
(12-29-2024, 11:57 PM)kyonides Wrote: And here I come once again to prove you wrong! Tongue sticking out

Actually, no.  Please recall that I stated...

(12-29-2024, 10:19 PM)DerVVulfman Wrote: Note that you cannot evaluate symbols into their original objects as the second code block has shown. the 'eval' command only works with strings.  And the .respond_to? command is a method within the Object class and will not respond to symbols.

Your example code does not perform an evaluation.  It does not use the 'eval' command that is part of the Object class. As I was being explicit about the use of the Eval command and your supplied code does not perform any evaluation, your statement is essentially a half-truth.

I am aware that 'instance_variable_get' is a newer method within the OBJECT class, but was introduced within Ruby 2.5.5.  And it needs to be said that users of the Ruby RPGMaker engines (XP to VXACE) do not use as new a version of Ruby, and the command will not function.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
Not a half truth if I clearly stated I was using Ruby 2.7 from the very beginning.

evaluating strings is something Ruby allows us to do like when people need to parse the script calls they make to any custom script or the embedded script they saved in that small box. (Only in VX ACE it gets a lot of space to write a whole paper on any topic if that makes any sense here. Laughing )

Nobody is supposed to evaluate symbols. They're frozen by nature so you'd need to make calls to an object's metaprogramming methods like instance_variable_get or instance_variable_set to do stuff.

Yet, who said you couldn't use instance_variable_get in Ruby 1.8, the one used in RMXP & RMVX?
It was Dog Wulfo, not me, your local Ruby rubyist Kyonides. Winking

According to the Official Ruby Documentation for Ruby 1.8.6 (not a lot different from 1.8.1 included in XP and VX):

Quote:instance_variable_get(symbol) => obj
Returns the value of the given instance variable, or nil if the instance variable is not set. The @ part of the variable name should be included for regular instance variables. Throws a NameError exception if the supplied symbol is not valid as an instance variable name.

Quote:instance_variable_set(symbol, obj) => obj
Sets the instance variable names by symbol to object, thereby frustrating the efforts of the class's author to attempt to provide proper encapsulation. The variable did not have to exist prior to this call.

Wulfo, you better improve your web search skills next time before coming up with a weird claim like that method is not available in Ruby 1.8.1 when actually IT IS. Tongue sticking out

EDIT 1

In your defense, I will say that none of us had foreseen the need to add an @ symbol between the : semicolon and the actual variable name.

instance_variable_get(:@a)

The same is valid for strings.

instance_variable_get("@a")

This means that in Ruby 1.8.x the code I provided might need to turn symbols into strings to add a @ symbol first and then turn them back into symbols to make it work.

EDIT 2

Nope, I tested it on RMXP. My code will work AS IS! Tongue sticking out
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply }
Times like this, I'm reminded of this screenshot~
[Image: 7ZlPkYy.png]
Like, why don't you two just pick up a nice bottle of red wine and get it fucking over with?

Hm, whazzat? What have I been doing to earn the right to ship these two in some erotic hellfic and still somehow appear like I'm not a complete bitch for doing so??

Oh, y'know...

ENTIRELY reconstructing my database to futureproof potential but by no means confirmed POST-GAME DLC, restructuring huge parts of my custom evented menu to factor those database changes, going through and adding new items for Disk 3 that weren't planned for, therefore messing up my itemIDs and requiring a large lot of work to redistribute large chunks of the menu system, and as a bonus I have to go through the entire game and re-calibrate every item drop so you don't get stuff at the wrong times.

Did I mention this game takes about 30-40 hours to 100% in it's current state??

I also updated the Iconset to accommodate for new changes and it just needed a rework in general, the scope of the game quickly expanded beyond what I initially intended and so did the iconset. It's still a compact 512x512 cutiepie of a thing though!
[Image: Q3U09Iq.png]
So I've also had to in some cases re-assign a lot of those. Thankfully, I know the ancient coder-jitsu of HA HA OPENING THE COMMONEVENTS.JS FILE AND JUST FIND_REPLACE-ING \i[XX] ENTRIES TO REFLECT THE MAJORITY OF ENTRIES!! Just gotta go through the optional events and re-calibrate certain medal icons since the order of those was largely shifted past the 24th one.

You might also notice a lot more food there, yeah... I added 19 new delicacies. I also added 6 new pamphlets, 6 new medals and have a new 42 brochures planned but I've gotta do the assets for them yet. But otherwise the updates are mostly done, with just some small icon patch-up work to be handled in the Optional Event Dossier regarding medal rewards.

Also adjusting my menus to more widely accept buttons, like for some reason 'esc' wasn't closing the tab menu and 'enter' wasn't opening things within it, and also I just wanted to make it possible to scroll up and down the menu using the arrow keys if you wanted.

Well, NOW THAT'S ALL DONE! Yeah... turns out it wasn't 'esc' or 'enter' for the conditional script branch, it accepts only `escape` and `return` ha ha! Things I only discovered recently because I use left and right click and then just move with WASD because my hands don't want to contract carpal tunnel if they can avoid it!

I also added the ability to easily switch through characters in the equip_scene using Q and E.

BUTT WEIGHT!!! I hear you cry: "Isn't the E key used to... y'know, use the overdrive ability?? So won't that potentially cause a conflict, Remi??"

The answer is plainly... No! Because you are not going to be opening the menu in combat, and I mean-- you literally aren't allowed and if you are... that's a bug! So the only other thing E is now used for is a fast-forward through text key --which again-- can only occur on map during dialogue, which you are not going to have your menu open for, and dialogue does generally not play in combat, and when it does, it is via those funny little gab windows.

So, now that I've confirmed your fears are not worth validation, I'm sure you have another question! "What be the sacred keys?? Please tell me!"

And yeah sure...

[Movement] both in menus and on field is done with either WASD or Arrow keys. Both work, you can also use numpad if you want to try getting conniptions but I do not recommend it.
[Confirm] can be Left Click, Z, Enter, Spacebar or even Numpad Enter if you're that special kind of spicy who has to do everything in the dumbest way imaginable.
[Cancel] is Right Click, X or Escape.
[TAB] can be used to open the Main Menu and closed from within it's mainframe-- which makes sense given it is literally called the TAB.
[Left Click] is Attack. It will shoot projectiles towards where your mouse cursor is.
[Shift] is to Skedaddle. So is sprinting, you can't sprint in battle so... there's no real conflicts there.
[Right Click] is to Defend (is toggled). This wont cause issues in menus because again, you cannot have menus open during combat.
[E] is still the activator of ENNUI Empowerment.
[T] remains the dwsignated Taunt button, I don't worry too much because it's an ability that does nothing and it's just for flavor, really.
[F] switches through party members, though I'm looking into making mouse scroll and 1-5 on the numpad and number keys (depending on party size) on keyboard work as well.

So, to say I have been productive is putting it lightly, sadly this is all kind of mostly on backend, so you won't really be able to see it. But! You will be able to FEEL it when you glide through those menus smooth as a swan through a lake. This new tech has a set a new standard for my games and now I'm honestly considering doing a small rework to PFC to make some of this stuff possible. But that's future stuff.

Hm, what about Pjcr and Xiie? Nah, nothing new yet, it's Christmas week so... you get it. Only I'm enough of a brain-rotted leper to go and work my ass off literally the day after Christmas.

Unrelated note on the hilarious old couple soap-level bickering between some dude in his fifties and the wannabe senior who is still by every extension a junior.
(12-29-2024, 11:57 PM)kyonides Wrote: And here I come once again to prove you wrong! :twitchemotemoment:

(12-30-2024, 04:26 AM)kyonides Wrote: It was that mutt Wulfo, not me, your local foxboi rubyist Kyonides. :*wonk:
Real question for you to ask yourself, Kyonides: How are you actually more insufferable than me??

Only I'm allowed to be this painful to read, I... you can't do that! That is illegal!

I'm genuinely impressed! When people say I have an ego I think 'Okay maybe they have a point?? I really might, but you know- I work hard, I put my soul into the work I do, so if they wanna think I have an ego, at least I can say I've earned the right to have one even if I still don't know if it's an ego so much as it is just self-confidence.'

Thankfully I have you to remind me of what an ego completely unsanctioned by much of anything looks like and I stop worrying because while it may be a faux pas to compare myself to someone else and use them as a means of transcendence, I can't help it when you provide such a stunning example completely stripped of self-awareness. Thank you, Kyonides.
Reply }
Is someone getting a warn?  I think someone is getting a warn.  And you did so good for nearly a year.


Allow me to point out that kyonides stated that he was going to prove me wrong after I made the following statement:
(12-29-2024, 10:19 PM)DerVVulfman Wrote: Convert the symbol into a string (which the RMXP SDK uses for example), and you can then 'Evaluate' the string representation into the object that can be tested.

Note that you cannot evaluate symbols into their original objects as the second code block has shown. the 'eval' command only works with strings.  And the .respond_to? command is a method within the Object class and will not respond to symbols.

It is very clear from the dialogue above, I was referring to the use of the eval command, a method within the Object class:  "Note that you cannot evaluate symbols into their original objects as the second code block has shown. the 'eval' command only works with strings."

But even while he attempted to state that I was wrong, he himself later stated:

(12-30-2024, 04:26 AM)kyonides Wrote: Nobody is supposed to evaluate symbols. They're frozen by nature so you'd need to make calls to an object's metaprogramming methods like instance_variable_get or instance_variable_set to do stuff.

By this very statement, kyonides actually contradicted his opening jab:
(12-29-2024, 11:57 PM)kyonides Wrote: And here I come once again to prove you wrong! Tongue sticking out

And yet, that was not the case.  For in fact, his statement that "Nobody is supposed to evaluate symbols." and that the code he chose to present focused upon an alternative command instead of "eval" was itself confirmation.

I will admit, the site that I garnered the versioning of the command used within kyonides's substitute code was dead wrong. However, my actual statement in that you cannot evaluate symbols, the inability to use the eval command, was correct and substantiated by kyonides despite his apparent attempt at a jibe.

:symbols are nothing more than pointers, not unlike the 'index' of an array or a key to a hash.  They are not the data, but a key/index to 'retrieve' the data.  As an index points to a value within an array, a :symbol is used to point to an instance variable within a class.  I will not condemn the use of :symbol, for I do know its value as a pointer towards necessary data:

The use of index values was a breakthrough in old-style file management in computers which previously relied upon data records having to load 'sequentially' (or one after the other) until the desired record was found  And the larger the file, the slower it may take to access certain records. It was later that Random Access and Indexed data records were defined that used index values or keys to point to the necessary records, said records being accessed almost immediately.

The eval command, or the instance_eval  command, is a powerful command which can evaluate (or convert) a string containing Ruby code, or a block thereof.  It could be used for data calculations if the contents of the string being evaluated was a mathemetical formula. But seeing that the strings in the example were the ruby code for the instance variables (Ex: "@command_window", "@menu_window", etc), the value returned would be the instance values themselves... in laymans terms.

I will say that the use of instance_variable_get has the ability to garner the value of the instance value directed by a supplied :symbol.

So unless one wishes to broaden the definition of 'evaluate' beyond its current scope to mean 'retrieve' or the like:
  1.   Evaluate data from an an array from its index
  2.   Evaluate an object from its list of index variables with its symbol
  3.   Evaluate a color from its R G B A values
  4.   Evaluate....

No, you cannot evaluate :symbols.

The immediate statement claiming I was wrong included sample code that in no way proved me wrong, instead using an alternate method to acquire data rather than utilizing the eval command, and in no way performed an evaluation but straight retrieval.  You can use :symbols to point to data like an index or key, but neither they nor their related command perform actual evaluation as the eval command is currently defined.




Currently, I am working on a revision to my Layered Spritesheet tool.

There were issues with the 'Set Preferences' button that did not properly retrieve the Gender and Left/Right hands button values, and had difficulty with eliminating 'white spaces' aka ineffective formatting space characters when parsing data.

Meanwhile, more categories and resource folders are being added: snouts for animal-like characters, more expansive eye folders for use with faceset generating resources, underwear, and more.

And can you skin the interface???
Be afraid

Laughing  The person who asked me to include such a feature it almost fainted.  Not sure I'm gonna get any more requests from him for a while


Attached Files Thumbnail(s)
   
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }
Since certain people took a long time to notice what I was pointing out back then, I'll make it crystal clear now.

You would need to evaluate a string representing a method or an instance variable if there were no other way to access it.

My whole point is that you certainly can retrieve the actual object DIRECTLY by relying on symbols instead.

Here's where the instance_variable_get method comes in handy.

Code:
instance_variables.each do |sym|
  var = instance_variable_get(sym)
  puts var.class
end

It allows people to skip the evaluation, that is considered to be slow because it first has to parse the string and find out if it's supposed to be just text, a value, a variable holding any value, etc. (Followed very closely by a syntax check.) The method I mentioned here simply looks for the symbol and retrieves its actual variable from a list of instance variables. This means that it knows for sure what kind of object it's expecting to find there from the very beginning, and no longer needs a syntax checker to run at that point.



That reminds me that I hate that Cat cat.
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9

Maranatha!

The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.

[Image: SP1-Scripter.png]
[Image: SP1-Writer.png]
[Image: SP1-Poet.png]
[Image: SP1-PixelArtist.png]
[Image: SP1-Reporter.png]

My Original Stories (available in English and Spanish)

List of Compiled Binary Executables I have published...
HiddenChest & Roole

Give me a free copy of your completed game if you include at least 3 of my scripts! Laughing + Tongue sticking out

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Reply }
Since certain people still cannot admit their initial opening was an intentional slight:

  1. DerVVulfman stated "the 'eval' command only works with strings."
  2. Kyonides stated "And here I come once again to prove you wrong!"
  3. Kyonides then contradicted himself with "Nobody is supposed to evaluate symbols"

I will state (and practically quote myself) that that the use of instance_variable_get has the ability to garner the value of the instance value directed by a supplied :symbol.  As I said, :symbols are inherently just pointers like an index position within an array of instance variables.

By that, it would naturally be faster.  Such as the development of random/index access records compared to sequential records.

But I will also state that the eval command is a very powerful command, able to let one execute ruby commands stored within strings, be it method names, complex calculations, or to retrieve the value of instance variables.

Whilst slower, it is not as limited a command.

Surely when the RMXP SDK was envisioned, they would not have used anything but 'eval' as the 'instance_variables' command within the Object class returned string data, and eval was more widely used and known.

Be advised; If prolonged, I will continue to re-iterate how I was referring to the eval command (1) from the very beginning and how statements that followed (2,3) were actual contradictions.  This when one could have just said "an alternative method for this would be..." and not throw jabs.



Yeah, I got some rather ... colourful ... reactions to that cat.  Kitty
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply }




Users browsing this thread: Steel Beast 6Beets, 22 Guest(s)