Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 RGSS scripting dissections and explinations
#1
hey everyone! I'm sure posts like this has come up before but I feel its needed to post something like this again!

RGSS1 RGSS2 & RGSS3
all powerful scripting languages that can be effectively used within the RPG maker series with immediate results that don't require extra programs

the downside? very hard to learn the language especially if its your first computer language

so I'm making this thread to help unravel the secrets of this language and then compile it into a legible tutorial that even a child could learn something from!

there's not enough scripters left for RGSS and the requests just keep pouring in like a bad leak that desperately needs repairs

so lets fix that shall we?

insert thinking music here https://www.youtube.com/watch?v=I5apie1jywc

OK for the 1st section of this language dissection lets focus on RPG Maker XP's scripting system (as its not only the most used language on SP but also the one I specifically want to learn)
RGSS1 (Ruby Game Scripting System)

the few things I personally know about it are as follows:
1: its powerful enough to let anyone creative enough to do anything inside the RPGXP system even if it overly pushes the system to its limits
2: its loosely based off of Ruby version 1.8.1 (good luck finding a tutorial for that exact version)
3: it apparently uses something called "Trig" or "Trigonometry" that's super advanced math? probably where all the overly complex terms come from...
4: it uses "pacman" < and "reverse pacman" > along with "hashtag" # "money" $ "star" * "squiggly A" @ and a buttload of "dots" . and "double dots" : just to list a few
5: scripting is very "CASE SENSITIVE" meaning that if you mistype something or forgot a : where its needed you'll get a "SYNTAX ERROR" which means ya messed up on something and hopefully it'll show you which line to look at so you can hopefully fix it

and most importantly! quoted from a wonderful scripter that I know
Quote:A computer program is supposed to be logically designed. However, two people can write a program that does the same thing in totally different ways. Compared to event systems with its engine-dependent limits, actual programming gives you way more flexibility.

my mind translated that to be " its like baking! cake! there are hundreds of different ways to make a cheesecake that will all taste the same!"

with that in mind I started this post
lets see what each "ingredient" in scripting is! sample what they do and what they're called! to give us all a FULL understanding of what to do next!

for example!

arrays
strings
variables
modulous
exponent

what are they? what do they do?

my answers are this:
arrays  = a boxfull of numbers that can help organize stuff
strings = a boxfull of words that can help organize stuff
variables = the term used for pretty much everything that isent specifically called another term or "user input"
modulous = ..uh I don't really know is this even a word?
exponent = is this even a word?

what do you guys think?
any contributions are welcome!
[Image: SP1-Writer.png]
[Image: 55e3faa432d9efb86b8f19a6f25c0126-dawz35x.png]

new logo for Yesteryear created by Lunarberry!
Reply
#2
Well, this kind of ignores all those terms I once explained when you didn't understand why the print command is called like that...

Syntax errors would be the programming equivalent to having a very bad orthography in an essay.

Siletrea wrote modulous #=> NameError! No modulous class or module or method was found!

Did you mean...?

module
modulo
modulus

exponent examples: 2**2 is the same as 2 * 2, 4**2 is the same as 4 * 4, where * asterisk is the symbol you need to make Ruby multiply a number or ** asterisks to get its exponent. In recent versions of Ruby, 2.2+, asterisks have other uses as well. Actually even in Ruby 1.8.1 you can use an asterisk to make an array if it's an argument included in a method definition, i.e.

def my_method(name, *arguments)
print name, arguments.class
end

my_method #=> Pop up window shows up telling you the name you passed through and Array as arguments actual class.
"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]

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

Give me a free copy of your completed game if you include at least 2 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
Reply
#3
(09-06-2017, 07:50 PM)kyonides Wrote: Well, this kind of ignores all those terms I once explained when you didn't understand why the print command is called like that...

Syntax errors would be the programming equivalent to having a very bad orthography in an essay.

Siletrea wrote modulous #=> NameError! No modulous class or module or method was found!

Did you mean...?

module
modulo
modulus

exponent examples: 2**2 is the same as 2 * 2, 4**2 is the same as 4 * 4, where * asterisk is the symbol you need to make Ruby multiply a number or ** asterisks to get its exponent. In recent versions of Ruby, 2.2+, asterisks have other uses as well. Actually even in Ruby 1.8.1 you can use an asterisk to make an array if it's an argument included in a method definition, i.e.

def my_method(name, *arguments)
 print name, arguments.class
end

my_method #=> Pop up window shows up telling you the name you passed through and Array as arguments actual class.

orthography? no idea what that is
and I understood everything up until this point

