MODULE: AGS Console v4.0(Custom Cheat Commands)

Started by Dualnames, Thu 25/10/2007 18:46:11

Previous topic - Next topic

Dualnames

AGS Console v4.00

Created by Nik 'Ashen' Mallon and Jim "Dualnames" Span

Remember Quake Engine with that useful cheating console well you can add one to your game. Mainly used for debug ...

UPDATE 2/11/2007
------------------------
Ashen has PMed me, sending me an improved version of my console
You can type in now like you did on HL2 so if you want you can add cheat codes.... Hehehe. And many more things to debug.
Really's worth it. v2.72. I don't know if it works with AGS 3.00.

UPDATE 13/11/2007
---------------------------
Well Ashen had some troubles on his internet connection. Anyway the version is up...

New zip contains:
AGSCon2.scm (module)
AGSCon2.gue (2.72 GUI)
AGSCon2.guf (3.0 GUI - not tested the module in in 3.0, but there's no reason most/all of it wouldn't work just fine)
ReadMe.html (a readme)


UPDATE 18/11/2008
---------------------------

A year after, and we're back
-What is off for now?
-SSH DeNGVat Module(We'll work on implementing it)
-Custom cheat commands(We'll add them)


UPDATE 8/5/2008
---------------------------

A year after, and we're back
-What is off for now?
-SSH Ultra VariablesModule(We'll work on implementing it)
-Found the original module yay
-Custom commands are done the Ashen way.

Download
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

subspark

Is this for AGS 3.0? I hope so because your .gue format is now obsolete.

Please provide the correct .guf if you would be so kind.

Cheers,
Paul.

Pumaman

Since 2.72 is the current official version, I don't understand the tone of your reply?

subspark

#3
There wasn't any tone. I wasn't being futile or rude. In fact the complete lack of tone on text messages often causes such misinterpretations.
I was not sure if Jim's console module was for AGS 3.0 or not. I was hoping it would be.

Your right, AGS 2.72 IS the official version however I have adopted the new beta and would love Jim's console module to work with that version.
That said, I completely overlooked the fact that this was intentionally written for 2.72 so that's my fault and I apologise for the misunderstanding on that front.
I am however surrounded by AGS 3.0 development and made the false assumption that everyone has moved onto the new version.

I hope I haven't caused any upset feelings to you Jim, or you Chris. I'll be double sure to post with more clarity and word my responses more carefully next time.

EDIT: I look forward to testing Console Module in AGS 2.72. I did eventually manage to load it up in 3.0 with my own GUI and to all extent it seemed to compile and run. It did crash as soon as I hit the tilde key but I'm sure with a little work this cool module could in fact be made to run with 3.0. I encourage development for the latest version too. It's good to see so many hards dirty with the new editor. It's really becoming a great platform to work in.

Again my sincere apologies for any misgiving I may have caused you fine gentlemen.

Cheers,
Paul.

monkey0506

#4
Instructions for porting a 2.72 GUE file to a 3.0 GUF file:

1) Open a project file in AGS 2.72. It doesn't matter which project since you can delete the GUI anyway.
2) Import the GUE file.
3) Save and exit.
4) Open the same AGS 2.72 project using AGS 3.0. (If you want to continue development of this project in AGS 2.72 make sure to back up your files!)
5) Export the GUI as a GUF file.
6) Import the GUF into your AGS 3.0 projects as desired.
7) (optional) If you want to continue development of your AGS 2.72 project exclusively in AGS 2.72 you can safely delete all files from the project folder and replace them with the files in the "Backup" folder.
8 ) (optional) Delete the GUI from your AGS 2.72 game project.

:=

AGS Console for AGS 3.0*
Download

;D

@subspark: It's okay man. No worries. Just download the AGS 3.0 version of the GUI. :D

*This is the original module by Dualnames. The script and GUI have not been modified in any way other than porting the AGS 2.72 GUE file to an AGS 3.0 GUF file.

subspark

Yep thanks for that. Even though that option was available to me I thought perhaps he had exported the wrong GUI for the wrong version. I can't stress enough how wrapped up in AGS 3.0 Development I've been in order for me to overlook such an obvious reason for the *.GUE file instead of the *.GUF. I'm truly embarrassed.  :-[

Paul.

Ghost

A useful tool indeed, thank you for sharing. I am sure it'll prove useful.

Khris

It's handy for debugging, thanks.

