Как находится одному в публичной сессии в }|{TA Online

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,762
11,195
Диспетчер задач > Производительность > Открыть монитор ресурсов > GTAV.exe > ПКМ - Приостановить процесс > Ждем 10 секунд > ПКМ - Возобновить процесс

 

arreant

Известный
196
108
А нахуя ? Частную сессию создаёшь и не нужно мозги ебать
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,762
11,195
А нахуя ? Частную сессию создаёшь и не нужно мозги ебать
Некоторое задание запускается ИСКЛЮЧИТЕЛЬНО в открытой сессии, тоесть ты не сможешь его запустить ни в сессии по приглашениям, ни в одиночной.
 

asdzxcjqwe

¯\_(ツ)_/¯
Друг
621
704
доисторический баян конечно и сейчас есть способы куда проще, но для тех, кто не любит играть с читами сойдет

я использовал такой ahk до тех пор, пока в kiddions menu не появилась возможность создать свою сессию
(UPD: омг, заметил что код который я загрузил даже не работал, исправил)
AutoHotKey:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

name := "GTA:O Solo Lobby"
proc := "GTA5.exe"
frozen := false

if (!isProcess(proc))
{
    MsgBox, 16, %name%, GTA 5 doesn't seem to be running
    ExitApp
}

Gui, Font, S12 CDefault, Times New Roman
Gui, Add, Text, x95 y9 w420 h20 vinfo , Going solo, you'll leave the current lobby.
Gui, Add, Button, x62 y49 w120 h40 gsolo vbtn1 , Go solo
Gui, Add, Button, x242 y49 w120 h40 gGuiClose vbtn2 , Discard
Gui, Show, w443 h114, % name
return

solo:
    frozen := true
    GuiControl, +Disabled, btn1
    ; random, timeout, 8500, 10000
    ; timeout += A_TickCount
    timeout := A_TickCount + 10000
    settimer, wait, 1
    Process_Suspend(proc)
return

wait:
    rest := timeout - A_TickCount
    secs := round(rest / 1000, 3)
    if rest <= 0
    {
        frozen := false
        settimer, wait, off
        GuiControl, move, info, x50 y9 w420 h20
        GuiControl,, info, You've gone solo! Now you can safely exit the program.
        GuiControl,, btn2, Exit
        Process_Resume(proc)
        ; ExitApp
    } else {
        GuiControl, move, info, x120 y9 w420 h20
        GuiControl,, info, It will be ready in %secs% seconds...
    }
return

GuiClose:
GuiEscape:
    if frozen
    {
        MsgBox, 51, %name%, The game is still suspended. If you leave now`, it will be resumed.`nYou better wait until it's done.`n`nAre you sure you still want to exit?
        ifmsgbox yes
        {
            Process_Resume(proc)
            ExitApp
        }
        return
    }
ExitApp

Process_Suspend(PID_or_Name){   
    PID := (InStr(PID_or_Name,".")) ? isProcess(PID_or_Name) : PID_or_Name
    h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid)
    If !h   
        Return -1
    DllCall("ntdll.dll\NtSuspendProcess", "Int", h)
    DllCall("CloseHandle", "Int", h)
}

Process_Resume(PID_or_Name){
    PID := (InStr(PID_or_Name,".")) ? isProcess(PID_or_Name) : PID_or_Name
    h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid)
    If !h   
        Return -1
    DllCall("ntdll.dll\NtResumeProcess", "Int", h)
    DllCall("CloseHandle", "Int", h)
}

isProcess(PID_or_Name=""){
    Process, Exist, % (PID_or_Name="") ? DllCall("GetCurrentProcessID") : PID_or_Name
    Return Errorlevel
}


если не любите ahk, можете использовать pstools, там есть команда pssuspend, либо написать на любом другом языке, либо продолжать вручную через process hacker или монитор ресурсов

создать свою паблик сессию через чит-меню просто:
1. загрузиться в одиночную игру (будет намного быстрее)
2. запустить меню
3. открыть меню в игре, нажать Game, в Online Session выбрать Start New Public и подтвердить выбор (numpad 5)
// загрузка в свою новую сессию пройдет в разы быстрее
//// да, в этой сессии можно выполнять миссии CEO, MC и другие, это та же паблик, только без игроков в ней

MckqYn4.png


из меню персонажа войти сразу в свой паблик так же:
1. выбрать start new public опять
2. выбрать персонажа и подтвердить выбор персонажа
3. сразу после нажать start new public

А как это работает? Куда другие игроки пропадают?
пропадаешь ты, а не другие. таймаут называется и это не баг, R* пришлось на это пойти, чтобы игроки с плохим инетом (или просто если произошли какие-то неполадки с соединением) могли продолжать играть в своей новой созданной сессии, а не отрубались от текущей, чтобы искать новую
 
Последнее редактирование:

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,762
11,195
доисторический баян конечно и сейчас есть способы куда проще, но для тех, кто не любит играть с читами сойдет

я использовал такой ahk до тех пор, пока в kiddions menu не появилась возможность создать свою сессию
AutoHotKey:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

name := "GTA:O Solo Lobby"
proc := "GTA5.exe"
frozen := false

if (!isProcess(proc))
{
    MsgBox, 16, %name%, Unable to find the process %proc%
    ExitApp
}

Gui, Font, S12 CDefault, Times New Roman
Gui, Add, Text, x12 y9 w420 h20 vinfo , Are you sure you want to leave the current lobby and join a solo one?
Gui, Add, Button, x62 y49 w120 h40 gsolo vbtn1 , Leave the lobby
Gui, Add, Button, x242 y49 w120 h40 gGuiClose vbtn2 , Exit
Gui, Show, w443 h114, % name
return

solo:
    frozen := true
    GuiControl, +Disabled, btn1
    ; random, timeout, 8500, 10000
    ; timeout += A_TickCount
    timeout = A_TickCount + 10000
    settimer, wait, 1
    Process_Suspend(proc)
return

wait:
    rest := timeout - A_TickCount
    secs := round(rest / 1000, 3)
    if rest <= 0
    {
        settimer, wait, off
        Process_Resume(proc)
        ExitApp
    }
    GuiControl,, info, It will be ready in %secs% seconds...
return

GuiClose:
GuiEscape:
    if frozen
    {
        MsgBox, 51, %name%, The game is still suspended. If you leave now`, it will be resumed.`nYou better wait before it's done.`n`nAre you sure you want to continue?
        ifmsgbox yes
        {
            Process_Resume(proc)
            ExitApp
        }
        return
    }
ExitApp

Process_Suspend(PID_or_Name){    
    PID := (InStr(PID_or_Name,".")) ? isProcess(PID_or_Name) : PID_or_Name
    h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid)
    If !h   
        Return -1
    DllCall("ntdll.dll\NtSuspendProcess", "Int", h)
    DllCall("CloseHandle", "Int", h)
}

Process_Resume(PID_or_Name){
    PID := (InStr(PID_or_Name,".")) ? isProcess(PID_or_Name) : PID_or_Name
    h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid)
    If !h   
        Return -1
    DllCall("ntdll.dll\NtResumeProcess", "Int", h)
    DllCall("CloseHandle", "Int", h)
}

isProcess(PID_or_Name=""){
    Process, Exist, % (PID_or_Name="") ? DllCall("GetCurrentProcessID") : PID_or_Name
    Return Errorlevel
}


если не любите ahk, можете использовать pstools, там есть команда pssuspend, либо написать на любом другом языке, либо продолжать вручную через process hacker или монитор ресурсов

создать свою паблик сессию через чит-меню просто:
1. загрузиться в одиночную игру (будет намного быстрее)
2. запустить меню
3. открыть меню в игре, нажать Game, в Online Session выбрать Start New Public и подтвердить выбор (numpad 5)
// загрузка в свою новую сессию пройдет в разы быстрее
//// да, в этой сессии можно выполнять миссии CEO, MC и другие, это та же паблик, только без игроков в ней

MckqYn4.png


из меню персонажа войти сразу в свой паблик так же:
1. выбрать start new public опять
2. выбрать персонажа и подтвердить выбор персонажа
3. сразу после нажать start new public


пропадаешь ты, а не другие. таймаут называется и это не баг, R* пришлось на это пойти, чтобы игроки с плохим инетом (или просто если произошли какие-то неполадки с соединением) могли продолжать играть в своей новой созданной сессии, а не отрубались от текущей, чтобы искать новую
Ну лично я играю без софта, и по моемц мнению гораздо проще сделать это через монитор ресурсов.
А нахуя ? Частную сессию создаёшь и не нужно мозги ебать
1581605970047.png
 
Последнее редактирование: