![]() |
![]() +- Save-Point (https://www.save-point.org) +-- Forum: Games Development (https://www.save-point.org/forum-4.html) +--- Forum: Development Discussion (https://www.save-point.org/forum-17.html) +--- Thread: ![]() Pages:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
|
RE: What's up, RMers? - Remi-chan - 12-24-2024 Some big updates! Xiie Not only did she get L'soiv D'pes done, but also began and finished Mal Morris as well! ![]() ![]() 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! ![]() And I quickly updated the cinematic which relied on this asset. Fantasia Scene 13 - She Brings Shadow That's all for now~! RE: What's up, RMers? - DerVVulfman - 12-25-2024 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:
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? ![]()
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... ![]() Status: So far... so good. RE: What's up, RMers? - DerVVulfman - 12-29-2024 (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. 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 BUT... Code: # Passes Through All Instance Variables 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. RE: What's up, RMers? - kyonides - 12-29-2024 And here I come once again to prove you wrong! ![]() At least starting from Ruby 2.7 you can use code like the following: Code: instance_variables.each do |var| 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. RE: What's up, RMers? - DerVVulfman - 12-30-2024 (12-29-2024, 11:57 PM)kyonides Wrote: And here I come once again to prove you wrong! 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. RE: What's up, RMers? - kyonides - 12-30-2024 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. ![]() 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 ![]() ![]() ![]() 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 Quote:instance_variable_set(symbol, obj) => obj 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. ![]() 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! ![]() RE: What's up, RMers? - Remi-chan - 12-30-2024 Times like this, I'm reminded of this screenshot~ ![]() 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! ![]() 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. RE: What's up, RMers? - DerVVulfman - 12-30-2024 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. 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! 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:
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
![]() RE: What's up, RMers? - kyonides - 12-30-2024 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| 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 ![]() RE: What's up, RMers? - DerVVulfman - 12-30-2024 Since certain people still cannot admit their initial opening was an intentional slight:
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. ![]() |