Callan S's Forum Posts

  • I've uploaded new versions but the differences aren't showing.

    I'm on chrome, is there something I need to clear or refresh?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I found this tutorial, but it's from awhile ago and it requires me to zip some files and I don't have a zipping program - any suggestions for free ones?

  • > But in a regular IF statement I can test if catsprite is less than 500 x position and if it ISN'T I can still use ELSE to affect that catsprite. I'm not stuck being unable to affect it because it failed the first IF statement. But in an OR statement, if the object fails the OR statment I can't affect the object??

    >

    > I mean there's a difference between the intent of

    > 'Hey, check if catsprite.x<500 OR tacos>0 - if either, change THAT PARTICULAR catsprite!'

    > and

    > 'Hey, check if catsprite.x<500 OR tacos>0 - if either, change the catsprite on the screen. The ONE catsprite that is there! One might even say change ANY OLD catsprite, though that's a bit odd to say when there is only one pre existing catsprite! But this is all to say I am not aiming at a particular catsprite, just any old one that is around. It doesn't matter if it's <500!''

    >

    You are missing one key aspect. There could be multiple catsprite. If it worked as you suggested, many games would be so hard to code. Just because you know there is one, does not change there is the possibility of multiple.

    Yeah, but think of what the filtering is doing.

    Functional filtering is if I'm trying to find all the catsprites whos X>50 and X<500. That's valid filtering.

    Now why would we treat a test of catsprite.x<500 OR global.pizza>0, with catsprite failing, as filtering out out being able to affect catsprite AT ALL!? I mean this cat wants some pizza, he's not into cheeezburga, he wants pizza added to him! But when he's not <500, even though there is pizza, we can't give him anything?

    Such a filter basically turns the OR into an AND statement - if catsprite.X<500 AND global.pizza>0 then the cat can have it's pizza value increased.

    In fact all filtering seems to be an AND statement. Which really has no place in an OR statement.

  • Caveat: I say this all as part of my rant

    In the example I gave, if you want an action to run on Sprite in that event, then you can only choose a Sprite that did not meet the condition. Therefore it makes it possible to run actions on instances that did *not* meet the conditions. I think this is totally counterintuitive and nonsensical, and although the current system may be sometimes confusing, the alternative is even worse.

    But with an OR statement I'm not trying to meet A condition, I'm trying to meet EITHER condition!

    I mean, who wants to use an OR statement to filter their results? Sure, with an if statement, if I'm checking the cat is in the box, then I just want to deal with cats that are in the box.

    But with an OR statement, I can be checking radically different things - it's not like I'm trying to filter balls that have spots OR balls that are red, I can check for balls that have spots OR whether pizza is ready! Sure with the first example I might want to only deal with the spotted balls or the red balls, whichever turns out to be true in the OR statement - but I know that OR deals with a far wider spectrum than that - I'm not going to use it to filter down to only affect spotted balls in the response to the statement if I'm interested in pizza readyness! As is it's a literal apples and oranges comparison! When I'm checking apples and oranges and the oranges >= X but apples were not >=Y, I don't want to be restricted from affecting apples because...these two things are not the same!

    If I understand Kyatric correctly, he's asking much the same thing - why the 'is the sprite.x <500' is considered to exist at all when not fulfilled, in regards to picking.

    [quote:31kieukt]So it's more accurate to describe it as working like "FOR EACH Sprite IF Sprite X < 500 THEN run action (on that sprite)". The "for each" iterative aspect of conditions is essential to the way events work, but means it does not act like a normal single IF statement, so it's not always correct to compare it to that.

    But I'm not restricted in the ELSE statement like that.

    Like I can avoid automatic filtering from the initial failed IF statement with the ELSE statement, I'd like some way to avoid automatic filtering with the OR statement - I seriously don't always want to have filtering on an OR statement that can be testing things which are radically different from each other. If there's a cat in the box OR pizza is ready, I want to pat a cat. I'm obviously not trying to filter down to a particular cat if I'm checking pizza - which is the normal way the OR statement works.

  • But in a regular IF statement I can test if catsprite is less than 500 x position and if it ISN'T I can still use ELSE to affect that catsprite. I'm not stuck being unable to affect it because it failed the first IF statement. But in an OR statement, if the object fails the OR statment I can't affect the object??

    I mean there's a difference between the intent of

    'Hey, check if catsprite.x<500 OR tacos>0 - if either, change THAT PARTICULAR catsprite!'

    and

    'Hey, check if catsprite.x<500 OR tacos>0 - if either, change the catsprite on the screen. The ONE catsprite that is there! One might even say change ANY OLD catsprite, though that's a bit odd to say when there is only one pre existing catsprite! But this is all to say I am not aiming at a particular catsprite, just any old one that is around. It doesn't matter if it's <500!'

    Sure it makes sense for the first example to reference only that catsprite. If I'm talking about a 'pat the cat that is sitting in the box' it makes sense only to pat a cat that is in a box.

    What doesn't make sense is that 'if there is a cat in the box or tacos>0 then pat A cat' results in NO cats being patted at all!!

    There isn't a contradiction there, you're just forcing the same semantics to both examples. When in a regular IF statement, if the cat isn't in the box but I use an ELSE statement, I can still pat that cat! I'm not stopped from affecting it because the IF statement failed - quite the contrary! That's the contradiction - where in a failed IF statement I can affect an object with an ELSE but in a partly failed OR statement I'm not allowed to affect the object at all!

    If I'm totally wrong I'll blame it on rant! But currently I'd say the ideology of OR statements contradicts the ideology of IF statements. IF statements let you test a value of an object, but still affect that object (with ELSE) even if the IF statement about the object failed.

    TL:DR; Really OR needs a way to distinguish between 'Hey, remember that objects value I tested in the OR statement - I want to affect that particular object!' and 'Hey, remember that object value I tested in the OR statement - well don't worry about it failing. I just want to affect that type of object, not just the one that failed the OR test, mmmm'k! Just like even if an objects value fails an IF statement, I can still affect that object with ELSE'

  • Kinda awkward - well, Kongregate has a preview mode and probably Scirra arcade does as well so I guess it'll be alright.

  • Thanks, blackhornet, I'll look into it!

    Edit: So, if I was uploading to Scirra or Kongregate, I'm going to have to get the full address - so I'm probably going to have to upload, find the full address, edit the program and upload again?

  • Thanks for the kind words...I'll pass them along...or feel free to put them in the comments section for his game.

    Done!

  • This is a venting post, because I just can't be bothered jumping through the hoops of the bugs forum when it's their error, not mine.

    The 'or' statement can't handle using an objects variables and a global variable - it screws up!

    And just now I find the damn or statement was only executing global number manipulations and not object variable changes.

    It's not hard to test this yourself. But this is primarily a rant - because it's hard enough finding the bugs you made yourself, but when the bug is in the programming language and not your own fault at all, it's infuriating!

    WTF! It's an 'or' statement - it should just work! It's that simple! Now I'm forever evading using it and instead making it up manually (if 'sausages'>0 then FAKEOR=true. If 'mash'>0 then FAKEOR=true. Is boolean 'FAKEOR' true?)

    GAH!!!!

    Rant done.

  • I found a post here :

    But I don't really get how they are using the browser object to achieve site lock? Is it through running java script? Can anyone give me a hint?

  • Really? I wonder what is going on - I guess I could just try out a score submit button that's always available and see how it goes.

  • As far as I can tell kongregate only lets a game submit a score once per play session. I don't know this, it's just a guesstimate from posting a game or two there.

    While with the Scirra arcade it seems from other games that scores can be sent multiple times per session.

    So if I upload something to kongregate and use a score submit button, I should just have it work once?

    Or am I way off? Does anyone know about score submissions to kongregate?

  • Got stuck right at the start - got the bottle, but couldn't figure out how to progress across the map any further.

  • It's 'Many' not 'Meny'

  • In something like gamemaker I can do this 'x=instance_create(the thing,x,y);

    then I can adjust variables in it with code like x.snazzy = 5

    How can I adjust variables in only the object most recently created?