c'est assez.. gros.. mais voici le code complet du script dont je parlais, je n'ai pas besoin de récupérer les patern en soi c'est juste la base qui m'intéresse, assigner une arme à la touche 1/2 et agir en fonction de l'arme assignée à cette touche quand je clique, malheureusement, avec mon niveau plus que nul, je comprends pas grand chose..
Code: Select all
#NoEnv
#KeyHistory, 0
#SingleInstance force
#MaxThreadsBuffer on
#Persistent
;#NoTrayIcon ;if you care (not reccomend)
SetBatchLines, -1
ListLines, Off
SetWorkingDir %A_ScriptDir%
;-----editplz-----
sens:=3.5 ;Edit this to your in-game sens
bind_bhop=Numpad1 ;This button should be binded sub-crouch[hold] key in Game setting
subjumpkey=Numpad9 ;This button should be binded sub-Jump key in Game setting
subshootkey=Numpad0 ;This button should be binded sub-Attack key in Game setting
bind_1=1
bind_2=2
bind_run=3 ;Run key
bind_reset=f6 ;Reset button
bind_granade=g ;Granade key
bind_r31=f1
bind_r9=f2
bind_pros=f3
bind_pro=f4
bind_lstar=f5
bind_flat=f7
bind_devo=f8
bind_hav=f9
;----hotkey registor-----
Hotkey, ~$*%bind_1%, key_1
Hotkey, ~$*%bind_2%, key_2
Hotkey, ~$*%bind_run%, key_3
Hotkey, ~$*%bind_r31%, r301
Hotkey, ~$*%bind_r9%, r99
Hotkey, ~$*%bind_pros%, prowlerselect
Hotkey, ~$*%bind_pro%, prowler
Hotkey, ~$*%bind_lstar%, lstar
Hotkey, ~$*%bind_flat%, flatline
Hotkey, ~$*%bind_devo%, devotion
Hotkey, ~$*%bind_hav%, havoc
Hotkey, ~$*%bind_reset%, key_reset
Hotkey, ~$*%bind_granade%, key_granade
Hotkey, ~$*%bind_bhop%, key_bhop
; ~~~~~~~~~~~~~~~~~Pattern~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
no_pattern := {}
r301_pattern := {1: "-3.5,10.4,80", 2: "4.4,10.6,80", 3: "-6.4,9.5,80"
,4: "-1.2,10.0,80", 5: "-5.3,7.6,80", 6: "-0.4,4.1,80"
,7: "-1.8,3.3,80", 8: "-4.1,1.9,80", 9: "-2.4,3.3,80"
,10: "-3.2,1.0,80", 11: "0.0,3.3,80", 12: "2.0,2.2,80"
,13: "5.0,2.8,80", 14: "4.7,2.3,80", 15: "5.0,1.9,80"
,16: "5.2,0.9,80", 17: "3.2,0.9,80", 18: "0.0,2.2,80"
,19: "-1.1,4.2,80", 20: "-3.1,2.8,80", 21: "-3.6,1.3,80"
,22: "-3.6,0.0,80", 23: "-2.6,1.4,80", 24: "-2.4,1.4,80"
,25: "-3.0,0.0,80", 26: "0.0,0.0,80", 27: "0.0,0.0,80"
,28: "0.0,0.0,80", 29: "0.0,0.0,80", 30: "0.0,0.0,80"}
r99_pattern := {1: "-1.6,7,53", 2: "0.1,7,53", 3: "2.3,5.9,53"
,4: "-1.8,10.2,53", 5: "-3.3,14.9,53", 6: "-6.3,13,53"
,7: "-5.5,9.7,53", 8: "-2.5,8.8,53", 9: "0.2,9,52"
,10: "2.3,7.8,52", 11: "4.5,7.3,52", 12: "0.9,6.1,52"
,13: "1.6,8.5,52", 14: "-1.1,4,52", 15: "-4.9,1,52"
,16: "-2.3,2.8,52", 17: "-4.5,1.5,52", 18: "4,2.3,52"
,19: "0,2,52", 20: "2.5,1.7,52", 21: "3.5,1.7,52"
,22: "4,2.6,52", 23: "3.5,2,52", 24: "4.6,2,52"
,25: "2,1.5,52", 26: "2,2,52", 27: "-5,3,52"
,28: "-5,0,52", 29: "-5,1,52", 30: "0,0,52"}
prowlerselect_pattern := {1: "2,15.2,120", 2: "2,11.7,120", 3: "2,12.9,120"
,4: "2,12.4,120", 5: "3,9.4,120", 6: "3,10.6,120"
,7: "3,9.0,120", 8: "3,8.5,120", 9: "-2,3.9,120"
,10: "-3,6.0,120", 11: "-3,6.0,120", 12: "-3,6.4,120"
,13: "-3,6.9,120", 14: "-3,3.9,120", 15: "3,7.8,120"
,16: "3,4.8,120", 17: "3,3.7,120", 18: "0,3.9,120"
,19: "0,6.0,120", 20: "0.0,5.3,120", 21: "0.0,0.0,120"}
prowler_pattern := {1: "0.7,17.3,36", 2: "0.3,15.0,36", 3: "0.3,14.3,36"}
lstar_pattern := {1: "0,5,37", 2: "0,5,37", 3: "0,5,37"
,4: "2,5,37", 5: "2,5,37", 6: "2,5,37"
,7: "2,5,37", 8: "2,5,37", 9: "2,5,37"
,10: "0,5,32", 11: "0,5,32", 12: "0,5,37"
,13: "0,5,32", 14: "0,5,32", 15: "0,5,32"
,16: "0,5,42", 17: "0,5,42", 18: "0,5,42"
,19: "0,5,42", 20: "0,5,42", 21: "0,5,42"
,22: "0,5,42", 23: "0,5,55", 24: "0,5,55"
,25: "0,5,55", 26: "0,5,55", 27: "0,5,55"
,28: "0,5,55", 29: "0,5,55", 30: "0,5,55"
,31: "0,5,55", 32: "0,5,55", 33: "0,5,55"
,34: "0,5,55", 35: "0,5,55", 36: "0,5,55"
,37: "0,5,55", 38: "0,5,55", 39: "0,5,55"
,40: "0,5,55", 41: "0,5,55", 42: "0,5,55"
,43: "0,5,55", 44: "0,5,55", 45: "0,5,55"}
flatline_pattern := {1: "3.0,15.2,110", 2: "1.5,5.3,110", 3: "9.6,10.1,110", 4: "6.3,7.5,110"
,5: "3.3,9.7,110", 6: "-1.3,9.7,110", 7: "-4.5,2.6,110", 8: "-10.6,-2.0,110"
,9: "-2.7,-1.3,110", 10: "-3.9,3.5,110", 11: "-1.7,6.6,110", 12: "4.5,2.0,110"
,13: "9.9,4.4,110", 14: "5.1,1.9,110", 15: "9.6,-1.6,110", 16: "4.2,2.1,110"
,17: "1.8,8.3,110", 18: "3.3,8.1,110", 19: "6.9,4.9,110", 20: "9.0,2.3,110"
,21: "3.9,0.6,113", 22: "-1.2,5,113", 23: "-7.9,2.5,113", 24: "-5.5,2,113"
,25: "-8.8,2.2,113", 26: "-9.1,1.5,113", 27: "-8.8,1,113"}
devotion_pattern := {1: "0.0,0.0,40", 2: "0.8,24.5,180", 3: "0.3,20.0,170"
,4: "0.3,23.5,140", 5: "2.0,23.2,120", 6: "3.1,19.5,100"
,7: "2.8,12.6,85", 8: "2.8,10.6,85", 9: "6.2,4.8,85"
,10: "2.8,6.4,85", 11: "3.1,5.8,68", 12: "4.8,7.1,68"
,13: "5.0,4.4,68", 14: "6.2,2.3,68", 15: "7.6,1.8,68"
,16: "7.0,0.5,68", 17: "4.2,-1.6,68", 18: "6.2,1.6,68"
,19: "-1.4,4.6,68", 20: "0.0,5.3,66", 21: "-3.9,3.9,66"
,22: "-4.5,2.3,66", 23: "-4.5,2.5,66", 24: "-6.7,3.0,66"
,25: "-7.0,3.0,66", 26: "-3.1,3.2,66", 27: "1.7,3.7,66"
,28: "-1.4,4.8,66", 29: "-3.6,4.4,66", 30: "-5.0,3.5,70"
,31: "-6.2,2.1,70", 32: "-5.6,-0.5,70", 33: "-5.6,-0.5,70"
,34: "-4.8,3.7,70", 35: "-4.8,3.7,67", 36: "-0.8,4.1,67"
,37: "-2.8,3.5,67", 38: "2.0,3.5,67", 39: "2.0,3.5,66"
,40: "-1.4,3.7,67", 41: "-1.4,2.8,67", 42: "-3.6,1.6,67"
,43: "-1.4,2.3,67", 44: "0.0,3.0,67", 45: "3.6,1.8,67"}
havoc_pattern := {1: "0.0,0.0,460", 2: "-1.1,10.8,84", 3: "5.5,11.9,84"
,4: "-4.8,10.4,84", 5: "2.6,10.8,84", 6: "-4.6,11.0,84"
,7: "-2.0,11.1,84", 8: "-3.7,11.1,84", 9: "-0.9,11.1,84"
,10: "2.8,11.1,84", 11: "5.5,10.3,84", 12: "2.8,11.1,84"
,13: "0.9,10.1,84", 14: "-2.0,10.1,84", 15: "-2.0,10.1,84"
,16: "-3.7,8,83", 17: "-2.8,7,83", 18: "-2.0,5,83"
,19: "-0.9,5.5,83", 20: "0.9,4,84", 21: "2.0,2.8,84"
,22: "2.8,2.8,84", 23: "2.0,2.8,84", 24: "0.9,2.8,84"
,25: "-0.9,2.5,84", 26: "-2.0,2.5,84", 27: "0.0,2,84"
,28: "0.0,2,84", 29: "0.0,2,84", 30: "0.0,2,84"
,31: "0.0,2,84", 32: "0.0,2,84", 33: "0.0,0.0,100"}
;~~~~~~~~~~~~~~~~~~~~~~~Base state~~~~~~~~~~~~~~~~~~~~~~~~~~
slotA:=1 ;Slot1 activate memory Var
slotB:=0 ;Slot2 activate memory Var
memA:=non ,memB:=non ;Weapon pattern memory Var
memR1:=0 memR2:=0 ;Fire-mode memory Var
active_pattern:=no_pattern
modifier:= 3.4/sens
rate=10
volume=80
SAPI := ComObjCreate("SAPI.SpVoice")
SAPI.rate:=rate
SAPI.volume:=volume
rapidmode:=0
isCursorShown()
{
StructSize := A_PtrSize + 16
VarSetCapacity(InfoStruct, StructSize)
NumPut(StructSize, InfoStruct)
DllCall("GetCursorInfo", UInt, &InfoStruct)
Result := NumGet(InfoStruct, 8)
if Result > 1
Return 1
else
Return 0
}
Loop {
Sleep 50
if isCursorShown() == 1
mice:=1
else
mice:=0
}
; ~~~~~~~~~~~~~~~~~Base activation~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
key_1:
slotA:=1
slotB:=0
active_pattern:=%memA%_pattern
rapidmode:=memR1
SAPI.Speak(memA)
return
key_2:
slotA:=0
slotB:=1
active_pattern:=%memB%_pattern
rapidmode:=memR2
SAPI.Speak(memB)
return
key_3:
key_granade:
active_pattern:=no_pattern
rapidmode:=()
if GetKeyState(bind_run,"P")
SAPI.Speak("courir")
else if GetKeyState(bind_granade,"P")
SAPI.Speak("granade")
return
key_reset:
active_pattern:=no_pattern
slotA:=1
slotB:=0
memA:=non
memB:=non
memR1:=0
memR2:=0
rapidmode:=0
SAPI.Speak("réset")
return
; ~~~~~~~~~~~~~~~~~~~~~~~~~~Weapon Profile~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;Full-Auto Weapon section
r301:
r99:
lstar:
flatline:
devotion:
havoc:
prowlerselect:
{
nullA := A_thislabel
active_pattern:=%nullA%_pattern
rapidmode:=0
if (slotA)
memA:=nullA ,memR1:=0
else
memB:=nullA ,memR2:=0
SAPI.Speak(nullA)
}
return
;Tap or burst weapon section
prowler:
{
nullA := A_thislabel
active_pattern:=%nullA%_pattern
rapidmode:=0
if (slotA)
memA:=nullA ,memR1:=1
else
memB:=nullA ,memR2:=1
SAPI.Speak(nullA)
}
return
; ~~~~~~~~~~~~~~~~~~~~~~Main~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
key_bhop:
sleep 150
while GetKeyState(bind_bhop, "P")
{
Random, foo, 50, 100
Send % subjumpkey
Sleep %foo%
send {space}
sleep %foo%
}
return
#IF mice=0 ; Disable switch cursor shown (start line)
~$*LButton::
sleep 5
loop {
if (rapidmode) ;For Tap Weapon
{
if a_index<3 ; remove bug
click
else
random, foo2, 1, 2
if(foo2=1)
click
else
send % subshootkey
}
x := strsplit(active_pattern[a_index],",")[1] ;using str insteed of normal array for easly edit pattern
y := strsplit(active_pattern[a_index],",")[2]
t := strsplit(active_pattern[a_index],",")[3]
dllcall("mouse_event","UInt",0x01,"UInt",x*modifier,"UInt",y*modifier)
sleep t
} until !GetKeyState("LButton","P") || a_index > active_pattern.maxindex()
return
#IF ; Disable switch cursor shown (end line)
~end::
SAPI.Speak("bye")
Exitapp
return