• Как в markdown (obsidian) разместить 2 alert в одной строчке?

    @Senture Автор вопроса
    Решено, ответ был по ссылке в самом низу xD

    65a50dcb143d1301340444.png

    P.S. Спасибо пользователю IvanU7n )
    Ответ написан
    Комментировать
  • Куда положить dump.sql для автоподнятия БД с нужного дампа Docker?

    @Senture Автор вопроса
    Разобрался.

    Вот мой код:
    version: "2.15.1"
    
    services:
      postgres:
        image: postgres:13.3
        environment:
          POSTGRES_DB: "username"
          POSTGRES_USER: "username"
          POSTGRES_PASSWORD: "username"
          PGDATA: "/var/lib/postgresql/data/pgdata"
        volumes:
          - ./Initer:/docker-entrypoint-initdb.d
          - usr-data:/var/lib/postgresql/data
        ports:
          - "5437:5432"
    
    volumes:
      usr-data:


    В этом случае, нужно создать директорию Initer в корне (где лежит docker-compose.yml) и в нее положить необходимый dump.sql и все работает.

    Важно!: Если папку не создать, она появится автоматически после docker-compose up. Но будет естественно пустой, и даже если сделать down, в папку положить дамп, и поднять приложение (docker-compose up) бэкап уже не накатится, т.к. БД уже была проинициализирована ранее и никакие изменения к ней применяться не будут.

    Прошу прощения за такие глупые вопросы :D
    Ответ написан
    6 комментариев
  • С чего начать изучение C Sharp чайнику?

    @Senture
    Из ютуба, как на самое начало Гоша Дударь, он базовые вещи рассказывал по шарпу, у Романа Сакутина есть более крутые видосы, Code Blog крутые стримы и видосы по шарпу в целом. А еще ExtrimeCode. Это те кого я бвстро вспомнил, аоторые для новичка подойдут, а так на ютубе еще достаточно крутых каналов

    С книгами для начинающих в программировании, не согласен, новичек в этой теме захлебнется в воде и не понимании какую информацию подчеркнуть и что ему нужно а что нет.

    Metanit крутой сайт.
    Ответ написан
  • Как избавиться от нагромождения при переходе?

    @Senture
    Вопрос не совсем понятен, но попробуй так:
    ManagerAgents taskWindow = new ManagerAgents();
    this.Hide();
    taskWindow.ShowDialog();
    this.Show();
    Ответ написан
    Комментировать
  • Android Studio подключение к БД MS SQL 2016?

    @Senture Автор вопроса
    Проблема решена!
    Вот так:
    5c69052d45d74462971609.png
    В структуре проекта я добавил модуль в сам проект ( подробнее объяснить не смогу т.к. сам не понимаю как это работает )
    Ответ написан
    Комментировать
  • Зависание сцены во время получения сообщения с сервера, что делать?

    @Senture Автор вопроса
    Решил проблему так:
    void Start()
        {
            Thread t = new Thread(ReceiveData);
            t.Start();
        }
    
        private void ReceiveData()
        {
            while (true)
            {
                if (connected)
                {
                    Debug.Log("Run");
                    try
                    {
                        int bytes = 0; // Счетчик полученных байт с сервера
                        byte[] buffer = new byte[1024]; // Массив байт, для данных полученных с сервера
    
                        StringBuilder builder = new StringBuilder();
    
                        do
                        {
                            bytes = socket.Receive(buffer); // Прием данных от сервера
                            builder.Append(Encoding.UTF8.GetString(buffer, 0, bytes)); // Строим сообщение из полученных данных ( массива байт )
                        }
                        while (socket.Available > 0);
    
                        string[] allInfo = builder.ToString().Split(';');
                        for (int i = 0; i < allInfo.Length; i++)
                        {
                            string[] info = allInfo[i].Split('|');
    
                            Action action = () => { data.Add(info[0], info[1] + '|' + info[2] + '|' + info[3]); };
                            action.Invoke(); 
                        }
                    }
                    catch (Exception ex)
                    {
                        Debug.Log("Error in Helper.FixedUpdate: " + ex.Message);
                    }
                }
            }
        }

    Все прекрасно работает =)
    Всем огромное спасибо!
    Ответ написан
    Комментировать
  • Не получается сделать отправку сообщения с одного пк на другой подключенных к интернету по UDP?

    @Senture Автор вопроса
    Ответ найден:
    В качестве ip в приложении сервера необходимо указывать 0.0.0.0 для прослушивания всех интерфейсов. Собственно и все.
    Ответ написан
    Комментировать
  • Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?

    @Senture Автор вопроса
    Ребят всем спасибо за все ваши советы. Я уже имею представление в написание сервера, еще я вычитал что использование tcp в action играх очень плохо сказывается на ping'е, вот сижу изучаю udp который лучше подойдет для этого.
    Ответ написан
    Комментировать
  • Как синхронизировать GameObject(пулю) в мультиплеере на Unity?

    @Senture Автор вопроса
    Реализовал вот так:
    spoiler
    [SyncVar] Vector3 syncBulletStartPosition;
        [SyncVar] Quaternion syncBulletStartRotation;
        [SyncVar] bool syncTrueFire;
    
        /// <summary>
        /// Метод для осуществления стрельбы
        /// </summary>
        private void Update()
        {
            if(isLocalPlayer)
            {
                if (Input.GetButton("Fire1"))
                {
                    //CmdShoot();
    
                    int weapon = 0;
                    // Create the Bullet from the Bullet Prefab
                    GameObject bullet = (GameObject)Instantiate(
                        bulletPref[weapon],
                        bulletPivot[weapon].position,
                        bulletPivot[weapon].rotation);
    
    
                    CmdSendBullet(bulletPivot[weapon].position, bulletPivot[weapon].rotation);
                }
            }
        }
    
        [Command]
        void CmdSendBullet(Vector3 startPosition, Quaternion startRotation)
        {
            syncBulletStartPosition = startPosition;
            syncBulletStartRotation = startRotation;
            syncTrueFire = true;
        }
    
        /// <summary>
        /// Вызов всех еобходимых методов для смены и синхронизации оружия
        /// </summary>
        void FixedUpdate()
        {
            SpawnBulletToAllClients();
        }
    
        void SpawnBulletToAllClients()
        {
            if (!isLocalPlayer)
            {
                if (syncTrueFire == true)
                {
                    int weapon = 0;
    
                    GameObject bullet = (GameObject)Instantiate(
                        bulletPref[weapon],
                        bulletPivot[weapon].position,
                        bulletPivot[weapon].rotation);
    
                    CmdSyncTrueFire();
                    syncTrueFire = false;
                }
            }
        }
    
        [Command]
        void CmdSyncTrueFire()
        {
            syncTrueFire = false;
        }



    P.S. Спасибо большое всем, отдельное спасибо GavriKos
    Ответ написан
    Комментировать
  • Синхронизация выбранного оружия для каждого из игроков в мультиплеерном шутере на Unity?

    @Senture Автор вопроса
    Проблема решена, это было из за того что 2 приложения клиент и сервер были запущены на 1пк, после того как сервер и клиент были запущены на разных пк, почти все заработало, но почему то клиент видит как сервер меняет оружие, а сервер не видит как клиент меняет оружие. Есть у кого варианты решения данной задачки?

    Что никто не знает как это сделать? Я уже весь инет перерыл по поводу смены оружия в мультиплеере и его синхронизацию но пусто!!! Помогите -_- пожалуйста)

    Решение:
    spoiler
    using UnityEngine;
    using UnityEngine.Networking;
    
    public class PlayerScrolWeapon : NetworkBehaviour
    {
        public GameObject[] weapon;
        [SyncVar] int syncWeaponIndex;
        private int weaponIndex = 0;
    	
        [Client]
    	void FixedUpdate()
        {
            ScrolWeapon();
            if(isLocalPlayer)
                CmdSendToServerSyncWeapon(weaponIndex);
            SendToClientSyncWeapon();
    	}
    
        void ScrolWeapon()
        {
            if(isLocalPlayer)
            {
                if(Input.GetAxisRaw("Mouse ScrollWheel") > 0f)
                {
                    if (weaponIndex > 3)
                        weaponIndex = 0;
                    else
                        weaponIndex++;
                }
                else if(Input.GetAxisRaw("Mouse ScrollWheel") < 0f)
                {
                    if (weaponIndex < 0)
                        weaponIndex = 3;
                    else
                        weaponIndex--;
                }
    
                for (int i = 0; i < 4; i++)
                    if (i == weaponIndex)
                        weapon[i].SetActive(true);
                    else
                        weapon[i].SetActive(false);
            }
        }
    
        void SendToClientSyncWeapon()
        {
            if(!isLocalPlayer)
            {
                for (int i = 0; i < 4; i++)
                    if (i == syncWeaponIndex)
                        weapon[i].SetActive(true);
                    else
                        weapon[i].SetActive(false);
            }
        }
    
        [Command]
        void CmdSendToServerSyncWeapon(int _weaponIndex)
        {
            syncWeaponIndex = _weaponIndex;
        }
    }



    Это 1 скрипт который отвечает и за смену оружия и за его синхронизацию, может кому то пригодится.

    P.S. Тема закрыта!
    Ответ написан
    Комментировать
  • Unity Network как уменьшить ping?

    @Senture Автор вопроса
    Оказалось что я просто не правильно настроил NetworkManager и NetworkTransform.

    P.S. Всем большое спасибо!!!
    Ответ написан
  • Не устанавливается MAGIX Vegas Pro 15. Как установить?

    @Senture Автор вопроса
    Проблема решена! В корневой папке ...\Vegas Pro N
    где n версия vegas, находиться папка х86. Удаляем ее нафиг и все супер!!!!)))
    Ответ написан
    Комментировать