MrMiller's Forum Posts

  • I did that already, still didn't work. However, if it was built in .97 it should definitely be working in .97 without the need to use a newer version.

  • It won't open for me. I downloaded it and tried to open it in .97, but an error pops up that says "An attempt was made to access an unnamed file past its end."

  • 1. New video player - Everything that the old one does, but without the timeline bar.

    2. Video Recorder Object - Allows you to record everything that happens within a specified layout or several specified layouts, creating an .avi file that is then sent to a specified folder based on 'App Path'.

    Here are several action ideas:

    *Record For & Temp Save - allows you to record for a specified amount of time. The video file then temporarily saves to a temp folder and then deletes itself after it's been replayed in the game, or can be deleted based on an event.

    *Record For & Save - allows you to record for a specified amount of time. The video file then saves itself to an App Path specified folder.

    <img src="http://farm4.static.flickr.com/3656/5762520244_d121403a6c.jpg">

    *Start Recording & Temp Save - allows you to begin recording any time after an event such as a collision, a button press, or a specified amount of time, etc. The file then temporarily saves to a temp folder and then deletes itself after it's been replayed in the game, or can be deleted based on an event.

    *Start Recording & Save - allows you to begin recording any time after an event such as a collision, a button press, or a specified amount of time, etc. The file then saves itself to an App Path specified folder.

    AND...

    *Stop - allows you to stop recording any time after an event such as a collision, a button press, or a specified amount of time, etc.

    <img src="http://farm3.static.flickr.com/2181/5762446000_9c9899ed68.jpg">

    ... the default would always temporarily save the file to a temp folder.

    ... we should also be able to set the object to 'Global', and also make certain sprites and graphic objects invisible to the recorder by clicking on them in an editor (similar to how the Bones animator allows you to choose limbs/points by clicking on them), so that those sprites and graphic objects won't show up in the final recording file.

    Why does Start and Stop have 'after' commands, and what do they mean?

    The 'after' command for 'Start' means that the object will begin recording video whatever milliseconds you choose after an event occurs.

    The 'after' command for 'Stop' means that the object will stop recording video whatever milliseconds you choose after an event occurs

    Why is having the 'after' command important?

    2 reasons: First, the user may not want to have a sudden stop of recording right when the event occurs because in some instances it can look jolting and therefore unprofessional, so having a bit of a buffer between the event and the stop will eliminate that problem.

    Secondly, for programmers who may make a sports or military combat games, a buffer of time between an event and when the recording stops is imperative for replays, because you'll want to be able to show graphic wipes, transitions, stat overlays, etc. and much of that will come right after a collision event or scoring event or some other type of event occurs. So by allowing the programmer to set the amount of time to keep recording after an event has happened and then stop after a specified time, it allows the programmer to put graphics on top of the video and allows for a smooth transition to the next layout.

    This can also be said for the 'Start' action. There are times when you'll want to begin recording the video after an event, but only after a certain amount of time has passed after that event occurs. The reason is because you're probably trying to zero in something very specific, so having the 'after' command will allow it.

    So then, how would I start or stop recording immediately when an event happens?

    By setting the Millisecond command to '0' like this:

    <img src="http://farm6.static.flickr.com/5146/5762093509_39beb037c9.jpg">

  • Oh, I see. I thought you meant there was a way to somehow directly expose the code running the events. It would've been a cool way to see what makes our event codes tick.

    The Express Game Maker exposes the C# code for xna inside of another program window while you're creating. I always thought that was cool to see how what you're doing with the events and stuff playing out in C#.

  • If you download the source code for Construct, and look at the code that is generated for each condition and action you use (along with the objects in the layout editor)

    Wait... that can be done? I wasn't aware of that. Could you show us how?

  • <img src="http://farm4.static.flickr.com/3588/5747767094_2f097b2b26.jpg">

    1. Click the Project tab (not the one at the top of the Construct window), then look at the list it gives you. You should see a folder named "Global Variables".

    2. Right-click on that folder and click on "add global variable".

    3. A small window will pop up named "Construct: Add global variable", and this is where you will name your Global Variable (in the first field), decide whether the Global Variable type will be text or a number (see the pull-down menu), and decide what the initial value of the Global Variable will be (third field).

    4. When you've chosen all of what you want to do in #3, click OK, and you've created a Global Variable.

    Now the Global Variable is in and can be used in events.

  • I know last summer while I was finishing up a project, I had a number of sounds and music in my .cap. When I went to export the .cap to .exe, some sounds refused to play. A number of people jumped in to help me out here (I really appreciated that!), but in the end we determined the problem of some sound files not playing was the result of a bug and nothing could be done.

    Aside from the Layout Object breaking when you export to .exe, this would be #1 on my list of things I'd give my small toe for to have fixed, and by fixed I mean done like MMF2 where the sounds simply embed themselves into the .exe. My dislike for MMF2 is well-documented, but I've always loved that one thing about it at least.

  • Thanks, alspal! I understand exactly now. This is fantastic!

    At first I was concerned with how I would keep track of each gang members folder in an organized way, but now I'm thinking I should be okay changing both the 'data' part of the expression and the primary gang folders to the name of a gang, and then using a separate chart to match animation names with gang member names like:

    CrushersData >>> 0-1 >>> Chart says '0-1' is Bob

    CrushersData >>> 2-3 >>> Chart says '2-3' is Mike

    ... and so on.

  • Thanks for .cap. I think your example is different from what I'm trying to do though. Here is a .cap with image folders that fully illustrates my target.

    https://rapidshare.com/files/2388230909 ... ample1.zip

    In the .zip you'll find:

    1. One main folder for the Crushers and one main folder for the Rammers. Both folders contain sub-folders that correspond directly with the animations named in the Animator in the .cap, and they contain the image files that would need to be called up using events and populated into the correct animation sets (i.e. the image frames in the "BobMoving" folder would need to be called up into the "BobMoving" animation set in the .cap at runtime based on selecting the gang Bob is a part of which in this case would be the blue gang - The Crushers).

    2. The .cap

    In the "Gang Selection" screen, select one of the gangs by using the up and down arrow on the keyboard, and then press 'Enter'. This will take you to Layout 2 which is the "Fight" area and it shows the gang you selected fighting with the Bashers gang (in red).

    In a nutshell, when you select a gang in Layout 1, in the next layout (Layout 2) the gang you selected should be visible there (based on a Global Variable), and all of the frames for each animation name for each gang member of that gang should be called up from the proper folder and sent into the proper named animation sets.

  • EDIT: Okay, the diagram shows 23 gang members each (lol) but that doesn't change anything

    You were a little ambiguous on some details, in particular how many sprites your using.

    That's because I'm not able to get an approximate number at the moment, but in the diagram below I've attempted to ball park the number.

    I'm assuming, you have 1 sprite which is used for each member in the gang and each member uses a different animation set?

    Correct.

    I'm also assuming you wanted to use this same sprite for all 26 gangs, but for each gang you want to replace all the frames with frames for their gang?

    Well, some frames will be different. But the idea is to be able to call up the frames from a file folder for any gang and then replace the frames of a gang that already has its frames in the Animator.

    The red dots represent the Bashers and its 23 gang members (with all of its animation frames and angles), the green dots represent the Rammers and its 23 members (with all of its animation frames and angles).

    <img src="http://farm3.static.flickr.com/2721/5731839159_22ac7ef893.jpg">

    Now, imagine that one of the Rammers 23 gang members animations are in the Animator box and there are several animation angles there as well:

    <img src="http://farm4.static.flickr.com/3118/5731853921_96a54d70d3.jpg">

    As the first diagram shows, I'm trying to replace all of the Rammers animation frames with the Crushers animation frames by calling the frames up from a file when I press a controller button or press a key.

  • Let's say your game has 26 different gangs and each gang has its own color. In the gang selection screen, you have a gang called the "Bashers" and their color is red. There are 22 gang members in the "Bashers", so that means that all 22 men have multiple animation angle sets in the animator.

    But, you want to select the "Crushers". They have the same number of gang members and the same number of animation angle sets, except their color is navy blue.

    How would I call up the Crushers frames from file and replace all of the Bashers animation frames in the Animator?

  • ^^^ I just went back and tested "write as value" again and it did register. Maybe the mix up could've been that when I tried to write it as a value on my first attempt the expression wasn't written exact and I didn't realize it at that moment, but the second time when I wrote it as a string I wrote it exactly.

    EDIT: Yep. I just retraced my steps with 'undo', and the above is exactly what I did. Perhaps Steven did the same?

    Now I'm wondering; since my example shows it working written as a string, are there any pros and cons to writing it as a string? Or is it a situation where using either one would be okay?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think I've got it. I tried to do the same thing you did writing it as a value and I kept getting zero as well.

    So instead, I tried writing it as a string and it did send the Global Variables value to the ini file. Check it out:

    <img src="http://farm4.static.flickr.com/3276/5722180552_f81f186789_z.jpg">

    In the ini file it wrote:

    [Hello]

    Name3=1

  • You know what would be a fantastic object? One that streamlines Toralord's example all into one object.

    Another idea would be an audio-video recording object that begins recording based on an event like: On Enter key pressed or on collision between Sprite A and Sprite B >>> record layout

    It could create an .avi that would save to it's own folder, and through event expressions we could call the file up from the folder. It would definitely need functions to have the file delete or save itself based on events, and allow the end user to save whatever recording he chooses... allow pauses, rewinds, and fast forwards...

    I know I'm just wishing out loud, but man that would be great!

  • zero based mean if you use random(4)

    the following number will be generated

    0 1 2 3 4

    so add +1 at the end like;

    random(4)+1

    Okay I see. I initially tried to do something like (4+1) and was getting a better result but ultimately the same problem, I didn't think to go outside the parentheses with it for some reason. Thanks guys. Solved:

    How To Randomly Jump To Different Layouts

    <img src="http://farm3.static.flickr.com/2773/5715203234_4ac5a8c774_z.jpg">