iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

The 2nd Quarter Contest has arrived! Go check it out in the Community Announcements now!
7 Pages V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> RSSBS - Reedo's Simple Side Battle System, A simple, highly compatible, plug-and-play, SBS.
Rating 5 V
ChaosProductions
post Jan 9 2010, 09:13 AM
Post #21


"Stop staring and focus!"
Group Icon






EDIT: Nevermind.

This post has been edited by ChaosProductions: Jan 9 2010, 09:15 AM
Go to the top of the page
 
+Quote Post
   
King Arthur
post Jan 9 2010, 09:50 AM
Post #22



Group Icon


Type: Undisclosed




Just so I can evade the inevitable flamers and trolls that will target me for potentially crashing the party, I will state clearly that I am impressed by what Reedo has done. This SBS does what it has advertised: A lightweight, simple, straight-to-the-point, highly compatible sideview battle system. I wish him the best of luck in improving this script and its extensions!

I am disturbed however by the attitude taken by the majority of the people when this SBS and Tankentai are brought up. Ever since this script was first announced, I've seen countless cries along the lines of "this will be better than Tankentai because it has no compatibility issues!", "noobs should use this SBS!", and "I might use this instead of Tankentai." I am also unnerved at how the YEZ suite of scripts alone is being used to advertise this SBS.

From what I can see, I am concerned the attitude I've generally seen being taken here is, in the end, not constructive nor productive to either battle systems. Both SBS scripts have their strengths and weaknesses, with specific objectives in mind and both were created by skilled and respectable coders, but it looks to me as if such considerations are being ignored. It appears as if the appearance of this SBS has created a bandwagon upon which people are joining without first thinking through it rationally. I feel it would be prudent to take a step back and calm down from this "high" everyone seems to be experiencing.

I state this because the biggest reason why Tankentai is frowned upon (for arguably unjustifiable reasons) is due to the lack of customization and/or misconfiguration of the script. Simply saying "drop Tankentai and move to Reedo's SBS" solves nothing; the cause of the problem lies in the user, and the problem will not erase itself unless we properly educate the user. At the current way things are progressing, I wouldn't be surprised if people started doing the exact same mistakes as they are doing now with Tankentai.

tl;dr: The SBS scripts are not at fault, the user is. Even if it may be easier, simply suggesting this SBS and denouncing Tankentai solves nothing and is detrimental to the future of both SBS scripts.

I will also address the issue that I have of showcasing this SBS script with the YEZ script suite prominently, of which I mentioned above.

One of the primary objectives of Reedo's SBS is its high compatiblity with other scripts, would it not be standard then to showcase this SBS with scripts other than YEZ? I'm sure YEZ isn't the only set of scripts that alter the battle system. As it stands, it looks as if this SBS relies on YEZ (and Yanfly's reputation) for its survival and public adoption, which is certainly not the case as this script is more than capable of standing on its own. Would it be too much to ask that other battle-altering scripts be showcased in addition to YEZ? If only to distance itself from YEZ and make it clear this is an independent (and completely unrelated) SBS script.

Again, take note I am NOT attacking Reedo or his SBS! I fully understand the primary objective of this script is to be simple and compatible and it has achieved this brilliantly. However, I wish to think that the RM community as a whole is wise enough to realize that saying "X is better! Screw Y!" is pointless in the end. All skillfully created scripts deserve the respect they have rightfully earned.
Go to the top of the page
 
+Quote Post
   
Sofresh85
post Jan 9 2010, 10:15 AM
Post #23



Group Icon


Type: Designer




Well I believe everyone admires your cander, however being that this is a script that is fully functional and highly compatible with other scripts is whats causing so much praise, I dont beleive people are saying "X" is better, screw "Y" because later on down the line theres bound to be "Z" or however you wish to refer to it, and we'll probably be hearing the same scenario with this script compared to whatever other script comes next., but no one is saying that they are going to start to use this script and just drop Tankentai and Reedo was not getting at that either, I mean c'mon how many people do you see posting things that can easily be done with events, RMVX has become so involved with having incorporated scripting languge that people who download it primarily "noobs", are somewhat seeking their solutions with a script rather than figuring out on their own, I myself have been part of that scene, and Im sure all of use who were first introduced the RPG Maker series from RM2K were a perfect example of that. Not that its a bad thing its just that some frequent users are growing weary of telling them the same thing and we all start off like that until we learn to incorporate things on our own, people just dont magically become a scripter or a spriter or a graphic artist or even a writer, its not the "noobs" fault either because theres always gonna be a new person introduced to the program and they will see that its just easier to browse for a script that does just what they want without all the bells and whisltes like OriginalWij stated, so this is just going to be an additional script among others that people are free to use and may find it favorable among those other scripts, So when stating that people are praising this like they ae just simply going to drop tankentai.....well I myself will continue to use tankentai for its vast amount of options and features, but someone else might not be able to have a good understanding of the script so they can refer to this script and it will give them a boost to learn more things about scripting, and maybe someday they will figure out the Tankentai SBS, but Reedos script is yet to be improved with more features as he stated as well. Simply put, the priase is in appreciation of Reedos excellent work not slandering upon Enu or anyone else involved with Tankentai SBS.

This post has been edited by Sofresh85: Jan 9 2010, 10:26 AM


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
King Arthur
post Jan 9 2010, 10:39 AM
Post #24



Group Icon


Type: Undisclosed




I apologize if I miss any points, it's hard to read a wall of text that isn't formatted properly for easier reading.

The point I address is the comparison of the two SBS scripts in a potentially hostile way. I've read quite a number of "use this script instead of Tankentai" posts without that much thought put into it. It is then an open invitation for a person, either with good or bad intentions, to come in and say "hey wait a minute!" and thereby potentially unleash a shitstorm of drama similar to the infamous browser wars (which ultimately resulted in nothing, really). Neither of these scripts, as well as YEZ which is being showcased as a demonstration, deserve to be entangled in that and I simply wish to stop that from happening.

Frankly, if this were an ideal world people would view both as simply scripts and choose what they want without much fuss. We all know, however, that there are people who over-react to this sort of lingering air and make a big issue out of an otherwise small thing. Both are great scripts and it'd be to the benefit of everyone to leave it on that note.
Go to the top of the page
 
+Quote Post
   
Sofresh85
post Jan 9 2010, 11:04 AM
Post #25



Group Icon


Type: Designer




Well let me write so that it's easier for you to read, I wouldnt want you to strain your eyes:

1) No one is picking sides here.
2) No one ever said that they are personally going to start using this script and drop Tankantai's, They are saying that this is better for people who are confused with Tankantai.
3) People ARE simply choosing which script they want to use without much fuss.
4) Speaking of fuss, any and almost every script will bring some fuss to the table eventually so its expected.
5) YEZ was showcased to show the compatibility with other scripts, assuming that was Reeods script of choice because of whats involved in it.
6) Yes there are people who like to "bandwagon" so to speak, but that cant be proven so pointing fingers is unnecessary.
7) Yes both scripts are great and leaving it at that is a good idea, so you adding on that people are bandwagoning is defeating what you just stated and thats hypocracy.

This post has been edited by Sofresh85: Jan 9 2010, 11:14 AM


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
ANTI-hero
post Jan 9 2010, 05:24 PM
Post #26


...Whatever
Group Icon


Type: Designer
Alignment: True Neutral




I really like this battle system. It's more compatiple and Plug n Play. The only suggestions I can give you are:
[Making weapon icons appear in hands while attacking (like Tankentai and Requiem)
[An ATB(probably won't happen, but it would make it more FF-ish.)
That's it. This is beyond great already tongue.gif


--------------------
"When you look at me you see a family.
When I look at you I see screaming kids running around breaking everything and two adults that are too lazy to stop the chaos."

~Unknown
Go to the top of the page
 
+Quote Post
   
Riokogen
post Jan 9 2010, 10:47 PM
Post #27


継続は力なり。
Group Icon


Type: Designer
Alignment: Neutral Good




@abov e yes I think that would be really cool


--------------------
Go to the top of the page
 
+Quote Post
   
Reedo
post Jan 10 2010, 06:19 AM
Post #28



Group Icon


Type: Coder




Well, as far as the comments about Tankentai, I'm not sure what, if anything, I should say, but since (AFAIK) I'm the only one who actually wrote the words "Just use RSSBS and you'll be fine" in post #8. As far as I recall reading, everyone else said "I am going to use this instead of Tankentai"; not sure how that translates into "do not use Tankentai", or could be confused for meaning such.

And if it was my comment which caused the concern, I apologize; though I must say, it would be taking the statement out of context to suggest that I was encouraging people to use RSSBS instead of Tankentai.

Personally, I think Wij worded it best in his observation of the script.

And it does seem that Sofresh's point is valid; the post which voices the concern, is really the only one which contains the issues raised... which is why I'm a bit confused by the whole thing and not sure what else to say. tongue.gif

As for the weapon graphics, as I've stated before, there will be enhancement scripts for the actor and enemy graphics. However, I am waiting to see what Yanfly plans for the YEZ scripts before I implement my own solution.

And now (apparently) I need to call out the fact that while I am writing my code in conjunction with Yanfly's YEZ code, that is not to imply that YEZ is required, or that you will not get any new features without it. It simply means that it is MUCH easier to write my code after her's, than it is to write my code, then rewrite it (if necessary) to work seemlessly with hers.

Now, that fact that I chose Yanfly's scripts as my personal favorite, and target my scripts for compatibility with hers, is just something that I guess everyone will have to live with. tongue.gif I don't think it is too uncommon for people to release scripts which are really something they wrote for themselves, and as such, are limited to the wants and needs of their creators. My wants and needs were a simplistic, functional, SBS. If anyone else has those same wants and needs, than I don't think it can be argued that, as it stands right now, RSSBS is the answer.


--------------------
"Yes, I saw that. You were doing well, until everyone died."
"When you do things right, people won't be sure you've done anything at all."
The Satellite That Collided With God – Futurama

Spoiler:


Go to the top of the page
 
+Quote Post
   
Sofresh85
post Jan 10 2010, 07:35 AM
Post #29



Group Icon


Type: Designer




LOL, and Im sorry too Reedo, I didnt mean to cause a scene, I just didnt think it was fair for King Arthur to point fingers at everyone contributing to this post when its just as equal a script than alot of other great scripts, Simple Easy to use, and Efficient. I didnt mean to cause any racket, but there are other scripts that get praise and its up to the users who decide to utilize these scripts. King Arthur sounded like that was a bad thing and people are bandwagoning and I just had to say something, Dont worry no one is mad at you I know that came off as a suprise LOL, great script though keep up the good work.


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
mudducky
post Jan 10 2010, 11:57 AM
Post #30


Lurking...
Group Icon


Type: Undisclosed
Alignment: True Neutral




Many thanks for making this Reedo! This is the exact type of battle system I (and no doubt about it, so have many others) have been looking for. Simple and works like a charm. Definitely very helpful. smile.gif


--------------------
Want help with learning the RPG Maker VX events?



Support. Check out these projects! They are not placed in top ranking order or anything like that.






Go to the top of the page
 
+Quote Post
   
wltr3565
post Jan 10 2010, 12:41 PM
Post #31


The best BAKA ever
Group Icon


Type: Undisclosed
Alignment: True Neutral




So the full version's out, Reedo! This can be very popular biggrin.gif. People who wants simple battles (and I hope it's not boring) must take this one! I might use this...


--------------------
This place is empty, just like I restarted myself.
Go to the top of the page
 
+Quote Post
   
Shanghai
post Jan 11 2010, 12:07 AM
Post #32



Group Icon


Type: Undisclosed




I'm personally excited AND thankful for this because it's compatible with YEZ and to an extent, YERD. It means I won't have to make that tankentai patch for that friend of mine anymore and she even transfered over to using this one. YEZ does enough bells and whistles on its own and this adds even more frosting to the cake.


--------------------
Go to the top of the page
 
+Quote Post
   
piejamas
post Jan 11 2010, 06:22 PM
Post #33


Pump up the pie, yo!
Group Icon


Type: Coder
Alignment: Neutral Good




Nice going Reedo, now we don't get a patch dry.gif
Joeks, I might make a few addons for this myself maybe bows...or Kaduki battlers ohmy.gif

the possibilities are endlless... biggrin.gif
Go to the top of the page
 
+Quote Post
   
RuGeaR1277
post Jan 12 2010, 12:36 AM
Post #34



Group Icon


Type: Undisclosed




i must say i am very impressed with this script... it seems like this combination of YEZ scripts and this battle system is also highly compatible with KGC scripts! happy.gif keep up the good work! looking forward to more features or enchancement! wink.gif
Go to the top of the page
 
+Quote Post
   
Levanth
post Jan 12 2010, 12:07 PM
Post #35



Group Icon


Type: Undisclosed




Hello!
1)It's possible that the actor don't have step animation in battle?
2)It's possible that the Actor 1 whit a certain skill can trasformation changed graphic?
Go to the top of the page
 
+Quote Post
   
mithos
post Jan 12 2010, 04:29 PM
Post #36


Meowthos the zombie cat!!
Group Icon


Type: Coder
Alignment: Lawful Good




QUOTE (Levanth @ Jan 12 2010, 12:07 PM) *
Hello!
1)It's possible that the actor don't have step animation in battle?
2)It's possible that the Actor 1 whit a certain skill can trasformation changed graphic?


1)
change these
CODE
###############################################################################
## This section adjusts the actors positions on screen
###############################################################################
  ACTOR_START_LINE = 432        # The left-most position of the first actor
  ACTOR_START_TOP = 80          # The top-most position of the first actor
  ACTOR_STAGGER_HORZ = 8        # The amount to recess each actor to the right
  ACTOR_STAGGER_VERT = 16       # The vertical spacing between characters
  ACTOR_CLASS_POS_STAGGER = 16  # The extra distance to the right for class position
  ACTOR_STEP_IN_DISTANCE = 64   # The distance an actor steps in during an action
  ACTOR_STEP_IN_RATE = 8


to this
CODE
###############################################################################
## This section adjusts the actors positions on screen
###############################################################################
  ACTOR_START_LINE = 432        # The left-most position of the first actor
  ACTOR_START_TOP = 80          # The top-most position of the first actor
  ACTOR_STAGGER_HORZ = 8        # The amount to recess each actor to the right
  ACTOR_STAGGER_VERT = 16       # The vertical spacing between characters
  ACTOR_CLASS_POS_STAGGER = 16  # The extra distance to the right for class position
  ACTOR_STEP_IN_DISTANCE = 0   # The distance an actor steps in during an action
  ACTOR_STEP_IN_RATE = 0


2) Use the skill to call a common event, and use the change actor graphic command (event page 3). That should work I hope.


--------------------
I've been away for a while. Here's my really quite old stuff
Spoiler:


If it's in one of my threads you can use it so long as you read this, and give me a link to any derivatives (i.e. works based off mine). Credit Mithos.
Full legal bit
(Click image for human-readable version :P )
My Stuff:
My Games:
Spoiler:

Story <60%> Mapping<20%> Art<80%> Scripts<97%> Database<50%>
The Legend of Zelda: Restoration of Time Story<20%> Mapping<0%> Art<2%> Scripts<70%> Database<0%>
Absolute Power Story<21%> Mapping<0%> Art<2%> Scripts<0%> Database<0%>

My Sprites:
My Scripts:
I support:
Spoiler:





Go to the top of the page
 
+Quote Post
   
Levanth
post Jan 12 2010, 07:09 PM
Post #37



Group Icon


Type: Undisclosed




QUOTE (mithos @ Jan 12 2010, 05:29 PM) *
1)
change these
CODE
###############################################################################
## This section adjusts the actors positions on screen
###############################################################################
  ACTOR_START_LINE = 432        # The left-most position of the first actor
  ACTOR_START_TOP = 80          # The top-most position of the first actor
  ACTOR_STAGGER_HORZ = 8        # The amount to recess each actor to the right
  ACTOR_STAGGER_VERT = 16       # The vertical spacing between characters
  ACTOR_CLASS_POS_STAGGER = 16  # The extra distance to the right for class position
  ACTOR_STEP_IN_DISTANCE = 64   # The distance an actor steps in during an action
  ACTOR_STEP_IN_RATE = 8


to this
CODE
###############################################################################
## This section adjusts the actors positions on screen
###############################################################################
  ACTOR_START_LINE = 432        # The left-most position of the first actor
  ACTOR_START_TOP = 80          # The top-most position of the first actor
  ACTOR_STAGGER_HORZ = 8        # The amount to recess each actor to the right
  ACTOR_STAGGER_VERT = 16       # The vertical spacing between characters
  ACTOR_CLASS_POS_STAGGER = 16  # The extra distance to the right for class position
  ACTOR_STEP_IN_DISTANCE = 0   # The distance an actor steps in during an action
  ACTOR_STEP_IN_RATE = 0


2) Use the skill to call a common event, and use the change actor graphic command (event page 3). That should work I hope.


I have tried for all...but never function.
Go to the top of the page
 
+Quote Post
   
Reedo
post Jan 13 2010, 04:17 AM
Post #38



Group Icon


Type: Coder




@Levanth:

Mithos should be correct on the first point - setting the step in distance should stop the step in from happening.

On the second point, I'm not sure that there is a good way to change the actor grahic as it stand right now... if you can access $scene.spriteset.actor_sprites from a script command in a battle event, then you could change the graphic. But as the code stands now, I'm not sure that the array is accessible in that context. However, it would be a simple matter to add a method to the the BattleScene which allows you do call a script command something like $scene.change_actor(1, "Actor2", 3) to change the graphic for the actor in party slot 1 to Actor2 image, index 3.

To be honest, I haven't done anything with RPG Maker VX in the last few days because I got a new, maxed-out, Alienware laptop and have been playing EQII. tongue.gif I don't even have RPGVX, and my projects, moved over to the new machine yet. So I can't verify that setting the stepin distance to 0 prevents the step-in like it should, nor can I add the helper method to the script.

But I will try to look into both points in the next few days.


--------------------
"Yes, I saw that. You were doing well, until everyone died."
"When you do things right, people won't be sure you've done anything at all."
The Satellite That Collided With God – Futurama

Spoiler:


Go to the top of the page
 
+Quote Post
   
Levanth
post Jan 13 2010, 07:23 AM
Post #39



Group Icon


Type: Undisclosed




QUOTE (Reedo @ Jan 13 2010, 05:17 AM) *
@Levanth:

Mithos should be correct on the first point - setting the step in distance should stop the step in from happening.

On the second point, I'm not sure that there is a good way to change the actor grahic as it stand right now... if you can access $scene.spriteset.actor_sprites from a script command in a battle event, then you could change the graphic. But as the code stands now, I'm not sure that the array is accessible in that context. However, it would be a simple matter to add a method to the the BattleScene which allows you do call a script command something like $scene.change_actor(1, "Actor2", 3) to change the graphic for the actor in party slot 1 to Actor2 image, index 3.

To be honest, I haven't done anything with RPG Maker VX in the last few days because I got a new, maxed-out, Alienware laptop and have been playing EQII. tongue.gif I don't even have RPGVX, and my projects, moved over to the new machine yet. So I can't verify that setting the stepin distance to 0 prevents the step-in like it should, nor can I add the helper method to the script.

But I will try to look into both points in the next few days.


Ok, I'll wait anxiously. To be honest I did not understand much, so I hope you know to help me.

PS: I tried to do as he said Mithos but does not work!
Go to the top of the page
 
+Quote Post
   
Riokogen
post Jan 17 2010, 05:08 AM
Post #40


継続は力なり。
Group Icon


Type: Designer
Alignment: Neutral Good




Spoiler:
CODE
###############################################################################
##  RSSBS - Reedo's Simple Side Battle System
##  Version 1.0
##  January 7, 2010
##  By Reedo
###############################################################################
##  SOURCE
##
##  Source thread:
##
##
##  Support thread:
##    [url="http://www.rpgmakervx.net/index.php?showtopic=24587"]http://www.rpgmakervx.net/index.php?showtopic=24587[/url]
###############################################################################
##  REFERENCES
##
##  None.  This is an original script by Reedo.
##  However other people have contributed ideas and bug finds. Please see the
##  support thread link above for details.
###############################################################################
##  DESCRIPTION
##
##  This script provides a plug-and-play Side Battle System for the default
##  battle system. This is purely an asthetic script, and as such, it only
##  modifies the visuals of the battle. It does not modify battle mechanics
##  when used by itself.
##
##  This script will:
##  1) Draw the party on the right side of the screen, facing left, during batle.
##  2) Cause actors to perform their stepping animation when they are on the
##     ground, and have no state restrictions applied.
##  3) Place a shadow under the actor.
##  4) Provide a target for animations, and optionally, animations themselves.
##  5) Line up actors in a staggerd row, top to bottom, with adjustable spacing,
##     recessed according to the position value of their class.
##  6) Cause actors to step forward when performing an action.
##  7) Draw actors lying down, whitened, and semi-transparent when dead.
##  8) Cause living actors to do a victory dance at the end of battle.
##  9) Provide the option to horizontally flip enemy images by enemy ID.
##
##  When used with the YERD or YEZ battle scripts, you then get even more
##  animation options (such as casting animations) and popups for most battle
##  event messages.  This SBS and YEZ combine to form an amazing SBS experience!
##     YEZ Script Link:  [url="http://www.pockethouse.com/yez/"]http://www.pockethouse.com/yez/[/url]
###############################################################################
##  COMPATIBILITY
##
##  Should be compatible with most other scripts.
##
##  This script overwrites 1 method: Spriteset_Battle.update_actors
##  All other methods are aliased, and those aliases are called.
##  The one overwrite should not cause an issue as the only functionality it
##  supresses is setting the party members to the current battle sprites. The
##  rest of the original method is maintained, and this script handles the
##  relationship between party members and battle sprites.
###############################################################################
##  REQUIREMENTS
##
##  None
###############################################################################
##  INSTALLATION
##
##  Plug-and-play. (and this time I mean it for reals!)
##
##  Insert below Materials, above other Reedo scripts.
##  All Reedo scripts should be below all YERD/YEZ scripts.
###############################################################################
##  RIGHTS & RESTRICTIONS
##
##  As with most Reedo scripts, this script is free to re-use, as-is,
##  in personal, educational, and commercial RPGVX development projects,
##  providing that:  this script, as well as the rpgmakervx.net forum link  
##  from which it was obtained, are credited in writing displayed readily
##  to the user of the final compiled code assembly.
##
##  Reedo and rgpmakervx.net retain all rights of intellect and ownership.
##  You forego all rights of warranty by utilizing this script.
###############################################################################
##  USAGE
##
##  Plug and play.  Suggested to use YEZ Battle Engine Zealous, and Reedo's
##  Tile-Based Battle Backgrounds scripts.
##
##  Some visual options can be modified below.
###############################################################################

