Рекомендованные сообщения



14 posts in this topic

Приветствую. Вообщем, рассказываю проблему... Я создал лаунчер для захода на свой сервер, но есть одна проблема, у меня в лаунчере есть место для ввода ника, но когда я например вставляю любой ник, то в мультиплеере, через который всё запускается, не изменяется ник, а остаётся старый. Кто знаете, как помочь?

Заметка от DEST , создано

Не нужно дублировать темы, решайте вопрос в рамках одной. Согласно правилам, Вы можете "поднимать" свою тему в списке, но не раньше, чем через 24 часа после последнего сообщения.

Share this post


Link to post
Share on other sites

прикладывайте код из лаунчера, как происходит запуск и как выставляется никк

Share this post


Link to post
Share on other sites

Ник нужно в реестре менять

Share this post


Link to post
Share on other sites
11 часов назад, keyl1337 сказал:

Ник нужно в реестре менять

А можете рассказать, где и как? 

12 часов назад, DEST сказал:

прикладывайте код из лаунчера, как происходит запуск и как выставляется никк

Спойлер

<?php
namespace app\forms; // НЕ ТРОГАТЬ


use bundle\windows\Registry; // НЕ ТРОГАТЬ
use bundle\windows\Windows; // НЕ ТРОГАТЬ
use std, gui, framework, app; // НЕ ТРОГАТЬ

class MainForm extends AbstractForm
{
    /**
     * @event show 
     */
    function doShow(UXWindowEvent $e = null) // При открытии
    {
        $nick_name = Registry::of('HKEY_CURRENT_USER\Software\www.gtasrv.ru\CR-MP\GenerationC')->read('player_name')->value; // НЕ ТРОГАТЬ
        Element::setText($this->edit, $nick_name); // НЕ ТРОГАТЬ
        
        $game_path = Registry::of('HKEY_CURRENT_USER\Software\www.gtasrv.ru\CR-MP\GenerationC')->read('game_path')->value; // НЕ ТРОГАТЬ
        if($game_path) // НЕ ТРОГАТЬ
            return Element::setText($this->label3, 'Путь указан'); // НЕ ТРОГАТЬ
    }

    /**
     * @event button6.click-Left 
     */
    function doButton6ClickLeft(UXMouseEvent $e = null) // Закрыть
    {    
        app()->shutdown(); // НЕ ТРОГАТЬ
    }

    /**
     * @event button7.click-Left 
     */
    function doButton7ClickLeft(UXMouseEvent $e = null) // Свернуть
    {    
        app()->minimizeForm('MainForm'); // НЕ ТРОГАТЬ
    }

    /**
     * @event buttonAlt.click-Left 
     */
    function doButtonAltClickLeft(UXMouseEvent $e = null) // Играть
    {
        $ip = '213.159.211.115'; // Ваш IP адрес
        $port = '3449'; // Порт вашего IP адреса
        
        $game_path = Registry::of('HKEY_CURRENT_USER\Software\www.gtasrv.ru\CR-MP\GenerationC')->read('game_path')->value; // НЕ ТРОГАТЬ
        $player_name = $this->edit->text; // НЕ ТРОГАТЬ
        
        Registry::of('HKEY_CURRENT_USER\Software\www.gtasrv.ru\CR-MP\GenerationC')->add('player_name', $player_name); // НЕ ТРОГАТЬ
        execute("$game_path $ip:$port", false); // НЕ ТРОГАТЬ
        app()->shutdown(); // НЕ ТРОГАТЬ
    }

    /**
     * @event button.click-Left 
     */
    function doButtonClickLeft(UXMouseEvent $e = null) // ВКонтакте
    {
        browse('https://vk.com/russ_pawn_help'); // укажите ссылку на вашу группу
    }

    /**
     * @event button3.click-Left 
     */
    function doButton3ClickLeft(UXMouseEvent $e = null) // Сайт
    {    
        browse('https://vk.com/russ_pawn_help'); // укажите ссылку на ваш сайт
    }

    
    /**
     * @event button5.click-Left 
     */
    function doButton5ClickLeft(UXMouseEvent $e = null) // Форум
    {    
        browse('https://vk.com/scriptman'); // укажите ссылку на ваш форум
    }

}

 

 

Edited by DEST

Заметка от DEST , создано

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано в разделе "FAQ"

Устное предупреждение.

Share this post


Link to post
Share on other sites

Вырезал из своих наработок, пользуйтесь (C#)

 Process Gta_Samp = new Process();
                ProcessStartInfo Gta_Sampinfo = new ProcessStartInfo(@"gta_sa.exe", string.Format("-c -n {0} -h {1} -p {2}", NameBox.Text, ip, port));
                Gta_Samp.StartInfo = Gta_Sampinfo;
                Gta_Samp.Start();
                IntPtr procHandle = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, false, Gta_Samp.Id);
                IntPtr loadLibraryAddr = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
                string dllName = "samp.dll";
                IntPtr allocMemAddress = VirtualAllocEx(procHandle, IntPtr.Zero, (uint)((dllName.Length + 1) * Marshal.SizeOf(typeof(char))), MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
                UIntPtr bytesWritten;
                WriteProcessMemory(procHandle, allocMemAddress, Encoding.Default.GetBytes(dllName), (uint)((dllName.Length + 1) * Marshal.SizeOf(typeof(char))), out bytesWritten);
                CreateRemoteThread(procHandle, IntPtr.Zero, 0, loadLibraryAddr, allocMemAddress, 0, IntPtr.Zero);

 

Share this post


Link to post
Share on other sites

@MuhammadPawn я так понял, что у автора код на пхп написан, вряд ли c# ему подойдет. 

@vladok179 так тут трогать ничего нельзя

Share this post


Link to post
Share on other sites
5 часов назад, vladok179 сказал:

$nick_name = Registry::of('HKEY_CURRENT_USER\Software\www.gtasrv.ru\CR-MP\GenerationC')->read('player_name')->value; // НЕ ТРОГАТЬ Element::setText($this->edit, $nick_name); // НЕ ТРОГАТЬ

Вот чтение ника с реестра, делай такую же запись ника в реестр, лол

Share this post


Link to post
Share on other sites

@DEST Да на php смешанный с JS, но мне прост лень было объяснить что и через него можно запустить файл gta_sa.exe с параметрами из моего кода

Share this post


Link to post
Share on other sites

@MuhammadPawn не думаю, что в этой "среде" на пхп есть функции из WinApi (GetProcAddress, VirtualAllocEx, и пр)

Share this post


Link to post
Share on other sites

@DEST Ну есть ж подобные функции, только называются по другому (как то давно делал и были такие функции там)

Share this post


Link to post
Share on other sites

@MuhammadPawn может быть, другой вопрос в том, что кто-то и когда-то. 

Касаемо темы: даже если ТС и добавит функционал запуска игры, то вряд ли этого будет достаточно для его приложения. Поэтому, @vladok179, если хотите самостоятельно это все изучать (и потратить достаточно большое кол-во времени), то необходимо начинать с самого начала (изучение программирования), а не с середины (написание Desktop-приложения). Если цель - приложение, то лучше закажите его у фрилансеров. 

Share this post


Link to post
Share on other sites
12 часов назад, DEST сказал:

@MuhammadPawn не думаю, что в этой "среде" на пхп есть функции из WinApi (GetProcAddress, VirtualAllocEx, и пр)

Это Devel Next, Женя. Я вангую, у меня этот слитый лаунчер был. И вроде это php, но ещё исп. JS.

Share this post


Link to post
Share on other sites
23 минуты назад, Nekit_Krut18 сказал:

Это Devel Next, Женя. Я вангую, у меня этот слитый лаунчер был. И вроде это php, но ещё исп. JS.

Если это официальный сайт http://develnext.org, то последняя версия была выпущена 31.10.2017. Я думаю, что не стоит пользоваться продуктом, который не обновляется так долго. 

Да и разрабатывается, как я понял, одним человеком. 

Share this post


Link to post
Share on other sites

ТЕМУ МОЖНО ЗАКРЫТЬ!
Решение: поменял в реесторе путь на версию крмп 0.3.7 (Раньше был на 0.3.e, поэтому не заменялся ник).

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Романтик228
      By Романтик228
      можно играть как и в мобаил так и на пк.Есть охота, семейный отель, рейтинг семьи, крафты,бд идёт вместе с модом,фракции и банды все присутствует в моде. 
    • Романтик228
      By Романтик228


      Просмотр файла Мод samp
      можно играть как и в мобаил так и на пк.Есть охота, семейный отель, рейтинг семьи, крафты,бд идёт вместе с модом,фракции и банды все присутствует в моде. 
      Добавил Романтик228 Добавлено 20.10.2021 Категория Моды Автор Roman  
    • danko
      By danko
      Выдает вот такую ошибку и всё по нулям, базу нормально установил