Jump to content
- Werbung nur für Gäste -

IGNORIERT

Trophäe Königshopser


Chris19841

Recommended Posts

Mit dem normalen Script hat es bei mir auch nie geklappt, aber es gibt ein neues:

Spoiler

DetectHiddenWindows, On
#Persistent
#NoEnv

buttonToPress := "Enter"

; --------- Constants 
; jump intervals
a = 667
b = 532
c = 467
d = 433
e = 383
; f = not needed since 200-300 can be done with a single interval

g = 400
g2 = 401

latency = 710
script = 1
; ---------- Gui Setup -------------
Gui, -MaximizeBox
Gui, -MinimizeBox
Gui, 2: -MaximizeBox
Gui, 2: -MinimizeBox
Gui, Color, c282a36, c6272a4
Gui, Add, Button, x15 y10 w70 default, Start
Gui, Add, Button, x15 y40 w70 default gVariableWindow, Variables
Gui, Font, ce8dfe3 s9 w550 Bold
Gui, Add, GroupBox, x90 y10 w120 h60, Button to press
Gui, Font, c758eff Bold, Verdana
Gui, Add, Radio, x100 y28 Checked altsubmit gButtonChange vButtonChoice group, X
Gui, Font, cff5754 Bold, Verdana
Gui, Add, Radio, altsubmit gButtonChange,  O
Gui, Font, ce8dfe3 s8 w550 Bold
Gui, Add, GroupBox, x15 y70 w190 h40, Script
Gui, Add, Radio, x25 y90 Checked altSubmit gScriptChange vScriptChoice group, QueueTip
Gui, Add, Radio, x115 y90 altSubmit gScriptChange, Septomor
;--------- Gui 2 Setup --------------
Gui, 2: Color, c535770, c6272a4
Gui, 2: Font, c11f s9 Bold
Gui, 2: Add, Text,, Jumps 2-19
Gui, 2: Add, Edit,  w40 vA, %a%
Gui, 2: Add, Text,, Jumps 20-49
Gui, 2: Add, Edit,  w40 vB, %b%
Gui, 2: Add, Text,, Jumps 50-99
Gui, 2: Add, Edit,  w40 vC, %c%
Gui, 2: Add, Text,, Jumps 100-199
Gui, 2: Add, Edit,  w40 vD, %d%
Gui, 2: Add, Text, x100 y10, Jumps 200-299
Gui, 2: Add, Edit,  w40 x100 y25 vE, %e%
Gui, 2: Add, Text, x100 y50, Jumps 300+
Gui, 2: Add, Edit,  w40 x100 y65 vG, %g%
Gui, 2: Add, Edit,  w40 x100 y90 vG2, %g2%
Gui, 2: Font, ccc3429 s9 Bold
Gui, 2: Add, Text, x100 y120, Latency
Gui, 2: Font, c11f s9 Bold
Gui, 2: Add, Edit, w40 x100 y135 vLat, %latency%
Gui, 2: Add, Button, x20  y192 gSaveVars, Save 
Gui, 2: Add, Button, x100 y192 gVarDef, Defaults 
Gui, Show,w220 h120,  Vivi Jumps QueueTip + Sept
return

VariableWindow:
Gui, 2: Show, w210 h225, Variables
return

SaveVars:
Gui, 2:Submit
GuiControlGet, a, 2:, A
GuiControlGet, b, 2:, B
GuiControlGet, c, 2:, C
GuiControlGet, d, 2:, D
GuiControlGet, e, 2:, E
GuiControlGet, g, 2:, G
GuiControlGet, g2, 2:, G2
GuiControlGet, latency, 2:, Lat
return

VarDef:
a = 667
b = 532
c = 467
d = 433
e = 383
g = 400
g2 = 401
Lat = 710
GuiControl, 2:, A, %a%
GuiControl, 2:, B, %b%
GuiControl, 2:, C, %c%
GuiControl, 2:, D, %d%
GuiControl, 2:, E, %e%
GuiControl, 2:, G, %g%
GuiControl, 2:, G2, %g2%
GuiControl, 2:, Lat, %lat%
return

ButtonStart:
Gui, Submit, NoHide
id := ""
SetKeyDelay, 100
Process, priority, , High
gosub, GrabRemotePlay
if  (id = "")
return
gosub, PauseLoop
CoordMode, Pixel, Screen
CoordMode, ToolTip, Screen
sleep 2000
if(script = 1)
gosub, QueueTipS
else if(script = 2)
gosub, SeptS
; ---------- Gui Setup End-------------

; ---------- Jump Loop -------------
; ---------- QueueTip
QueueTipS:
loop {

i = 1

delay = 100
balancer = 0
currentInterval := a
extraTime = 0

ToolTip, start, 400,400

; Initiate steps to begin
ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
DllCall("Sleep", "Uint", 100)
ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.
Sleep, 2000
ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
DllCall("Sleep", "Uint", 100)
ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.
Sleep, 3000
PixelGetColor, failColor, 644, 535, RGB
PixelGetColor, jumpColor, 562, 416, RGB
ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
DllCall("Sleep", "Uint", 100)
ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.

; Detect 1st jump

Loop {
PixelSearch, x, y, 562, 416, 562, 416, %jumpColor%, 20, Fast RGB
   If (ErrorLevel != 0) {
DllCall("Sleep", "Uint",  latency - 220 )
break
}
}

start := A_TickCount + 50

loop
{

; Detect if failed and back at the start to retry
PixelSearch, x, y, 644, 535, 644, 535, %failColor%, 20, Fast RGB
   	If (ErrorLevel != 0) { ; reset
	ToolTip, failed, 400, 400
	sleep, 3000
	ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
	DllCall("Sleep", "Uint", 100)
	ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.
	sleep, 2000
	break
}

   Gosub, timings
Gosub, jump	
}
}

return

jump:
fullTime := A_TickCount - start - extraTime
start := A_TickCount
if(i > 1) {
balancer += currentInterval - fullTime
}
ToolTip, %i% - %fullTime%, 400, 400
ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
DllCall("Sleep", "Uint", delay)
ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.
ToolTip
i += 1
extraTime = 0
return

; ------- Septomor
SeptS:
loop{
i = 1

delay = 100
balancer = 0
currentInterval := a
extraTime = 0
ToolTip, start, 400,300
SendMode, Input

Send, {%buttonToPress% down}
Sleep, 100
Send {%buttonToPress% up}
Sleep, 2000
Send, {%buttonToPress% down}
Sleep, 100
Send {%buttonToPress% up}
Sleep, 3000
PixelGetColor, failColor, 644, 535, RGB
Send, {%buttonToPress% down}
Sleep, 100
Send {%buttonToPress% up}
Sleep, %latency%
loop
{
	
; Detect if failed and back at the start to retry
PixelSearch, x, y, 644, 535, 644, 535, %failColor%, 20, Fast RGB
   	If (ErrorLevel != 0) { ; reset
	ToolTip, failed, 400, 400
	sleep, 3000
	ControlSend,, {%buttonToPress% down}, ahk_id %id%  ; Press down the %buttonToPress% key.
	DllCall("Sleep", "Uint", 100)
	ControlSend,, {%buttonToPress% up}, ahk_id %id%  ; Release %buttonToPress% key.
	sleep, 2000
	gosub, GrabRemotePlay
	break
}
gosub timings
gosub, InputJump
}
}

timings:
timer := A_TickCount - start

if (i = 1) {
	currentInterval := a
} else if (i = 21) {
	currentInterval := b
	balancer = 0
} else if (i = 51) {
	currentInterval := c
	balancer = 0
} else if (i = 101) {
	currentInterval := d
	balancer = 0
} else if (i = 201) {
	;extraTime = 50
	delay = 70
	currentInterval := e
	balancer = 0
} else if (i = 260) {
	extraTime = 20
	balancer = 0
} else if (i = 301) {
	currentInterval := g
	balancer = 0
} else if (i = 500 or i = 800) {
	currentInterval := g2
} else if (i = 600 or i = 900) {
	currentInterval := g
} else if (i => 1001) {
	if (Mod(i,2) = 0) {
		currentInterval := g
	} else {
		currentInterval := g2
	}
}

if(i > 1)
{
	DllCall("Sleep", "Uint", (currentInterval - timer + balancer + extraTime))
}
return

inputJump:
fullTime := A_TickCount - start - extraTime
start := A_TickCount
if(i > 1) {
balancer += currentInterval - fullTime
}
ToolTip, %i% - %fullTime%, 400, 400
Send, {%buttonToPress% down}    ; Press down the %buttonToPress% key.
Sleep, delay
Send {%buttonToPress% up}   ; Release %buttonToPress% key.
i += 1
extraTime = 0
return
; ---------- Jump Loop End-------------


ButtonChange:
Gui, submit, nohide
if (ButtonChoice = 1)
{
 buttonToPress := "Enter"
}
if (ButtonChoice = 2)
{
 buttonToPress := "Esc"
}
return

GrabRemotePlay:
WinGet, remotePlay_id, List, ahk_exe RemotePlay.exe
if (remotePlay_id = 0)
{
MsgBox, PS4 Remote Play not found
return
}
Loop, %remotePlay_id%
{
 id := remotePlay_id%A_Index%
 WinGetTitle, title, % "ahk_id " id
 If InStr(title, "PS Remote Play")
   break
}	
WinGetClass, remotePlay_class, ahk_id %id%
WinMove, ahk_id %id%,, 0, 0, 1440, 900
ControlFocus,, ahk_class %remotePlay_class%
WinActivate, ahk_id %id%  
return

ScriptChange:
Gui, submit, nohide
if (ScriptChoice = 1)
{
script = 1
}
if (ScriptChoice = 2)
{
script = 2
}
return

PauseLoop:
 Send, {%buttonToPress% Up}
 Send, {Esc Up}
 return

GuiClose:
gosub, PauseLoop
ExitApp

^Esc::ExitApp

https://www.playstationtrophies.org/forum/topic/293235-working-on-hail-to-the-king-script-version-for-ps4/?do=findComment&comment=6384380
 

Das scannt den Bildschirm und führt dann das Script entsprechend aus. Es erkennt auch, wenn man verloren hat und startet selbstständig neu. Der Tooltip zeigt auch stets an, was das Script gerade macht (also entweder die Anzahl der Sprünge oder wenn es neu startet) also kann man gut nachvollziehen, was gerade passiert. 
 

Hat bei mir auf Anhieb 1124 Sprünge gemacht. Mit der PS5 hat es aber nicht geklappt, nur mit der PS4. Und ich habe in RemotePlay vorher die niedrigste Auflösung und die höchste Framerate eingestellt.

 

Im Auswahlbild, was beim Starten des Scripts kommt, hab ich das von Septomor gewählt und dann muss man nur auf Start drücken. Ich musste auch aus irgendeinem Grund das RemotePlay Fenster einmal groß und wieder kleiner machen (2x Vollbildbutton), dann ging es.

 

Es wird auch empfohlen eine Auflösung von 1440x900 am Rechner einzustellen aber die schlägt mir Windows nicht vor, ging also auch so bei mir.

 

Beendet wird das Script mit Strg + Esc.

Bearbeitet von Realmatze
Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

Am 16.1.2022 um 17:44 schrieb -.-Realitygamer-:

Funktioniert das Script nur wenn man eine PS4 nutzt?

 

 

Weil habe es heute genau nach Anleitung gemacht wie es im Video bei der Roadmap beschrieben ist. Anstatt PS4 Remote Play aber PS5 Remote Play herunter geladen da Ich keine PS4 mehr besitze. Höher als 84 Seilsprünge kam das Script aber nicht. Sehr sehr oft schon bei 22 gescheitert.

 

Latenz auch in 1er Schritten von 300-400 getestet. Brachte nur nichts. Prio in der Fritze war auch auf das Notebook und die PS5 (beide via LAN CAT7 Kabel an der Fritze 7590) gestellt.

 

 

Hab's nun aufgegeben da es, so wie es aussieht, nur mit einer PS4 funktioniert. Für die PS5 gibt es noch kein Script, oder?

Mit dem ersten Script hatte ich auch auf der PS4 nie erfolg.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle eine Antwort

Du kannst jetzt einen Beitrag verfassen und dich im Anschluss registrieren. Wenn du bereits einen Account hast, dann melde dich bitte an.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Deine Inhalte, die du zuvor verfasst hast, wurden wiederhergestellt..   Inhalte wieder entfernen

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Neu erstellen...