Quote:exponent examples: 2**2 is the same as 2 * 2, 4**2 is the same as 4 * 4, where * asterisk is the symbol you need to make Ruby multiply a number or ** asterisks to get its exponent. In recent versions of Ruby, 2.2+, asterisks have other uses as well. Actually even in Ruby 1.8.1 you can use an asterisk to make an array if it's an argument included in a method definition, i.e.


def my_method(name, *arguments)
 print name, arguments.class
end

my_method #=> Pop up window shows up telling you the name you passed through and Array as arguments actual class.
the point of this thread is to learn from scratch so definining everything is key!
but if your using a new big term it has to be explained as well (because I'm sorry that have absolutely no idea what all the big terms are and therefor it doesn't make sense ((this is why I've been trying to explain this in a way that a 6 year old could read because I hope to slowly define all these massive terms so it makes sense)))

I faintly know that "star" * is the term for multiplication 2 * 3 = 6

what is a "asterisk"

is 2 "stars" ** an exponent?

if an array is a box full of numbers used for sorting then does an "asterisk" count as a number?

(I'm sorry if I seem like I'm playing stupid! I'm actually not! this is legit...and also why I wanted to make a full thread as it should help define everything)
[Image: SP1-Writer.png]
[Image: 55e3faa432d9efb86b8f19a6f25c0126-dawz35x.png]

new logo for Yesteryear created by Lunarberry!
Reply
#4
(09-06-2017, 07:31 PM)Siletrea Wrote: 4: it uses "pacman" < and "reverse pacman" > along with "hashtag" # "money" $ "star" * "squiggly A" @ and a buttload of "dots" . and "double dots" : just to list a few

Symbolism Syntax:
  • * star ... actual name is "asterisk". We use a lot for math as the multiplication symbol.
  • # hashtag ... has been referred to as the pound symbol (as in weight measurement).
  • $ money ... er, just the dollar symbol here. We use to define a special 'global' variable.
  • @ squiggly 'a' ... officially called the 'commercial' symbol, usually recognized as the 'at' symbol. We use to make 'instance' variables'*
  • & thingie (not listed) ... we think of as the 'and' symbol is called an ampersand. Good for doing if... tests. 'if this & that.'

* For scripters, instance variables are better to use than globals. They use less resources, and forces better coding.
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]

Reply
#5
(09-06-2017, 11:01 PM)DerVVulfman Wrote:
(09-06-2017, 07:31 PM)Siletrea Wrote: 4: it uses "pacman" < and "reverse pacman" > along with "hashtag" # "money" $ "star" * "squiggly A" @ and a buttload of "dots" . and "double dots" : just to list a few

Symbolism Syntax:
  • * star ... actual name is "asterisk".  We use a lot for math as the multiplication symbol.
  • # hashtag ... has been referred to as the pound symbol (as in weight measurement).
  • $ money ... er, just the dollar symbol here. We use to define a special 'global' variable.
  • @ squiggly 'a' ... officially called the 'commercial' symbol, usually recognized as the 'at' symbol. We use to make 'instance' variables'*
  • & thingie (not listed) ... we think of as the 'and' symbol is called an ampersand. Good for doing if... tests.  'if this & that.'

* For scripters, instance variables are better to use than globals.  They use less resources, and forces better coding.

OHHHH ok! this definitely helps! just knowing what the proper term for * is really helps clarify things!

star = asterisk
exponent = **
but what do exponents do?

and @ is better then $ because while $ lets you access anything from other scripts @ is less flimsy?

the only parts confusing me now about the previous explanation is this
Quote:you can use an asterisk to make an array if it's an argument included in a method definition, i.e.



def my_method(name, *arguments)
 print name, arguments.class
end

my_method #=> Pop up window shows up telling you the name you passed through and Array as arguments actual class.

argument?
method definition?

the need for "def" which I think means "Definition"
and ".class"

and why is almost everything called a variable? what IS a variable?

sorry if I'm prying here and this seems stupid but I get hung up on stuff like this unless its explained fully I won't be able to take anything from it!
[Image: SP1-Writer.png]
[Image: 55e3faa432d9efb86b8f19a6f25c0126-dawz35x.png]

new logo for Yesteryear created by Lunarberry!
Reply
#6
A variable is like a storehouse to keep data that can be changed. If the data was unchanging, it wouldn't be 'variable' :P

There is a storehouse thingie we have called a 'constant' which also holds data, but it is unchanging. Best to use those in configuration sections where it NEVAH CHANGES!!!!

DEF.... does mean 'define' You use it to define your 'methods'. Methods are those blocks of statements in a class that are meant to do ... something... when it is called. If you call '$game_party.lose_gold', you are running the 'lose_gold' method in the Game_Party class. BUT... you need the 'def' in the start of the name to begin defining the whole block of statements as a method. Methods used to be called 'functions' or 'subroutines' back in the day.

Code:
def my_whole_freakin_example_subroutine
  my statement
  my 2nd statement
  my third statement
end
running 'my_whole_freakin_example_subroutine' would run all the statements inside, and ONLY those inside. Keeps them cozy.

A scripter 'can' write a method that is not part of a CLASS (a collection of methods for you), but it's better to have them inside of a class. You could have a 'lose_gold' method in Game_Party, and a 'lose_gold' method in Game_Troop... and they'd be separate! Seriously? Can a ghost lose gold?

A class is defined as 'a data or code structure'... in other words, it is a BLOCK OF STUFF!!! Basically, a class is a block of methods. A method is ALSO a 'data structure', but it is smaller as it is the block of actual statements performed. Guess what? You can have a thingie that is a collection of classes!!! It's called a module! So a module is a block of classes which is a block of methods which is a block of statements!!!! A module is the "largest" of these stuctures... nothing bigger.

Whoh... brainfreeze

For us scripters, the most edited (module/class/method) of these for RMXP is the RPG::Sprite module, as it houses the method that deals with damage pops n stuff. It kinda looks like this:

Code:
module RPG
  class Sprite
    def damage(value, critical=false)
      my code
      my code
      my code
    end
  end
end

YOU... won't be messing with modules much... unless someone makes a CONFIG module just to keep script settings.

Now, insofar as what Kyo said with the whole *arguments thingie.... This is more for us coders and more advanced.

*arguments (or *args for short) allows you to send MULTIPLE things into a method with just one variable... sorta. Let's look at his code:
Code:
def my_method(name, *arguments)
print name, arguments.class
end

His method called 'my_method' accepts 'what looks like' two parameters ( aka values, variables, arguments, whatever).

The first parameter (value) is a variable named 'name'.

Fine enough. When it gets to print name, it will print the data held in the 'name' variable.

The next parameter is called *arguments. The *arguments parameter is more like a storehouse of MULTIPLE VALUES!!! In otherwords, he shoved a lot of variables into this one sucker. His *arguments value may hold five different defined values, that being class, race, sex, age and weight. [I]Nope, he's defining a character class like 'fighter', 'wizard', 'frog') Not many use *arguments (or *args), but it is a space saver coding-wise.

So when we get to it saying [I]print name, arguments.class[I], it is actually printing the 'name' and whatever the 'class' was passed into *arguments. The end result may print : Aluxes Waste-of-a-hero
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]

Reply
#7
THIS IS BRILLIANT! Starry-Eyed I can't believe it! a part of a tutorial for RGSS that I can actually understand! Crying with a grin

so a module is like a barn while classes is like a bus that can be stored in said barn while a method is a box holding smaller boxes that are the statements???

variables are like a sock drawer that can be opened and reorganized and changed anytime

constants are like a time capsule that once made are sealed away ...but then the opening date happens after an apocalypse so its never opened?

ok alot of smoke and dust and garrote wire fences are coming down so theres a bit more understanding but what about the brackets?

( )
{ }
[ ]

do they come into play? and if so how are they used?

thank you so friggin much for this! I'm going to reference this thread EVERY time I attempt to script!
[Image: SP1-Writer.png]
[Image: 55e3faa432d9efb86b8f19a6f25c0126-dawz35x.png]

new logo for Yesteryear created by Lunarberry!
Reply
#8
( ) The Parenthesis.
Now this little beauty is STILL used in math, to denote modifications to normal order of operations (aka the precedence rules).
But if you've been looking at scripts, you may have seen methods or even ruby commands followed by a parenthesis holding some values. So it would be safe to accept that parenthesis are used in Ruby for either math purposes or to hold/list values that a Ruby Statement will be needing.

Such statements would be like Color.new(255,0,0,255,) ... That makes RED color if you know your R G B A coding.


[ ] The Brackets.
Oh this is used more for arrays, regardless of how the array is used. OR, it is used to identify a KEY in a hash array. Long story, not yet for beginniers.... it is another story.

Just think like this. If you look at Game_Actor and see the @skills array, this holds just the IDs of the skills an actor holds. Not really complex... When Aluxes starts playing, his own @skills array will have a value of 57 thrown into it (Crosscut) while Gloria's own @skills array will start with just '1' in it (Heal). Simple values, easy to manipulate to a degree.

Now if I told you that a string ( a variable that holds text data like their character names ) was actually an array, would you go bonkers?

You also pick the value in an array by its INDEX value, with 0 as the first value. So if an array is like [23, 5, 262, 4, 99], the INDEX value of 0 would retrieve '23'. And Index value 4 would return the value of '99'.

You may see something like $game_party.actors[0]. @actors is merely an array of actors by their ID. So the so-stated statement would get the ID of the first 'actor' in your party. Winking


{ } The Braces. This part is a bit more advanced....
Used to great extend in hash arrays, otherwise known as hashes. Whereas an array holds a list of values, a hash can hold a list of values 'or' a list of arrays!. While the Game_Actor class might have @skills for a regular array, the Game_Party class has an @items 'HASH' array which holds the items in a special manner. And you access the value of a specific hash value by a 'key' value instead of an Index.

I could access and see if the party has a Seed if Strength, by checking to see if @items[19] has a value other than 0. Do note that the key value I mentioned is in BRACKETS... so it is like HASH_ARRAY[key] = value . In the default scripts of RMXP, the values are typically just numeric values (for the quantity of items, weapons, skills) or true/false values for battle effects. Nothing TOO complex there.

And, man do I use these in my CONFIG setups... Stuff can be complex, so I try to give instructions how to fill them out.

Braces are also used in complex string manipulations, if the headaches of a MESSAGE system isn't enough.

And braces are used to encapsulate special LOOP systems that run similarly to the old FOR...NEXT loop. Like I said about the *arguments value earlier, it is a coder's shortcut. Hard to grasp, but surely takes fewer lines.
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]

Reply
#9
WHOOT! this is turning out to be one of the best tutorials I've ever gotten! this is helping to make other tutorials make some sense while still being overly helpful in its own right! THANK YOU  Crying with a grin

BUT as usual if ya don't mind I gots a few more questions!

R,G,B,A? shoudent it be R,G,B,L as in Red Green Blue Luminescence/Light whats the A mean?

and loops?
they use the "for" comment right?

for blah do blah:
    else do blah

I have no idea if that's right I'm guessing

and ( ) is most common and is used for math or image placements or colours?
while [ ] is used exclusively for lists of numbers in "arrays/hashes/strings"?
lastly { } is overly technical and is used for massive configurations and overly complex stuff...like the Dancing Mini Game your making that's totally brilliant!

and hashes can hold a buttload of "Arrays" which are the boxfull of numbers in a list that can organize stuff?

what about : ; , ! is there specific places and uses for them?
[Image: SP1-Writer.png]
[Image: 55e3faa432d9efb86b8f19a6f25c0126-dawz35x.png]

new logo for Yesteryear created by Lunarberry!
Reply
#10
Well, VVulf said a module was like a collection of classes (like collecting stamps or cards), but that's not completely true. It's just one way to use them. There's another one that's sometimes encourage to use depending on your coding style. They also call modules mixins (think about a mixer at a construction site) because they allow you to mix different methods found in a class with the module's methods.

Class A has 10 methods.
Module M has 10 methods of its own.
You mix them like this...

class A
include M
end

From that point on Class A has 20 methods! What's better is that even a new class like C can get module M's 10 methods as well! The curious thing is that class B has no need for them so it keeps its original, err, let's say it had 8 methods and never added anything else so it only has those 8 methods.

Some methods are called properties or attributes. That would mean they can be used to change or describe that class, let's say Class Siletrea has a property like age that is equal to 20 but you need to update it soon to display 21 instead

class Siletrea
def initialize
@year_of_birth = 1996
@age = 20
end
def age() @age end
def age=(new_age) @age = new_age end
end

$girl = Siletrea.new
# In year 1996 she was born.
$girl.age #=> 20 (years)
Few days later she celebrates her birthday
$girl.age += 1 #=> 21 (years)
Now she's one year older than before, obviously.
+= there is the same as $girl.age = $girl.age + 1 meaning we just added a year to her age by means of a handy shortcut. All mathematical operators can be used the same way, I'm talking about + for sums, - for substractions, / for divisions, * for multiplications and % for modulo (what didn't fill a box but it still has some used spaces that you can't ignore, it could be anything like soda or flavored water bottles or even numbers)

$girl.age (def age() @age end in the class's list of available methods) is a getter, you fetch things but do nothing else later on.
$girl.age = 1 would be a setter, you set the value, meaning you define what it should be equal to, meaning you CAN change it at any time if deemed necessary. (If you don't need anybody to change a property or attribute, then don't define anything like def age=(new_age) @age = new_age end )

R,G,B,A? shoudent it be R,G,B,L as in Red Green Blue Luminescence/Light whats the A mean?

A stands for Alpha or transparency or luminous stuff, etc. 255 is completely visible, 120 looks like a ghost and 0 well, you can't tell where did it go because you can't see it.

DerVVulfman the local werewolf Wrote:[ ] The Brackets.
Oh this is used more for arrays, regardless of how the array is used. OR, it is used to identify a KEY in a hash array. Long story, not yet for beginniers.... it is another story.
I DO disagree with him, I was a total noob when I learned how hashes actually worked, then I posted my first script namely something like Sprite_CurrentTime or Window_CurrentTime using it as the clock you can find in a corner of your laptop or desktop monitor.

@hash = {} # Empty
@hash = { 1 => [] } # The hash is not empty but I made a new one that now includes 1 as key and an empty Array as its contents.
What's a hash key? An identifier, meaning a name on a list named @hash that you opened to check if on Monday 1st you have collected any fruits in a basket, but you realized you haven't got any so far.
@hash[1] #=> []
Yeah, a few hours later it's still empty, you haven't found any kiwis, yet!
@hash[1] << Kiwi.new
What? you found a new kiwi!
@hash[1] #=> [<Kiwi:0x0934f3>]
Yes, you stored a kiwi there on day one. Those numbers are like a barcode to later find it on a PC or cash register when you scan it with a sensor with a red laser. (Ruby needs it but you don't so leave it as it is, don't even try to change it.)
Every time you find another kiwi the array will grow (your box gets filled slowly).
@hash[1] += [Kiwi.new, Kiwi.new, Kiwi.new]
You add 3 new kiwis you recently picked up.
@hash[1] #=> [<Kiwi:0x0934f3>, <Kiwi:0x09e4f3>, <Kiwi:0x0d34f3>, <Kiwi:0x093413>]
Now you've got 4 kiwis already labeled so you may noticed if a relative has sold them out as expected or not.
The day is over and day one's box won't get any more kiwis because you left it at the store already. The next day you pick a new box.
@hash[2] = [] #=> []
Obviously it's empty! So on Tuesday 2nd you go out looking for more kiwis or probably oranges. (Repeat the same steps you'll get the idea.)
So 1 or 2 are keys, they might represent anything, here they are equal to a day of the month, but they could be stuff like 'Angela'

@families = { 'Angela' => [Kid1, Kid2], 'Siletrea' => [], 'Mandy' => [Baby1] }

There 'Angela', a woman's name, refers to her very own kids, since we don't know anything about 'Siletrea' bearing any kids at all, her array is empty, and 'Mandy' has a newborn. I could have used surnames instead if I felt like it.

! is a negation, !Siletrea.good_girl would mean somebody thinks you're a bad girl XD it's like writing Siletrea.good_girl == false, == in a row are a Comparison because they do compare your goodness to false if anybody thinks so. You want it to tell you're good? Then what about this?

if Siletrea.good_girl
Siletrea.smile
else
Siletrea.cry
end

If somebody tells you that you're good then you smile at them. Otherwise you'd cry out loud telling them how unfair they were by telling you you can't be good.
"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]

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

Give me a free copy of your completed game if you include at least 2 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
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   Help iwth script (RGSS Player crash) Whisper 3 4,061 06-17-2017, 05:03 PM
Last Post: Whisper
  How can I use the cmd of "require" in rgss superegp 2 3,775 11-03-2015, 06:16 AM
Last Post: kyonides
   Scripting in VX vs VX Ace Miharu 5 5,718 02-21-2015, 10:10 AM
Last Post: Taylor
   Combat animations via scripting; How? ZeroSum 2 3,062 09-20-2013, 06:58 PM
Last Post: ZeroSum
Question  RGSS stoped to work Chaos17 5 4,510 02-14-2013, 05:13 PM
Last Post: DerVVulfman
   Ruby, RGSS & General Code Discussion Kain Nobel 6 6,889 12-22-2012, 05:11 AM
Last Post: MechanicalPen
   [Request] Tut. for RGSS Eldur 9 7,096 12-07-2012, 04:27 AM
Last Post: DerVVulfman
   [ASK-RGSS] Behemoth's CBS alike Getsuga_kawaii 0 2,822 04-29-2010, 03:07 PM
Last Post: Getsuga_kawaii
   Scripting I think spazfire 7 6,126 04-12-2010, 03:21 AM
Last Post: DerVVulfman
   Beginner Scripting Tuts? KDawg08 1 2,321 03-31-2010, 11:03 PM
Last Post: Hsia_Nu



Users browsing this thread: