コード例 #1
0
 /// <summary>
 /// Create a new text item
 /// </summary>
 public Item(Display display, string content, Vector2 position, Priority priority, Color color, float scale, HorizontalAlignment alignX, VerticalAlignment alignY, int shadowAlpha = 0)
 {
     Display     = display;
     ItemElement = MtaServer.TextCreateTextItem(content, position.X, position.Y, priority.ToString().ToLower(), color.R, color.G, color.B, color.A, scale, alignX.ToString().ToLower(), alignY.ToString().ToLower(), shadowAlpha);
     MtaServer.TextDisplayAddText(display.DisplayElement, ItemElement);
     visible = true;
 }
コード例 #2
0
 public LuaEventQueueHandler(MtaServer server, IElementRepository elementRepository, ILogger logger, int sleepInterval, int workerCount)
     : base(sleepInterval, workerCount)
 {
     this.server            = server;
     this.elementRepository = elementRepository;
     this.logger            = logger;
 }
コード例 #3
0
ファイル: MtaManager.cs プロジェクト: filippyziak/_MTA-Panel
        public MtaManager(IOptions <MtaServerSettings> mtaServerOptions)
        {
            MtaServerSettings = mtaServerOptions.Value;

            mtaServer = new MtaServer(MtaServerSettings.Host, MtaServerSettings.Port, MtaServerSettings.Username,
                                      MtaServerSettings.Password);
        }
コード例 #4
0
 public void ApplyTo(MtaServer server)
 {
     foreach (var step in this.buildSteps.OrderBy(x => (int)x.Priority))
     {
         step.Step(server);
     }
 }
コード例 #5
0
    public ScriptInputRuntime(MtaServer server)
    {
        this.registeredCommandHandlers = new List <RegisteredCommandHandler>();

        this.server = server;
        this.server.PlayerJoined += HandlePlayerJoined;
    }
コード例 #6
0
    public MapInfoBehaviour(MtaServer server, GameWorld gameWorld, WeaponConfigurationService weaponConfigurationService)
    {
        this.gameWorld = gameWorld;
        this.weaponConfigurationService = weaponConfigurationService;

        server.PlayerJoined += HandlePlayerJoin;
    }
コード例 #7
0
    public WeaponConfigurationService(MtaServer server)
    {
        this.server = server;

        this.weaponConfigurations = new();
        this.LoadDefaults();
    }
コード例 #8
0
 public RpcQueueHandler(MtaServer server, RootElement root, IElementRepository elementRepository, Configuration configuration, int sleepInterval, int workerCount)
     : base(sleepInterval, workerCount)
 {
     this.server            = server;
     this.root              = root;
     this.elementRepository = elementRepository;
     this.configuration     = configuration;
 }
コード例 #9
0
    public PickupBehaviour(MtaServer server, IElementCollection elementCollection)
    {
        this.server            = server;
        this.elementCollection = elementCollection;


        server.ElementCreated += HandleElementCreation;
    }
コード例 #10
0
 public FileSystemResourceProvider(MtaServer mtaServer, RootElement rootElement, Configuration configuration)
 {
     this.mtaServer     = mtaServer;
     this.rootElement   = rootElement;
     this.configuration = configuration;
     this.resources     = new();
     this.Refresh();
 }
コード例 #11
0
 public EventLoggingBehaviour(MtaServer server, ILogger?logger)
 {
     server.LuaEventTriggered += (luaEvent) =>
     {
         logger.LogInformation($"The lua '{luaEvent.Name}' event was triggered by {luaEvent.Player.Name} with variables:\n" +
                               $"{string.Join(", ", luaEvent.Parameters.Select(p => p.ToString()))}");
     };
 }
コード例 #12
0
    public PickupBehaviour(MtaServer server, IElementRepository elementRepository)
    {
        this.server            = server;
        this.elementRepository = elementRepository;


        server.ElementCreated += HandleElementCreation;
    }
コード例 #13
0
 public LatentLuaEventPacketHandler(
     ILogger logger,
     MtaServer server
     )
 {
     this.logger    = logger;
     this.server    = server;
     this.transfers = new();
 }
コード例 #14
0
    public ScriptEventRuntime(MtaServer server, IElementRepository elementRepository)
    {
        this.registeredEventHandlers = new List <RegisteredEventHandler>();
        this.registeredEvents        = new Dictionary <string, RegisteredEvent>();

        this.server                 = server;
        this.elementRepository      = elementRepository;
        this.server.ElementCreated += HandleElementCreation;
    }
コード例 #15
0
 public RpcQueueHandler(MtaServer server, int sleepInterval, int workerCount) : base()
 {
     this.server        = server;
     this.sleepInterval = sleepInterval;
     for (int i = 0; i < workerCount; i++)
     {
         Task.Run(HandlePackets);
     }
 }
コード例 #16
0
 public LuaService(MtaServer server, ILogger logger, RootElement root)
 {
     this.server     = server;
     this.logger     = logger;
     this.root       = root;
     this.scripts    = new Dictionary <string, Script>();
     this.methods    = new Dictionary <string, LuaMethod>();
     this.translator = new LuaTranslator();
 }
コード例 #17
0
    public MarkerBehaviour(MtaServer server, IElementCollection elementCollection)
    {
        this.server = server;
        foreach (var marker in elementCollection.GetByType <Marker>(ElementType.Marker))
        {
            AddMarker(marker);
        }

        server.ElementCreated += OnElementCreate;
    }
