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ć :P
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.exe
Autohotkey 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.htm
No to zaczynamy od najprostszych rzeczy.
1. Skrypt na przebindowanie klawisza. Przykładowo chcemy zamiast F3 wciskać 6 na klawiaturze numerycznej.
CytatNumpad6:: 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:
Cytat; 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:
Cytat$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:
CytatNumpad0::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.
CytatDelete:: 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.
CytatPgDn:: send !{F8} {F1} !{F1}
6. Prosty skrypt na spamowanie wejścia na pailakę gdy jest tłok :P
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.
CytatEnd::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:
Cytat
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).
Cytat
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 :)
Dobra robota, plusik się chyba należy... :)
... oczywiście dla mnie też, bo ja prosiłem o poradnik :D
AutoHotkey'a używałem już daaaawno temu, ale muszę przyznać, że ma tak ogromne możliwości, i wymaga poświęcenia mu i tutorialom tyle czasu, że byłem zawsze w stanie zrobić tylko najłatwiejsze rzeczy, jak przebindowanie klawiszy, czy zrobienia z jakiegoś klawisza toggle_like aka capslock, np z ctrl pod pvp (prosty przyklad, nie polecam).
myślę że podałeś super przykład z tym spamowaniem CP i sterowaniem nieaktywnymi oknami boxów :) na pewno nie jednemu się przyda, dzięki
hmmm przed chwila sprawdzalem na ru czy dziala.... i 10minut biegalem i mnie nie wywalilo z gry, ogolnie to na ru nie ma gameguarda tylko frost, ale to i tak strach sprawdzac bo ban na 30dni to troche duzo.
Na nostromo tez da sie przypisywac klawisze pod skile ktorych nie mamy na 1 pasku?
Cytat: Nervoson w Grudzień 15, 2010, 06:36:59 PM
Na nostromo tez da sie przypisywac klawisze pod skile ktorych nie mamy na 1 pasku?
Chodzi ci o przeskok na jakiś pasek, odpalenie np. F1 i porwór do poprzedniego paska? Na starym n52 się dało.
Wie ktoś może jak zrobić skrypt żeby co 20min samo buffowało :)
Próbowałem przerobić ten od spamu cp ale jakiś błąd wywala :D
Witam.!
Ponieważ ja używam laptopa i nie mam na nim klawiatury numerycznej bocznej, to skrypt ten od spamu CP potek tutaj podany mi nie działa. Czy mógłby mi ktoś podać inny pod laptopa? załóżmy, że cp poty trzymam na f12 :)
Cytat: Draves w Styczeń 29, 2011, 09:35:06 AM
Witam.!
Ponieważ ja używam laptopa i nie mam na nim klawiatury numerycznej bocznej, to skrypt ten od spamu CP potek tutaj podany mi nie działa. Czy mógłby mi ktoś podać inny pod laptopa? załóżmy, że cp poty trzymam na f12 :)
Przykładowy skrypt:
CytatEnd::SetTimer, Spam, % (i:=!i) ? "100" : "Off"
Spam:
Send {F12}
sleep, 550
return
Dobierz sobie sam jakim klawiszem uruchamiasz (tutaj wstawiłem "End"). Na win7 żeby skrypty działały pewnie trzeba je odpalać jako administrator.
dzięki wielkie, end będzie pasował :D mam win vista ale też musze przez administratora :>
Makro wysłane mi w PW przez autora tematu
Cytat: coshoo w Luty 22, 2011, 08:40:30 PM
^`:: send !1 ;ctrl+~=alt+1 ^=ctrl !=alt
^1:: send !2 ;ctrl+1=alt+2
^2:: send !3 ;ctrl+2=alt+3
^3:: send !4
^4:: send !5
^5:: send !6
^6:: send !7
^7:: send !8
^8:: send !9
^9:: send !0
^0:: send !-
^-:: send !=
Makro działa na zasadzie że jak wciśniemy alt +1/2/3 to właczy się 1/2/3 opcja z paska nr 2 lub jak wciśniemy alt +`/1/2 to właczy się opcja 1 /2 /3 z 2 paska.
Wielki + prosze da autora topicu.
/Tirius: done.
Nie rozumiem za bardzo ^^ Czy mógłbyś mi wytłumaczyć to trochę jaśniej ? Przecież normalną rzeczą jest, że jak się trzyma alt i kliknie 1 to sie odpali opcja z 2 paska... Nie rozumiem za bardzo tego skryptu.
Cytat: Draves w Marzec 19, 2011, 07:16:39 AM
Nie rozumiem za bardzo ^^ Czy mógłbyś mi wytłumaczyć to trochę jaśniej ? Przecież normalną rzeczą jest, że jak się trzyma alt i kliknie 1 to sie odpali opcja z 2 paska... Nie rozumiem za bardzo tego skryptu.
Źle napisał, to makro działa tak:
ctrl+~=alt+1
ctrl+1=alt+2
ctrl+2=alt+3
.
.
.
czy jest jakiś sposób, żeby w Interlude dostać funkcjonalność Shortcutów? W sensie, pierwszy pasek na tych klawiszach, drugi pasek na innych itp. ?
Zrobiłem skrypt, zapisałem pod nazwą skrypt.ahk, uruchomiłem i działa - jednak do czasu jak włączę lineage 2. W oknie gry skrypt jakby nie był aktywny, wie ktoś dlaczego tak jest ? Mam windowsa 7. Nie działa tez kiedy najpierw włączę l2 a potem skrypt.
Uruchom L2 jako administrator (ppm na skrót)
Jako, że nie jestem zbyt biegły w tego typu skryptach, mógłby ktoś napisać mi malutki kod do spamowania atak + next target?
Byłbym bardzo wdzięczny.
Witam użyłem ten skrypt
; PRZYPISANIE F1-F12
Numpad4:: send {F1}
Numpad5:: send {F2}
Numpad6:: send {F3}
Numpad8:: send {F4}
NumpadAdd:: send {F5}
I wszystko ładnie się włącza ale w grze już nie działa. I 4568 nie uznaje się już jako cyfry czyli nie wyświetla się w chacie ale nadal nie używa skilli. Ma ktoś radę?
Włączyć numlock
Może coś mądrzejszego ktoś napisze??
@up Czy to trolling?
Cytat: Raisen w Luty 05, 2012, 08:47:19 PM
I wszystko ładnie się włącza ale w grze już nie działa.
Gdzie grasz? Frost/Gameguard blokuje autohotkeya.
Na Froscie. Dzięki za odpowiedz, a jest jakaś alternatywa dla tego programu? Bo ściągałem też jakieś inne programy do remapu przycisków ale nie działają również ;//
Cytat: Raisen w Luty 06, 2012, 12:02:24 AM
Na Froscie. Dzięki za odpowiedz, a jest jakaś alternatywa dla tego programu? Bo ściągałem też jakieś inne programy do remapu przycisków ale nie działają również ;//
Sam szukałem ale nie znalazłem.
Może ktoś z was wie co się dzieje. Działa mi wszystko i ładnie spamuje CP ale po 2 minutach zamyka mi l2. Co się dzieje ;(?
Zapewne zabezpieczenie od strony serwera.
Czy jest zatem jakaś alternatywa dla tego programu ? Bo już zdążyłem oduczyć się grania na f, a teraz serwer mi blokuje ;p
Da sie zrobic takie makro? Nie koniecznie tym programem, bo chyba sie nie da :)
1. Okno nr 1: /invite XXX
2. Okno nr 2: przyjecie invite
3. Okno nr 2: jakies tam makro
4. Okno nr 2: /leave
Chodzi o to, by dalo sie to zrobic nie przelaczajac okienek, ewentualnie tak szybko, ze nie bedzie to przeszkadzalo ;]
hmm... łatwiej byłoby:
okno1: PM do okna 2
okno2: odbiór PMa z nickiem, invite
okno1: zatwierdzenie
okno2: makro, leave
Da się coś takiego zrobić, ale wątpię, że przez zwykłe makro
Twoj pomysl pomogl mi w wymysleniu nowego ;]
Okno 1: main
Okno 2: box
Okno 2: /invite Ryane
delay 5 sekund (tak aby miec czas na przyjecie party i makro mogloby sie normalnie odpalic jak juz mamy party)
Okno 1: przyjmuje normalnie myszka
Okno 2: makro
Okno 2: /leave
I takie cos da rade zrobic nawet w tym programie :D
Ja miałem tak:
Main macro:
/invite box1
Box macro
/useskill Buff1
/delay 1
/useskill Buff2
/delay 1
/useskill Buff3
/delay 2
/leave
/target Main
/target Main
Umieszczałem oba makra pod F5 i wyglądało to tak.
- f5
- Alt Tab
- myszką przyjęcie party
- f5
- Alt Tab
BD pięknie tańczył i po skończeniu podążał za mną
Można nawet tańczyć w środku bicia mobów. Byle nie dużego traina :P
Pozdrawiam
mały refresz
spotkałem się z problemem że, umieszczony autohotkey do kontrolowania dualboxa przez autora nie działał, więc znalazłem coś takiego co rozwiązało ten problem ( na niektórych privach zmieniają nazwy procesów l2, nie ma w ogóle uruchomionej takiej aplikacji jak l2, nie ma takiego okna itp. to rozwiązało ten problem)
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;; Tray icon
Menu, TRAY, Icon, l2_dualbox.ico
Menu, TRAY, Tip, L2 Dualbox AHK Script
;; Annoying keys remapped
MButton::F13
CapsLock::F14
LWin::F15
AppsKey::Ctrl
Ins::Del
;; Lineage 2
;;#IfWinActive, Lineage II
;; Set main/dual window: RIGHT Alt+Ctrl+F1/F2
>!>^F1::
WinGet, main, ID, A
main_group=
GroupAdd, main_group, ahk_id %main%
SoundBeep
return
>!>^F2::
WinGet, box, ID, A
SoundBeep
SoundBeep
return
;; Passing F-keys to dual
#IfWinActive, ahk_group main_group
*F1::
*F2::
*F3::
*F4::
*F5::
*F6::
*F7::
*F8::
*F9::
*F10::
*F11::
*F12::
*a:: ; for debug purposes
chr := SubStr(A_ThisHotkey,2)
ControlSend,, {Blind}{%chr%}, ahk_id %box%
return
;; ` = esc on dual
`::
ControlSend,, {Esc}, ahk_id %box%
return
#IfWinActive
wklejka jako że oryginał to forumowe archiwum
oryginał: http://www.dual-boxing.com/archive/index.php/t-1471.htm
Czesc, widze ze na forum sa specjalisci od programowania, a mi jest potrzebny skrypt do uzupelniania bazy danych , moze ktos mi pomoze bo ja majac lat prawie 50 nie bardzo nadazam :shock: ,
Potrzebuję pomocy przy jednym skrypcie, mianowicie celem jest aby jednym przyciskiem "c" przełączać 3 inne "Num1-3". Po paru przeróbkach kilku makr udało mi się skleić coś takiego:
Cytatc::
if c_presses > 0 ; SetTimer already started, so we log the keypress instead.
{
c_presses += 1
return
}
; Otherwise, this is the first press of a new series. Set count to 1 and start
; the timer:
c_presses = 1
SetTimer, KeyC, 400 ; Wait for more presses within a 400 millisecond window.
return
KeyC:
SetTimer, KeyC, off
if c_presses = 1 ; The key was pressed once.
{
Send {Numpad0}
}
else if c_presses = 2 ; The key was pressed twice.
{
Send {Numpad1}
}
else if c_presses > 2
{
Send {Numpad2}
}
; Regardless of which action above was triggered, reset the count to
; prepare for the next series of presses:
c_presses = 0
return
Makro działa na zasadzie, klik "c" ->Num0, klik"cc" -> Num1, klik "ccc" -> Num2, ale nie oto dokładnie mi chodzi. Potrzebuje makra które działa na zasadzie: klik "c" ->Num0, ponowny klik "c" ->Num1, trzeci klik "c" ->Num2, czwarty klik "c" ->Num0 aby powstała pętla.
Mam nadzieje, że wszyscy nie ograniczyli się do spamu cp, i jeszcze tutaj zaglądają. :D
Cytat: Ashitakaa w Grudzień 29, 2012, 07:09:15 PM
Potrzebuję pomocy przy jednym skrypcie, mianowicie celem jest aby jednym przyciskiem "c" przełączać 3 inne "Num1-3". Po paru przeróbkach kilku makr udało mi się skleić coś takiego:
Makro działa na zasadzie, klik "c" ->Num0, klik"cc" -> Num1, klik "ccc" -> Num2, ale nie oto dokładnie mi chodzi. Potrzebuje makra które działa na zasadzie: klik "c" ->Num0, ponowny klik "c" ->Num1, trzeci klik "c" ->Num2, czwarty klik "c" ->Num0 aby powstała pętla.
Mam nadzieje, że wszyscy nie ograniczyli się do spamu cp, i jeszcze tutaj zaglądają. :D
Rozumiem to w ten sposób:
legenda: C(liczba oznacza który raz wciskam) -> akcja_po_wciśnięciu C(1) -> Num0
C(2) -> Num1
C(3) -> Num2
C(4) -> Num0
C(5) -> Num1
itd...
Kolejne wciskanie C spowoduje wprowadzenie następującego ciągu symboli:
0120120120120120120120120120120120120120120120120 ...
Tutaj kod:
c_iter = 0
c::
{
if c_iter = 0
{
c_iter += 1
Send {Numpad0}
return
}
if c_iter = 1
{
c_iter += 1
Send {Numpad1}
return
}
if c_iter = 2
{
c_iter = 0
Send {Numpad2}
return
}
return
}
Dokładnie o to chodziło, działa jak natura chciała :)
Wygląda na to, że ahk nie działa już na serwerach innovy:(
Witam wszystkich, mam takie pytanie czy da się dla AH napisać skrypt który by klikał w określony obiekt na stronie, zamiast określonej pozycji x,y ?
przykładowa nazwa obiektu:
Cytat
src="abc/sr.png" title="Przykladowy opis (Zasilanie, Moc:160)"
lub z pełna sciezka:
Cytat
src="w-w-w.przykladowyadres.pl/abc/sr.png" title="Przykladowy opis (Zasilanie, Moc:160)"
przy czym
"abc/sr.png" taką nazwę ma więcej obiektów, rozróżnia je tylko nazwa title, da się to jakoś zapisać.
W ogóle to ciekawi mnie czy da się też klikanie tak zapisać aby nie blokowana była myszka i aby odbywało się to w tle.
Jest taka wtyczka iMacros dla Firefoxa i tam makra są jakoś tak zapisane że umożliwiają przeglądanie, normalne użytkowanie komputera gdy w tle wykonywane są zadania, jednak ma pewne wady ten dodatek i dlatego szukam innego rozwiązania.
Ma ktoś może jakieś pomysły?
Pozdrawiam
Cytat
End::SetTimer, Spam, % (i:=!i) ? "100" : "Off"
Spam:
click 100, 100 ; tu żeby zamiast w określoną pozycję szukał obiektu na www
sleep, 200
return