Author Topic: Restarting server via TorqueScript?  (Read 1357 times)

Just like when changing the game mode, the mission restarts itself.

How does it do that? How reliable is it? Has science gone too far?

post pls xxoo

Just change to the same game mode.

Just change to the same game mode.
What's the function to do this?

I'm not sure but I think that the function to change the gamemode is changeGameMode(); but I have no idea how to retrieve the current gamemode since $GameModeArg does not work and $Pref::Gui::GameMode::SelectedGamemode seems to be client sided...

I tried export("$*gamemode*", ...) and this came out:
Code: [Select]
$AddOn__GameMode_Blockheads_Ruin_Xmas = -1;
$AddOn__GameMode_Rampage = -1;
$AddOn__GameMode_SpeedKart = -1;
$AddOn__GameMode_Tutorial = -1;
$CrapOnName_GameMode_JJsCityRPG = 1;
$GameModeArg = "";
$GameModeDisplayName = "Custom";
$GameModeGuiServer::GameMode0 = "Add-Ons/GameMode_Two_Ship_DM/gamemode.txt";
$GameModeGuiServer::GameMode1 = "Add-Ons/GameMode_Tutorial/gamemode.txt";
$GameModeGuiServer::GameMode2 = "Add-Ons/GameMode_SpeedKart/gamemode.txt";
$GameModeGuiServer::GameMode3 = "Add-Ons/GameMode_Rampage/gamemode.txt";
$GameModeGuiServer::GameMode4 = "Add-Ons/GameMode_Pirate_DM/gamemode.txt";
$GameModeGuiServer::GameMode5 = "Add-Ons/GameMode_Ninja_Jump_Challenge/gamemode.txt";
$GameModeGuiServer::GameMode6 = "Add-Ons/GameMode_MotE_Mansion/gamemode.txt";
$GameModeGuiServer::GameMode7 = "Add-Ons/GameMode_Freebuild/gamemode.txt";
$GameModeGuiServer::GameMode8 = "Add-Ons/GameMode_Custom/gamemode.txt";
$GameModeGuiServer::GameMode9 = "Add-Ons/GameMode_Blockheads_Ruin_Xmas/gamemode.txt";
$GameModeGuiServer::GameModeCount = 10;
$GameModeGuiServer::MissingAddOns0 = "";
$GameModeGuiServer::MissingAddOns1 = "";
$GameModeGuiServer::MissingAddOns2 = "";
$GameModeGuiServer::MissingAddOns3 = "";
$GameModeGuiServer::MissingAddOns4 = "";
$GameModeGuiServer::MissingAddOns5 = "";
$GameModeGuiServer::MissingAddOns6 = "";
$GameModeGuiServer::MissingAddOns7 = "";
$GameModeGuiServer::MissingAddOns8 = "";
$GameModeGuiServer::MissingAddOns9 = "";
$GameModeGuiServer::Preview0 = "Add-Ons/GameMode_Two_Ship_DM/preview.jpg";
$GameModeGuiServer::Preview1 = "Add-Ons/GameMode_Tutorial/preview.jpg";
$GameModeGuiServer::Preview2 = "Add-Ons/GameMode_SpeedKart/preview.jpg";
$GameModeGuiServer::Preview3 = "Add-Ons/GameMode_Rampage/preview.jpg";
$GameModeGuiServer::Preview4 = "Add-Ons/GameMode_Pirate_DM/preview.jpg";
$GameModeGuiServer::Preview5 = "Add-Ons/GameMode_Ninja_Jump_Challenge/preview.jpg";
$GameModeGuiServer::Preview6 = "Add-Ons/GameMode_MotE_Mansion/preview.jpg";
$GameModeGuiServer::Preview7 = "Add-Ons/GameMode_Freebuild/preview.jpg";
$GameModeGuiServer::Preview8 = "Add-Ons/GameMode_Custom/preview.jpg";
$GameModeGuiServer::Preview9 = "Add-Ons/GameMode_Blockheads_Ruin_Xmas/preview.jpg";
$GameModeGuiServer::Thumb0 = "Add-Ons/GameMode_Two_Ship_DM/thumb.jpg";
$GameModeGuiServer::Thumb1 = "Add-Ons/GameMode_Tutorial/thumb.jpg";
$GameModeGuiServer::Thumb2 = "Add-Ons/GameMode_SpeedKart/thumb.jpg";
$GameModeGuiServer::Thumb3 = "Add-Ons/GameMode_Rampage/thumb.jpg";
$GameModeGuiServer::Thumb4 = "Add-Ons/GameMode_Pirate_DM/thumb.jpg";
$GameModeGuiServer::Thumb5 = "Add-Ons/GameMode_Ninja_Jump_Challenge/thumb.jpg";
$GameModeGuiServer::Thumb6 = "Add-Ons/GameMode_MotE_Mansion/thumb.jpg";
$GameModeGuiServer::Thumb7 = "Add-Ons/GameMode_Freebuild/thumb.jpg";
$GameModeGuiServer::Thumb8 = "Add-Ons/GameMode_Custom/thumb.jpg";
$GameModeGuiServer::Thumb9 = "Add-Ons/GameMode_Blockheads_Ruin_Xmas/thumb.jpg";
$GameModeInitialResetCheckEvent = 0;

I ran a non-dedicated server and changeGameMode($Pref::Gui::SelectedGamemode); worked but i don't think you can do it on a dedicated server.


$GameModeArg does not work

How does it not work? You're clearly using Custom, and for the Custom game-mode, it's set to "", just like in the export you included.

How does it not work? You're clearly using Custom, and for the Custom game-mode, it's set to "", just like in the export you included.

Oh. So is this what you mean?

Code: [Select]
if($GameModeArg $= "")
{
   changeGameMode("Add-Ons/GameMode_Custom/gamemode.txt");
}
else
{
   changeGameMode($GameModeArg);
}

changeGamemode($GameModeGuiServer::GameMode[$curGameModeArg]); should do the trick.