###############################################################################
##  USER OPTIONS
###############################################################################
module REEDO_SBS

# If desired, you can modify the default script options using the constants
# below. In most cases though, you should not need to adjust these values.
  
###############################################################################
## This section controls the battle animations provided by this script
###############################################################################
  # This controls whether or not this script will provide animations during
  # battle. Set to 'true' when using this script without any other battle scene
  # enhancements. Set to 'false' when using battle scene enhancements such
  # as YEZ/YERD. Default is 'false'.
  SBS_ACTION_ANIMES = false
  
  # If this script is providing animations, then you can specify which
  # animations to use a default.
  SBS_DEFAULT_ATTACK_ANIME = 19
  # Skill and item animations will use the animation assigned to the skill or
  # item, if any. If none is assigned, then the default will be used. Specify
  # a value of 0 if you do not want a default animation. These values have no
  # effect if SBS_ACTION_ANIMES is set to 'false'.
  SBS_DEFAULT_SKILL_ANIME = 1
  SBS_DEFAULT_ITEM_ANIME = 1
  
###############################################################################
## This section adjusts the actors positions on screen
###############################################################################
  ACTOR_START_LINE = 425        # The left-most position of the first actor
  ACTOR_START_TOP = 140      # The top-most position of the first actor
  ACTOR_STAGGER_HORZ = 9       # The amount to recess each actor to the right
  ACTOR_STAGGER_VERT = 3   # The vertical spacing between characters
  ACTOR_CLASS_POS_STAGGER = 0  # The extra distance to the right for class position
  ACTOR_STEP_IN_DISTANCE = 70   # The distance an actor steps in during an action
  ACTOR_STEP_IN_RATE = 14      # The rate at which the actor covers the distance
  
###############################################################################
## This section controls when an actor displays their stepping animation
###############################################################################
  # If an actor has a state applied which has a restriction value listed in
  # the following array, the actor will not display their stepping animation
  # until the state is removed.
  NO_STEP_RESTRICTIONS = [4, 5]
  # Has the same effect as above, but halts the stepping animation based on
  # the state's ID, without regard to the state's restriction.
  NO_STEP_STATES = [6, 7, 8, 18, 22]
  
###############################################################################
## This section adjusts the appearance of an actor when dead
###############################################################################
  ACTOR_DEATH_OPACITY = 255           # The tranparency of dead actors
  ACTOR_DEATH_ANGLE = 270                # The angle to rotate the body
  ACTOR_DEATH_TONE = [0, 0, 0, 0]  # A color tone to apply to the image
  ACTOR_DEATH_OFFSET_X = -8              # A horizontal offset to move the body by
  ACTOR_DEATH_OFFSET_Y = -8              # A vertical offset to move the body by
  
###############################################################################
## This section adjusts the actor's shadow
###############################################################################
  ACTOR_SHADOW_IMAGE = "shadow"       # The name of the system image to use
  ACTOR_SHADOW_CUSTOM_PICTURE = nil   # The name of a resource picture to use instead; nil to use system image
  ACTOR_SHADOW_OFFSET_X = 0           # The horizontal offset to the actor's position
  ACTOR_SHADOW_OFFSET_Y = 8           # The vertical offset to the actor's position
  ACTOR_DEATH_SHADOW_OFFSET_X = 8     # Additional X offset added when dead
  ACTOR_DEATH_SHADOW_OFFSET_Y = 2     # Additional Y offset added when dead
  
###############################################################################
## This section adjusts the victory dance
###############################################################################
  VICTORY_DANCE_JUMP_HEIGHT = 24    # The height of the jump
  VICTORY_DANCE_JUMP_INCREMENT = 4  # The rate of jump movement
  VICTORY_DANCE_JUMP_HOVER = 7     # The number of frames to wait in the air
  VICTORY_DANCE_JUMP_WAIT = 70     # The number of frames before jumping again
  VICTORY_DANCE_JUMP_TWIST = true  # True to twirl when jumping; false to face forward
  
###############################################################################
## This section adjusts enemy images
###############################################################################
  # Specify the ID of enemies who should have their image flipped in battle
  FLIP_ENEMY = [ 3, 6, 7, 16, 17, 19, 30, 34, 37, 44, 50, 58, 60, 65, 66, 86, 87, 88, 89, 90, 99, 100, 102 ]

end
###############################################################################
##  MAIN SCRIPT
###############################################################################
##  EDITS BEYOND THIS POINT ARE AT YOUR OWN RISK!!!
###############################################################################
class Game_Battler
  alias reedo_sbs_gb_add_state add_state
  def add_state(state_id)
    reedo_sbs_gb_add_state(state_id)
    if self.is_a?(Game_Actor) and $scene.is_a?(Scene_Battle)
      bs = $scene.reedo_get_battle_sprite(reedo_battle_sprite_id)
      return if bs == nil
      bs.reedo_bc_sprite.character.step_anime = reedo_check_step_anime
      reedo_update_life_state
    end
  end
  
  alias reedo_sbs_gb_remove_state remove_state
  def remove_state(state_id)
    reedo_sbs_gb_remove_state(state_id)
    if self.is_a?(Game_Actor) and $scene.is_a?(Scene_Battle)
      bs = $scene.reedo_get_battle_sprite(reedo_battle_sprite_id)
      return if bs == nil
      bs.reedo_bc_sprite.character.step_anime = reedo_check_step_anime
      reedo_update_life_state
    end    
  end
  
  def reedo_check_step_anime
    return false if dead?
    for state in states
      return false if REEDO_SBS::NO_STEP_STATES.include?(state.id)
      return false if REEDO_SBS::NO_STEP_RESTRICTIONS.include?(state.restriction)
    end
    return true
  end
  
  def reedo_update_life_state(battle_sprite = nil)
    if dead?
      if !@reedo_dead_set
        reedo_set_dead_state(battle_sprite)
        @reedo_dead_set = true
      end
    else
      if @reedo_dead_set
        reedo_set_live_state(battle_sprite)
        @reedo_dead_set = false
      end
    end
  end
  
  def reedo_reset_dead_set
    @reedo_dead_set = false
  end
  
  def reedo_set_dead_state(battle_sprite = nil)
    if battle_sprite == nil
      bs = $scene.reedo_get_battle_sprite(reedo_battle_sprite_id)
    else
      bs = battle_sprite
    end
    return if bs == nil
    return if bs.reedo_bc_sprite.is_dead
    bs.reedo_bc_sprite.angle = REEDO_SBS::ACTOR_DEATH_ANGLE
    tone = REEDO_SBS::ACTOR_DEATH_TONE
    bs.reedo_bc_sprite.tone.set(tone[0], tone[1], tone[2], tone[3])
    bs.reedo_bc_sprite.character.opacity = REEDO_SBS::ACTOR_DEATH_OPACITY
    bs.reedo_bc_sprite.character.screen_x += REEDO_SBS::ACTOR_DEATH_OFFSET_X
    bs.reedo_bc_sprite.character.screen_y += REEDO_SBS::ACTOR_DEATH_OFFSET_Y
    bs.reedo_bc_sprite.shadow_sprite.x += REEDO_SBS::ACTOR_DEATH_SHADOW_OFFSET_X
    bs.reedo_bc_sprite.shadow_sprite.y += REEDO_SBS::ACTOR_DEATH_SHADOW_OFFSET_Y    
    bs.reedo_bc_sprite.is_dead = true
  end
  
  def reedo_set_live_state(battle_sprite = nil)
    if battle_sprite == nil
      bs = $scene.reedo_get_battle_sprite(reedo_battle_sprite_id)
    else
      bs = battle_sprite
    end
    return if bs == nil
    return if bs.reedo_bc_sprite.is_dead != true
    bs.reedo_bc_sprite.angle = 0
    bs.reedo_bc_sprite.tone.set(0, 0, 0, 0)
    bs.reedo_bc_sprite.character.opacity = 255
    bs.reedo_bc_sprite.character.screen_x -= REEDO_SBS::ACTOR_DEATH_OFFSET_X
    bs.reedo_bc_sprite.character.screen_y -= REEDO_SBS::ACTOR_DEATH_OFFSET_Y
    bs.reedo_bc_sprite.shadow_sprite.x -= REEDO_SBS::ACTOR_DEATH_SHADOW_OFFSET_X
    bs.reedo_bc_sprite.shadow_sprite.y -= REEDO_SBS::ACTOR_DEATH_SHADOW_OFFSET_Y
    bs.reedo_bc_sprite.is_dead = false
  end
end

class Game_Actor
  attr_accessor :reedo_battle_sprite_id
  attr_accessor :screen_x
  attr_accessor :screen_y
end

class Game_Actors
  def members
    return @data
  end
end

class Game_Troop
  def troop_id
    return @troop_id
  end
end

class Game_Character  
  alias reedo_sbs_gc_screen_x screen_x
  def screen_x
    if $scene.is_a?(Scene_Battle)
      return @battle_screen_x
    else
      return reedo_sbs_gc_screen_x
    end
  end

  alias reedo_sbs_gc_screen_y screen_y
  def screen_y
    if $scene.is_a?(Scene_Battle)
      return @battle_screen_y
    else
      return reedo_sbs_gc_screen_y
    end
  end
  
  def opacity=(value)
    @opacity = value
  end
  def screen_x=(value)
    @battle_screen_x = value
  end
  def screen_y=(value)
    @battle_screen_y = value
  end
  def step_anime
    return @step_anime
  end
  def step_anime=(value)
    @step_anime = value
  end
end

class Sprite_Base
  attr_accessor :reedo_victory_wait
end

class Sprite_Character
  attr_accessor :shadow_sprite
  attr_accessor :is_dead
  
  alias reedo_sbs_sc_dispose dispose
  def dispose
    @shadow_sprite.dispose if @shadow_sprite != nil
    reedo_sbs_sc_dispose
  end
  
  def create_shadow_sprite
    @shadow_sprite = Sprite_Base.new(self.viewport)
    bmp = Cache.picture(REEDO_SBS::ACTOR_SHADOW_CUSTOM_PICTURE) if REEDO_SBS::ACTOR_SHADOW_CUSTOM_PICTURE != nil
    bmp = Cache.system(REEDO_SBS::ACTOR_SHADOW_IMAGE) if bmp == nil
    @shadow_sprite.bitmap = bmp
    @shadow_sprite.src_rect = Rect.new(0, 0, bmp.width, bmp.height)
    @shadow_sprite.x = self.x - self.ox + REEDO_SBS::ACTOR_SHADOW_OFFSET_X
    @shadow_sprite.y = self.y - self.oy + REEDO_SBS::ACTOR_SHADOW_OFFSET_Y
    @shadow_sprite.z = self.z - 1
  end
  
  alias reedo_sbs_sc_update update
  def update
    reedo_sbs_sc_update
    @shadow_sprite.update if @shadow_sprite != nil
  end
