BBaller1337's Recent Forum Activity

  • Hey, so I've looked up a bunch of threads online (most of which were old) but could not find something to solve this issue of mine. Take a look:

    In short, I need to test for line of sight between an object in the "Fighter" family (e.g. a fighter in a fighting game) to another object in the "Fighter" family... but then the code "Fighter Type =/= Fighter.Type" is supposed to represent checking if the Fighter whose line of sight I am checking (codename "Bird") is the same type as the Fighter that was spotted--for example, if they are both Player, then the events won't do anything, but if one is Player and one is Enemy, then it should proceed with the next action.

    Solutions that won't work:

    • individual objects - this defeats the entire purpose of having families. I originally referenced the "Bird" object in the Fighter family manually, but this causes its own issues in the code, and is also inefficient, because then I have to manually attach line of sight behaviors for each enemy, and then write separate events for each as well (rather than writing a system for everything where I only need to specify LoS values and what to do when line of sight is detected).
    • what you see here - basically, the fighter being selected from the line of sight is different from the fighter checking the line of sight, but there's no apparent way for me to distinguish the two, and I'm not sure how C2 is coded to handle such things. (Similar question: what if two objects in the same family collide with each other? How do you pick each specific instance?)

    I'm not looking for exact code, but any tips/suggestions would help.

    The hacky solution would be to check against positions because I'm not actually using any instance variables on the "seen" fighter, but then I would need a for each loop to record the X and Y coordinates of every "player" fighter (usually 1, mind, but still) and then check line of sight against each of those... it might work, but it'd be less than pretty IMO, and I'd like to learn how I should approach this kind of problem anyway.

    Thanks~

  • lucid All good, I wrote that post before I e-mailed you and you fixed a bunch of issues. I ended up just trashing and remaking the animations (though I won't lie, since the animations in my game are kinda complicated and there were a lot, it was super tedious lol) and everything worked after that, so from now on it's just a matter of being super, super careful about updating.

    Honestly I think I just have bad luck with upgrading in general: it just took me an entire day to upgrade to Windows 10 and my computer nearly broke in the process, and I've had many issues with other things too, haha.

    But I know a little trouble comes with any program, so I apologize if I came off as impatient, I truly am hoping the benefits of Spriter in the long-run will outweigh any issues... with your help/support on occasion . Thanks~

    EDIT: Is there doc on all the variables/attributes/fields/whatever they're called of an SCML object? What about actions? Some of them don't have entirely clear purposes or distinctions and it would help to have such doc just to be sure (and so I can make the most out of all the features). For instance, what is objectx and objecty vs. x and y, does BBox____ return the bounding box of the SCML object or the actual animation frame, what are the different sound events for, etc.

    Also, for clarification, how exactly does the volume change in Spriter affect C2? Like how is a decrease in volume in Spriter ultimately reflected in C2? Through the audio itself, events, or something else I can't think of?

    Just want to make sure that my own volume controls don't end up say, overriding the sound volume of clips... not to mention if an audio file is played at different volumes and the volume change is somehow embedded into the audio (seems unlikely though) this would result in conflicts without having multiple audio files.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Hey lucid, how are you doing?

    So... to the point, I tried updating the scml plugin to version 7-9-16 from an older verison and it gave a probably not-very-helpful error (https://i.gyazo.com/dd9ec35330569c7afa6 ... 0d0684.png)

    I don't want the edittime error problem you had before but didn't see anything about it being fixed, and I also don't want to update to the new performance mode.

    So... is it safe to update to the latest plugin even if we were using an older version? Is there anything I should be concerned about? Trying to find out why an older version of a plugin doesn't work seems like a poor use of effort/time, but I also don't want to unknowingly incur some issues by upgrading (which I tested and SEEMS to work, but... I like to play it safe, haha).

    Thanks in advance.

    EDIT: Aaaand right after this I tried updating an animation (using the latest version of Spriter and the plugin) and got anotherr error

    Again, trying to decipher why this is happening seems like a futile task given how many variables there are, though I also can't afford to like, start over. Any ideas I should try or any specific info I can give to help get this sorted out?

    EDIT2:

    [quote:oddlytf0]So... while the C2 implementation of Spriter has never really worked well for me, after updating Spriter to r9 and the SCML plugin to version 7-9 and later the latest version, it's straight stopped working.

    So I tried different versions of the plugins, looked for an older version of Spriter (to no avail), tried resaving the CAPX, tried deleting the old object in C2 and re-inserting it, tried creating a new Spriter project and importing the old one into it, tried inserting into the example CAPX you created (since it doesn't have as much going on), and finally, tried creating a new Spriter project and inserting it into the CAPX, which is the only thing that actually works, but I really don't want to have to recreate all my animations. (I tried an older animation and just dropping it straight into the project works fine, but it seems like trying to update anything basically bricks it.)

  • > Found yet another bug with this program. If you have triggers such as sound triggers or event triggers and keyframes (presumably during the same time as a trigger) with the easing curve set to "instant" the triggers will activate many times. You can test this by just making a CAPX with a sound real quick and trying it, but if you really need a CAPX we'll try to get one over when we can

    >

    > I really just wanted to warn the public of this because it caused us endless amounts of grief, I debugged the game, plugin, SCON file, and SCML file, possibly in that order, I don't even remember anymore, and I only found the issue by using super-old-fashioned debugging methods I've been using for almost half my life, lol. It should have been much more obvious, but sometimes when you assume two things are unrelated, or make changes you *think* are small, surprises come up. XP

    >

    Just to be sure, this is a bug with the plugin, not the program, right?

    Yeah, presumably so, as it only happens in C2 and the SCML/SCON files look fine.

  • Found yet another bug with this program. If you have triggers such as sound triggers or event triggers and keyframes (presumably during the same time as a trigger) with the easing curve set to "instant" the triggers will activate many times. You can test this by just making a CAPX with a sound real quick and trying it, but if you really need a CAPX we'll try to get one over when we can

    I really just wanted to warn the public of this because it caused us endless amounts of grief, I debugged the game, plugin, SCON file, and SCML file, possibly in that order, I don't even remember anymore, and I only found the issue by using super-old-fashioned debugging methods I've been using for almost half my life, lol. It should have been much more obvious, but sometimes when you assume two things are unrelated, or make changes you *think* are small, surprises come up. XP

  • Ahhhh, ok, now I understand what you meant. Once I saw the code it made sense. I think I can get it to work now, thanks.

  • DoobieDoctor5000

    BBaller1337

    If you encounter issues/bug, please open a specific bug report.

    From the description/sound of it, your issues are not related to the current issue, so please consider filling a proper bug report.

    Sorry, it seemed like the same issue to us. If we have a chance we'll post a bug report.

  • What do you mean they are private for each instance? How exactly is this different from bbcode? Sorry for all the questions but I appreciate the help

  • BBaller1337, renaming in the z-order list does work correctly for me, even when loading your project

    Did you try renaming the object, then double-clicking again to rename again? Sometimes it works, sometimes it doesn't. For me, I was able to replicate it by renaming a collision box by double-clicking, then double-clicking right after. It would work maybe 25% of the time and not 75%. Sometimes it works after a certain time only, e.g. I just tried renaming any of 3 objects about 20 times and it only worked after several seconds.

    I could show a GIF but I don't think there's any point since you can't even tell when I'm double-clicking or not without audio, and I don't want to upload a video to show something so basic...

  • First, thanks for making this plugin. Unfortunately, I'm having some problems with it. I don't really understand how it works, so I'm not sure if it's my fault or the plugin's fault.

    Here are two issues I'm having. Unfortunately the CAPX's are private and I can't share them but you should be able to test them.

    • Setting web font affects future text entries even if they do not have tags set at all.
    • The order of the tags affects the functionality. For instance, having text set to <class="a">Text</class> but having "Tag: b" first will make text with tag b use tag a instead. This is kind of inconvenient/hard to keep up with to make sure everything works right.

    Sorry if this is known, would just appreciate any suggestions. I looked at multiple of your examples and couldn't find anything I was missing in terms of functionality.

    EDIT: Note, should mention I have multiple instances of the TagText object, and am reusing them. So I guess the issue might be something like when it does its actions, maybe it's not picking instances (or the right ones), but I don't really know.

    EDIT2: Realized that while I can't share the CAPX, the specific code should be fine, so:

  • Yeah, I couldn't get it working. The browser supports it, it's just not recognizing it on FireFox. Can't share the CAPX but hope this is fixed soon.

  • "Oh, I was just referring to what mudmask initially brought up..."

    "Seconded! I can't seem to think of a handy way to do this either without referring to the automatically created families of sprites for each spriter object... which could easily mean some quite redundant events."

    Ahhh, I see. Thanks.

    Yeah, it's a shame but I did something like this/similar to above to get my enemies to flash white. In my case the overall game I'm working on isn't too intensive thankfully (small levels without a lot of enemies) but for bigger games I could see things getting a little out of hand.

    The new method seems a bit less tested and user-friendly so I'll probably pass for now on account of not being comfortable using it, but I'll keep it in mind if I think it might be useful for performance or other reasons later on. (It's nice to hear that WebGL effects work without having to make a workaround!)

    "since everything is in a group, it should automatically pick the correct instance of your scml object for further actions. "

    unfortunately, perhaps because my setup is a bit more complicated, this didn't work. I have a family for all my SCML objects, to pick the SCML object from the hurtbox I had to create an instance variable called "OwnerID" and set this when the object is created, then use a comparison to pick the right instance.

    Just explaining in case someone else needs to do something similar.

    Also, you mentioned pinning an object and all, but is that necessary for enemies too? That would add yet another object to the mix and it seems like a bit of overkill, since that's +1 object per enemy and some extra coding and events to make sure everything works (it has to move the SCML object every tick too). I guess since it's just basic logic and not adding a lot of memory usage or anything it won't have a huge impact but it still sounds inefficient and maybe redundant...

    EDIT: Mike, you said at one point renaming files in the Z-Order wasn't intended, but it even mentions it in the help manual:

    Just saying since it's a very useful feature and I'd be at a bit of a loss if it was removed...

BBaller1337's avatar

BBaller1337

Member since 6 Mar, 2014

None one is following BBaller1337 yet!

Trophy Case

  • 10-Year Club
  • RTFM Read the fabulous manual
  • Email Verified

Progress

12/44
How to earn trophies