コード例 #18
0
 public LuaEventPacketHandler(
     IElementRepository elementRepository,
     ILogger logger,
     MtaServer server
     )
 {
     this.elementRepository = elementRepository;
     this.logger            = logger;
     this.server            = server;
 }
コード例 #19
0
        /// <summary>
        /// Binds a key to a method
        /// </summary>
        /// <param name="player"></param>
        /// <param name="key"></param>
        /// <param name="state"></param>
        /// <param name="handler"></param>
        /// <returns></returns>
        public static bool BindKey(Player player, string key, KeyState state, Action <Player, string, KeyState> handler)
        {
            Action <MtaElement, string, string> rawClosure = (MtaElement element, string command, string state) =>
            {
                handler((Player)ElementManager.Instance.GetElement(element), command, (KeyState)Enum.Parse(typeof(KeyState), state, true));
            };

            closures[handler] = rawClosure;
            return(MtaServer.BindKey(player.MTAElement, key, state.ToString().ToLower(), rawClosure));
        }
コード例 #20
0
        /// <summary>
        /// Get an ACL group instance from the name of the group
        /// </summary>
        public static AclGroup Get(string name)
        {
            MtaAclGroup result = MtaServer.AclGetGroup(name);

            if (result == null)
            {
                throw new NullElementException("No ACL entry with the name " + name + " can be found");
            }
            return(new AclGroup(result));
        }
コード例 #21
0
 /// <summary>
 /// Unbinds a key from a method
 /// </summary>
 /// <param name="player"></param>
 /// <param name="key"></param>
 /// <param name="state"></param>
 /// <param name="handler"></param>
 /// <returns></returns>
 public static bool UnbindKey(Player player, string key, KeyState state, Action <Player, string, KeyState> handler)
 {
     if (closures.ContainsKey(handler))
     {
         bool result = MtaServer.UnbindKey(player.MTAElement, key, state.ToString().ToLower(), closures[handler]);
         closures.Remove(handler);
         return(result);
     }
     return(false);
 }
コード例 #22
0
    public ResourceService(MtaServer server, RootElement root, IResourceProvider resourceProvider)
    {
        this.server           = server;
        this.root             = root;
        this.resourceProvider = resourceProvider;

        this.startedResources = new List <Resource>();

        this.server.PlayerJoined += HandlePlayerJoin;
    }
コード例 #23
0
 public VehicleInOutPacketHandler(
     IElementCollection elementCollection,
     MtaServer server,
     ILogger logger
     )
 {
     this.elementCollection = elementCollection;
     this.server            = server;
     this.logger            = logger;
 }
コード例 #24
0
 public VehicleInOutPacketHandler(
     IElementRepository elementRepository,
     MtaServer server,
     ILogger logger
     )
 {
     this.elementRepository = elementRepository;
     this.server            = server;
     this.logger            = logger;
 }
コード例 #25
0
        /// <summary>
        /// Retrieve the position, lookat, roll and field of view of a camera
        /// </summary>
        public Tuple <Vector3, Vector3, float, float> GetFullCameraMatrix()
        {
            Tuple <float, float, float, float, float, float, float, float> result = MtaServer.GetCameraMatrix(player.MTAElement);
            Vector3 position = new Vector3(result.Item1, result.Item2, result.Item3);
            Vector3 rotation = new Vector3(result.Item4, result.Item5, result.Item6);
            float   roll     = result.Item7;
            float   yaw      = result.Rest;

            return(new Tuple <Vector3, Vector3, float, float>(position, rotation, roll, yaw));
        }
コード例 #26
0
 public LuaEventPacketHandler(
     IElementCollection elementCollection,
     ILogger logger,
     MtaServer server
     )
 {
     this.elementCollection = elementCollection;
     this.logger            = logger;
     this.server            = server;
 }
コード例 #27
0
    public ElementPoolingTestLogic(CommandService commandService, ILogger logger, MtaServer server)
    {
        this.logger = logger;
        this.server = server;

        this.elementPool = new();
        this.objects     = new();

        commandService.AddCommand("more").Triggered += CreateElement;
        commandService.AddCommand("less").Triggered += DestroyElement;
    }
コード例 #28
0
        public AseQueryService(MtaServer mtaServer, Configuration configuration, IElementRepository elementRepository)
        {
            this.mtaServer         = mtaServer;
            this.configuration     = configuration;
            this.elementRepository = elementRepository;

            this.aseVersion = AseVersion.v1_5;
            this.buildType  = BuildType.Release;

            this.rules = new Dictionary <string, string>();
        }
コード例 #29
0
    public CollisionShapeBehaviour(MtaServer server, IElementRepository elementRepository)
    {
        this.collisionShapes = new HashSet <CollisionShape>();
        foreach (var collisionShape in elementRepository.GetByType <CollisionShape>(ElementType.Colshape))
        {
            this.AddCollisionShape(collisionShape);
        }

        server.ElementCreated += OnElementCreate;
        this.server            = server;
    }
コード例 #30
0
    public BlipBehaviour(MtaServer server, IElementRepository elementRepository)
    {
        this.server = server;
        this.blips  = new HashSet <Blip>();
        foreach (var blip in elementRepository.GetByType <Blip>(ElementType.Blip))
        {
            AddBlip(blip);
        }

        server.ElementCreated += OnElementCreate;
    }