コード例 #1
0
ファイル: GMCommands.cs プロジェクト: Etchavious/MapleServer2
    public override void Execute(GameCommandTrigger trigger)
    {
        byte option = trigger.Get <byte>("option");
        byte red    = trigger.Get <byte>("red");
        byte green  = trigger.Get <byte>("green");
        byte blue   = trigger.Get <byte>("blue");

        if (red is 0 && green is 0 && blue is 0)
        {
            trigger.Session.SendNotice(Usage);
            return;
        }

        switch (option)
        {
        case 0:
            trigger.Session.FieldManager.BroadcastPacket(FieldPropertyPacket.ChangeAmbientLight(red, green, blue));
            break;

        case 1:
            trigger.Session.FieldManager.BroadcastPacket(FieldPropertyPacket.ChangeDirectionalLight(red, green, blue));
            break;

        default:
            trigger.Session.SendNotice($"Invalid option: {option}");
            break;
        }
    }
コード例 #2
0
    public void VisibleMyPc(bool isVisible)
    {
        if (isVisible)
        {
            Field.BroadcastPacket(FieldPropertyPacket.SetCharacterVisible());
            return;
        }

        Field.BroadcastPacket(FieldPropertyPacket.SetCharacterInvisible());
    }
コード例 #3
0
ファイル: GMCommands.cs プロジェクト: Etchavious/MapleServer2
    public override void Execute(GameCommandTrigger trigger)
    {
        string weather = trigger.Get <string>("weatherType");

        if (!Enum.TryParse(weather, ignoreCase: true, out WeatherType weatherType))
        {
            trigger.Session.SendNotice($"Available weathers: {WeatherTypes}");
            return;
        }

        trigger.Session.FieldManager.BroadcastPacket(FieldPropertyPacket.ChangeWeather(weatherType));
    }
コード例 #4
0
    public override void Execute(GameCommandTrigger trigger)
    {
        int gravity = (int)Math.Round(trigger.Get <float>("gravity"));

        gravity = Math.Min(gravity * 40, 400);
        if (gravity < 0)
        {
            gravity = 0;
        }

        trigger.Session.FieldManager.BroadcastPacket(FieldPropertyPacket.ChangeGravity(gravity * -1));
        trigger.Session.FieldManager.BroadcastPacket(NoticePacket.Notice(SystemNotice.GravityChanged, NoticeType.Chat));
    }
コード例 #5
0
ファイル: GMCommands.cs プロジェクト: Etchavious/MapleServer2
 public override void Execute(GameCommandTrigger trigger)
 {
     trigger.Session.Send(FieldPropertyPacket.FreeCam(true));
 }