Jesteś tutaj
Lazik triggerowy
Na zyczenie tego pana z poprzedniego piatku, albo soboty. To jest ³azik triggerowy, ktory przy uzyciu magicznej kombinacji klawiszy ctrl+alt+shift+kierunek z numerycznej powoduje, ze postac idzie w danym kierunku do momentu az:
- zmeczy sie
- napotka skrzyzowanie z wiecej lub mniej niz dwoma wyjsciami
- pokona wiecej niz 10 krokow
Nie wiem na ile jest on nadal aktualny, czy cos tam sie nie pozmienialo na arkadii, ale moze sie nada. Jak widac ostatnia aktualizacja byla 3 lata temu :)
Nalezy wkleic do katalogu ze skryptami. Zaladowac poleceniem /calldll Reader Read {q_lazik.txt} w pliku q.txt i to by bylo na tyle.
W testowej wersji arkdiska 4.0.x jest plik o takiej samej nazwie zawierajacy lazik beztriggerowy produkcji Mandreka. Mozna pobawic sie oboma.
;-------------------------------------
;
; Lazik... nielegalny skrypt... choc odobinke...
; ale za to doskonaly. O wiele skrocilem czas spedzany na traktach.
;
; zaczeto: 17:47 02-05-31
; ostatnio: 17:47 02-05-31
; ostatnio: 16:09 02-06-16
; ostatnio: 13:06 02-06-17
;
;-------------------------------------
;
; Co zrobic aby uzywac?
; Wystarczy zaladowac i nacisnac csakp8 aby postac poszla traktem na polnoc.
; Bedzie szla traktem, az napotka skrzyzowanie.
;
;
;
; #lazik kierunek - idzie w danym kierunku do najblizszego rozwidlenia nie dalej niz 10 lokacji naprzod
; #lazikzeruj - przerywa chod
; #lazikczas - minimalna liczba milisekund miedzy wysylaniem krokow domyslnie 1000
;
; komendy #lazik kierunek sa podbindowane pod klawisze csa+kp1-9
;
;-------------------------------------
; minimalny czas miedzy wyslaniem krokow
/var lazikStepTime {1000}
; ostatni kierunek
/var lazikLast {bzzz}
; liczba krokow
/var lazikSteps {0}
; to jest alias wywolywaney przez dll'ke Arka... za kazdym razem gdy pojawia sie wyjscia
; dll'ka wywoluje ten alias z 10 parametrami okreslajacymi czy jest wyjscie n e s w ne se sw nw u d
/alias {lazik %0} _
{_
; liczba wyjsc
/math {tmp} {@Word($0,1)+@Word($0,2)+@Word($0,3)+@Word($0,4)+@Word($0,5)+@Word($0,6)+@Word($0,7)+@Word($0,8)+@Word($0,9)+@Word($0,10)};_
; ustalamy jaki krok wykonac
/if {$tmp==2 && $lazikSteps<10} _
{_
/var lazikNext {hmm};_
/if {$lazikLast!="s" && @Word($0,1)} {/var lazikNext {n}};_
/if {$lazikLast!="w" && @Word($0,2)} {/var lazikNext {e}};_
/if {$lazikLast!="n" && @Word($0,3)} {/var lazikNext {s}};_
/if {$lazikLast!="e" && @Word($0,4)} {/var lazikNext {w}};_
/if {$lazikLast!="sw" && @Word($0,5)} {/var lazikNext {ne}};_
/if {$lazikLast!="nw" && @Word($0,6)} {/var lazikNext {se}};_
/if {$lazikLast!="ne" && @Word($0,7)} {/var lazikNext {sw}};_
/if {$lazikLast!="se" && @Word($0,8)} {/var lazikNext {nw}};_
/if {$lazikLast!="d" && @Word($0,9)} {/var lazikNext {u}};_
/if {$lazikLast!="u" && @Word($0,10)} {/var lazikNext {d}};_
; wyslanie kroku
$lazikNext;_
; opozniamy
/if {@Math(@Time()-$lazikLastTime)<$lazikStepTime} {Rdelay @Math($lazikStepTime-@Time()+$lazikLastTime)};_
; zapamietujemy dla nastepnej iteracji
/var lazikLast {$lazikNext};_
/var lazikLastTime {@Time()};_
/math {lazikSteps} {$lazikSteps+1};_
}_
; czasem jednak lazika trzeba przerwac
{_
#lazikzeruj;_
/if {$tmp==0} {/showme {@AnsiBold()@ForeWhite()Koniec trasy zupelny brak wyjsc.@AnsiReset()}};_
/if {$tmp==1} {/showme {@AnsiBold()@ForeWhite()Koniec trasy brak wyjsc.@AnsiReset()}};_
/if {$tmp>2} {/showme {@AnsiBold()@ForeWhite()Koniec trasy za duzo wyjsc.@AnsiReset()}};_
/if {$lazikSteps>=10 && $tmp==2} {/showme {@AnsiBold()@ForeWhite()Koniec trasy za duzo krokow.@AnsiReset()}};_
}_
}
/alias {#lazik %0}_
{_
/calldll Arka WyjsciaDodajAkcje {lazik};_
/enablegroup {GlazikAction};_
/var lazikNext {hmm};_
/var lazikSteps {1};_
/if {@Len($0)} {/var lazikLast {$0}} {/var lazikLast {#lazikzeruj}};_
/var lazikLastTime {@Time()};_
$lazikLast;_
}
/alias {#lazikzeruj} _
{_
/calldll Arka WyjsciaUsunAkcje {lazik}};_
/disablegroup {GlazikZeruj};_
}
/alias {#lazikczas %0} _
{_
/if {@IsNumber($0)} _
{/if {$0>=0 && $0<=10000} {/var lazikStepTime {$0}}} _
{/showme {Zly parametr.};_
}
; jedyny trigger pojawiajacy sie przy zmeczniu
/action {, ze nie mozesz dalej podazac w tym kierunku.} {#lazikzeruj} {GlazikAction}
/macro {csakp7} {#lazik nw}
/macro {csakp8} {#lazik n}
/macro {csakp9} {#lazik ne}
/macro {csakp4} {#lazik w}
/macro {csakp5} {#lazikzeruj;/showme {@AnsiBold()@ForeYellow()Lazik wyzerowany.@AnsiReset()}}
/macro {csakp6} {#lazik e}
/macro {csakp1} {#lazik sw}
/macro {csakp2} {#lazik s}
/macro {csakp3} {#lazik se}
#lazikzeruj
- Odpowiedz
- 101 odsłon
