Вопросы

vladok179
Новичок

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

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

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

Поделиться сообщением


Ссылка на сообщение

13 ответов на этот вопрос

  • 0
vladok179
Новичок

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

Поделиться сообщением


Ссылка на сообщение
  • 0

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

Поделиться сообщением


Ссылка на сообщение
  • 0
vladok179
Новичок
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'); // укажите ссылку на ваш форум
    }

}

 

 

Отредактировано пользователем DEST

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

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

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

Поделиться сообщением


Ссылка на сообщение
  • 0
MuhammadPawn
Великий Гуру

Вырезал из своих наработок, пользуйтесь (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);

 

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру
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); // НЕ ТРОГАТЬ

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

Поделиться сообщением


Ссылка на сообщение
  • 0
MuhammadPawn
Великий Гуру

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

Поделиться сообщением


Ссылка на сообщение
  • 0
MuhammadPawn
Великий Гуру

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

Поделиться сообщением


Ссылка на сообщение
  • 0

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

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

Поделиться сообщением


Ссылка на сообщение
  • 0
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒
12 часов назад, DEST сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
  • 0
23 минуты назад, Nekit_Krut18 сказал:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба