Skrypty 3.01#

Wstęp#

Patrząc na zapiski prac nad skryptami widać, że wersje 2 mają już swoje lata. Myślę, że przyszedł czas, by przedstawić ostatni szkic, który został wykuty w mojej głowie. Z drugiej strony czuje lekkie wypalenie, ale zawsze wypuszczenie czegoś nowego dodaje mi weny twórczej. Już czas na lekki wstrząs.

Po udostępnieniu plików w drugiej odsłonie stopniowo, ale sukcesywnie, dopisywałem nowości w wersjach roboczych. Były to zarówno poprawki jak i nowe pomysły (swego czasu świetne). Znaczna część optymalnie dostosowana została do gry na multikontach, czyli lwia część nowinek znacząco ułatwiała grę na dużej liczbie kont, są to cholernie dobre narzędzia. Jak wszyscy widzimy, od edycji 55 stosowanie kukieł jest zabronione, w praktyce dosyć problematyczne. Mimo tak drastycznej zmiany wersje 3 dalej okazują się bardzo, ale to bardzo przydatne.

Jest kilka powodów, dla których wypuszczam kolejny pakiet pod nowym numerem:

Planowałem udostępnić wersje trzecie już na początku 2012 roku, czyli w 54 rundzie. Niestety wprowadzono zakaz kukieł, dlatego musiałem całość odłożyć w czasie.

Liczba plików#

Minęło sporo czasu zanim wykułem ostateczny kształt plików. Starałem się, żeby utworzyć ich jak najmniej, tam gdzie to możliwe dokonać połączenia. Kod, który występował w każdym skrypcie wyodrębniłem i przeniosłem do osobnego pliku (to będzie jedna z podstawowych nowości). W ten sposób zmieściłem się w takiej ilości:

Dodatkowo plik stylTheCrims został rozbudowany. Skrypty zawierają wiele nowości, dlatego też pojawiło się więcej opisów na karcie. Każdemu z nich dobierałem odpowiedni kolor.

Na kolejnych stronach postaram się opisać wszystko co najważniejsze. Oczywiście zbyt dużo szczegółów publicznie podawać nie warto, dlatego w razie problemów służę pomocą.

Zmiany pod maską#

To co najważniejsze, a jednocześnie niewidoczne dla przeciętnego usera, to przejście na programowanie obiektowe. W dawnych czasach, kiedy stawiałem pierwsze kroki w JavaScripcie miałem jeden prosty i skuteczny wzorzec: ma działać. Kod powstawał jeden pod drugim, bez ładu i składu, może nie wyglądał przepięknie, no ale działał zgodnie z oczekiwaniem. Szybko jednak okazało się, że stan taki nie będzie trwał wiecznie. Wraz z puchnięciem kodu (jego złożoności) rosła także trudność dalszego rozwoju. W pewnym momencie nanoszenie poprawek stało się męczące.

Chcąc nie chcąc (a przynajmniej długo odwlekając) zabrałem się za naukę obiektowego JS. Zacząłem skromnie, kilka tutoriali z netu oraz jedna książka "JavaScript - Programowanie obiektowe". To wystarczyło, każdy skrypt przepisałem na nowo. Co prawda EngineTC był już tworzony na obiektach, ale stosowany w nim styl mi nie odpowiadał, dlatego on również został przebudowany.

W późniejszym czasie natknąłem się na problem wydajności przy pracy nad jednym ze skryptów, dlatego i w tym segmencie poszerzyłem swoje horyzonty. Dzięki temu, oprócz pisania obiektowego, jednocześnie staram się tworzyć kod zoptymalizowany.

Tłumaczenia#

Obiektówka pozwala rozwinąć skrzydła. Postanowiłem wszczepić system tłumaczeń. Dzięki temu mam możliwość dotarcia do większego grona odbiorców. Bardzo szybko jestem w stanie dostosować całość pod dowolny język, wystarczy niewielka pomoc jednego z klientów.

Kompatybilność#

Pisanie obiektowe pozwala zachować kompatybilność wsteczną. Chodzi o to, że nieważne jakie deweloperzy wprowadzą zmiany w grze, jeśli jakaś opcja nie działa wystarczy ją wyłączyć, nie ma to wpływu na działanie reszty. Będzie to szczególnie widoczne w konfiguracji nowych wersji, część opcji będzie nieaktualna, ale skrypty wciąż będą działać dalej. Nie ma sensu kasować raz opracowanego mechanizmu, nigdy nie wiadomo, kiedy twórcy gry z powrotem nie przywrócą owej opcji (co niejednokrotnie się zdarzało).

Dlatego jeśli widzisz w skrypcie stosy niedziałających opcji konfiguracyjnych nie przejmuj się, to co aktualne umieszczam zawsze na początku, reszta czeka cierpliwie na swoje pięć minut. Są to takie "starocie", jak np. automatyczny odczyt minimalnych obrażeń broni (tak panowie i panie, to też rozpracowałem kiedyś).

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Skrypty 3.01 (H1) Wstęp (H2) Liczba plików (H3) Zmiany pod maską (H3) Tłumaczenia (H3) Kompatybilność (H3) Dalszy rozwój (H3)