Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - KK20

Pages: [1] 2 3 ... 141
Script Requests / Re: Touch Damage From Player In Blizz-ABS
« on: April 22, 2017, 03:46:50 AM »
I'll add the Global Triggers to the database and will need to update the first post for the trigger condition checking. I'm not too proud of the reflecting one as that was made more as a proof-of-concept; it's too experimental to be considered an official script.

But sure, go ahead and make the demo if you'd like :)

Script Requests / Re: Touch Damage From Player In Blizz-ABS
« on: April 21, 2017, 05:07:15 AM »
Yeah, I found that out before I saw your edit. It also applied to skills. Must've been a rushed copy-pasta mistake.

Problem were the lines that looked like this
Code: [Select]
@event_trigger = [BlizzABS::CETSkill, id]In this case, the 'id' being used was the event ID, not the item/skill ID being used :P

Try this:
(click to show/hide)

Sea of Code / Re: Help With Seperating Axis Theorem
« on: April 21, 2017, 04:49:55 AM »
Nothing wrong with learning :D
Have you looked into raycasting? That sounds more up your alley.

EDIT: Another article about SAT with the "what to do after a collision" explained

Sea of Code / Re: Help With Seperating Axis Theorem
« on: April 20, 2017, 10:24:50 AM »
The idea is to translate the second dimension into the first dimension (i.e. a single line). Regarding the equation
Code: [Select]
circle.magnitude - max - b.radius > 0 && circle.magnitude > 0This is saying "take the distance from the center of the rectangle to the center of the circle, minus the length from the center of the square to one of its corners given that corner is closest to the circle, minus the radius of the circle."
If it's greater than zero, you still have some space in-between the shapes.

The code looks right, so maybe the functions you have used (dot, magnitude, etc) might not be implemented correctly. If those are built-in, then IDK.

As for handling collisions, that's for another subject entirely. You're dealing with actual physics so go find articles on that. As the article said, to find the exact penetration length between two objects, you'll need to calculate the unit vector of the projection, so that will help in determining how they should move. But you'll also need the frame before they collide to get their velocities and such.

Personally I find this collision equation better suited for things like hitboxes, not so much physical, interactable objects.

Script Requests / Re: Touch Damage From Player In Blizz-ABS
« on: April 20, 2017, 10:12:17 AM »
Give that a shot
Code: [Select]
Global Custom Event Triggers                                        Ver 1.1
by KK20                                                             Apr 20 2017

[ Purpose ]

Allows the creation of Global Triggers, making enemies with the same custom
triggers easier to create.

[ Instructions ]

Place this script below all of Blizz-ABS. (and above Main obviously)
Scroll down this script and find COMMON_EVENT_ID. The number assigned to it
indicates what Common Event ID you want to use as the default global triggers.
Change its value to whatever suits your project's needs.

In your Database, create a Common Event. Add as many triggers as you like to it,
much in the same fashion as if you were adding triggers to an enemy event. Refer
to the Blizz-ABS manual for further instructions on how to set this up.

*** New in Version 1.1 ***
If you have a common execution of command events for this trigger, you may also
add them to the common event. They will be automatically added to the event's
command list in-game.

A new custom trigger can be defined for enemy events:

where X represents the Common Event ID in your database.
You can create multiple Global Triggers this way--just use another Common Event.
Have triggers that should only apply to boss monsters? This command will help.


Enemy events that do not use this new trigger will use the default triggers
defined in your Common Event as specified by COMMON_EVENT_ID.

If you set Global=0, then your event will NOT use any global triggers.

You can still add more triggers to enemy events after the Trigger:Global.

