Events - SynapseSL/Synapse GitHub Wiki

Events

If you want to execute your code when something happen you can hook a method to an Event.

In order to do this you need the use the EventHandler object which you can get with SynapseController.Server.Events or Synapse.Api.Events.EventHandler.Get

In this object are different types of Events:

  • Server => All Events which has something to do with the Server
  • Player => All Events which has something to do with a Player
  • Round => All Events which has something to do with the Round
  • Map => All Events which has something to do with the Map
  • Scp => All Events which has something to do with the Scp's.

Example:

using Synapse.Api;
using Synapse.Api.Plugin;

namespace FirstPlugin
{
    [PluginInformation(
        Name = "FirstPlugin", //The Name of Your Plugin
        Author = "Dimenzio", // Your Name
        Description = "My First Awesome Plugin", // A Description for your Plugin
        LoadPriority = 0, //When your Plugin should get loaded (use 0 if you don't know how to use it)
        SynapseMajor = 2, //The Synapse Version for which this Plugin was created for (SynapseMajor.SynapseMinor.SynapsePatch => 2.4.1)
        SynapseMinor = 4,
        SynapsePatch = 1,
        Version = "v.1.0.0" //The Current Version of your Plugin
        )]
    public class PluginClass : AbstractPlugin
    {
        public override void Load()
        {
            Logger.Get.Info("Hello World");
            SynapseController.Server.Events.Player.PlayerLeaveEvent += OnLeave;
        }

        public void OnLeave(Synapse.Api.Events.SynapseEventArguments.PlayerLeaveEventArgs ev)
        {
            Map.Get.SendBroadcast(5,"A Player left the Server");
        }
    }
}

Next-Step is to look into the Config and Translation system.