Sprzedałem nostromo myśląc że już nie wrócę do L2, był to niestety fail bo nie tak łatwo się od tego uwolnić
Niestety na F1-F12 jak dla mnie grać się nie da, z cheatów nigdy nie korzystałem, więc szukałem czegoś co zastąpi macra z nostromo. Trafiłem na Autohotkey. Na retailu autohotkeya blokuje gameguard, na ruoffie nie wiem, na privach pewnie działa bez problemu (na rpg działa).
Do ściągnięcia tutaj:
http://www.autohotkey.net/~Lexikos/AutoHotkey_L/AutoHotkey_L_Install.exeAutohotkey bazuje na skryptach a co za tym idzie możliwości ma ogromne. Nie znam się na programowaniu ale poczytałem tutoriale, forum autohotkeya i porobiłem sobie kilka skryptów do L2.
Jak zapisywać i uruchamiać skrypt?
Otwieramy notatnik, wpisujemy skrypt, zapisujemy jako skrypt.ahk, podwójne kliknięcie uruchamia skrypt. W trayu pojawia się ikonka Autohotkeya.
Lista nazw przycisków na myszy i klawiaturze:
http://www.autohotkey.com/docs/KeyList.htmNo to zaczynamy od najprostszych rzeczy.
1. Skrypt na przebindowanie klawisza. Przykładowo chcemy zamiast F3 wciskać 6 na klawiaturze numerycznej.
Numpad6:: send {F3}
Przy klawiszach których nazwa ma wiele znaków musimy takie F3 dawać w nawias {F3}, inaczej autohotkey będzie myślał że chcemy wcisnąć f i 3. Oczywiście kolejne komendy dodajemy do tego samego skryptu żeby nie robić 50 skryptów i uruchamiać je osobno.
Jeśli chcemy w skrypcie napisać jakiś swój komentarz żeby się nie pogubić w tych symbolach dajemy go po znaku ";".
Przykładowo fragment mojego skryptu z przebidowaniem klaiwszy F1-F12:
; PRZYPISANIE F1-F12
Numpad4:: send {F1}
Numpad5:: send {F2}
Numpad6:: send {F3}
Numpad8:: send {F4}
NumpadAdd:: send {F5}
2. Grając healerami 3 podstawowe paski to jest dla mnie za mało więc stosuję pasek pve i pvp pomiędzy którymi przełączam się za pomocą jednego klawisza. Niech naszym paskiem pve będzie pasek 1, a paskiem pvp będzie pasek 2, przycisk zmieniający - enter na numerycznej.
Skrypt wygląda tak:
$NumpadEnter::Send % (i:=!i) ? "!{F2}" : "!{F1}"
Nie pytajcie mnie dlaczego na początku jest $ i co to za "i" bo tego nie wiem, tak ma być i basta
Po ludzku co robi ten skrypt. Wciskając enter na numerycznej skrypt na przemian wciska nam alt+F2 i alt+F1.
!{F1} oznacza właśnie alt+F1.
! - jest to symbol alt używanego w kombinacjach.
^ - ctrl
+ - shift.
Czyli jakbysmy chcieli wcisnąć shift+F5 to by było +{F5}.
3. Spam CP, czyli to na co wielu pewnie czeka
Ja gram na ustawieniach "enter chat" czyli pierwszy pasek to jest /F1-F12/, drugi pasek /1-9, 0, -, =/, trzeci pasek /klawiatura numeryczna/.
Przykładowo CP potionki małe i duże mamy wrzucone na 2 pasek na pozycji 5 i 6 czyli makro musi wciskać klawisze 5 i 6. Niech przyciskiem uruchamiającym spam i kończącym będzie 0 na klawiaturze numerycznej. Skrypt wygląda tak:
Numpad0::SetTimer, Spam, % (i:=!i) ? "100" : "Off"
Spam:
Send {5}
Send {6}
sleep, 300
return
Czyli po wciśnięciu Numpad0 skrypt będzie spamował 5, 6 i czekał 0,3sek i tak w kółko. Ponowne naciśnięcie Numpad0 wyłączy skrypt. Sleep 1000 = 1 sek, nie pamietam jaki jest dokładny reuse cp potionek ale coś pomiędzy 0,25-0,3 sek.
4. Prosty skrypt na użycie jednocześnie elixiru HP+CP+hp potek. Zakładamy że elixir HP mamy na drugim pasku pod 3, elixir CP pod 2, i HP potek pod 7 czyli musimy wcisnąć 3,2,7. Klawisz aktywujący przykładowo: Delete.
Delete:: send 327
5. Grając EE nie ma chyba nic gorszego od spalenia PR "niechcący" dlatego PR i returna nigdy nie miałem na podstawowych otwartych paskach. Przykładowo wrzucamy sobie PR na pasek ósmy pod 1 pozycję. Czyli żeby odpalić PR musimy włączyć pasek ósmy (alt+F8), wcisnąć F1 i wrócić do paska pierwszego (alt+F1). Niech klawiszem odpalenia będzie PageDown.
PgDn:: send !{F8} {F1} !{F1}
6. Prosty skrypt na spamowanie wejścia na pailakę gdy jest tłok
Musimy zrobić sobie w grze makro na npc z pailaki + attak (/target npc /attack) lub po prostu mieć npc na targecie. Makro lub zwykły atak wrzucamy powiedzmy na pierwszy pasek pod 1 czyli F1. Klawisz uruchamiający/kończący - End.
End::SetTimer, Spam, % (i:=!i) ? "100" : "Off"
Spam:
send {F1}
sleep, 200
click 128, 315
sleep, 200
click 142, 316
return
Pozycje sleep to jak wyżej przerwy w kliknięciach, wpisać w/g uznania, dla mnie 200 było ok. Pozycje "click" to współrzędne kliknięcia na okna przy wejściu na pailakę. Skąd je wziąć? Uruchamiamy sobie z katalogu autohotkeya /AU3_Spy.exe/ lub klikamy prawym w trayu i wybieramy /window spy/. Pozycja "In Active Window" to są właśnie nasze współrzędne które musimy wpisać do skryptu.
7. Sterowanie boxami z okna głównego nie przechodząc do okna boxa.
Przykładowo mamy odpalone 3 okna L2. Mając aktywne okno 1 chcielibyśmy odpalić F1 w oknie 3. W tym przypadku problemem jest które okna autohotkey będzie uważał za 1,2,3 itd. Jeśli uruchomimy 3 okna L2 po kolej i na koniec uruchomimy skrypt ahk to autohotkey ostatnie okno będzie widział jako pierwsze okno a okno pierwsze jako ostatnie dlaczego tak jest? Ponieważ autohotkey widzi kolejność okien na podstawie ostatnio aktywnych okien L2.
Przykładowo mamy otwarte 3 okna L2 na pasku zadań ale klikniemy sobie na okno 2, 1, 3 i uruchomimy/przeładujemy skrypt to autohotkej będzie je widział w kolejności 2,3,1.
Skoro już wiemy jak widzi okna L2 autohotkey to można się zacząć bawić w makro. Do zabawy w sterowanie oknami proponuję zrobić sobie osobny skrypt (wszystko co powyżej opisałem może znajdować się w jednym pliku).
Zakładamy że mamy świeżo odpalone 3 okna L2 i odpalamy skrypt, czyli autohotkey widzi je jako 3,2,1. Chcemy z pierwszego okna L2 na naszym pasku zadań(dla autohotkeya to bedzie 3 okno) nie przełączając okien wcisnąć F1 w oknie 3 (dla autohotkeya 1). Niech naszym klawiszem aktywującym będzie PageUp czyli:
WinGet, windowID, List, Lineage II ;autohotkey sporządza sobie listę okien L2
~PgUp::
ControlSend,, {F1}, ahk_id %windowID1%
return
ahk_id %windowID1% - oznacza o które okno nam chodzi, jeśli chcemy żeby to było okno 2 (dla autohotkeya 2) to końcówka by była "ID2".
Inny przykład:
Mamy 3 okna L2, 2 i 3 okno niech to bedą BD i SwS. Chcemy jednym klawiszem (PageUp) odpalić z głównego okna songi/dance jednocześnie. Załóżmy że chcemy odpalić po 3 songi/dance, wrzucamy te songi/dance przykładowo na pierwszy pasek od 1-3 (czyli F1,F2, F3 do wciśnięcia). Można zrobić sobie jedno makro w grze z 3 songami, tańcami ale makro w grze łatwo przerwać a tego makra z autohotkeya nic nie przerwie (np. zagrowany mob). No więc nasz PageUp w oknie głównym ma odpalić F1,F2,F3 w oknach 2 i 3 (dla autohotkeya okna 1 i 2).
WinGet, windowID, List, Lineage II
~PgUp::
loop, 1
{
ControlSend,, {F1}, ahk_id %windowID1%
ControlSend,, {F1}, ahk_id %windowID2%
sleep 1500
ControlSend,, {F2}, ahk_id %windowID1%
ControlSend,, {F2}, ahk_id %windowID2%
sleep 1500
ControlSend,, {F3}, ahk_id %windowID1%
ControlSend,, {F3}, ahk_id %windowID2%
}
return
loop 1 - oznacza jednokrotne powtórzenie tego co jest w nawiasie. Sleep 1500 - tyle akurat u mnie pasowało idealnie.
Jeśli przy tym sterowaniu oknami w tle chcielibyśmy coś zmienić w skrypcie to pamiętajcie żeby przed przeładowaniem/uruchomieniem skryptu odpowiednio kliknąć okna L2 żeby autohotkey prawidłowo odczytał kolejność.
Uff.
Jak widać możliwości Autohotkeya są nieograniczone
//Dzięki śliczne i + ode mnie