MudEngine:
- Game now checks to see if there is a initial environment setup, if not an Abyss is created to store players in. - Game now compiles scripts prior to loading libary assemblies to ensure the latest assembly is loaded. - BaseCharacter now supports the Abyss room if no initial Game realm is set. - BaseCharacter will no longer load the player into a room that does not exist (was deleted or something), they are defaulted into the Abyss. - ScriptEngine checks for errors in the script prior to trying to reference the compiled assembly (was causing errors if scripts failed to compile; no assembly generated to reference) - Assembly libraries are now only loaded once. MudServer: - Example MyGame.cs script now constructs a realm and sets default properties. - MyPlayer script added to show how to write your own player script. - Server loop restored and now working correctly. - Server now outputs additional info regarding startup. - Server now forces TCP protocol.
This commit is contained in:
parent
c3c2d22ec7
commit
88378584ac
11 changed files with 199 additions and 30 deletions
28
MudServer/bin/Debug/Scripts/MyPlayer.cs
Normal file
28
MudServer/bin/Debug/Scripts/MyPlayer.cs
Normal file
|
@ -0,0 +1,28 @@
|
|||
public class MyPlayer : BaseCharacter
|
||||
{
|
||||
//Example use of custom properties
|
||||
public string GuildName { get; set; }
|
||||
|
||||
//Player constructor. Passes the game parameter off to the parent class BaseCharacter.
|
||||
public MyPlayer(Game game) : base(game)
|
||||
{
|
||||
GuildName = "MUD Guild";
|
||||
}
|
||||
|
||||
|
||||
public override void Save(string filename)
|
||||
{
|
||||
Log.Write("Saving custom player...");
|
||||
//Don't save if the file name doesn't exist!
|
||||
if (String.IsNullOrEmpty(filename))
|
||||
return;
|
||||
|
||||
Log.Write("Saving base player...");
|
||||
//Save all of the parent properties such as character name first.
|
||||
base.Save(filename);
|
||||
|
||||
Log.Write("Saving custom content...");
|
||||
//Write our GuildName out to the player save file.
|
||||
FileManager.WriteLine(filename, GuildName, "GuildName");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue