- ElfBot Zaawansowane skrypty?

Status
Zamknięty.

Patrycjax

Active User
Zarejestrowany
Dołączył
Marzec 31, 2012
Posty
148
Liczba reakcji
2
Cze??, ostatnio znalaz?am par? skomplikowanych skrypt?w.
Nic z nich nie rozumiem, a cholernie mnie intryguj? jak? funkcj? pe?ni?.
Czy kto? tutaj na forum wie i po co s? owe skrypty?
Tutaj cz??? z nich:

1. [JS]auto 1000 dontlist | if [ $caveboton && $connected] if [ $s_zmiana_expa == 0 && $s_wroc == 0 && $itemcount.268 >= $s_border_mp && $itemcount.7643 >= $s_border_uhp ] { if [$s_targetinglock == 0 ] {settargeting on} | set $s_expleavepoint 0 }[/JS]

2. [JS]auto 500 dontlist | if [ $s_spellattack == 1 ] { if [ $s_allplayerscount == 0 || $s_nopk == 1 || $s_antypz == 0 ] { if [ $monstersaround.1 >= 2 && $mp >= 350 ] { say 'Exori Gran' | [/JS]

3. [JS]auto 500 dontlist | if [ $s_spellattack == 2 ] { if [ $s_allplayerscount == 0 ] { if [ $monstersaround.1 >= 2 && $mp >= 350 ] { say ' Exori Gran' | end } | if [ $monstersaround.1 > 0 && $mp >= 120 ] { say 'Exori' | end } } | if [$target.isshootable] say 'Exori hur' }[/JS]

4. [JS]auto 100 dontlist | if [ $caveboton || $loosepz ] { isattacking { if [ $loosepz ] { set $s_spellattack 2 | end } | set $s_spellattack 1 | end } } | set $s_spellattack 0[/JS]

5. [JS]auto 1000 dontlist | isnottargeting if [ $caveboton && $standtime > 10000 && $monstersaround.1 > 0 ] { if [$lastdmger.isplayer == 0] attack $lastdmger.name | if [ $s_allplayerscount == 0 ] say 'exori' }}[/JS]

6. [JS]auto 100 dontlist | set $s_allplayerscount 0 | foreach 'allplayers' $s_allpl { if [$s_allpl.distance <= 5] inc $s_allplayerscount } | dec $s_allplayerscount[/JS]

7. [JS]auto 50 dontlist | if [$s_useuhp == 0] { if [$islooting] { set $s_pi 100 | wait 4000 | end } | if [$monstersaround.20 == 0 && $target.hppc == 0 && $target.name != ''] { set $s_pi 100 | wait 4000 | end } | if [ $mp < $s_mana_to_drink ] { set $s_pi 2 | end } } | set $s_pi 0[/JS]

8. [JS]auto 1000 dontlist | if [$s_useuhp != 1] { if [$itemcount.8077== 1] { useoninventoryitem 677 8077} }[/JS]

9. [JS]auto 50 dontlist | if [ $hp < $s_hp_to_exana_mort ] { set $s_pcp 1 | end } | if [ $standtime < 1000 && $hastetime <= 300 ] { set $s_pcp 2 | end } | if [ $paralyzed == 1 ] { set $s_pcp 3 | end } | if [$poisoned && $loosepz] { set $s_pcp 4 | end } | set $s_pcp 0[/JS]

10. auto 100 dontlist | if [ $s_pcp == 4 ] { say 'exana pox' | wait 1000 }

11. [JS]auto 100 dontlist | if [$s_stacking == 1 && $caveboton] { moveitems 239 0 | moveitems 7643 1 }[/JS]

12. [JS]auto 1000 dontlist | foreach 'newmessages' $nm1 { if [$nm1.isbotlook == 0] { if [ $nm1.isprivate || $nm1.isredtext ] { listboxaddline 1 255 100 250 '$systime - $nm1.formatted' | filewriteline 'private.txt' '$sysdate , $name -> $systime - $nm1.formatted' } }}[/JS]

13. [JS]auto 100 dontlist | if [ $caveboton && $connected] foreach 'newmessages' $s_egms { if [ $s_egms.content ? 'exura gran mas res' ] { flash | playsound 'alarm_pk.wav' | set $s_tlo $s_targetinglock | set $s_targetinglock 1 | set $s_toe $targetingon | settargeting off | wait 4000 | set $s_targetinglock $s_tlo | if [$s_toe] settargeting on | end } }[/JS]

14. [JS]auto 1000 dontlist | if [ $caveboton && $connected] { if [ $standtime > 40000 && $playersaround.3 > 0] { flash | playsound 'position.wav' | wait 4000 | end } | if [ $standtime > 60000 ] { flash | playsound 'position.wav' | wait 4000 } }[/JS]

15. [JS]isnotdistance 10[/JS]

16. [JS]if [ $s_expleavepoint == 0 ] gotolabel 'EXP'[/JS]

17. [JS]if [$posz != 6] gotolabel '13'[/JS]


My?l?, ?e znajdzie si? osoba kt?ra ogarnie chocia? par? skrypt?w i wyt?umaczy co i po co.
My?l?, ?e nie tylko mi to pomo?e, bardzo prosz? o pomoc, POZDRAWIAM ! :)
 
Odp: Zaawansowane skrypty?

Ogolnie wiekszosc skryptow jest polaczona z innymi skryptami przez dodane wlasne zmienne.
Np sprawdza wartosc zmiennej $s_zmiana_expa w jednym skrypcie i jesli jest np rowna zero to cos robi. A w innym skrypcie jesli np nie masz potionow to ustawia wartosc tej zmiennej $s_zmiana_expa na zero.
Kazdy skrypt jest czescia jakiejs wiekszej calosci.
Nie da sie samego skryptu jako takiego opisac co robi.
Na ten przyklad pierwszy skrypt, sprawdza wartosci okreslonych zmiennych i na tej podstawie wlacza targeting. Ale w zadnym innym z podanych skryptow nie ma zmiennej chociazby s_zmiana_expa, wiec ci nie powiem, kiedy ma ona wartosc 0 zeby spelnic jakis tam warunek w tym danym skrypcie.

Na przykladzie 9 i 10 skyrptu widac, ze ze soba wspolgraja. Jesli sa spelnione jakies warunki i zmienne uzywane w tym systemie sa ustawione w odpowiedni sposob przez pewnie jeszcze inne skrypty, to zmienia on wartosc zmiennej s_pcp, a dzieki temu skrypt 10 reaguje na te wszystkie zmiany i mowi exana pox...

To co jest domyslnie z elfa mozna jednostkowo wytlumaczyc. To co jest dodane bedzie ciezej, ale tez da rade. Ale pod warunkiem, ze kazdy skrypt ktory ma jakies znaczenie dla tego calego "systemu" bedzie dostepny. Bo inaczej nie da rady sprawdzic skad sie bierze zmienna np s_zmiana_expa... Bo brak skrypta ktory ustala jej wartosc.

Ogolnie jest to zrobione troche na zasadzie "jesli adam(1 skrypt) powiedzial mackowi(2 skrypt), ze darek(3 skrypt) widzial w telewizji pogode(4 skrypt) ktora mowila, ze bedzie padalo(5 skrypt), to bedzie padalo(6 skrypt)"
Gdzie przykladowo jesli adam nie powie nic mackowi to my tez nie bedziemy wiedzieli, ze darek ogladal pogode i nie dowiemy sie, ze padalo. Troche calosc jest bez sensu. No ale ktos tak napisal xD

W sumie mozna by probowac rozpracowac ten system jesli by byla dostepna calosc. Ale jak dla mnie to za duzo roboty, bez sensu xD
No ale wyjasnilem o co chodzi najlepiej jak umialem. Cos pomoglo?
 
Ostatnia edycja:
Odp: Zaawansowane skrypty?

Ogolnie wiekszosc skryptow jest polaczona z innymi skryptami przez dodane wlasne zmienne.
Np sprawdza wartosc zmiennej $s_zmiana_expa w jednym skrypcie i jesli jest np rowna zero to cos robi. A w innym skrypcie jesli np nie masz potionow to ustawia wartosc tej zmiennej $s_zmiana_expa na zero.
Kazdy skrypt jest czescia jakiejs wiekszej calosci.
Nie da sie samego skryptu jako takiego opisac co robi.
Na ten przyklad pierwszy skrypt, sprawdza wartosci okreslonych zmiennych i na tej podstawie wlacza targeting. Ale w zadnym innym z podanych skryptow nie ma zmiennej chociazby s_zmiana_expa, wiec ci nie powiem, kiedy ma ona wartosc 0 zeby spelnic jakis tam warunek w tym danym skrypcie.

Na przykladzie 9 i 10 skyrptu widac, ze ze soba wspolgraja. Jesli sa spelnione jakies warunki i zmienne uzywane w tym systemie sa ustawione w odpowiedni sposob przez pewnie jeszcze inne skrypty, to zmienia on wartosc zmiennej s_pcp, a dzieki temu skrypt 10 reaguje na te wszystkie zmiany i mowi exana pox...

To co jest domyslnie z elfa mozna jednostkowo wytlumaczyc. To co jest dodane bedzie ciezej, ale tez da rade. Ale pod warunkiem, ze kazdy skrypt ktory ma jakies znaczenie dla tego calego "systemu" bedzie dostepny. Bo inaczej nie da rady sprawdzic skad sie bierze zmienna np s_zmiana_expa... Bo brak skrypta ktory ustala jej wartosc.

Ogolnie jest to zrobione troche na zasadzie "jesli adam(1 skrypt) powiedzial mackowi(2 skrypt), ze darek(3 skrypt) widzial w telewizji pogode(4 skrypt) ktora mowila, ze bedzie padalo(5 skrypt), to bedzie padalo(6 skrypt)"
Gdzie przykladowo jesli adam nie powie nic mackowi to my tez nie bedziemy wiedzieli, ze darek ogladal pogode i nie dowiemy sie, ze padalo. Troche calosc jest bez sensu. No ale ktos tak napisal xD

W sumie mozna by probowac rozpracowac ten system jesli by byla dostepna calosc. Ale jak dla mnie to za duzo roboty, bez sensu xD
No ale wyjasnilem o co chodzi najlepiej jak umialem. Cos pomoglo?


Troch? to wszystko skomplikowane, ale mniej wi?cej rozumiem, dzi?kuje :D
Tak jak m?wisz, to s? tylko poszczeg?lne skrypty kt?re skopiowa?am z ca?o?ci (http://pastebin.ca/2404812)
Kto? musia? jednak mie? ?eb, ?eby to wszystko wymy?li? i po??czy? w ca?o??.

Jeszcze mi tylko powiedz, jakie zastosowanie maj? te ni?ej?

1.[JS] if [$posz != 6] gotolabel '13'[/JS]

2.[JS] if [ $s_expleavepoint == 0 ] gotolabel 'EXP'[/JS]

3. [JS]isnotdistance 10[/JS] (skrypt dzia?a podobnie jak "isnotlocation", ale ma chyba jakie? inne zastosowanie.)

4. [JS]auto 100 dontlist | foreach 'newmessages' $s_llam { if [$s_llam.isredtext] { if [ $s_llam.content ? 'Warning! The murder'] {setcavebot off | set $loosepz 1} | if [ $s_llam.content ? 'Server is going down' && $s_ssnrec == 0 ] { set $s_wroc 1 | set $s_ssnrec [ $time + 1800 ]}}}[/JS]
 
Ostatnia edycja:
Odp: Zaawansowane skrypty?

1. Jesli postac jest na pietrze innym niz 6 to idzie do labela 13(w cavebocie oczywiscie).
2. Jesli spelni kilka warunkow i nie spelni kilku innych z tych skryptow, czyli ta zmienna ktora tu jest bedzie rowna 0 to idzie na expa. Serio nie chce mi sie sledzic calej histori tej zmiennej. A co dopiero wszystkich innych zmiennych z kazdego innego skryptu w tym gownie ;<
3. dziala jak islocation. Tylko islocation jest na ta jednak kratke. A to co tu masz dziala na kwadrat 20x20(10 kratek od centrum, czyli od wpt.) Jak wpt jest np na 100, 100, 7 a ty bedziesz stac na 105,100,7 to zadziala tak jak islocation kiedy bys stal na 100, 100, 7.
4. Bierze z czatu wiadomosci, jesli jest czerwona wiadomosc sprawdza czy jest w tresci warning the murder. Jesli tak, to wylacza cavebota i zmienia zmienna loosepz na 1(to pewnie w innych skryptach cos tam dalej robi). Jesli w tresci jest server is going down i zmienna ssnrec jest na 0 to ustawia wroc na 1 i ssnrec na czas + 1800. Czyli w sumie to samo co przy loosepz, tylko, ze tu ci grzebie w kilku zmiennych ktore zas sa wykorzystywane przez kolejne skrypty...

Jednym slowem. Nie mam czasu ani ochoty pierdzielic sie z tym godzine, dwie czy ile tam bedzie trzeba zeby ogarnac calosc...
Jak ktos to pisal i ogarnia, albo w koncu ogarnal to pewnie mu nawet i wygodniej. Bo w paru miejscach zmienia wszystko.
Mozna by to napisac bez wlasnych zmiennych praktycznie w 100% pewnie. Wtedy ktos kto ogarnia bota, ale nie ten "system" skryptow zastosowany, by ogarnal duzo latwiej. Ale w takiej opcji niektore drobne zmiany nawet czasem wymagaly by edycji np w 6 skryptach. A tak zmieniasz w jednym miejscu i bedzie dzialac.
Na tym to polega.
No i nawet nie tylko w skryptach do elfa ale w kazdym programowaniu.
Mozna pisac kod pod siebie, gdzie kazdy inny bedzie mial ciezko zeby sie polapac a nam bedzie wygodniej bo ogarniamy co i jak. Mozna pisac kod tak, zeby byl troche mniej zoptymalizowany dla nas, ale zeby byl przystepny i czytelny dla kazdego kto na niego spojzy...
 
Odp: Zaawansowane skrypty?

Okej, to by by?o na tyle. (rozja?ni?e? co nieco)
Moja ciekawo?? zosta?a mniej wi?cej zaspokojona, jeszcze raz dzi?ki :D
 
Status
Zamknięty.
Back
Do góry