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

    • аывававыаывавы
      By аывававыаывавы
      Связь :https://vk.com/sorok_nozhevyh  
    • KlasterK
      By KlasterK
      Есть ли костыль, который позволит писать полноценные приложения на Pawn? Чтобы можно было добавлять свои библиотеки? Чтоб он не был завязан на конкретной цели. Да, я знаю что язык создан для встраивания.
    • thesunsky13
      By thesunsky13
      И так если коротко : я купил мод суприма и решил добавить туда фэйкбан, не спрашивайте меня зачем мне  это, я и сам не знаю. единственное что я знаю что все готовые скрипты которые я нашел в интернете не работают (жду комментарий умников по типо "ыы че вы все такие тупые не хочете ничему учиться") да я не скриптер поэтому собственно пишу не код, а тему на форум... вообщем вот вам бан из моего мода, кто чем сможет помочь? 
      cmd:ban(playerid, data[]) {     new id, days, reason[30];     if sscanf(data, "uds[30]", id, days, reason) *then         return SCM(playerid, COLOR_OLDRED, !"Èñïîëüçóé: /ban [id] [days 1-30] [Ïðè÷èíà]");     if id == INVALID_PLAYER_ID *then         return 0;     if strlen(reason) > 30 *then         return SCM(playerid, COLOR_RED, !"Íå áîëüøå 30 ñèìâîëîâ!");     if IsAIP(reason) *then         return 1;     if !(1 <= days <= 30) *then         return SCM(playerid, COLOR_OLDRED, !"Èñïîëüçóé: /ban [id] [days 1-30] [Ïðè÷èíà]");     f(global_str, sizeof(global_str), "A: %s[%d] çàáàíèë èãðîêà %s[%d] íà %d äíåé. Ïðè÷èíà: %s", PN(playerid), playerid, PN(id), id, days, reason);     ASCMALL(COLOR_RED, global_str);     ANL(PN(id), global_str);     SPD(id, 0, DIALOG_STYLE_MSGBOX, !"", !"Âû ïîëó÷èëè áàí àêêàóíòà, åñëè âû íå ñîãëàñíû ñ ðåøåíèåì Àäìèíèñòðàòîðà, òî íàïèøèòå æàëîáó íà ôîðóì, ïðèëîæèâ äàííûé ñêðèíøîò.\n{2D8E35}"Mode_Forum"", !"Çàêðûòü", !"");     PI[id][pWarns] = 0;     BanName(PN(id), PN(playerid), days, reason);     J_Kick(id);     Int_SetPlayerData(playerid, "NakazLastTime", Global_Time);     //     f(global_str, 256, "Àäìèíèñòðàòîð <a href=../data/logsaccount.php?name=%s>%s</a> çàáàíèë èãðîêà <a href=../data/logsaccount.php?name=%s>%s</a> íà %d äíåé. Ïðè÷èíà: %s",     PN(playerid), PN(playerid), PN(id), PN(id), days, reason);     aml(global_str);     //     return 1; }  
    • Vitaliy_Piterskiy
      By Vitaliy_Piterskiy
      кто может помочь с лаунчером чтоб сам скачевал и устанавливал сборку, лаунчер брал с инета и не могу понять как сделать просто в этом не очень разбераюсь, пишет когда нажимаю играть, У вас не найдены системные файлы для старта игры. как сделать чтоб при нажатии начал нормально качать игру чтоб не писало это, вот код что тут нужно переделать
       
    • Relazer
      By Relazer
      Помогите пожалуйста, написать систему лидерок и  семей,и вообще быть в команде проекта.Быть разработчиком Pawno,ВК лс ,всё объясню,разъясню.) 
      Ссылка на профиль в ВК:https://vk.com/swagerblack