module BlizzABS
  # The common event that holds the global Custom Event Trigger for enemies if
  # no Trigger:Global=X is defined in the enemy's event command list.
  class Utility
    alias get_common_triggers get_triggers
    def get_triggers(list)
      ce_list = nil
      cloned_list = list.clone
      triggers = [-1, {}]
      # If the first event command is a comment
      if list[0].code == 108
        comment = list[0].parameters[0]
        ce_id = comment.scan(/Trigger:Global=(\d+)/).flatten[0]
        # If a Global trigger was defined, use it
        if ce_id
          ce_id = ce_id.to_i
          # No global trigger if ID is 0
          unless ce_id == 0
            ce_list = $data_common_events[ce_id].list
            triggers = get_common_triggers(ce_list)
          # Remove this comment from being interpreted by the alias
          cloned_list = list[1, list.size - 1]
        else # Use the default
          ce_list = $data_common_events[COMMON_EVENT_ID].list
          triggers = get_common_triggers(ce_list)
      else # Use the default
        ce_list = $data_common_events[COMMON_EVENT_ID].list
        triggers = get_common_triggers(ce_list)
      # Call the alias
      triggers2 = get_common_triggers(cloned_list)
      # Combine two results to get resulting triggers
      result = []
      special = {}
      result.push(triggers[0] == BlizzABS::CETNone ? triggers2[0] : triggers[0])
      (triggers[1].keys + triggers2[1].keys).each { |key|
        special[key] = (triggers[1][key] || []) + (triggers2[1][key] || [])
      # Now add the global event commands to the event itself
      list.unshift(*ce_list) if ce_list
      # Return the triggers

RMXP Script Database / Re: [XP] Blizz-ABS
« on: April 14, 2017, 06:31:39 AM »
All event commands in enemy events run by default when it is killed. Remove the battle processing in your example and it should work.

Script Requests / Re: Touch Damage From Player In Blizz-ABS
« on: April 12, 2017, 10:54:00 PM »
You can always add more than one trigger; just make a new Comment directly below another Trigger.
Code: [Select]
@>Comment: Trigger:Weapon=1
@>Comment: Trigger:ActionButton
I can see the need to add custom event commands to the global triggers, but that will require some extra tweaking to my script. I'll see if it's even possible firstly. Might be as simple as copying the common event command list and somehow shoving them into the map event's list.

You might also be interested in this script I made too.,12230.0.html

Troubleshooting / Help / Re: Blizz ABS Combos not costing MP on use
« on: April 12, 2017, 10:48:07 PM »
Code: [Select]
      when 1 #Combo 1
        case com.aid
        when 1 #double attack
          return [[COMSkill, 9],
                  [COMMove, DIRForward, 2],
Change the target scope to 'None' (not 'User', my bad) and SP cost to 50 on Skill ID 9.

Script Requests / Re: Touch Damage From Player In Blizz-ABS
« on: April 12, 2017, 07:24:08 AM »
Here's to adding global triggers:
(click to show/hide)

Regarding touch damage to enemies, you might run into issues with that as discussed in this topic:,15717.msg195587.html#msg195587

Troubleshooting / Help / Re: Blizz ABS Combos not costing MP on use
« on: April 11, 2017, 04:44:31 AM »
Make the combo use the skill that starts the combo.

Configure the skill to have a penalty delay of 1 frame (the lowest you can possibly make it in the BABS Config). In RMXP, make the skill target the user and do absolutely nothing but have an SP cost.

Now your combo will only execute if you have the required SP.

Script Troubleshooting / Re: Change Tileset With Blizz-Abs Bug
« on: April 07, 2017, 08:52:00 AM »
Ugh, this was one of his really early scripts. I see he posted what looks to be a more advanced version in the database,12111.0.html

But even that has issues with BABS too, so still need to look into it. Again, it probably has to do with the custom passability BABS incorporates.

Yeah, that was it. Since the advanced one has sprite graphic changes, it caused some issues with BABS (since it can do that too). Placing this script under BABS and running it in the demo looks like it worked.
(click to show/hide)
That code was a bit of a nightmare to read through. It was one of his earlier scripts back in the days--can't discredit the guy for actually learning RGSS.

Script Troubleshooting / Re: Change Tileset With Blizz-Abs Bug
« on: April 07, 2017, 02:50:25 AM »
TIL RMXP only goes up to 8192 before wrapping back around to 0

You can't put the script below BABS because it doesn't alias Game_Map#setup. BABS calls this method too to initialize a passability variable--@virtual_passability (it also cleans up some things like refreshing map battlers and clearing a cache). Because you're not initializing @virtual_passability, you crash as soon as something tries to move as BABS relies on this for movement due to its built-in pixel-based movement.

Since this variable is also what is handling all the map collisions, you need to reinitialize it whenever you update the tileset graphic. Putting these two lines at the end of Game_Map#change_tileset should resolve the issue.
Code: [Select]
@map.tileset_id = tileset_id
@virtual_passability = $BlizzABS.util.setup_passability(@map)
Do note that you can't enable INTELLIGENT_PASSABILITY. Since this caches map passability to external files for faster loading times, it defeats the purpose if you're going to be dynamically changing the map passability in-game.

Troubleshooting / Help / Re: Blizz ABS Stealth Attacks
« on: April 02, 2017, 12:29:13 AM »
Not 100% sure what the cause is, but it fails to call this line under event_removal
Code: [Select]
remove_enemy(event) if !event.valid?The enemy battler still exists, even after calling $BlizzABS.enemy_deal_damage to kill it. This might be a bug.

But at the same time it kinda makes sense that the enemy wouldn't give anything in return since it doesn't know WHAT damaged it. Like, if you had a map tile that dealt damage and you made it so that you call $BlizzABS.enemy_deal_damage on the enemy when it walks on it, why should it give the player experience? The player did nothing in killing the enemy.

Troubleshooting / Help / Re: Blizz ABS Summoning Monsters
« on: April 02, 2017, 12:15:58 AM »
It's actually impossible to summon more than one of the same type. This is the line:
Code: [Select]
return false if (@pets + @monsters).any? {|b| b.battler_id == summon[1]}I wouldn't tamper with this if I were you.

And you're right about the "monsters are actually actors, not enemies" part.
Code: [Select]
new_battler.battler = $game_actors[summon[1]]It always calls this line regardless if it is a pet or a monster. Unfortunately, the fix is not as easy as putting $game_enemies (since that doesn't exist) and would actually require utilizing RMXP's Troops database to do some pseudo, very hackish, solution.

Why don't you just make an actor that has the same stats as a monster?

RMXP Script Database / Re: [XP] Smooth Scroller
« on: March 27, 2017, 02:03:38 AM »
Was this the script you were looking into the float-based Sprite coordinates? :P

What triggers the lag with XPAT?
Moving down or right seems to snap instead of slide.

I can just release whatever fixes I made and call it v2.1 tomorrow. Still in the process of making a tech demo.

Updated to Version 2.1
  • Updated XPA Tilemap to v0.32
  • Removed Unlimited Resolution as this has been moved over to XPA Tilemap
  • Superclass Mismatch Fix moved lower in script list as it was not running Console Output
  • Updated Ruby 1.8 Methods to v1.1 (includes Array#to_s, String#delete and #[])

Electronic and Computer Section / Dropbox Public Folder Changed
« on: March 25, 2017, 07:53:39 AM »
Just signal boosting this again. As of March 15, 2017 Dropbox changed the Public folder to private. Any public links you may have shared over the interwebs are now broken. You will need to create a new public link again to allow others access.

More on the info:

Because of this change, it may be possible that a lot of user submitted resources are no longer available. That includes any scripts, images, or projects. Please try to contact the topic owner of any broken Dropbox links.

But I do agree that this is a pretty huge dick move by them. I don't understand why this change needed to happen and why it was forced upon everyone. Especially for communities like us, this just adds to the headaches.

Thanks for reminding me. Dropbox changed how the Public folder works so all the shared file links don't work anymore. I've updated the links on the first post.

Now because of this, I wonder how many old scripts/resources here are gone forever now since those users aren't active.

RMXP Script Database / Re: [XP] Throw System
« on: March 22, 2017, 05:35:21 AM »
Well that is what I told you from the start. You're better off making it yourself from scratch than trying to repurpose this one to work.

RMXP Script Database / Re: [XP] Throw System
« on: March 22, 2017, 04:14:18 AM »
If you want to change how to trigger an event, it would be located in Game_Player at the bottom of the script. I wouldn't advise it unless you really know what you're doing.

And I think you're mistaking that for a Conditional Branch where the check is for if a button is currently being pressed. That's not the same as triggering an event to start.

Pages: [1] 2 3 ... 141