Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
runegoblin

Auto Screenshot - is it possible?

Recommended Posts

Well, hello dudes!

I'm trying something in a WAD I'm working on and I need to know if there's a way to take screenshots automatically during gameplay - like sectors that activate this function or some script that takes screenshots from time to time.

I'm working in an artistic use of the old doom and this was ratter important for the article I'm workin on.

Tnx a lot!

Share this post


Link to post

Yes it is possible but the method depends on the port you use and how exactly you want it to work. We'll need more info to assist further.

Share this post


Link to post

Hmmm, nice to know. I'm actually building it in DoomBuilder using Skulltag (Doom in Hexen format) for it. Is that it?

I think it would vbe better if associated with a timer, taking screens from time to time...

Share this post


Link to post

With Skulltag (or its successor Zandronum), you can use the ConsoleCommand ACS function to call screenshot from within ACS. Use this approach if you want to precisely choose at which point screenshots should be taken.

For a timer system, you can make yourself a small command alias. For example, to take a screenshot every minute:

alias screenshotminute "screenshot; wait 2100; screenshotminute"
screenshotminute
Type that in the console, and it'll take a screenshot every 2100 tics. (There are 35 tics per second, so 2100 tics in one minute.) Since the alias calls itself back after waiting, it works as an endless loop. To stop it, redefine the alias so it doesn't call itself anymore, for example:
alias screenshotminute ""

Share this post


Link to post

No, it didn't work. MAybe cus' I'm too noob to know how to implement it... Anyway... as I was reaging about de ConsoleCommand, there's this state:

The following commands may not be used with ConsoleCommand.

unbindall
unbind
bind
quit
exit
logfile
alias


If is that so, I just can't use alias for that.

Hoping for more help, here's the script I'm already using. Maybe there's a way to use the auto screenshot functio toguether with it?

#include "zcommon.acs"

script 1 ENTER
{
    //Remove every single weapon (including fists)
    ClearInventory();
    
    //hide HUD
    ConsoleCommand("r_drawplayersprites 0");
    ConsoleCommand("screenblocks 12");
    ConsoleCommand("crosshair 0");
    ConsoleCommand("show_messages 0");
    
    //Slow down player (just an optional touch)
    SetActorProperty(0,APROP_Speed,0.7);
}
That's it. Tnx, anyway :D

Share this post


Link to post

I don't mean to create an alias with ConsoleCommand. I mean to type it directly in the console. You don't need ConsoleCommand for that!

Share this post


Link to post

Hmmm... but thats the trick: I need it to work automatically, without the need to open the console every time...

Share this post


Link to post

http://zdoom.org/wiki/CCMDs

To run the alias automatically:
Open a text editor, e.g.: Notepad
Enter the text as posted by Gez
Save as autoexec.cfg in a folder which is specified in zdoom-user.ini


To start the alias after starting the game:
append bind 'key' before screenshotminute

Share this post


Link to post

dudes, seriously... or I'm a real retarded or this just don't work. Although, I just suppose I'm a noob at this and dont understand $#1+ of what you guys are tryin' to explain to me.

I made the autoexec.cfg as stated and placed in the skulltag.exe directory. Nothing happened.

Sorry for all this but... can you help like "for dummies"? lol **

Share this post


Link to post

Hmm ...., yes.
I just tried it and you are correct.

If you did not bind the command to a key then shorten the contents of the autoexec.cfg a bit:

alias ssm "screenshot; wait 175; ssm"
ssm

Now running the game, pull down the console and type ssm and every 5 secs a screenshot is saved.

Or you could use the original

alias screenshotminute "screenshot; wait 2100; screenshotminute"
screenshotminute

and bind it to a key, eg: bind o screenshotminute
This way you only have to press o and the command executes the alias.

Adjust the wait time to your need. However, too small a wait interval and the game will be unplayable, since the screenshot requires quite some time.

Share this post


Link to post

dude... it just dont work. No screenshots are taken, either by using:

alias ssm "screenshot; wait 175; ssm"
ssm
or:
alias screenshotminute "screenshot; wait 2100; screenshotminute"
screenshotminute
And I just dont know why. As I think, its working there with you, but here seems just to do nothing. And when I entered de ssm in the console, apeared something like unknown command 'ssm'...

God, this just sucks...

Share this post


Link to post

You can use Visual Studio Express to make a Windows Forms application that, after a button is clicked, periodically presses a key, such as F1, F12 or Print Screen. I had to make one to get periodical Starcraft screenshots.

Share this post


Link to post
runegoblin said:

alias screenshotminute "screenshot; wait 2100; screenshotminute"
screenshotminute

This is probably a dumb thing to ask, but did you type this into your ACS or in game console?

You have to go Menu -> Options -> Go to Console and then type it in, with the quotation marks.

Share this post


Link to post

both. and none worked

-------------------------

EDIT

Oh! It finally worked! Just thinking about what Kappes Buur said about shortenning the things and making it through the console anda then,... Poof!

Thanks again, guys. :D

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×