RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Advanced battle intro with eventing pictures.

0 Members and 2 Guests are viewing this topic.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Best Member2012 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2010 Most Mature Member2010 Favourite Staff Member
Neat. I like this battle intro. It's pretty cool. Good job.

*
Rep:
Level 89
2012 Best RPG Maker User (Story)Project of the Month winner for July 2008Project of the Month winner for May 20072011 Best RPG Maker User (Story)2011 Project of the Year2011 Best RPG Maker User (Creativity)
Mm, well for the range and AoE it's almost like "addons". I'll just briefly explain it here on how to implement them, at least how I do them.

Ranged is the simpler of the two, you simply make a 'through' event (projectile) and put it off the screen somewhere. For the hotkey where you press "shoot", it should set the event of the projectile event at where the player is (remember that you have an event that keeps tracking the X and Y of player onto two variables) and face where the player is facing (conditional branches for each direction).

Then, change the graphic of the event to the projectile char-set (arrow char set, for example. Easy to make, just draw some sticks and set them onto an ready-made char set for positioning).

Next, set a move event command for the arrows to go however many steps forward. (If you want, you can have a custom distance-variable, that way you can increase or decrease the distance that arrow goes under certain conditions. To implement this, you use a 'Loop' command. Open a loop up, and put 'move forward' once inside. Still inside the loop bracket, make a variable 'count', and make count = count + 1. Next, still inside the loop bracket, make a conditional branch that has the condition count = DISTANCE (where DISTANCE is the distance variable you want the arrow to go for), and if it matches that condition, BREAK LOOP command activates. [This is basically a do-while loop replica for eventing for those that knows some programming])

Then, on the parallel processing event that you have running seperately that tracks player's and enemies' X and Y variables, make 2 new variables; ProjectileX and ProjectileY. Set them to equal to the projectile event's X and Y coords.

Now for the 'hit check' event; you simply compare whether the variable monsterX = projectileX, and if it does then compare whether monsterY = projectileY. If it does again, then do whatever you want as a monster gets hit in that conditional branch. Remember to do this check for every monster. (That's why I only limit my max enemy number and player number at 4 each, or it's too much hassel to check everything.)

P.S. Remember to do some graphic/sound notice when the monster is hit. Perhaps a knock back, a flash of the monster character, a squeal, something along those lines.




As for Area of Effect; you need 8 variables. The top left corner(x,y), top right corner(x,y), bottom left corner(x,y) and bottom right corner(x,y). Basically, you have an area with each of the 4 corners (square area) cornered out. When you check, you check whether the enemy's X is greater than the minimum X yet less than the maximum X, then whether the enemy's Y is greater than the minimum Y yet less than the minimum Y.

Oh, and to get those corner variables, you have a center point you release the area of effect at. I usually start with the player's location. So with that center, you calculate each x and y accordingly. For example, if the range is 4x4 square like I used, then that means from the center to the left-most point is a distance of 2, same with the upper-point. Hence, to get the left upper corner, your center x goes under the calculation of x=x-2, y=y-2.

^
|
|
  - - C

And repeat the calculation for the rest of the points accordingly.



That's basically it in a nutshell.  :)


*
A Random Custom Title
Rep:
Level 96
wah
:O You left me with mouths open.

*
Rep:
Level 89
2012 Best RPG Maker User (Story)Project of the Month winner for July 2008Project of the Month winner for May 20072011 Best RPG Maker User (Story)2011 Project of the Year2011 Best RPG Maker User (Creativity)
Sorry if I was unclear :-X Kinda hard to put it in a block of text. But yeh, it's not really as complicated as it sounds if it does. Once you get the concept it's just codemonkey work. Understanding positions is very important.

*
A Random Custom Title
Rep:
Level 96
wah
I still want your method because you're able to move the hero somewhere else and then with the same events, you make different monsters. The only thing I can think of is just making maps for each combination of monsters. Or what should be done to do it your way?

*
Rep:
Level 89
2012 Best RPG Maker User (Story)Project of the Month winner for July 2008Project of the Month winner for May 20072011 Best RPG Maker User (Story)2011 Project of the Year2011 Best RPG Maker User (Creativity)
Oh, it's just with conditional branches and/or variable checking for event page conditions.

There are 4 default monster events. They can be filled with anything or nothing.

Assign one variable to each of them as an monster ID variable.

For each monster event, take monster1 for example, have an initializing event do a parallel processing command that "conditional branch: if variable Monster1_ID == 1, then change graphic of monster1->(monster1's sprite).

And when checking for effect and monster skills, simply check which variable each monster's ID variable is. Lots and lots of conditional branches and pages.



To be honest, the more I think about it the more inefficient this is. Although it's amazingly customizable in my opinion, the workload and code-monkey work doesn't seem to be worth it... At least at the moment. Unless I work out a common-event system that is... But I'm too occupied with other aspects of the game at the moment to finish the battle system's structures.  :-X

*
A Random Custom Title
Rep:
Level 96
wah
Once modern algebra teaches me how to make an evented ABS, I'm going to try to perfect one myself. >:]

*
Rep:
Level 89
2012 Best RPG Maker User (Story)Project of the Month winner for July 2008Project of the Month winner for May 20072011 Best RPG Maker User (Story)2011 Project of the Year2011 Best RPG Maker User (Creativity)
Nice, have fun with it. :) If you come across any problems and stuff feel free to send me a PM, I'll try to help.