end

class Sprite_Battler
  attr_accessor :reedo_bc_sprite

  alias reedo_sbs_sb_dispose dispose
  def dispose
    @reedo_bc_sprite.dispose if @reedo_bc_sprite != nil
    reedo_sbs_sb_dispose
  end
  
  alias reedo_sbs_sb_update update
  def update
    reedo_sbs_sb_update
    @reedo_bc_sprite.update if @reedo_bc_sprite != nil
  end
end

class Spriteset_Battle
    def create_battlefloor
    @battlefloor_sprite = Sprite.new(@viewport1)
    @battlefloor_sprite.bitmap = Cache.system("BattleFloor")
    @battlefloor_sprite.x = 0
    @battlefloor_sprite.y = 192
    @battlefloor_sprite.z = 1
    @battlefloor_sprite.opacity = 128
  end
  
  alias reedo_sbs_ssb_create_actors create_actors
  def create_actors
    if @actor_sprites != nil
      dispose_actors
    end
    reedo_sbs_ssb_create_actors
    @reedo_start_points = {}
    @actor_sprites = []
    i = 1
    for actor in $game_party.members
      actor.reedo_battle_sprite_id = i - 1        
      gc = Game_Character.new
      gc.set_graphic(actor.character_name, actor.character_index)
      gc.set_direction(4)
      gc.screen_x = 0; gc.screen_y = 0
      bc = Sprite_Character.new(@viewport1, gc)
      gc.screen_x = REEDO_SBS::ACTOR_START_LINE +
                    ($data_classes[actor.class_id].position *
                    REEDO_SBS::ACTOR_CLASS_POS_STAGGER) +
                    ((i - 1) * REEDO_SBS::ACTOR_STAGGER_HORZ)
      gc.screen_y = REEDO_SBS::ACTOR_START_TOP + ((bc.height * i) +
                    (REEDO_SBS::ACTOR_STAGGER_VERT * i))
      actor.screen_x = gc.screen_x; actor.screen_y = gc.screen_y
      sb = Sprite_Battler.new(@viewport1, actor)
      sb.reedo_victory_wait = REEDO_SBS::VICTORY_DANCE_JUMP_HOVER
      sb.reedo_bc_sprite = bc
      gc.step_anime = actor.reedo_check_step_anime
      @reedo_start_points[sb] = [gc.screen_x, gc.screen_y]
      @actor_sprites.push(sb)  
      bc.update
      bc.create_shadow_sprite
      actor.reedo_reset_dead_set
      actor.reedo_update_life_state(sb)
      i += 1
    end
  end
  
  alias reedo_sbs_ssb_create_enemies create_enemies
  def create_enemies
    reedo_sbs_ssb_create_enemies
    for sprite in @enemy_sprites
      if REEDO_SBS::FLIP_ENEMY.include?(sprite.battler.enemy_id)
        sprite.mirror = true
      end
    end
  end
  
  def update_actors
    if $scene.is_a?(Scene_Battle)
      if $scene.victory_dance_time
        reedo_update_victory_dance
      end
    end    
    for sprite in @actor_sprites
      sprite.reedo_bc_sprite.character.update
      sprite.update
    end
  end
  
  def reedo_get_battle_sprite(sprite_id)
    return nil if !sprite_id.is_a?(Fixnum)
    return nil if sprite_id < 0
    return nil if sprite_id >= @actor_sprites.length
    return @actor_sprites[sprite_id]
  end
  
  def reedo_update_victory_dance
    if @victory_delta == nil
      @victory_delta = -REEDO_SBS::VICTORY_DANCE_JUMP_INCREMENT
      for sp in @actor_sprites
        sp.reedo_bc_sprite.character.step_anime = false
      end
    end
    for sp in @actor_sprites
      next if sp.battler.reedo_check_step_anime == false
      stpt = @reedo_start_points[sp]
      if sp.reedo_bc_sprite.character.screen_y < stpt[1] - REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT
        if sp.reedo_victory_wait <= 0
          @victory_delta = REEDO_SBS::VICTORY_DANCE_JUMP_INCREMENT
          sp.reedo_victory_wait = REEDO_SBS::VICTORY_DANCE_JUMP_WAIT
        else
          @victory_delta = 0
          sp.reedo_victory_wait -= 1
        end
      end
      if sp.reedo_bc_sprite.character.screen_y > stpt[1]
        if sp.reedo_victory_wait <= 0
          @victory_delta = -REEDO_SBS::VICTORY_DANCE_JUMP_INCREMENT
          sp.reedo_victory_wait = REEDO_SBS::VICTORY_DANCE_JUMP_HOVER
          sp.reedo_bc_sprite.character.step_anime = false
        else
          @victory_delta = 0
          sp.reedo_victory_wait -= 1
          sp.reedo_bc_sprite.character.step_anime = true if !sp.reedo_bc_sprite.character.step_anime
        end
      end
      if REEDO_SBS::VICTORY_DANCE_JUMP_TWIST
        if sp.reedo_bc_sprite.character.screen_y <= stpt[1]
          if (sp.reedo_bc_sprite.character.screen_y - stpt[1]) % (REEDO_SBS::VICTORY_DANCE_JUMP_HEIGHT / 4) == 0
            case sp.reedo_bc_sprite.character.direction
            when 4; sp.reedo_bc_sprite.character.set_direction(2)
            when 2; sp.reedo_bc_sprite.character.set_direction(6)
            when 6; sp.reedo_bc_sprite.character.set_direction(8)
            when 8; sp.reedo_bc_sprite.character.set_direction(4)
            end
          end
        else
          sp.reedo_bc_sprite.character.set_direction(4) if sp.reedo_bc_sprite.character.direction != 4
        end
      end
      sp.reedo_bc_sprite.character.screen_y += @victory_delta
      sp.battler.screen_y += @victory_delta
    end
  end
end

class Scene_Battle
  attr_reader :victory_dance_time
  
  alias reedo_sbs_sb_start start
  def start
    reedo_sbs_sb_start
    @current_party = $game_party.members
  end
  
  alias reedo_sbs_sb_terminate terminate
  def terminate
    reedo_teardown_actors
    reedo_sbs_sb_terminate
  end
  
  alias reedo_sbs_sb_update update
  def update
    if @current_party != $game_party.members
      @spriteset.create_actors
      @current_party = $game_party.members
    end
    reedo_sbs_sb_update
  end
  
  alias reedo_sbs_sb_execute_action_attack execute_action_attack
  def execute_action_attack
    reedo_do_execute_action("attack")
  end

  alias reedo_sbs_sb_execute_action_skill execute_action_skill
  def execute_action_skill
    reedo_do_execute_action("skill")
  end
  
  alias reedo_sbs_sb_execute_action_item execute_action_item
  def execute_action_item
    reedo_do_execute_action("item")
  end
  
  alias reedo_sbs_sb_process_victory process_victory
  def process_victory
    @victory_dance_time = true
    reedo_sbs_sb_process_victory
  end
  
  def reedo_get_battle_sprite(sprite_id)
    return @spriteset.reedo_get_battle_sprite(sprite_id)
  end
  
  def reedo_teardown_actors
    for actor in $game_actors.members
      actor.reedo_battle_sprite_id = nil if actor != nil
    end
  end
  
  def reedo_do_execute_action(action_method)
    targets = @active_battler.action.make_targets
    if @active_battler.is_a?(Game_Actor)
      reedo_actor_step_in
      if REEDO_SBS::SBS_ACTION_ANIMES
        targets.each do |t|
          if t.is_a?(Game_Actor)
            bs = reedo_get_battle_sprite(t.reedo_battle_sprite_id)
            bs.reedo_bc_sprite.character.animation_id = eval("reedo_get_" + action_method + "_animation") if bs != nil
          end
        end
      end
      eval("reedo_sbs_sb_execute_action_" + action_method)
      reedo_actor_step_back
    else
      if REEDO_SBS::SBS_ACTION_ANIMES
        targets.each do |t|
          if t.is_a?(Game_Actor)
            bs = reedo_get_battle_sprite(t.reedo_battle_sprite_id)
            bs.reedo_bc_sprite.character.animation_id = eval("reedo_get_" + action_method + "_animation") if bs != nil
          end
        end
      end
      eval("reedo_sbs_sb_execute_action_" + action_method)
    end
  end
  
  def reedo_get_attack_animation
    return REEDO_SBS::SBS_DEFAULT_ATTACK_ANIME
  end
  
  def reedo_get_skill_animation
    skill = $data_skills[@active_battler.action.skill_id]
    aid = REEDO_SBS::SBS_DEFAULT_SKILL_ANIME
    aid = skill.animation_id if skill.animation_id > 0    
    return aid
  end

  def reedo_get_item_animation
    item = $data_items[@active_battler.action.item_id]
    aid = REEDO_SBS::SBS_DEFAULT_ITEM_ANIME
    aid = item.animation_id if item.animation_id > 0    
    return aid
  end
  
  def reedo_actor_step_in
    delta = 0
    dr = REEDO_SBS::ACTOR_STEP_IN_RATE
    while delta < REEDO_SBS::ACTOR_STEP_IN_DISTANCE
      bs = reedo_get_battle_sprite(@active_battler.reedo_battle_sprite_id)
      return if bs == nil
      bs.reedo_bc_sprite.shadow_sprite.x -= dr
      bs.reedo_bc_sprite.character.screen_x -= dr
      bs.battler.screen_x -= dr
      Graphics.update
      @spriteset.update
      delta += dr
    end
  end
  
  def reedo_actor_step_back
    delta = 0
    dr = REEDO_SBS::ACTOR_STEP_IN_RATE
    while delta < REEDO_SBS::ACTOR_STEP_IN_DISTANCE
      bs = reedo_get_battle_sprite(@active_battler.reedo_battle_sprite_id)
      return if bs == nil
      bs.reedo_bc_sprite.shadow_sprite.x += dr
      bs.reedo_bc_sprite.character.screen_x += dr
      bs.battler.screen_x += dr
      Graphics.update
      @spriteset.update
      delta += dr
    end
  end
end



I managed to show the battlefloor on pictured images without crashing the system. Whenever I would go into battle, I wouldn't be able to see the battlefloor so I just edited this part out

alias reedo_sbs_ssb_create_battlefloor create_battlefloor
def create_battlefloor
reedo_sbs_ssb_create_battlefloor
@battlefloor_sprite.y = REEDO_SBS::BATTLE_FLOOR_TOP
end


and replaced it with this...

def create_battlefloor
@battlefloor_sprite = Sprite.new(@viewport1)
@battlefloor_sprite.bitmap = Cache.system("BattleFloor")
@battlefloor_sprite.x = 0
@battlefloor_sprite.y = 192
@battlefloor_sprite.z = 1
@battlefloor_sprite.opacity = 128
end


and I removed this...

###############################################################################
## This section adjusts the battle floor location
###############################################################################
BATTLE_FLOOR_TOP = 128 # Allows you to set the top of the battle floor


And now it works fine smile.gif

This post has been edited by Riokogen: Jan 17 2010, 05:17 AM


--------------------
Go to the top of the page
 
+Quote Post
   

7 Pages V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 18th April 2014 - 08:52 PM

RPGMakerVX.net is an Privacy Policy, Legal.