Forums Index >> Modding >> only modding left
Page : <1> :
Installing ModWizard:
1. There should be a folder that you downloaded called "Help" along with other folders. Put all the files that are in the "Help" folder in to this location: thinktanks/contents/resources/client/help/ (these are additional in-game help pages for the ModWizard.
2. There is another folder that you downloaded called "client", put all the files in that into: ThinkTanks/contents/resources/client/scripts/ (these are the preferences and a script to control the hotkeys)
3. Another folder that you downloaded is called "server" folder into: ThinkTanks/contents/server/scripts/ (I'm pretty sure that path is right im not sure though because im not on a mac)(this is the main script)
Now look for a file called main.cs Depending on where you got the actuall game it will be in a different place. It will probably in the main thinktanks folder though.: ThinkTanks/main.cs.
4. Open up main.cs with a text editor (again im not on a mac so im not sure if this is completely correct) it should be something like right clicking on it and click "open with" and then choose notepad. Now you should see alot of jibberish. Scrol down until you see these lines (It's around at the bottom of the file)
// Display an error message for unused arguments
for ($I = 1; $I < $Game::argc; $I++) {
if (!$argUsed[$I])
error("Error: Unkown command line argument: " @ $Game::argv[$I]);
}
5. Right after the "}" add a space then add the following lines:
// ModWizard
exec("game/server/scripts/ModWizardMain.cs");
if (!$Server::Dedicated) {
moveMap.bindCmd(keyboard, "m", "", "exec("game/client/scripts/ModWizardBindings.cs");");
}
(copy and paste them to avoid mistakes)
Now it should look like this.
// Display an error message for unused arguments
for ($I = 1; $I < $Game::argc; $I++) {
if (!$argUsed[$I])
error("Error: Unkown command line argument: " @ $Game::argv[$I]);
}
// ModWizard
exec("game/server/scripts/ModWizardMain.cs");
if (!$Server::Dedicated) {
moveMap.bindCmd(keyboard, "m", "", "exec("game/client/scripts/ModWizardBindings.cs");");
}
6. Save that file. (you can always simply delete these lines to remove the script from ThinkTanks)
7. Read through the rest of this page and familiarize yourself with the keys. (if you need to change them, there is information on this lower down)
8. Now fire up ThinkTanks itself and create a server. Make sure there are no bots, and set a password so that people don't come in and interfere. The ModWizard will not work if there is anyone else in the server.
9. Once in the new server, simply press M and the script is activated. Pressing M again, will deactivate it.
M
Activate / Deactivate the ModWizard script (you will get notification on-screen that it has loaded properly)
Adding Objects
1
Add a Bounce pad
2
Add a fixed booster arrow
3
Add a changing direction booster arrow
4
Add a reload gate
5
Add a powerup
6
Add a tree
7
Add a rock
8
Add a volcano
9
Add bones
0
Add the other type of bones
Y
Add blue team spawn point
U
Add green team spawn point
Edit Actions
K
Delete nearby objects
T
Raise nearby objects by the current 'nudge size'
G
Lower nearby objects by the current 'nudge size'
CTRL Z
Delete all objects
Nudge Size (see note below)
CTRL 1
Small nudge size
CTRL 2
Medium nudge size
CTRL 3
Large nudge size
Radius Size (see note below)
CTRL 4
Small radius size
CTRL 5
Medium radius size
CTRL 6
Large radius size
View Options
CTRL Y
Show Spawn Points
CTRL U
Hide Spawn Points
Miscellaneous
Q
Commit suicide and respawn
CTRL S
Save the current mission
Only lethal on days that end with "Y"
Last edited: Monday, April 17, 2006 at 8:08:37 AM
Thank you sersh u r my number 1 person for things I will try and then I will come back here and telll u how its gone.
my blaster will destroy u!
.....Copied from the "Utilities" Section....
Wow, im suprised at how he acts sometimes!...lol ;)
Thinktanks: $20 New Mouse: $15 Winning an indy scrum game: Priceless
Actually if you noticed I edited it a whole lot
Basically the only rules I used from util were 6 7 8 9 and the controls
Only lethal on days that end with "Y"
Last edited: Monday, April 17, 2006 at 6:15:40 PM
I did what u said and it don't work wierd plus u forgot the ThinkTanks/contents/resources <(u got that bit) >(u forgot the game bit) Thinktanks/contents/resources/game/client/help so on have I done it right?
my blaster will destroy u!
If it helps any the "help" folder that you d/l isnt really needed. Make sure you dont put the actuall folder called "server" into the server folder, just put the files that were in the "server" folder you downloaded, into Thinktanks/contents/resources/game/server/scripts folder. Confusing I know but to be able to mod you need to be able to understand this kind of crap. ;) Same goes with the "client" folder you downloaded. Put all the files that were in the client folder that you downloaded in to Thinktanks/contents/resources/game/client/scripts.
The main.cs thing is also really important you need to make sure everything is in the right place. Otherwise it cant execute the files. Hope this helps! %)
Only lethal on days that end with "Y"
I'll try it I think it will help but anyway I will come back and see if it works.
my blaster will destroy u!
Here I'll Put It Like This, Make You Main.cs Look Like This.
//-----------------------------------------------------------------------------
// Torque Game Engine
//
// Copyright (c) 2001 GarageGames.Com
// Portions Copyright (c) 2001 by Sierra Online, Inc.
//-----------------------------------------------------------------------------
$baseMods = "common";
$userMods = "game";
$displayHelp = false;
//-----------------------------------------------------------------------------
// Support functions used to manage the mod string
Function pushFront(%list, %token, %delim)
{
if (%list !$= "")
return %token @ %delim @ %list;
return %token;
}
Function pushBack(%list, %token, %delim)
{
if (%list !$= "")
return %list @ %delim @ %token;
return %token;
}
Function popFront(%list, %delim)
{
return nextToken(%list, unused, %delim);
}
Function doCompileAll()
{
for(%file = findFirstFile("*.cs"); %file !$= ""; %file = findNextFile("*.cs"))
{
if (strstr(%file,"/CVS/") != -1)
continue;
compile(%file);
}
for(%file = findFirstFile("*.gui"); %file !$= ""; %file = findNextFile("*.gui"))
{
if (strstr(%file,"/CVS/") != -1)
continue;
compile(%file);
}
%misfile = new FileObject();
if (%misfile.openForWrite("game/data/missions/missions.txt"))
{
exec("common/server/missionInfo.cs");
%misfile.writeLine("[name]");
for (%file = findFirstFile("*.mis"); %file !$= ""; %file = findNextFile("*.mis"))
{
if (strstr(%file,"/TT") == -1 && strstr(%file,"Brain") == -1)
continue;
if (strstr(%file,"/CVS/") != -1)
continue;
buildLoadInfo(%file);
while (strstr(%file,"/") != -1)
%file = getSubStr(%file,strstr(%file,"/")+1,strlen(%file)-strstr(%file,"/")-1);
%file = getSubStr(%file,0,strlen(%file)-4);
%misfile.writeLine(%file @ "=" @ MissionInfo.name);
}
%misfile.close();
clearLoadInfo();
}
%savePref = $pref::Terrain::useSmall;
$pref::Terrain::useSmall = false;
for(%file = findFirstFile("*.ter"); %file !$= ""; %file = findNextFile("*.ter"))
{
if (strstr(%file,"/TT") == -1)
continue;
if (strstr(%file,"/CVS/") != -1)
continue;
%terr = new TerrainBlock() {
terrainFile = %file;
squareSize = "8";
tile = "0";
blockShift = "7";
};
if (%terr.blockShift == 7)
{
// possible that terrain was already 6, even though
// block shift was set to 7 in constructor above...
//...that's why this is conditional.
echo("Reducing terrain :" @ %file);
%terr.blockShift = "6";
%terr.resave("","_LO");
}
%terr.delete();
}
$pref::Terrain::useSmall = %savePref;
}
//------------------------------------------------------------------------------
// Process command line arguments
For ($I = 1; $I < $Game::argc ; $I++)
{
$arg = $Game::argv[$I];
$nextArg = $Game::argv[$I+1];
$hasNextArg = $Game::argc - $I > 1;
$logModeSpecified = false;
Switch$ ($arg)
{
//--------------------
case "-log":
$argUsed[$I]++;
if ($hasNextArg)
{
// Turn on console logging
if ($nextArg != 0)
{
// Dump existing console to logfile first.
$nextArg += 4;
}
setLogMode($nextArg);
$logModeSpecified = true;
$argUsed[$I+1]++;
$I++;
}
else
error("Error: Missing Command Line argument. Usage: -log <Mode: 0,1,2>");
//--------------------
case "-demo":
$argUsed[$I]++;
$Game::DemoMode = true;
//--------------------
case "-show":
// A useful shortcut for -mod show
$userMods = strreplace($userMods, "show", "");
$userMods = pushFront($userMods, "show", ";");
$argUsed[$I]++;
//--------------------
case "-console":
enableWinConsole(true);
$argUsed[$I]++;
//--------------------
case "-compileAll":
$argUsed[$I]++;
enableWinConsole(true);
// call doCompileAll() below...
//--------------------
case "-jSave":
$argUsed[$I]++;
if ($hasNextArg)
{
echo("Saving event log to journal: " @ $nextArg);
saveJournal($nextArg);
$argUsed[$I+1]++;
$I++;
}
else
error("Error: Missing Command Line argument. Usage: -jSave <journal_name>");
//--------------------
case "-jPlay":
$argUsed[$I]++;
if ($hasNextArg)
{
playJournal($nextArg,false);
$argUsed[$I+1]++;
$I++;
}
else
error("Error: Missing Command Line argument. Usage: -jPlay <journal_name>");
//--------------------
case "-jDebug":
$argUsed[$I]++;
if ($hasNextArg)
{
playJournal($nextArg,true);
$argUsed[$I+1]++;
$I++;
}
else
error("Error: Missing Command Line argument. Usage: -jDebug <journal_name>");
//-------------------
case "-help":
$displayHelp = true;
$argUsed[$I]++;
//-------------------
case "-test":
$Game::testMode=true;
$argUsed[$I]++;
}
}
//-----------------------------------------------------------------------------
// The displayHelp, onStart, onExit and parseArgs function are overriden
// by mod packages to get hooked into initialization and cleanup.
Function onStart()
{
// Default startup function
}
Function onExit()
{
// OnExit is called directly from C++ code, whereas onStart is
// invoked at the end of this file.
disconnect();
}
Function parseArgs()
{
// Here for mod override, the arguments have already
// been parsed.
}
Package Help {
function onExit() {
// Override onExit when displaying help
}
};
Function displayHelp() {
activatePackage(Help);
// Notes on logmode: console logging is written to console.log.
// -log 0 disables console logging. (default)
// -log 1 appends to existing logfile; it also closes the file
// (flushing the write buffer) after every write.
// -log 2 overwrites any existing logfile; it also only closes
// the logfile when the application shuts down.
Error(
"ThinkTanks command line options: "@
" -log <logmode> Logging behavior; see main.cs comments for details "@
" -console Open a separate console "@
" -jSave <file_name> Record a journal "@
" -jPlay <file_name> Play back a journal "@
" -jDebug <file_name> Play back a journal and issue an int3 at the end "@
" -test Test launch the app "@
" -help Display this help message "
);
}
//--------------------------------------------------------------------------
// Default to a new logfile each session.
if (!$logModeSpecified) {
setLogMode(0);
}
// Set the mod path which dictates which directories will be visible
// to the scripts and the resource engine.
$modPath = pushback($userMods, $baseMods, ";");
setModPaths($modPath);
// Get the first mod on the list, which will be the last to be applied... This
// does not modify the list.
nextToken($modPath, currentMod, ";");
// Execute startup scripts for each mod, starting at base and working up
echo("--------- Loading MODS ---------");
function loadMods(%modPath)
{
%modPath = nextToken(%modPath, token, ";");
if (%modPath !$= "")
loadMods(%modPath);
Exec(%token @ "/main.cs");
}
loadMods($modPath);
echo("");
// Parse the command line arguments
echo("--------- Parsing Arguments ---------");
parseArgs();
// Either display the help message or startup the app.
if ($displayHelp)
{
enableWinConsole(true);
displayHelp();
}
else if ($Game::argc==2 && $Game::argv[1] $= "-compileAll")
{
doCompileAll();
quit();
}
else
{
onStart();
echo("Engine initialized...");
}
// Display an error message for unused arguments
for ($I = 1; $I < $Game::argc; $I++) {
if (!$argUsed[$I])
error("Error: Unkown command line argument: " @ $Game::argv[$I]);
}
// ModWizard
exec("game/server/scripts/ModWizardMain.cs");
if (!$Server::Dedicated) {
moveMap.bindCmd(keyboard, "m", "", "exec("game/client/scripts/ModWizardBindings.cs");");
}
LIfe Is Always Better When Other People Are Doing The Work For You.
All u did was copie and paste lol
my blaster will destroy u!
Page : <1> :
Hello
ok now I know how to put skins onto my tank all I need to know is how u mod. I install modwizard onto my mac than it says choose application where do I put it plz help I'm sure if I get some help I can figure out how to do the next things.
Thx for help Des :)
p.s if I can't figure out how to do it I will come back here.
thx again Des :)