RGSS3 Mentor Wanted

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
Hello, if you are reading this then you might be interested in why im here.

I have been looking through several tutorials on how to set up scripts and write them in general, but even though I understand how they work, I don not know how to start one nor do I understand how you form one. Im not looking for someone to hand me code, I want someone to give me a map with half a legend and a wooded trail to follow so I can code on my own with a few stumbles here and there. please help me.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Whenever someone PM's me asking for help on "how to begin scripting" I say the same things


1. Why do you want to script?


2. What are you trying to script? (what does it do)


3. How are you going to script it? (how does it work, how do you provide input, etc.)


If they cannot provide a solid answer for #1 then I usually tell them to find something else to do.
 
Last edited by a moderator:

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
Ok, those I already have answers for two out of three of these so those two shall be fairly easy to answer.

1.) There are a few reasons why. one is that I want to learn how to use the RGSS scripting system so I can modify my games with my own creations at will. another is because for the game im about to attempt to build requires some very interesting changes to both the actor and the battle system, which I do not have the money for to pay for customs scripts, so I wanna do them on my own. and lastly, I want ruby to be one more programming language under my belt, I already am familiar with C/C++ and python and I am going to college to be a software engineer so the more languages I know the better.

2.) this ones a bit complicated to explain but ill give it a go. the first script I want to know how to write is a core script, just because I was told having one makes things much easier and tones down the amount of code you might have in the scripts that actually do something. The second script I want to write has to deal with changing up the level up and stat basses of the character.

-Script One: Script Mechanic: Stat Modifier-

This script will redo the traditional way a stat system may set. By replacing all of the current stats bases to that of D&D stat bases (i.e. str, dex, con, int, wis, cha, default luk and MMP) where MHP = 8 + 1d8 per level, MMP = 4 +1d4 per level (except mages and clerics, which get 4 + 2d4 per level), the str through cha are calculated 6 + 4d6. fortitude, reflex, and will power will also be calculated here. and with each level up, the character will get + 1d8 (random # 1-8) MHP, +1d4 MMP (cleric and mage get +2d4), and the rest of the stats get +1d6. on top of that, the player upon each level will be given 2-6 skill points to increase any stats they wish.

-Script Two: Script Mechanic: Battle Modifier-

this script is simple. players role for initiative (based off of stats, calculated just like D&D style) which will appear on the screen above the players heads. Turn actions will include taking turns to cast spells, using items, changing weapons, ( a script I plan to do later for upgrading the equipment page to look like a D&D character sheet), and to attack. That's all the modification this script will do.

3.) This is where im stuck. I answered the first two solidly because I already have some form of idea on how to calculate everything since I have a very rough base project that does it with events (but doesn't work on modifying level up, and the battle one doesn't even begin to work), so here is where Im going to need the help.

did I cover everything well enough?
 

Mike

Veteran
Veteran
Joined
Aug 28, 2013
Messages
316
Reaction score
36
First Language
English
Primarily Uses
If you don't know where to start, you can always look at other people's works that are on similar line. The scripts that you would like make has been made on different alterations multiple times. If one work is too complicated try another one.

Script 1: Check how the Game_BattlerBase manipulates parameter from class database.

Script 2: Check Turn Base System (TBS) Engines. 

I don't have a precise idea on your coding experience, but if you're new to ruby and confused at where to start even after watching numerous tutorials, then I'd suggest that you do derivative scripting as your first couple steps rather than building core scripts straight away.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Well for the most part the questions are there to just force you to write down your ideas and thought processes. Anything more than "well it's like final fantasy" and can be properly translated to actual logic is good enough to convince yourself that you know what you want.

3.) This is where im stuck. I answered the first two solidly because I already have some form of idea on how to calculate everything since I have a very rough base project that does it with events (but doesn't work on modifying level up, and the battle one doesn't even begin to work), so here is where Im going to need the help.
Your stats system should be easier to implement since all you're doing is changing parameter names and parameter growth.


Default parameter growth is based on class parameter growth, so you'll have to either change this, or figure out a way to integrate your system with classes. The RM way of scripting is to try and use as much of the RM functionality as you can because it's much easier to just click on a couple buttons than trying to specify everything in plain text (which typically does not easily lend itself to other RM functionality).


You should start with Game_Actor and its superclasses and look at how parameters and levels are managed because that's pretty much where everything you need is.
 
Last edited by a moderator:

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
Ok, thank you guys. I'll take a look at those and write down some notes about what they do. Mean while, ill continue through dp3 scripting tutorials to see if I can retain enough to get something going. I'll check back here with my progress later.
 

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
wow, just took a look at what the scripts look like through all the inheritances. god, I still don't know wtf im looking at. well, back to the tutorials and the drawing bored. if I don't repost in a few days, someone send in a medic, I may have a spaz attack before long.

[EDIT]

here is my test script thus far and it freezes. tried to use an alias for the level_up method but it keep throwing me an odd error. ill add both sets of the code below:

First Idea:

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It is used within the Game_Actors class
# ($game_actors) and is also referenced from the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Level Up
  #--------------------------------------------------------------------------
  def level_up
    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level == @level
      $game_actors[1].add_state(26)
      $game_temp.reserve_common_event(1)
    end
  end
  
  def initialize_stats
    p("Initialization called: ActorStat_Modifier")
    $game_variables[1] = $game_actors[1].mhp
    p("Game Variable made.")
  end 
end
Second Idea:

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It is used within the Game_Actors class
# ($game_actors) and is also referenced from the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Level Up
  #--------------------------------------------------------------------------

  alias levelupmod_gameactor_levelup     level_up
  def level_up
    levelupmod_gameactor_levelup()

    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level == @level
      $game_actors[1].add_state(26)
      $game_temp.reserve_common_event(1)
    end
  end
  
  def initialize_stats
    p("Initialization called: ActorStat_Modifier")
    $game_variables[1] = $game_actors[1].mhp
    p("Game Variable made.")
  end 
end
I have no idea what I screwed up.
 
Last edited by a moderator:

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
I updated my last post.
 

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
it keeps saying the aliased method is undefined....
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
You need to use either symbols or strings otherwise it treats it as a method call.
 

Wyn Wizard

Arcane Specialist
Veteran
Joined
Feb 23, 2013
Messages
979
Reaction score
80
First Language
English
Primarily Uses
RMVXA
never mind, I figured it out. I was sticking the

$game_actors[1].add_state(26)$game_temp.reserve_common_event(1)
inside the

self.class.learnings.each do |learning|      learn_skill(learning.skill_id) if learning.level == @levelend
instead of outside like so:

Code:
self.class.learnings.each do |learning|      learn_skill(learning.skill_id) if learning.level == @levelend      $game_actors[1].add_state(26)      $game_temp.reserve_common_event(1)
 

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Posts

Latest Profile Posts

How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:
To whom ever person or persons who re-did the DS/DS+ asset packs for MV (as in, they are all 48x48, and not just x2 the pixel scale) .... THANK-YOU!!!!!!!!! XwwwwX

Forum statistics

Threads
105,853
Messages
1,016,986
Members
137,561
Latest member
visploo100
Top