The code is a bit overcomplicated though.
Take a look at:
Code: ags
function AGSKey(int asciicode) {
int gcd = asciicode;
String more = String.Format("%d",gcd);
String enough = String.Format("%c",gcd);
String keyk = "Player has pressed ";
keyk = keyk.Append(enough);
keyk = keyk.Append(" and it's keycode is ");
keyk = keyk.Append(more);
keyk = keyk.Append(" .");
libx.AddItem(keyk);
}


That's essentially the same as
Code: ags
function AGSKey(int asciicode) {
  libx.AddItem(String.Format("Player has pressed %c and its keycode is %d.", gcd, gcd));
}

Dualnames

The code is a bit over complicated. But it helps me read through it. Anyway glad you guys liked it.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

subspark

Quote from: Jim "Dualnames" Span on Sat 27/10/2007 21:57:30
The code is a bit over complicated. But it helps me read through it. Anyway glad you guys liked it.

Yeah it's fantastic mate. We appreciate the time you put into this. It's rather impressive and very useful.

Cheers,
Paul.

Dave Gilbert

This sounds very useful, but I'd like to know more about the console before I download it and install it.  Could you provide a list of the features that this console gives you? 

subspark

is there a way to make it more like the half-life 1 console? Where you can type commands in and it's will result will occur. It's handy for feedback but can you actually manipulate your compiled game using such a console? Perhaps some of us would like to be able to add developer cheats for easy gameplay testing?

Cheers,
Paul.

Lt. Smash

Quote from: subspark on Sun 28/10/2007 12:18:30
is there a way to make it more like the half-life 1 console? Where you can type commands in and it's will result will occur. It's handy for feedback but can you actually manipulate your compiled game using such a console? Perhaps some of us would like to be able to add developer cheats for easy gameplay testing?

Cheers,
Paul.
I think this would be a good theme for an ags plugin.  ;)

Ashen

It should be easy enough to add basic controls (add/lose inv, teleport to new room/coords,  set globalints, change views - like the dialog script functions, but more of them) with a module, but I don't think you'd be able to manipulate your custom variables. Would a plugin be able to provide that, too?
I know what you're thinking ... Don't think that.

SSH

Quote from: Ashen on Sun 28/10/2007 14:25:53
It should be easy enough to add basic controls (add/lose inv, teleport to new room/coords,  set globalints, change views - like the dialog script functions, but more of them) with a module, but I don't think you'd be able to manipulate your custom variables. Would a plugin be able to provide that, too?

You mean, like DeNGVaT?
12

Ashen

Unless I'm missing something, that's not quite what I meant.

That's the way you'd have to go about it, obviously, and it looks like it'd be next to no work getting the two to work together (as DeNGVaT is such a nifty bit of work) - but I meant 'normal' variables (that might exist before the console module is imported), not ones specially set up to work with the console. Anything that takes a String, int or float parameter (as the DeNGVaT functions do) would be OK, but I don't see how you could do something like myint = 5;. (Well, I suppose you could manually set up 'alias' links between every variable you declare and a DeNGVaT variable - but that seems like a lot of work.)

If I AM missing something in DeNGVaT, and that's possible and practical, then it's an even better module than I thought...
I know what you're thinking ... Don't think that.

Dualnames

Actually yes DengVat is a useful module for debugging. Anyway about the AGS console, if you care to put some work on the module and make some functions do that. Or post here or rather PM me if you want some function added. I've tried to add a line like Dialog 1 started, when a dialog starts but I couldn't script it, unless i went into every line before a dialog starts and put some line of code. i made this using AGS 2.72 so don;t be smart if there's something new added. But please do tell. i might have to upgrade it. We could create that scroll effect that these consoles have as well.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Monsieur OUXX

This console looks great, I implemented one myself in AGSH but it's always better to use some dedicated code - then you are sure that it's more performant and that there are less bugs because everybody tested it.

I'll see if I can swap them ;-)
 

Dualnames

Actually , I inspired all this idea from the AGSH modules.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Ashen

Quote
I've tried to add a line like Dialog 1 started, when a dialog starts but I couldn't script it, unless i went into every line before a dialog starts and put some line of code.

It is something the user would need to build into their game (like using DeNGVaT, or a similar system, to make variables changable in the console), if they wanted the conosle to log it. (I think saving a game is the same - there's eEventRestoreGame, but no eEventSaveGame). Including a custom StartDialog(Dialog *theD)[/i] function would be easier than having to manually add the line every time, though.
I know what you're thinking ... Don't think that.

SMF spam blocked by CleanTalk