Help (RPG Elements)
by Barak Shechter · in Technical Issues · 06/18/2007 (8:14 pm) · 7 replies
I am working on an RPG and I need some help.
I dont know how to:
-Create an attribute system with exp and leveling.
I have looked at a tutorial here at garage games but the way the system is created does now allow the attributes to affect the gameplay aspects of the character such as speed and damage. So if you please can please describe how I should create this.
-Creating multiple classes.
How do I create multiple combat classes? Do I create a new class of each of them and then whatever the player picks, assign the player to that class? Or how do I do it?
Please can you tell me how I can do these things?
Thanks,
Barak Shechter
I dont know how to:
-Create an attribute system with exp and leveling.
I have looked at a tutorial here at garage games but the way the system is created does now allow the attributes to affect the gameplay aspects of the character such as speed and damage. So if you please can please describe how I should create this.
-Creating multiple classes.
How do I create multiple combat classes? Do I create a new class of each of them and then whatever the player picks, assign the player to that class? Or how do I do it?
Please can you tell me how I can do these things?
Thanks,
Barak Shechter
About the author
#2
06/19/2007 (9:05 am)
That is the resource that I was talking about that I used, but it does not allow the stats to affect the characters's speed or damage.
#3
Multiple Player Class Selection
06/19/2007 (10:04 am)
And... this resource for multiple classes. It's set up for two teams but you can easily modify it to work without teams.Multiple Player Class Selection
#4
Try implementing this resource and then try mapping the movement speed of the player to one of the attributes based on some sort of multiplier that would be game specific.
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=12607
As an example, say you want the AGI attribute to affect movement speed, set the players movement speed to something similiar to this:
That is given that you have declared the %client to the correct player, if it is a single player game you can declare the player as folows:
If you used this example and your player started with 10 AGI you would start off with a movementSpeed value of 0.3 = (0.2 + (0.01 * 10))
When your player had 40 AGI you would then be moving roughly twice as fast, as you would now have a movementSpeed value of 0.6 = (0.2 + (0.01 * 40))
Of course these are just example numbers that I am throwing at you. You would have to come up with your own game specific exampleof how to implement something like this.
06/19/2007 (1:18 pm)
@ BarakTry implementing this resource and then try mapping the movement speed of the player to one of the attributes based on some sort of multiplier that would be game specific.
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=12607
As an example, say you want the AGI attribute to affect movement speed, set the players movement speed to something similiar to this:
... $movementSpeed = 0.2 + (0.01 * %client.player.AGI); ...
That is given that you have declared the %client to the correct player, if it is a single player game you can declare the player as folows:
%client = ClientGroup.getObject(0);
If you used this example and your player started with 10 AGI you would start off with a movementSpeed value of 0.3 = (0.2 + (0.01 * 10))
When your player had 40 AGI you would then be moving roughly twice as fast, as you would now have a movementSpeed value of 0.6 = (0.2 + (0.01 * 40))
Of course these are just example numbers that I am throwing at you. You would have to come up with your own game specific exampleof how to implement something like this.
#5
I have tried initially to do it through maxForwardSpeed, but it did not work. Is there a way to make it work or does it only work through $movementSpeed?
06/19/2007 (6:00 pm)
If i wanted to change the maxForwardSpeed, maxBackwardSpeed, maxSideSpeed respectively, would I have to create new variables of movementSpeed such as $movementSpeedForward in order to create different values and change the functions in the default.bind.cs? Or would I have to just set maxForwardSpeed equal to AGI or something like that?I have tried initially to do it through maxForwardSpeed, but it did not work. Is there a way to make it work or does it only work through $movementSpeed?
#6
The approach that you make about changing it in the default.bind.cs seems like a good approach to me.
If you haven't yet gone through the resource that I posted above, I highly recomend doing so.
06/20/2007 (8:07 am)
MaxForwardSpeed is a part of the player's datablock, which should be viewed as static. Note that any changes in this datablock will affect all players and enemies that use the datablock. The approach that you make about changing it in the default.bind.cs seems like a good approach to me.
If you haven't yet gone through the resource that I posted above, I highly recomend doing so.
#7
for attributes you shouldd have a leveling script to tell torque that when so and so lvls up
maxspeed = maxspeed + x, and that they get + x to everyithing or you could just make it so that they have points to add to what they have now and tell torque to somehow save the attributes in an array.
but hey im new so if im wrong tell me.
06/22/2007 (6:53 am)
Im a total newb but maybe u should make like a total screen for player choosing assign it as a variable,then when u create the character assign the variable telling torque to go back to what the player chose.for attributes you shouldd have a leveling script to tell torque that when so and so lvls up
maxspeed = maxspeed + x, and that they get + x to everyithing or you could just make it so that they have points to add to what they have now and tell torque to somehow save the attributes in an array.
but hey im new so if im wrong tell me.
Torque Owner Demone Amerson
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=13020