Plik ten jest z polskimi znakami w standardzie Latin II --------------------------------------------------------- _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ Modify Save Game Version 1.05 Copyright (c) 1997-99 by Fubrus Wprowadzenie ~~~~~~~~~~~~ Prezentowany program jest pr¢b¥ uproszczenia dziaˆaä maj¥cych na celu zmian© zawarto˜ci jakiego˜ pliku binarnego. W zaˆo¾eniach jest to program do zmiany zapis¢w stan¢w gier, tym nie mniej pozwala on na modyfikacj© r¢wnie¾ innych plik¢w. I. Uruchomienie programu ~~~~~~~~~~~~~~~~~~~~~~~~ Program MSG uruchamiamy poprzez wydanie komendy MSG.EXE w katalogu programu. W przypadku, gdy program znajduje si© w katalogu zdefiniowanym w zmiennej ˜rodowiskowej DOS PATH, wpisanie komendy MSG.EXE r¢wnie¾ powinno zaowocowa† startem programu. Wymagania programu s¥ stosunkowo niewielkie. Do uruchomienia go wymagany jest komputer z: * 350 KB wolnej konwencjonalnej pami©ci operacyjnej, * procesorem AT min. 80286, * kart¥ grafiki VGA z 256 KB RAM karty, * aktywnym sterownikiem myszy. Program pracuje w DOS'ie wersji nowszej ni¾ 3.1. Program przy starcie pr¢buje rozpozna† niekt¢re zamontowane komponenty. Chodzi tu o kart© muzyczn¥, CD-ROM, itp. Gdyby program miaˆ problemy przy starcie to mo¾na wymusi† zaniechanie wykrywania zamontowanego sprz©tu. Dokonujemy tego za pomoc¥ opcji /S: MSG.EXE /S Dodatkowo do programu MSG doˆ¥czam program START.EXE. Jest to program interpretuj¥cy przekazany mu w linii komend skrypt. Wywoˆanie jego ma posta†: START.EXE NazwaSkryptu[.SCR] [/B] Dodanie przeˆ¥cznika /B powoduje utworzenie kopii bezpieczeästwa modyfikowa- nych plik¢w. Robi on dokˆadnie to samo co moduˆ z programu MSG. Doˆ¥czam go poniewa¾ umo¾liwia on modyfikacje plik¢w z poziomu program¢w BAT. II. Tryby pracy programu MSG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bezpo˜rednio po uruchomieniu programu mamy dost©p do dw¢ch gˆ¢wnych moduˆ¢w programu. S¥ to: * Moduˆ edycyjny pozwalaj¥cy na modyfikacj© i tworzenie nowych skrypt¢w, * Moduˆ startowy pozwalaj¥cy na wyb¢r interesuj¥cego nas skryptu i jego wykonanie. Z poziomu ka¾dego z tych moduˆ¢w oraz z poziomu menu startowego mamy mo¾- liwo˜† ustalenia opcji systemowych. Ustalamy tam czy program i/lub skrypty maj¥ tworzy† kopie modyfikowanych plik¢w. W oknie tym mo¾emy obejrze† r¢wnie¾ kr¢tk¥ charakterystyk© systemu na kt¢rym zostaˆ uruchomiony program. W przy- padku menu gˆ¢wnego mamy mo¾liwo˜† chwilowego wyj˜cia do DOS'u lub uruchomie- nie dowolnego innego programu. Mo¾na r¢wnie¾ ustawi† opcje edycji skryptu w rozdzielczo˜ci 800x600. III. Skr¢ty klawiszowe ~~~~~~~~~~~~~~~~~~~~~~ Program zostaˆ przystosowany do pracy z mysz¥ i bez niej nie uruchomi si©. Wynika to z tego, ¾e cz©˜† poleceä nie mo¾na wybra† bez bezpo˜redniego wska- zania ich mysz¥. Po mimo tego praca z programem mo¾e si© odbywa† prawie bez u¾ycia tego urz¥dzenia. Wszystkie polecenia z jawnie podkre˜lon¥ liter¥ skr¢tu wybieramy poprzez wci˜ni©cie danego klawisza na klawiaturze. Gdy natomiast nie zostaˆa ¾adna litera w nazwie polecenia zakre˜lona to mo¾na spr¢bowa† wywoˆa† to polecenie z kombinacj¥ klawiszy Alt+Litera. Nie zawsze to poskutkuje, np. w przypadku gdy wyst©puj¥ dwa polecenia rozpoczynaj¥ce si© t¥ sam¥ liter¥ to zostanie wybrane to pierwsze; to drugie nale¾y wybra† za pomoc¥ myszy. W module edycji po wybraniu interesuj¥cego nas zestawu funkcji, wyb¢r funkcji dokonujemy bez klawisza Alt - wciskamy klawisz z liter¥ odpowiadaj¥cy pierwszej literze nazwy funkcji. W przypadku gdy dwie funkcje maj¥ identyczn¥ liter© pocz¥tkow¥, klawiszem wybieramy t© pierwsz¥, drug¥ za pomoc¥ myszy. Te wszystkie zalecenia odnosz¥ si© do wi©kszo˜ci okien dialogowych za wyj¥tkiem okna edycyjnego. W tym oknie przyciski zatwierdzenia i zaniechania mo¾na wybra† tylko za pomoc¥ myszy lub ENTER to zatwierdzenia a ESC - zanie- chanie (Alt sˆu¾y do wprowadzania "polskich" znak¢w). IV. Edytor skrypt¢w ~~~~~~~~~~~~~~~~~~~ Program MSG wyposa¾yˆem w do˜† prosty edytor. Nie jest on co prawda bardzo wygodny (a taki miaˆ by† w zaˆo¾eniach), ale pozwala poprawnie zdefiniowa† zawarto˜† skryptu do wykonania. Pomimo tego, ¾e podam spis funkcji i spos¢b ich zapisu to zalecam tworzenie skrypt¢w tym narz©dziem a ewentualne poprawki robi† w zwykˆym edytorze ASCII. Wynika to z tego, ¾e tylko ten edytor pozwala pami©ta† o wszystkich warunkach poprawno˜ci skrypt¢w. IV.A. Obsˆuga ~~~~~~~~~~~~~ Edytor obsˆuguje si© za pomoc¥ klawiatury i myszy. Wyb¢r czynno˜ci obrazuj¥ odpowiednie przyciski. Po samym skrypcie przesuwamy si© za pomoc¥ kursor¢w. W oknie informacyjnym znajduje si© opis czynno˜ci jaka zostanie wykonana po wci˜ni©ciu przycisku myszy. Dost©pne klawisze: W, F2 - Zapis skryptu w pliku L, F3 - Wczytanie skryptu z pliku S - Opcje A - Logo programu F - Poszukiwanie okre˜lonego tekstu w skrypcie N - Nast©pne wyst¥pienie tekstu w skrypcie R, ESC - Powr¢t do menu startowego ENTER - Edycja wskazanej linii F7 - Wstawienie rozkazu powrotu z podprogramu F8 - Wstawienie etykiety do skryptu F9 - Wstawienie rozkazu skoku do etykiety w skrypcie F10 - Wstawienie rozkazu wywoˆania podprogramu w skrypcie BackSpace - Zamiana komendy/komentarza na komentarz/komend© Insert - Wstawienie komentarza Del - Usuni©cie komentarza Alt+F - Wyb¢r podmenu Files Alt+S - Wyb¢r podmenu Search Alt+G - Wyb¢r podmenu Go To Alt+R - Wyb¢r podmenu Read Alt+W - Wyb¢r podmenu Write Alt+C - Wyb¢r podmenu Compare Alt+L - Wyb¢r podmenu List Alt+A - Wyb¢r podmenu Array Alt+M - Wyb¢r podmenu More Alt+E - Menu edycji Ctrl+C - Skopiowanie linii Ctrl+C - Wstawienie skopiowanej linii Ctrl+X - Wyci©cie linii Aby utworzy† nowy skrypt nale¾y w selektorze plik¢w w mask© pliku wpisa† ¾¥dan¥ przez u¾ytkownika nazw©. Program po stwierdzeniu, ¾e nie ma takiego pliku spyta si© czy ma go utworzy†. Przy tworzeniu nale¾y r¢wnie¾ poda† nazw© gry do jakiej jest przeznaczony skrypt. Nazwa ta wykorzystywana jest przez selektor skrypt¢w w module wykonawczym. IV.B. Konwencja opisu komendy skryptu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Komenda skryptu posiada og¢ln¥ budow© w postaci: NR_Komendy [Parametr(y)] Zapisywana jest ona w pliku tekstowym, bez znak¢w formatuj¥cych - czysty kod ASCII. Nr_Komendy b©dzie opisywany przy poszczeg¢lnych funkcjach. Natomiast parametr(y) je˜li wyst©puj¥ maj¥ nast©puj¥c¥ konwencj©: [Warto˜†|[]|[ [Min. Warto˜ci [Max. Warto˜ci]] [Label] [Tekst informacyjny]]] (1) (2) (3) (4) (5) (7) (6) Jest to og¢lna posta† parametru. Nawiasy [] oznaczaj¥ opcjonalno˜† wyst¥- pienia tego elementu (przy braku zostan¥ przyj©te standardowe warto˜ci), element | oznacza wyb¢r jednego z tych element¢w. W przypadku odst©pstw od tej formy zapisu zostanie to om¢wione przy opisywaniu danej funkcji. Numery w nawiasach () zostan¥ wykorzystane przy opisie funkcji. Zadawanie minimalnej i maksymalnej warto˜ci zale¾y od osoby pisz¥cej skrypt. Nie wszystkim wiadomo, ale podanie warto˜ci maksymalnej wi©kszej od maksymalnej warto˜ci danego typu zmiennej zazwyczaj oznacza poprawno˜† takiego zapisu. Wynika to z tego, ¾e warto˜† zawy¾ona jest brana jako modulo maksymalny zakres dla danego typu. Np. dla zmiennej typu Byte maksymalny zakres to 255, je˜li za˜ my podamy jako maksymalny zakres 256 to zostanie to potraktowane jako 1 (256 Mod 255 = 1). Nale¾y o tym pami©ta† przy pisaniu wˆasnych skrypt¢w. IV.C. Warto˜ci ~~~~~~~~~~~~~~ Program przyjmuje warto˜ci podawane dziesi©tnie (dotyczy liczb). Jednak czasami, gdy zajdzie potrzeba podania warto˜ci szesnastkowo to liczb© (ale nie znak liczby) nale¾y poprzedzi† znakiem $, tzn. n.p.: $24, -$35. Nie nale¾y u¾ywa† takiego zapisu do okre˜lania komendy. Program nie rozr¢¾nia maˆych i du¾ych liter. Przy szukaniu tekstu nale¾y zwr¢ci† na to uwag©. IV.D. Zmienne ~~~~~~~~~~~~~ Program operuje na zmiennych pomocniczych. Przypada po jednej zmiennej na ka¾dy typ danej. Dodatkowo jest jedna zmienna pomocnicza Point typu Long Integer do sterowania prac¥ skryptu (p©tle). Nale¾y uwa¾a† na to aby przypadkowo nie zmieni† ich zawarto˜ci, gdy tego nie chcemy. IV.E. Funkcje ~~~~~~~~~~~~~ Program pozwala na wykorzystanie w skryptach nast©puj¥cych funkcji: __________________________________________________ * Files - operacje plikowe. - Open File - otwarcie pliku. Podajemy bezpo˜rednio nazw© pliku lub znak ?, kt¢ry wymusza spytanie si© u¾ytkownika o nazw© pliku do modyfikacji. Aby wszystko wygl¥daˆo jak chce u¾ytkownik to po znaku ? nale¾y poda† pytanie z jakim program si© zwr¢ci do u¾ytkownika. Brak tego pytanie spowoduje wy˜wietlenie standardowego pytania programu. Parametry: (1) lub (3) i (6) Nr komendy: 10 Dost©p: Alt+F, O - Select File - wyb¢r pliku. Funkcja to powoduje otwarcie okna do r©cznego, interaktywnego wyboru pliku. W celu wyboru kryterium poszukiwania musimy poda† mask© przeszukiwania katalogu z plikami. Parametry: (1) Nr komendy: 11 Dost©p: Alt+F, S - Create File - utworzenie nowego pliku. Podajemy bezpo˜rednio nazw© pliku lub znak ?, kt¢ry wymusza spytanie si© u¾ytkownika o nazw© pliku do utworzenia. Po znaku ? nale¾y poda† pytanie z jakim program si© zwr¢ci do u¾ytkownika. Brak tego pytanie spowoduje wy˜wietlenie standardowego pytania programu. Tworzony jest nowy plik o zerowej dˆugo˜ci, do kt¢rego mo¾na dopisa† dane. Je˜li jest ju¾ plik o podanej nazwie to program upewni si© co do intencji u¾ytkownika. Utworzony plik jest domy˜lnie aktualnym plikiem danych na kt¢rym operuje skrypt. Parametry: (1) lub (3) i (6) Nr komendy: 12 Dost©p: Alt+F, C - Get Size - Pod zmienn¥ Long Integer nast©puje podstawienie dˆugo˜ci aktualnie otwartego pliku. Mo¾na nast©pni© t© warto˜† por¢wna† funkcj¥ Compare. Parametry: Brak Nr komendy: 13 Dost©p: Alt+F, G Po wyborze pliku, plik ten jest otwierany do operacji wej˜cia/wyj˜cia. Je˜li poprzednio byˆ otwarty inny plik to zostaje on definitywnie zamkni©ty. Plik do modyfikacji nie powinien mie† ustawionych atrybut¢w Read Only, Hidden ani System, poniewa¾ program nie b©dzie m¢gˆ ich otworzy†. __________________________________________________ * Search - Szukanie okre˜lonej warto˜ci lub tekstu w pliku. - Byte - Szukanie warto˜ci typu Byte (1 bajt bez znaku). Podajemy konkretn¥ warto˜† lub [?, Temp], a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 30 Dost©p: Alt+S, B - Word - Szukanie warto˜ci typu Word (2 bajty bez znaku). Podajemy konkretn¥ warto˜† lub [?, Temp], a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 31 Dost©p: Alt+S, W - Short Integer - Szukanie warto˜ci typu ShortInt (1 bajt ze znakiem). Podajemy konkretn¥ warto˜† lub [?, Temp], a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 32 Dost©p: Alt+S, S - Integer - Szukanie warto˜ci typu Integer (2 bajty ze znakiem). Podajemy konkretn¥ warto˜† lub [?, Temp], a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1), (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 33 Dost©p: Alt+S, I - Long Integer - Szukanie warto˜ci typu LongInt (4 bajty ze znakiem). Podajemy konkretn¥ warto˜† lub [?, Temp], a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1), (2) lub (3) oraz (4), (5) i (6) Nr Komendy: 34 Dost©p: Alt+S, L - Text - Szukanie tekstu w pliku (Max. 30 znak¢w). Podajemy konkretn¥ tre˜† lub [?, Temp], a nast©pnie polecenie sˆowne do u¾ytkownika. Program nie rozr¢¾nia maˆych i du¾ych liter podczas przeszukiwa- nia. Parametry: (1), (2) lub (3) oraz ewentualnie (6) Nr Komendy: 35 Dost©p: Alt+S, T - New find - Nowe funkcje wyszukiwania danych. Zmianie ulegˆa reakcja interpretera w momencie nie znalezienia poszukiwanej danej. W starszych funkcjach w tej sytuacji nast©powaˆo zakoäczenie skryptu, teraz mo¾na go kontynuowa†. Je¾eli poszukiwana warto˜† zostanie znaleziona przez now¥ funkcj© to nast©puje pomini©cie nast©pnej wa¾nej linii w skrypcie. Normalnie znajduje si© tam komenda skoku do etykiety, kt¢ra jest wywoˆywana, gdy ta dana nie zostanie znaleziona. Odpowiednie opracowanie tego zdarzenia pozwala na kontynu- owanie skryptu. Po wybraniu tego elementu podmenu wybieramy czego dotyczyˆo b©dzie wyszukiwanie - tak jak w przypadku starszej wersji funkcji wyszukiwanie. Parametry: patrz wy¾ej dla koment [30..35] Nr Komendy: [40..45] Dost©p: Alt+S, N, [B|W|S|I|L] Funkcje s¥ odpowiedzialne za poszukiwanie danych w pliku. Przeszukiwanie mo¾na przerwa† w dowolnym momencie. W przypadku starszych komend nie znale- zienie szukanej warto˜ci koäczy prac© skryptu. Szukanie rozpoczyna si© od aktualnego miejsca w pliku. Wynika st¥d, ¾e: - je˜li szukamy czego˜ w caˆym pliku to przed wydaniem komendy Search nale¾y ustawi† si© na pocz¥tku pliku; - je˜li wiemy gdzie mniej wi©cej znajduje si© szukana warto˜† do mo¾na ustawi† si© w pliku w pobli¾u tego miejsca i dopiero rozpocz¥† szukanie. UWAGA !!! Po znalezieniu szukanej warto˜ci program ustawia wska«nik pliku tak aby mo¾na byˆo t© warto˜† odczyta† (cofa si©). Warto˜† poszukiwana jest podstawiana pod warto˜† odpowiedniej zmiennej tymczasowej. __________________________________________________ * Go To - Poruszanie si© po pliku. - Begin File - Ustawienie si© na pocz¥tku pliku. Funkcja bezparametrowa. Parametry: Brak Nr Komendy: 50 Dost©p: Alt+G, B - Absolute - Ustawienie si© w okre˜lonym miejscu pliku. Podajemy warto˜† od pocz¥tku pliku (0 - pocz¥tek pliku). Parametry: (1) Nr Komendy: 51 Dost©p: Alt+G, A - Forward - Przesuni©cie si© w pliku do przodu. Podajemy r¢¾nic© bajt¢w o jak¥ ma si© przesun¥† wska«nik poˆo¾enia danych w pliku. Parametry: (1) Nr Komendy: 52 Dost©p: Alt+G, F - Backward - Przesuni©cie si© w pliku do tyˆu. Podajemy r¢¾nic© bajt¢w o jak¥ ma si© przesun¥† wska«nik poˆo¾enia danych w pliku. Parametry: (1) Nr Komendy: 53 Dost©p: Alt+G, Wyb¢r mysz¥ - End File - Ustawienie si© na koäcu pliku. Funkcja bezparametrowa. Parametry: Brak Nr Komendy: 54 Dost©p: Alt+G, A __________________________________________________ * Read - Odczytanie warto˜ci lub tekstu z pliku w aktualnej pozycji. - Byte - Odczytanie warto˜ci typu Byte (1 bajt bez znaku). Parametry: Brak Nr Komendy: 70 Dost©p: Alt+R, B - Word - Odczytanie warto˜ci typu Word (2 bajty bez znaku). Parametry: Brak Nr Komendy: 71 Dost©p: Alt+R, W - Short Integer - Odczytanie warto˜ci typu ShortInt (1 bajt ze znakiem). Parametry: Brak Nr Komendy: 72 Dost©p: Alt+R, S - Integer - Odczytanie warto˜ci typu Integer (2 bajty ze znakiem). Parametry: Brak Nr Komendy: 73 Dost©p: Alt+R, I - Long Integer - Odczytanie warto˜ci typu LongInt (4 bajty ze znakiem). Parametry: Brak Nr Komendy: 74 Dost©p: Alt+R, L - Text - Odczytanie tekstu w pliku (Max. 30 znak¢w). Podajemy dˆugo˜† tekstu. Parametry: (1) Nr Komendy: 75 Dost©p: Alt+R, T Funkcje te czytaj¥ warto˜† z pliku i umieszcza w zmiennej pomocniczej. Czytaj¥ t© warto˜† w aktualnym poˆo¾eniu wska«nika w pliku. Mo¾na por¢wnywa† t© warto˜† (komenda Compare) w celu sprawdzenia czy plik jest odpowiedniego typu (sprawdzenie nagˆ¢wka). UWAGA !!! Po odczytaniu warto˜ci wska«nik pozycji w pliku znajduje si© za odczytan¥ dan¥. __________________________________________________ * Write - Zapis okre˜lonej warto˜ci lub tekstu w pliku. - Byte - Zapis warto˜ci typu Byte (1 bajt bez znaku). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Ewentualnie mo¾emy wpisa† zamiast ? sˆowo TEMP co b©dzie oznaczaˆo rozkaz zapisu do pliku aktualnej warto˜ci zmiennej pomocniczej. Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 90 Dost©p: Alt+W, B - Word - Zapisanie warto˜ci typu Word (2 bajty bez znaku). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Ewentualnie mo¾emy wpisa† zamiast ? sˆowo TEMP co b©dzie oznaczaˆo rozkaz zapisu do pliku aktualnej warto˜ci zmiennej pomocniczej. Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 91 Dost©p: Alt+W, W - Short Integer - Zapisanie warto˜ci typu ShortInt (1 bajt ze znakiem). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Ewentualnie mo¾emy wpisa† zamiast ? sˆowo TEMP co b©dzie oznaczaˆo rozkaz zapisu do pliku aktualnej warto˜ci zmiennej pomocniczej. Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 92 Dost©p: Alt+W, S - Integer - Zapisanie warto˜ci typu Integer (2 bajty ze znakiem). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Ewentualnie mo¾emy wpisa† zamiast ? sˆowo TEMP co b©dzie oznaczaˆo rozkaz zapisu do pliku aktualnej warto˜ci zmiennej pomocniczej. Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 93 Dost©p: Alt+W, I - Long Integer - Zapisanie warto˜ci typu LongInt (4 bajty ze znakiem). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Ewentualnie mo¾emy wpisa† zamiast ? sˆowo TEMP co b©dzie oznaczaˆo rozkaz zapisu do pliku aktualnej warto˜ci zmiennej pomocniczej. Parametry: (1) lub (2) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 94 Dost©p: Alt+W, L - Text - Zapisanie tekstu w pliku (Max. 30 znak¢w). Podajemy konkretn¥ warto˜† lub ?, a nast©pnie polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (6) Nr Komendy: 95 Dost©p: Alt+W, T Funkcje te zapisuj¥ warto˜† do pliku w aktualnym poˆo¾eniu wska«nika w pliku. UWAGA !!! Po zapisaniu warto˜ci wska«nik pozycji w pliku znajduje si© za zapisan¥ dan¥. Nie nast©puje tutaj zapami©tanie zapisywanej warto˜ci w zmiennej tymcza- sowej odpowiedniego typu. __________________________________________________ * Compare - Por¢wnanie zmiennej pomocniczej z okre˜lon¥ warto˜ci¥ lub tekstem. - Byte - Por¢wnanie zmiennej pomocniczej typu Byte (1 bajt bez znaku) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 110 Dost©p: Alt+C, B - Word - Por¢wnanie zmiennej pomocniczej typu Word (2 bajty bez znaku) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 111 Dost©p: Alt+C, W - ShortInt - Por¢wnanie zmiennej pomocniczej typu Short Integer (1 bajt ze znakiem) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 112 Dost©p: Alt+C, S - Integer - Por¢wnanie zmiennej pomocniczej typu Integer (2 bajty ze znakiem) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 113 Dost©p: Alt+C, I - LongInt - Por¢wnanie zmiennej pomocniczej typu Long Integer (4 bajty ze znakiem) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie minimaln¥ warto˜† jak¥ mo¾e nada† u¾ytkownik, warto˜† maksymaln¥ oraz polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (4), (5) i (6) Nr Komendy: 114 Dost©p: Alt+C, L - Text - Por¢wnanie zmiennej pomocniczej typu Text (Max. 30 znak¢w) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜† lub ?, a nast©pnie polecenie sˆowne do u¾ytkownika. Parametry: (1) lub (3) oraz ewentualnie (6) Nr Komendy: 115 Dost©p: Alt+C, T - Point - Por¢wnanie zmiennej roboczej typu Long Integer (4 bajty ze znakiem) z zadan¥ warto˜ci¥ tego samego typu. Podajemy konkretn¥ warto˜†. Parametry: (1) Nr Komendy: 116 Dost©p: Alt+C, P Funkcje te por¢wnuj¥ aktualn¥ warto˜† danej zmiennej pomocniczej z war- to˜ci¥ zadan¥. Je˜li warto˜ci te s¥ r¢wne to jest wykonywana kolejna wa¾na linia (po por¢wnaniu program edycyjny pyta si© o to do kt¢rej etykiety ma przeskoczy† gdy te warto˜ci s¥ r¢wne i dopisuje dodatkow¥ lini©) a je˜li nie to przeskakuje do nast©pnej w kolejno˜ci linii. __________________________________________________ * List - Tworzy list© danych z ich opisem i wy˜wietla okno do wyboru tego elementu. - Byte, Word, ShortInt, Integer, LongInt - Po spotkaniu w tre˜ci skryptu komendy utworzenia listy nast©puje wczytywanie element¢w tej listy do momentu wyst¥pienia komendy r¢¾nej ni¾ element listy. Proces tworzenia wymaga podania liczby element¢w tej listy, jednak przy interpretacji ta liczba jest ignorowana. Przy deklaracji podajemy opcjonalnie nazw© listy. Po deklaracji wczytywane s¥ kolejne warto˜ci i ich opisy i dopisywane s¥ do skryptu. - Byte Parametry: (1) oraz ewentualnie (6) Nr Komendy: 130 Dost©p: Alt+L, B Element listy Byte Parametry: (1) oraz ewentualnie (6) Nr Komendy: 150 - Word Parametry: (1) oraz ewentualnie (6) Nr Komendy: 131 Dost©p: Alt+L, W Element listy Word Parametry: (1) oraz ewentualnie (6) Nr Komendy: 151 - ShortInt Parametry: (1) oraz ewentualnie (6) Nr Komendy: 132 Dost©p: Alt+L, S Element listy ShortInt Parametry: (1) oraz ewentualnie (6) Nr Komendy: 152 - Integer Parametry: (1) oraz ewentualnie (6) Nr Komendy: 133 Dost©p: Alt+L, I Element listy Integer Parametry: (1) oraz ewentualnie (6) Nr Komendy: 153 - LongInt Parametry: (1) oraz ewentualnie (6) Nr Komendy: 134 Dost©p: Alt+L, L Element listy LongInt Parametry: (1) oraz ewentualnie (6) Nr Komendy: 154 Funkcje ustawiaj¥ zmienn¥ pomocnicz¥ tego samego typu co typ listy. Zmienn¥ t¥ mo¾na nast©pnie zapisa† w pliku danych za pomoc¥ komendy Write z paramet- rem . Mo¾na r¢wnie¾ j¥ odczytywa† za pomoc¥ komendy Compare (tworzy† Menu). - Add element - dodaje element danego typu do listy. Nie jest sprawdzane czy lista jest ju¾ utworzona. Pozwala to na modyfikacj© aktualnie zapisanej listy. Parametry: (1) i (6) Nr Komendy: 150-154 (Byte - Long Integer) Dost©p: Alt+L, A, B | W | S | I | L - File of List - wskazujemy nazw© pliku, w kt¢rym jest umieszczona struk- tura listy. Po nazwie pliku podajemy etykiet©, gdzie w pliku danych nale¾y szuka† tej listy - mo¾na w pliku przechowywa† kilka list pod r¢znymi etykietami. Jest to rozszerzenie skryptu. Mo¾na tworzy† kod skryptu a dane przechowywa† w pliku danych. Plik danych ma struktur© podobn¥ do skryptu. Jako przykˆad mo¾e sˆu¾y† skrypt i plik danych do skryptu dla gry Albion: Albion.Scr oraz Albion.Dat. Parametry: (1) i (7) Nr Komendy: 155 Dost©p: Alt+L, F __________________________________________________ * Array - Tworzy rekord danych z ich opisem i wy˜wietla okno do jego modyfikacji. - Declare - Deklaracja rekordu. Najpierw podajemy wielko˜† rekordu, ilo˜† rekord¢w, kt¢re program ma odczyta† oraz nazw© struktury. W przypadku, gdy odczytywany b©dzie jeden rekord to jego wielko˜† jest oboj©tna. Dane zostan¥ odczytane z aktualnego poˆo¾enia w pliku. Po zamkni©ciu okna edycyjnego program ustawia si© w pliku na pocz¥tku ostatniego rekordu (jak jest jeden rekord to poˆo¾enie w pliku po odczytaniu danych nie ulega zmianie). Po deklaracji mo¾emy dodawa† elementy rekordu. Mog¥ to by† warto˜ci pi©ciu typ¢w: Byte, Word, ShortInt, Integer, LongInt. Parametry: (1)+(1) oraz ewentualnie (6) Nr Komendy: 190 Dost©p: Alt+A, D - Byte, Word, ShortInt, Integer, LongInt - Podajemy poˆo¾enie danej wzgl©dem pocz¥tku (+/-). Nast©pnie podajemy zakresy zmian danej, nast©pnie podajemy etykiet© pod kt¢r¥ znajduje si© opis danych a na koäcu opis danej. - Byte Parametry: (1), (4), (5) oraz ewentualnie (7) i (6) Nr Komendy: 200 lub 220 przy (7) Dost©p: Alt+A, B - Word Parametry: (1), (4), (5) oraz ewentualnie (7) i (6) Nr Komendy: 201 lub 221 przy (7) Dost©p: Alt+A, W - ShortInt Parametry: (1), (4), (5) oraz ewentualnie (7) i (6) Nr Komendy: 202 lub 222 przy (7) Dost©p: Alt+A, S - Integer Parametry: (1), (4), (5) oraz ewentualnie (7) i (6) Nr Komendy: 203 lub 223 przy (7) Dost©p: Alt+A, I - LongInt Parametry: (1), (4), (5) oraz ewentualnie (7) i (6) Nr Komendy: 204 lub 224 przy (7) Dost©p: Alt+A, L W momencie spotkania innej komendy ni¾ element rekordu nast©puje odczytanie zdeklarowanych danych z pliku i istnieje mo¾liwo˜† edycji tych danych. Mo¾emy zmienia† warto˜† tych danych za pomoc¥ kursor¢w o 1 (z klawiszem Ctrl o 100) jak r¢wnie¾ po wskazaniu mysz¥ zaznaczonego okienka (lub klawiszem ENTER) wpi- sa† ¾¥dan¥ warto˜† to okienka edycyjnego (ewentualnie wybra† z listy je˜li zostanie zadeklarowana struktura z opisem danych). Zmiana aktualnego rekordu dokonujemy za pomoc¥ przycisk¢w z lewej strony okna. Funkcje 200-204 s¥ one domy˜lnie ustawiane przy edycji je˜li nie wyst¥piˆa deklaracja etykiety (parametr (7) - funkcje 220-224). W przypadku, gdy zadek- larujemy etykiet©, pod kt¢r¥ znajduje si© opis danych to zostan¥ te informacje automatycznie wczytane je˜li w oknie edycji zmienna ta zostanie pod˜wietlona. Podczas zmiany warto˜ci danej je˜li ma ta warto˜† opis to zostanie on wy˜- wietlony. Opis tworzymy identycznie jak dla funkcji - lista. Mo¾liwe jest aby dla kilku danych w rekordzie edycyjnym wyst©powaˆ ten sam opis - wystarczy wpisa† t© sam¥ etykiet©. Program nie ¾¥da podczas edycji skryptu aby stosowny opis danych zostaˆ utworzony. Powinna o tym pami©ta† osoba pisz¥ca skrypt. Brak edykiety podczas interpretowania skryptu powoduje, ¾e funkcja z zakresu 220-224 zostanie przedefiniowana na funkcje z zakresu 200-204 bez zgody u¾ytkownika. W przypadku funkcji 220-224 aby wpisa† warto˜† inn¥ ni¾ ta zadeklarowana w li˜cie (lub warto˜† z listy ale bez wywoˆywania okienka z wyborem elementu) mo¾emy wykorzysta† kombinacj© klawiszy Ctrl+ENTER. __________________________________________________ * More - Zastaˆy tu zebrane inne pomocne funkcje takie jak: - InfoBox - okienko informacyjne. Podajemy tutaj tekst jaki zostanie wy˜- wietlony po napotkaniu tej komendy. Znaki steruj¥ce: Ctrl+-> - Wy˜rodkowanie tekstu Ctrl+PgUp - Tekst do lewej Ctrl+PdDn - Tekst do prawej ^ - Zmiana intensywno˜ci koloru linii | - Zmiana linii Parametry: (1) Nr Komendy: 170 Dost©p: Alt+M, I - QuestBox - okienko decyzyjne. Podajemy tekst pytania do u¾ytkownika. Nast©pnie podajemy gdzie nale¾y wykona† skok gdy odpowied« jest twierdz¥ca. Gdy odpowied« jest negatywna zostanie pomini©ta pierwsza wa¾na linia (nie komentarz lub error). Znaki steruj¥ce identyczne jak dla InfoBox. Parametry: (1) Nr Komendy: 171 Dost©p: Alt+M, Q - Exit Script - Koäczy dziaˆania skryptu przed doj˜ciem do jego koäca. Parametry: Brak Nr Komendy: 172 Dost©p: Alt+M, E - Set Point - Ustawienie zmiennej roboczej. Podajemy jej warto˜† pocz¥t- kow¥. Zmienna ta pozwala na np. wypeˆnianie jakiego˜ obszaru w pliku tymi samymi danymi. Ustawiamy jej warto˜† na pocz¥tek obszaru, deklarujemy etykiet©, zapisujemy dan¥, zwi©kszamy warto˜† zmiennej o 1 (Inc Point) i sprawdzamy czy osi¥gn©ˆa g¢rn¥ warto˜† obszaru za pomoc¥ komendy Compare; je˜li nie to skok do zadeklarowanej etykiety. Parametry: (1) Nr Komendy: 175 Dost©p: Alt+M, S - Inc Point - Zwi©kszenie warto˜ci zmiennej roboczej Point o podan¥ war- to˜†. Podajemy wielko˜† o jak¥ nale¾y zmieni† warto˜† zmien- nej. Parametry: (1) Nr Komendy: 176 Dost©p: Alt+M, Wyb¢r za pomoc¥ myszy - Fill Area - Menu do obsˆugi funkcji wypeˆniaj¥cych obszar w pliku tymi samymi danymi - Zestaw funkcji odpowiedzialnych za wypeˆnianie okre˜lonego obszaru w pliku danych pewn¥ warto˜ci¥. Mo¾na na przykˆad odsˆania† map© w pliku zapisu stanu gry. Wybieramy jakim typem danych b©dziemy wypeˆnia† plik, ilo˜† element¢w oraz warto˜† jak¥ ma by† plik wypeˆ- niony. Wypeˆnianie rozpoczyna si© od aktualnej pozycji w pliku. Opis funkcji: - Byte Fill Parametry: (1) i (1) Nr Komendy: 240 Dost©p: Alt+M, F, B - Word Fill Parametry: (1) i (1) Nr Komendy: 241 Dost©p: Alt+M, F, W - ShortInt Fill Parametry: (1) i (1) Nr Komendy: 242 Dost©p: Alt+M, F, S - Integer Fill Parametry: (1) i (1) Nr Komendy: 243 Dost©p: Alt+M, F, I - LongInt Fill Parametry: (1) i (1) Nr Komendy: 244 Dost©p: Alt+M, F, L - Label - Menu do obsˆugi etykiet w skrypcie - Set Label - Deklaracja etykiety. Podajemy nazw©. Wa¾ne aby w skrypcie nie wyst©powaˆy dwie te same etykiety. Nie jest to co prawda bˆ¥d ale poniewa¾ przeszukiwanie etykiet zawsze od- bywa si© od pocz¥tku skryptu to zawsze jest wybierana pierwsza etykieta o tej samej nazwie. Parametry: (1) Nr Komendy: 173 Dost©p: Alt+M, L, S | F8 - Go To Label - Przej˜cie do etykiety. Podajemy nazw©. Dzi©ki temu mo¾na zap©tli† dziaˆanie skryptu. Parametry: (1) Nr Komendy: 174 Dost©p: Alt+M, L, G | F9 - Call Label - Wywoˆanie etykiety. Podajemy nazw©. Funkcja r¢¾ni si© od poprzedniej tym, ¾e zapami©tuje aktualne poˆo¾enie w skrypcie i w pliku danych. Pozwala to nast©pnej funkcji - Return Call - na powr¢t do stanu z przed wywo- ˆania etykiety. Dane s¥ odkˆadane na specjalnym stosie danych. Ka¾de nowe wywoˆanie powoduje zwi©kszenie wska«nika o jeden i zapami©tanie nowych danych. Maksy- malnie wska«nik mo¾e zosta† zwi©kszony do 10. Po przekro- czeniu tej warto˜ci nast¥pi zakoäczenie skryptu z bˆ©dem. Parametry: (1) Nr Komendy: 177 Dost©p: Alt+M, L, C | F10 - Return Call - Powr¢t z podprogramu. Funkcja odtwarza zapami©tany ostatnio przez funkcje - Call Label - stan skryptu. Ka¾de wywoˆanie powoduje odczytanie zmiennych, zmiana stanu skryptu i pliku danych oraz zmniejszenie wska«nika poˆo¾enia danych na stosie. W przypadku gdy nie ma zapami©tanych danych na stosie i nast¥pi wywoˆanie tej funkcji nast¥pi zakoäczenie skryptu z bˆ©dem. Parametry: (1) Nr Komendy: 178 Dost©p: Alt+M, L, R | F7 - Comment - Menu do obsˆugi komentarzy w skrypcie. - Insert - Wstawienie komentarza do tekstu skryptu. Wszystkie napotkane podczas interpretacji skryptu komentarze s¥ wy˜wietlane w specjalnym oknie. Za komentarz program traktuje ka¾d¥ lini© rozpoczynaj¥c¥ si© ˜rednikiem ";". Parametry: (1) Dost©p: Alt+M, C, I | Insert - To Comment - zamiana linii skryptu b©d¥cej komend¥ na komentarz. Tylko takie linie mog¥ zosta† nast©pnie usuni©to. Jest to za- bezpieczenie przed przypadkowym wykasowaniem wa¾nej linii. Parametry: Brak Dost©p: Alt+M, C, T | BackSpace - To Command - zamiana komentarza na komend© Parametry: Brak Dost©p: Alt+M, C, Wyb¢r za pomoc¥ myszy | BackSpace - Delete - Usuni©cie komentarza ze skryptu Parametry: Brak Dost©p: Alt+M, C, D | Delete - User Func - Funkcja u¾ytkownika. Mo¾emy tutaj wywoˆa† specjalnie napisane przez u¾ytkownika programy. Program taki musi speˆni† kilka zaˆo¾eä: - musi kontrolowa† fakt wywaˆania go z programu MSG. Podczas wywoˆania takiego programu, jako pierwszy parametr podawany jest automatycznie ci¥g znak¢w: MSG. Wynika z tego faktu to, ¾e pierwszy parametr wa¾ny dla programu jest przesuni©ty o jeden, tzn. pierwszy to drugi, itd. Ilo˜† parametr¢w te¾ jest zwi©kszona o jeden. - musi od pocz¥tku pracowa† w trybie graficznym - do tego specjalnie ustawionym. Musi zatem zapami©ta† stan ekranu, kt¢ry b©dzie zakrywaˆ. - nie mo¾e pisz¥cy ten program korzysta† z moduˆu CRT Turbo Pascal'a. Moduˆ ten podczas inicjalizacji resetuje aktualny tryb graficzny. Cz©˜† funkcji i procedur z tego moduˆu zawiera moduˆ Graphics. - musi w katalogu wskazywanym przez zmienn¥ ˜rodowiskow¥ TEMP przekazywa† w pliku tekstowym MSG$$$$$.TMP warto˜† do programu MSG. Format informacji przekazywanej w jednej linii wygl¥da nast©puj¥co: - na pacz¥tku linii nale¾y wskaza† jaki jest typ przekazy- wanej warto˜ci w postaci liczby. Znaczenie liczb: 0 - Nic nie r¢b 1 - Byte 2 - Word 3 - Short Integer 4 - Integer 5 - Long Integer Liczby s¥ podawane dziesi¥tkowo - bez znaku $. - Po spacji podajemy przekazywan¥ warto˜†. Warto˜† mo¾emy przedstawi† w postaci szesnastkowej (z poprzedzaj¥cym znakiem $). Przekazywana warto˜† jest umieszczana w zmiennej tymcza- sowej danego typu. Po przekazaniu plik wymiany jest kasowany. - musi to by† niewielki stosunkowo program - wymagania pami©ciowe. - wskazane byˆoby aby jego wygl¥d graficzny byˆ podobny do programu MSG. - Zamiast tworzy† list© dla funkcji typu Array, mo¾emy r¢wnie¾ wywoˆa† program zewn©trzny a warto˜† z tego programu zostanie przekazana do zmiennej z tych funkcji. Mo¾na r¢wnie¾ przekazywa† do programu w˜r¢d parametr¢w aktualne warto˜ci zmiennych roboczych. Dokonuje si© tego poprzez podanie jednego z parametr¢w: - -> podstawienie za ten parametr aktualnej warto˜ci zmiennej roboczej typu Bajt, - -> tak jak wy¾ej ale dla zmiennej typu Word, - -> tak jak wy¾ej ale dla zmiennej typu Short Integer, - -> tak jak wy¾ej ale dla zmiennej typu Integer, - -> tak jak wy¾ej ale dla zmiennej typu Long Integer, - -> tak jak wy¾ej ale dla zmiennej typu Text. Znaki spacji s¥ zast©powane znakiem podkre˜lenia - '_'. - -> nazwa aktualnie otwartego pliku danych. Wa¾ne jest aby podawa† te parametry du¾ymi literami. W przypadku przekazania do programu zewn©trznego nazwy pliku danych nast©puje zamkni©cie tego pliku przed wywoˆa- niem programu zewn©trznego (z zapami©taniem aktualnej pozy- cji) aby program zewn©trzny m¢gˆ na nim operowa†. Po powrocie z tego programu nast©puje pr¢ba otwarcia pliku danych i wy- pozycjonowanie w zapami©tanej pozycji - je˜li si© niepowie- dzie nale¾y koniecznie zakoäczy† skrypt. Przykˆad sposobu pisania takiego programu zostaˆ przedsta- wiony w programie BE.Pas - jest to wyb¢r bit¢w z caˆej zmiennej. Program ten jest kilkukrotnie wykorzystany w skryp- tach. Parametry: (1) Nr komendy: 254 Dost©p: Alt+M, U - Convert - Wywoˆanie konwertera miedzysystemowego. Mo¾emy podej¾e† jak¥ warto˜† ma zmienna w czterech podstawowych systemach: dw¢jkowym, ¢semkowym, dziesi©tnym i szesnastkowym. __________________________________________________ Inne komendy: 255 - Charakteryzuje ona gr©, do kt¢rej jest przeznaczony skrypt. 253 - Wersja skryptu. V. Selektor skrypt¢w ~~~~~~~~~~~~~~~~~~~~~ Moduˆ ten jest odpowiedzialny za wyb¢r skryptu do wykonania oraz wykonuje wybrany skrypt. V.A. Obsˆuga ~~~~~~~~~~~~ Selektor obsˆuguje si© podobnie jak Edytor Dost©pne klawisze: 1..0, A..Z - Ustawia si© na pierwszym pliku z nazw¥ gry na dan¥ liter©. ESC - Powr¢t do menu startowego ENTER - Edycja wskazanej linii Alt+D - Zmiana katalogu ze skryptami Alt+F - Szukanie interesuj¥cej nas gry Alt+S - Wyb¢r okna System Alt+A - Logo programu Alt+R - Powr¢t do menu startowego Po wybraniu interesuj¥cej nas gry wciskamy ENTER lub potwierdzamy wyb¢r mysz¥ co powoduje uruchomienie skryptu. Selektor szuka skrypt¢w zawsze w aktualnym katalogu. W przypadku ich braku nale¾y wskaza† katalog ze skryptami. UWAGA !!! Zawsze s¥ wybierane pliki z rozszerzeniem *.SCR. Pozostaˆe s¥ pomijane. VI. Ograniczenia ~~~~~~~~~~~~~~~~ Jak wi©kszo˜† program¢w pisana pod DOS w trybie rzeczywistym program MSG posiada ograniczenia. Wynika to z maksymalnej wielko˜ci struktury danych 64 KB. Oto najwa¾niejsze ograniczenia: * Dla selektora plik¢w (nie skrypt¢w) maksymalna liczba plik¢w danego typu w katalogu to 255. W przypadku wi©kszej liczby plik¢w mo¾na narzuci† zmodyfikowan¥ mask© poszukiwania lub te¾ wpisa† peˆn¥ nazw© pliku do wybrania; * Maksymalna ilo˜† linii skryptu ograniczona jest wielko˜ci¥ pami©ci konwencionalnej pozostaˆej po uruchomieniu programu. Maksymalna dˆugo˜ci linii mo¾e wynosi† do 255 znak¢w. * Maksymalna ilo˜† element¢w w listach i rekordach ograniczona jest do: 1024 dla list i 255 element¢w dla rekord¢w. Jest to jak mi si© wydaje i tak zawy¾ona warto˜† i w¥tpi© aby kto˜ to wykorzystaˆ praktycznie. Mam cich¥ nadziej©, ¾e ten program si© komu˜ przyda. Je˜li zauwa¾ysz jaki˜ bˆ¥d lub nie˜cisˆo˜† jak r¢wnie¾ b©dziesz miaˆ jakie˜ pytania to b©d© Ci wdzi©czny za uwagi. Doˆ¥czam peˆne «r¢dˆo programu MSG w celach dydakty- cznych i pogl¥dowych. Fubrus Oto m¢j adres: Artur FARBI— ul. Sandomierska 16m73 26-611 RADOM