Page 1 of 1

[Request] In-Game Commands Script

Posted: Tue Dec 11, 2018 6:12 pm
by Ol1vver
Hello,
Can anyone make a script with commands?
I want to include this in my map for debugging purposes.
Commands example:

/rfskip [Activates ScriptTrigger with ID "SkipTrigger"
/rfspawn [0/1] - If 0, activates ScriptTrigger with ID "SpawnOFF"; if 1, activates ScriptTrigger with ID "SpawnON".)

Optional:
/rfdebug [0/1] - Turns on debug mode, which enables commands (sets debugMode to false/true)
Off Topic
I didn't really know how to write this properly, so this is the result.

Re: [Request] In-Game Commands Script

Posted: Wed Dec 12, 2018 6:36 am
by ebomb09

Code: Select all

static bool debugMode = false;

Events.UserMessageCallback m_userMessageCallback = null;

public void OnStartup(){
m_userMessageCallback = Events.UserMessageCallback.Start(OnUserMessage);

}

public void OnUserMessage(UserMessageCallbackArgs args){
	if(args.IsCommand){
		switch(args.Command){
			case "RFDEBUG":{
				if(args.CommandArguments == "0"){
					debugMode = false;
					Game.RunCommand("/msg DebugMode Off");
				}
				if (args.CommandArguments == "1"){
					debugMode = true;
					Game.RunCommand("/msg DebugMode On");
				}
					
			break;
			}
			case "RFSKIP":
				if(debugMode){
					(Game.GetSingleObjectByCustomID("SkipTrigger") as IObjectScriptTrigger).Trigger();
				}
			break;
			case "RFSPAWN":
				if(debugMode){
					if(args.CommandArguments == "0"){
						(Game.GetSingleObjectByCustomID("SpawnOFF") as IObjectScriptTrigger).Trigger();
					}
					if (args.CommandArguments == "1"){
						(Game.GetSingleObjectByCustomID("SpawnON") as IObjectScriptTrigger).Trigger();
					}
				}
			break;
		}
	}
}