Menu

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.

Show posts Menu

Messages - MurrayL

#21
For what it's worth, I was contacted by Softpedia when they added my games to the site. The email said what was being put up, had a link to the page, and an email address to contact if I wanted them to take it down.

All the games are fully credited to me (with links back to my site), so I don't see any problem whatsoever with them having them up there. Just gives me a wider audience for free.
#22
The first game I played with a teleport option (which I actually noticed and used) was Gemini Rue, and it worked pretty well. Just press Esc to skip walking (obviously disabled in some places).

I think it would work well when combined with a Longest Journey style 'double-click to run' interface (which frees up space in the GUI).
#23
General Discussion / Re: Diet weight loss
Fri 15/02/2013 14:07:09
Quote from: Khris on Fri 15/02/2013 00:46:28
We all know that one guy who eats loads of junk food but doesn't get fat.

*waves* hullo!

6ft and ~55kg - anyone got any weight gain diets?
#24
General Discussion / Re: Valentines Day!
Thu 14/02/2013 16:05:38
Since I opened it up to make a valentine's themed mini-adventure, I thought this was pretty neat :P
#25
Edit: Ignore me. This post isn't here.
#26
Well, I might be of some use here. My first two full AGS releases were both Ludum Dare entries made over a weekend, so you could say I'm used to a speedy working pace!

My strongest suit is my writing, although I certainly know my way around all but the most complex AGS scripting tasks. I've also got a couple of years experience with Unity, if you choose to go with that engine instead ;)
#27
Quote from: Khris on Thu 07/02/2013 21:40:11
Is this due to the auto-number speech line function not knowing the value of player, or does this also happen if you number the lines yourself? Because the latter would classify as serious bug.

The game searches for the speech by the name of whoever the starting player character is, e.g. if cEgo is the player character, but you later change it to cBuddy, the game will still look for speech files named EGOxxx.wav.
#28
Quote from: Dave Gilbert on Thu 07/02/2013 18:14:31
Not related to the topic, but I noticed something and thought I'd give a warning. If you plan on using voice acting in your game and are also using multiple playable characters, do NOT use "player" with the "Say" command. Always use the character name. AGS uses the character name to determine which VO file to play, so if you use "player" it will royally screw it up. I have done this myself. :-D

Yep - this is the reason subAtomic never got a VO pack. Since then, I've always scripted AGS games using cCharacterName.Say.
#29
General Discussion / Re: Any Arma 2 players
Thu 07/02/2013 19:14:23
Really looking forward to this weekends game - I've wanted to play i44 for ages (after seeing ShackTac videos of it)!
#30
Quote from: Khris on Sun 03/02/2013 22:06:35
Just for reference, there's neither a GUI.DisplayAt command nor a GUI.DisplayAtY command.

Whoops - you're right, they're static commands. I've updated my post to reflect that. This is what happens when I do most of my forum posts without AGS open ;)
#31
I may be wrong, and I hope someone will correct me if I am, but I don't think you can permanently move where a text GUI displays by default.

The fastest solution would be to make your own little wrapper function that moves the text box every time, but this really isn't that much faster than just manually typing gTextDisplay.DisplayatY(200, "hi").

In globalscript.asc:
Code: AGS

function ShowMessage(String msg){
    DisplayAtY(200, msg);
}


In globalscript.ash:
Code: AGS

import function ShowMessage(String msg);


By 'importing' the function in the global header file (the .ash), the engine makes it available to every other script in your game. Now you can just use ShowMessage("bla bla bla"); and it'll stick it in the right place without you needing to specify any coordinates.
The disadvantage, of course, is that it will always show up at 200y. You can experiment with other values, but be wary of accidentally moving the text display off the bottom of the screen - especially with longer messages!
It would be much better if we could position the text box using its bottom co-ordinate, but there's no way to do that.

If you want a little experiment, you could add some code to the ShowMessage function (before the message is displayed) which checks the length of msg, and adjusts the y value accordingly, e.g.

Code: AGS

function ShowMessage(String msg){
    int y = 300 - msg.Length;
    DisplayAtY(y, msg);
}


Some trial and error will be required to get the right values in there.
#32
Quote from: Lewis on Sun 03/02/2013 09:45:15
Sadly, this doesn't work - or rather, it does indeed slow the mouse down, but it's trying to draw both positions as you move it, thus creating something that looks really jerky.

Ah, yes I thought that might happen. It's a shame there's no way to override/delay the default AGS cursor drawing routines.
#33
Whoops - sorry, I completely forgot to convert those floats to integers. I've corrected the script in my earlier post to round the updated positions to whole numbers.
#34
Code: AGS

// Global script
float mouseSensitivity = 0.5; // Modify this value to change how sensitive the mouse is (1.0 = default sensitivity)
int prevMouse[2]; // Store the last known position of the cursor, so we can check if it has moved

function game_start(){
    prevMouse[0] = mouse.x;
    prevMouse[1] = mouse.y;
}

function repeatedly_execute_always(){
    if(mouse.x != prevMouse[0] || mouse.y != prevMouse[1]){ // Mouse has moved from last stored location
        // Work out the mouse movement delta, multiply it with our sensitivity modifier, and round it to an integer
        int newPos[2];
        newPos[0] = prevMouse[0] + FloatToInt(IntToFloat(mouse.x - prevMouse[0]) * mouseSensitivity, eRoundNearest);
        newPos[1] = prevMouse[1] + FloatToInt(IntToFloat(mouse.y - prevMouse[1]) * mouseSensitivity, eRoundNearest);
        
        Mouse.SetPosition(newPos[0], newPos[1]);
        prevMouse[0] = mouse.x; // Update stored location
        prevMouse[1] = mouse.y;
    }
}


Not sure if this will look really weird though. It depends if AGS manages to draw the cursor momentarily before the script moves it. Hopefully not.

Naturally, provided this actually works, you can link that sensitivity variable to a slider in your game options!
#35
I've never used the GUIAnimation module, so I couldn't say why the animation isn't playing (I just looked through the manual and it seems you're doing everything correctly, as long as there is more than one frame in view 32, loop 0).

To have it run before fade-in on every room, you can use the following code in your global script:
Code: AGS

on_event(EventType event, int data){
    if(event==eEventEnterRoomBeforeFadein){
        // Your code goes here
    }
}
#36
Thanks for the interview - it was a pleasure (once I got around to it)!

I noticed that BrutalGamer.com has published what may well be the very first review of Astroloco: Worst Contact!
#37
First, if you've got VO enabled (which I doubt at this stage in development, but you never know!), make sure game.no_textbg_when_voice is set to 0.
If that doesn't fix anything (and it probably won't), try setting game.speech_text_gui to 22.
#38
At the moment this can be (sort of) done like this:

Code: AGS

function myInteraction(){
    cEgo.Walk(360, 240, eNoBlock);
    
    StartCutscene(eSkipAnyKeyOrMouseClick);
    while(cEgo.Moving && !Game.SkippingCutscene){
        Wait(1);
    }
    cEgo.StopMoving();
    EndCutscene();
}
#39
Your browser is obviously opening the scm file as a text file for some reason. Right click the link and 'Save Link As', or 'Save Target As', or whatever your browser calls it.
SMF spam blocked by CleanTalk