Sign in to follow this  
Followers 0
Vitaliy_Piterskiy

Лаунчер

4 posts in this topic

кто может помочь с лаунчером, делал не я брал с инета, вообщем когда я его запускаю нажимаю играть а он даже не закачивает сборку, и закрывается и все что делать я не могу понять, я просто в этом не совсем разбираюсь, кто разбирается помогите пж

Спойлер

using Microsoft.Win32;
using System;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using System.Net;
using System.Security.Principal;
using System.Windows;
using System.Windows.Input;
using SampQueryApi;
using SettingsLauncher;

namespace test_project
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        //загрузка новостей
        int load_games = Settings.games;
        string IP_CONNECT = (string)Settings.ip;
        string URL_GAMES = (string)Settings.url;
        string IP_QUERY = (string)Settings.api;

        public MainWindow()
        {

            try
            {
                //Настройка API SAMP
                SampQuery api = new SampQuery(IP_QUERY, 7777); //PORT СМЕНИТЬ 
                SampServerInfoData data = api.GetServerInfo();

                //компоненты
                InitializeComponent();

                //настройки счетчика API
                player.Content = data.Players + " / " + data.MaxPlayers;
                progress2.Value = data.Players;

                //Настройка новостей
                
                    //текст
                info.Content = NewsSettings.text;
                info.FontSize = 10; //шрифт ( 10 - нормально видно )

                     //заголовок
                text_up.Content = NewsSettings.up;
                text_up.FontSize = 16;

            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

        }
       
        //загрузка + запуск ( проверка )
        void FindeGamesFile()
        {
            try
            {
                var exePath = AppDomain.CurrentDomain.BaseDirectory;
                var path_config = System.IO.Path.Combine(exePath, "fh221.paks");
                if(File.Exists(path_config))
                {
                    load_games = 1;
                    info_text.Content = "Проверка файлов завершена. Игра готова к запуску!";
                }

            }
            catch (Exception ex)
            {
                 MessageBox.Show(ex.Message);
            }
        }

        void GamesStartLoading()
        {
            FindeGamesFile();
            var exePath = AppDomain.CurrentDomain.BaseDirectory;
            var bin = System.IO.Path.Combine(exePath, "bin/GtaSA/");
            if (load_games == 1)
            {
                try
                {
                    WebClient webclient = new WebClient();
                    var path = System.IO.Path.Combine(exePath, "game_blaze.zip");
                    Uri uri = new Uri("https://vk.com/update_archive.zip");
                    Stopwatch sw = new Stopwatch();
                    webclient.DownloadFileAsync(uri, path);
                    webclient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
                    webclient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(webClient_DownloadFileCompleted);
                    void webClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
                    {
                        progress1.Value = e.ProgressPercentage;
                        text_2.Content = "" + (Convert.ToDouble(e.BytesReceived) / 1024 / 1024).ToString("0,00") + " МБ" + "  /  " + (Convert.ToDouble(e.TotalBytesToReceive) / 1024 / 1024).ToString("0.00") + " МБ";
                    }
                    void webClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
                    {
                        string sourceArchiveFileName = "game_blaze.zip";
                        progress1.Value = 0;
                        ZipFile.ExtractToDirectory(sourceArchiveFileName, bin);
                        System.IO.File.Delete(path);
                        info_text.Content = "Загрузка игры завершена.";
                        load_games = 1;
                        var path_game = System.IO.Path.Combine(exePath, "fh221.paks");
                        File.Create(path_game);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
            else Start();

        }
        void Start()
        {
            try
            {
                if (text1.Text == "Nick_Name")
                {
                    MessageBox.Show("Вы не указали NickName", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);

                }
                else if (text1.Text == "")
                {
                    MessageBox.Show("Вы не указали NickName", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (text1.Text == "Nick")
                {
                    MessageBox.Show("Вы не указали NickName", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);

                }
                else if(text1.Text == "Введите ваш ник")
                {
                    MessageBox.Show("Вы не указали NickName", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                var exePath = AppDomain.CurrentDomain.BaseDirectory;


                var samp = System.IO.Path.Combine(exePath, "bin/GtaSA/samp.exe");
                var gta_sa = System.IO.Path.Combine(exePath, "bin/GtaSA/gta_sa.exe");

                //сборки запускать нельзя, только если она ваша и есть samp.exe
                if (System.IO.File.Exists(samp) || System.IO.File.Exists(gta_sa))
                {
                    string nick = text1.Text;
                    string sid = WindowsIdentity.GetCurrent().User.Value;
                    string nick_user = sid + "\\Software\\SAMP";
                    RegistryKey savekey = Registry.Users.CreateSubKey(nick_user);
                    savekey.SetValue("PlayerName", nick);
                    savekey.Close();
                    Process.Start(samp, IP_CONNECT);
                    //System.Diagnostics.Process.Start(samp, "-c -n " + nick + " -h 127.0.0.1 -p 7777");


                }
                else MessageBox.Show("У вас не найдены системные файлы для старта игры.\n" + "Скачать вы можете их на форуме");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        //Двигательные функции Form + Закрывание формы и сворачивание 

        //закрыть
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }
        //сворачивание
        private void Button_2(object sender, RoutedEventArgs e)
        {
            this.WindowState = WindowState.Minimized;
        }
        //перетягивание
        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            this.DragMove();
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            //магазин
            System.Diagnostics.Process.Start("http://vk.com/");
        }

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            //сайт
            System.Diagnostics.Process.Start("http://vk.com/");
        }

        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            //форум
            System.Diagnostics.Process.Start("http://vk.com/");
        }
        //запуск и проверка
        private void Button_Click_4(object sender, RoutedEventArgs e)
        {
            GamesStartLoading();
        }
    }
}
 

 

Share this post


Link to post
Share on other sites

Привет в ссылке на сборку , должен быть DropBox и оканчиваться на 0 (или 1, точно не помню)

Share this post


Link to post
Share on other sites

@isLobree а как добавить это я не разбираюсь

да и еще такая проблема когда я открываю в visual studio то пишет вот что

скрин

Share this post


Link to post
Share on other sites
В 13.10.2023 в 07:12, Vitaliy_Piterskiy сказал:

@isLobree а как это сделать я не разбираюсь

 

 

с этим разобрался другая проблема загрузка начинается и прерывается

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Миша_Cherkes
      By Миша_Cherkes
      Всем привет 
      Распологает кто нибудь такой информацией как сделать NPS или же актёров в крмп 0.3е
      Лазил по всем форумникам не могу найти информацию 
      Их можно вроде добавит но они будет без головы пример на скрине 
       

    • MetaLife
      By MetaLife
      Приветствую читатели форума. Я создатель Проекта MetaLife Online. Я ищу таких же энтузиастов как и я, с которыми мы создадим новое поколение SAMP Серверов. 
       
      Требуется: 
      Pawn developer 
      Web developer
      Designer
      Пиар менеджер
      И люды которые готовы стать руководителями проекта  
       
      связь с нами 
      ВК -  https://vk.com/metalifesup
      ТГ - https://t.me/+LdtbBIzltB1kMDg0
    • Ligano
      By Ligano
      Как я могу продать свой игровой мод на форуме?
    • NO2037
      By NO2037
      Доброго времени суток. Возможно ли запустить два клиента CRMP 0.3e Multiplayer на одном компьютере одновременно? Если да, то как? Один запускается, а второе окно никак не хочет открываться.
    • Shakoladka
      By Shakoladka
      Всем привет, ищу модераторов на форум веб разработки. Желающие принять участие в развитии нового форума, пишите в личку.
      Ждем! 🤗