Запуск сампа батником

BlackGoblin

Известный
Автор темы
519
215
Версия SA-MP
  1. 0.3.7-R3
  2. Любая
Приветули, братули. Такая тема, нашел вот тут как запустить много акков одним батником сразу - https://www.blast.hk/threads/43220/, отсюда вылилось несколько вопросов:
1) Как при этом задать в параметры запуска размер окна игры? Запускается автоматом в окне, ибо так включено в сампфунксе
2) Можно ли задать в параметрах при этом позицию этого самого окна? То есть вписав координаты, на которые ему нужно запуститься
3) Есть ли возможность каждому окну задать разное название?
4) Как определить что какое то из окон закрылось в автоматическом режиме? Бывает почему то такое, что самп просто решает, что ему выгоднее закрыться.
Очень нужны ответы на эти вопросы, ребят :( Ракбот мимо, мне это нужно для другого.
 

k0lenval

Известный
133
110
1.2.3 - программка cmdow, думаю, должна помочь. Сам меняю местоположение окна игры с ее помощью.
4 - Планировщик задач + небольшой скрипт для него, который будет постоянно отслеживать рабочее состояние всех окон(такие сприпты гуглятся на раз два) - как пример:
Проверить, запущено ли приложение:
@echo off
Chcp 1251
set imagename="Имя Окна с игрой"
tasklist /fi "WINDOWTITLE eq %imagename%" | find /i "gta_sa.exe"
if errorlevel 1 (
    echo %imagename% не запущен
    %imagename%.bat
) else (
    echo %imagename% запущен
)
 
Последнее редактирование:
  • Нравится
Реакции: BlackGoblin

BlackGoblin

Известный
Автор темы
519
215
1.2.3 - программка cmdow, думаю, должна помочь. Сам меняю местоположение окна игры с ее помощью.
4 - Планировщик задач + небольшой скрипт для него, который будет постоянно отслеживать рабочее состояние всех окон(такие сприпты гуглятся на раз два) - как пример:
Проверить, запущено ли приложение:
@echo off
Chcp 1251
set imagename="Имя Окна с игрой"
tasklist /fi "WINDOWTITLE eq %imagename%" | find /i "gta_sa.exe"
if errorlevel 1 (
    echo %imagename% не запущен
    %imagename%.bat
) else (
    echo %imagename% запущен
)
Скачал я этот значит cmdow и даже понять не могу как эту хреновину запустить) Вроде описания у нее интересные, может много, а гайдов по ней вообще нет. При простом запуске экзешника она решает просто пролететься и закрыться, не дав ничего сделать. Да и у нее не особо уверенный ВТ
 

k0lenval

Известный
133
110
На гитхабе полно примеров: Примеры cmdow
Как сделал я: засунул cmdow в корень игры, создал там батник и ярлык этого батника кинул на рабочий стол.
Запуск SAMP:
samp.exe  IPсервера:порт -c Твой_Ник
TIMEOUT /t 10
cmdow "GTA:SA:MP"/MOV 1000 0
cmdow "GTA:SA:MP"/REN "Имя окна"
exit
 
  • Нравится
Реакции: BlackGoblin

BlackGoblin

Известный
Автор темы
519
215
На гитхабе полно примеров: Примеры cmdow
Как сделал я: засунул cmdow в корень игры, создал там батник и ярлык этого батника кинул на рабочий стол.
Запуск SAMP:
samp.exe  IPсервера:порт -c Твой_Ник
TIMEOUT /t 10
cmdow "GTA:SA:MP"/MOV 1000 0
cmdow "GTA:SA:MP"/REN "Имя окна"
exit
Можешь дать способ связи с тобой? Я завтра попробую сделать, если что не получится, попробую тебе отписать. Буду благодарен.
 

blessave

Известный
364
106
если ты хочешь чтоб у тебя батник запускал самп и заходил на сервер желаемый, то проще всего создать ярлык gta_sa.exe и прописать ему настройки запуска игры, указывая ник, сервер (гайдов полно) и уже потом создавай батник на этот ярлык, возможно будет не так просто ярлык батником запустить, но выходы есть - гугл: "как запустить ярлык с помощью .bat"
 

BlackGoblin

Известный
Автор темы
519
215
Решил путем замены кода и запуска батника от имени админа. Если кому интересно решение, то вот:
Запуск множества окон:
"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 0 /REN "01" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 300 0 /REN "02" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 600 0 /REN "03" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 900 0 /REN "04" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 1200 0 /REN "05" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 300 /REN "06" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 600 /REN "07" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 900 /REN "08" /SIZ 300 300

1658977532642.png


Единственное, если у кого то есть способ, скажите, как сделать так, чтобы процесс ГТА был активен вот прям сразу и по нему не нужно было кликать?)
 

k0lenval

Известный
133
110
UP
Ищу способ после запуска окна делать его автоматически активным, без надобности по нему кликнуть хотя бы раз.
Заморозка игры происходит из-за открытия нового 3d приложения (игры), насколько заметил. Кликать по окну можно всё также через cmdow с помощью команды /ACT. Попробуй использовать этот код в батнике, в нём ничего сложно нет, если захочешь изменить его под себя:
KOd:
@echo off
title Run_SAMP
Chcp 1251
cd /d "C:\SAMP\GTA San Andreas\"
setlocal enabledelayedexpansion

set arr[1].window=A
set arr[2].window=B
set arr[3].window=C

set arr[1].width=1500
set arr[2].width=1200
set arr[3].width=900

set arr[1].height=0
set arr[2].height=0
set arr[3].height=0

set arr[1].name=Bob
set arr[2].name=Josh
set arr[3].name=Vitya


:loop
for /l %%i in (1 1 3) do (
     tasklist /fi "WINDOWTITLE eq !arr[%%i].window!" | find /i "gta_sa.exe"
if errorlevel 1 (
    CMDOW @  /ACT
    echo  !arr[%%i].window! не запущен
    start samp.exe  ip:port -c !arr[%%i].name!
    TIMEOUT /t 10
    cmdow "GTA:SA:MP" /MOV !arr[%%i].width! !arr[%%i].height! /SIZ 300 300 /REN "!arr[%%i].window!"
    for /l %%n in (1 1 3) do (
        CMDOW !arr[%%n].window! /ACT
        CMDOW !arr[%%n].window! /ACT
        CMDOW !arr[%%n].window! /ACT
        CMDOW !arr[%%n].window! /ACT
        CMDOW !arr[%%n].window! /ACT
        TIMEOUT /t 3
    )
    goto loop
) else (
    echo  !arr[%%i].window! запущен
)
)
TIMEOUT /t 10
goto loop
 
  • Нравится
Реакции: BlackGoblin

oZzY-4

Известный
37
7
Решил путем замены кода и запуска батника от имени админа. Если кому интересно решение, то вот:
Запуск множества окон:
"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 0 /REN "01" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 300 0 /REN "02" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 600 0 /REN "03" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 900 0 /REN "04" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 1200 0 /REN "05" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 300 /REN "06" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick1
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 600 /REN "07" /SIZ 300 300

"C:\Samp\GTA San Andreas\samp.exe" ip:port  -nNick2
TIMEOUT /t 10
"C:\Samp\GTA San Andreas\cmdow.exe" "GTA:SA:MP" /MOV 0 900 /REN "08" /SIZ 300 300

Посмотреть вложение 159743

Единственное, если у кого то есть способ, скажите, как сделать так, чтобы процесс ГТА был активен вот прям сразу и по нему не нужно было кликать?)
Привет, мог бы ты мне подсказать , именно работает команда /mov ? как сделать окна в 3-4 ряда ?
 

BlackGoblin

Известный
Автор темы
519
215
Привет, мог бы ты мне подсказать , именно работает команда /mov ? как сделать окна в 3-4 ряда ?
Привет. Команда перемешает по координатам просто указанным твое окно. Например, mov 0 0, получается нулевой пиксель слева и сверху. Каждое окно считается от угла. Дальше учитываешь размер окна, у меня он 300, получается следующий у меня идет mov 300 0, то есть 300 пиксель слева и все так же 0 сверху, ведь мы идем по первой строке. Дальше, когда у тебя закончилось место в первой строке, ты делаешь уже mov 0 300, получается нулевой пиксель слева и 300 сверху. То есть окно будет под первым окном. Третья строка будет mov 0 600, ну, надеюсь, ты понял
 
  • Нравится
Реакции: Z3roKwq