Как передать параметры в samp.exe?
#1

Добрый день. Возникла следующая проблема. Пишу программу, и тут нужен запуск samp с коннектом к серверу. Соответственно нужен запуск приложения с параметрами. Нагуглил, попробовал. В итоге, если запускать samp.exe, то просто запускается окно samp'а. А вот если запустить вот так:
Code:
system("\"D:\\Program Files (x86)\\GTA San Andreas\\samp.exe\" -c -n Florgas -h 127.0.0.1 -p 7777");
... то запускается samp и пытается коннектиться к ":7777".
Суть в том, что можно вместо -p 7777 написать -p 1337, но коннектиться все равно будет на ":7777". То есть по факту параметры есть, поэтому запускается уже игра, но эти параметры почему-то не принимаются и коннектится на пустой IP + дефолтный порт 7777.

Будьте добры, подскажите как запустить samp с параметрами.
Спасибо!
Reply
#2

Интересно было бы узнать для чего вам нужно запускать sa-mp из под консоли? А то меня терзают смутные сомнения о праведности ваших намерений.
Reply
#3

вообще то самп запускает процес gta_sa с такими параметрами

раньше пытался так запускать его в многоядерном режиме, но с обновлением какой то там версии необходимость отпала
Reply
#4

Пишу программу авторелога к серверу, ибо сервер автоматически перезагружается рано утром. Сервер RP соответственно с момента релога сервера, то до того момента пока проснешься и перезайдешь в ручную на сервер потеряются часы опыта.
Вот и хочу все автоматизировать.
Программу-то уже написал, можно даже время менять когда игра будет перезапускаться самому. Вот игра закрывается все хорошо, а через 20 секунд она запускается, но коннектит на ":7777".
Так вот и нужно дописать функцию запуска игры.
Может быть кто-нибудь знает?
Reply
#5

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

// или используя один известный мод применить его внутреннюю функцию для реконнекта )
так же вызов через ах
Reply
#6

А как вариант в память по адресам загрузить значения не получится?
Кто-нибудь знает адреса где хранится IP, порт и nick?
Reply
#7

C:\Documents and Settings\Admin\Мои документы\GTA San Andreas User Files\SAMP\USERDATA.dat
Reply
#8

Параметр -p можно выбросить, указав нужный порт через двоеточие после IP. Работает, проверено. Как работает и запуск вида:
Code:
"./samp.exe" IP:PORT
Reply
#9

Quote:
Originally Posted by Florgas
View Post
Добрый день. Возникла следующая проблема. Пишу программу, и тут нужен запуск samp с коннектом к серверу. Соответственно нужен запуск приложения с параметрами. Нагуглил, попробовал. В итоге, если запускать samp.exe, то просто запускается окно samp'а. А вот если запустить вот так:
Code:
system("\"D:\\Program Files (x86)\\GTA San Andreas\\samp.exe\" -c -n Florgas -h 127.0.0.1 -p 7777");
... то запускается samp и пытается коннектиться к ":7777".
Суть в том, что можно вместо -p 7777 написать -p 1337, но коннектиться все равно будет на ":7777". То есть по факту параметры есть, поэтому запускается уже игра, но эти параметры почему-то не принимаются и коннектится на пустой IP + дефолтный порт 7777.

Будьте добры, подскажите как запустить samp с параметрами.
Спасибо!
Откуда вы понабрали все эти параметры?

Quote:
Originally Posted by Florgas
View Post
А как вариант в память по адресам загрузить значения не получится?
Кто-нибудь знает адреса где хранится IP, порт и nick?
Что значит где хранится ip, port? Ник хранится в реестре, по памяти ветку не подскажу, но всё легко отыскивается через поиск например.

Quote:
Originally Posted by SHOROOP
View Post
Параметр -p можно выбросить, указав нужный порт через двоеточие после IP. Работает, проверено. Как работает и запуск вида:
Code:
"./samp.exe" IP:PORT
Подтверждаю. Проверенно ещё в первых версиях...
Reply
#10

Quote:
Originally Posted by AirKite
View Post
Откуда вы понабрали все эти параметры?
GetCommandLine();

а параметр -z отвечает за входной пароль на сервер
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)