Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Dziennik Misji by Avara
Autor Wiadomość
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
  Wysłany: Pon 08 Sie, 2011 15:46
Dziennik Misji by Avara
Dziennik Misji by Avara (VX)


Opis opcji:
Dziennik ten jest trudny w obsłudze, jednak w instrukcji starałam się wszystko dokładnie krok po kroku wyjaśnić (dlatego jest taka długa).
Różny sposób zaliczania zadań: liniowy i nieliniowy (patrz demo)
Wyświetlanie obrazków/twarzy postaci
Wyświetlanie w menu
Wywoływanie przyciskiem na mapie
Różne kolory liter
Ikony przy misjach i zadaniach
Możliwość wyłączenia dostępu na mapie np. podczas scenek (przy wiadomościach nie trzeba)
i inne...

Autor:
Avara

Screeny:
Spoiler:










Skrypt:
Instrukcja "dla zielonych" w skryptach ("nieobowiązkowa"):
Spoiler:

Kod:
=begin
********************************************************************
*                          Dziennik Misji by Avara                *
*                                 Autor:  Avara                  *
*           Specjalne podziękowania dla: Sabikku                  *
********************************************************************

Dziękuję za pobranie skryptu. Postaram się krok po kroku oprowadzić po tym
skrypcie.

Dziennik ten ma wiele funkcji, dzięki którym możesz dostosować go według własnych
potrzeb. Znajdziesz je wszystkie w zakładce "Dziennik Misji - konfiguracja", zaś
ostatniej "Dziennik Misji - kod" radzę Ci nie ruszać, chyba że NAPRAWDĘ wiesz co
robisz, gdyż niewielka zmiana może spowodować wyskakiwanie błędu. Zmieniając
konfiguracje również należy postępować ostrożnie i uważnie czytać instrukcje ich
dotyczących, gdyż skutek błędu może być podobny.

Dziennik wywołujemy skryptem: $scene = Scene_Dziennik.new
Wszystkie opisane polecenia w dziale C i D również wywołujemy skryptem.
W każdym momencie gry można zmienić, czy dziennik można uruchomić przyciskiem
(np. podczas intra) za pomocą polecenia $aktywnosc_dziennik_mapa = true/false.



Zacznijmy od początku:

                         A. module Avara_Dziennik
                                                     
  1. Wyświetlanie odnośnika w menu i włączenie dziennika na mapie:
   
      OPCJA_W_MENU = true/false    <- true - tak; false - nie
      NAZWA_W_MENU = "Misje"       <- nazwa dziennika w menu; musi być cudzysłów
      DZIENNIK_MAPA = true         <- true - tak; false - nie
      PRZYCISK_DZ_MAPA = Input::L  <- "Input::" musi zostać; L to na klawiaturze Q
     
    Odnośnik znajduje się na 6. pozycji licząc od góry, po zapisie gry i przed
    wyjściem z gry (menu się wydłuża). Jeśli trzecia opcja jest "true", to
    chodząc po mapie wystarczy kliknąć przycisk określony w opcji czwartej, by
    włączyć dziennik.
   
  2. Dane dotyczące dziennika:
   
      NAZWA_W_DZIENNIKU = "Dziennik Misji"  <- nazwa dziennika wyświetlana
                                               w samym dzienniku; ""
      ILOSC_MISJI = 20      <- orientacyjna liczba Twoich misji od 1 do n; brak ""
      ILOSC_KATEGORII = 2   <- DOKŁADNA liczba kategorii misji od 1 do n; brak ""
      WYGLAD_OKNA_PODSTAWOWY = true/false  <- wybór wyglądu okna true - podstawowy

      Ilość misji jest potrzebna do stworzenia odpowiedniej ilości tablic i nie
    musi być dokładna, byle by nie była mniejsza od rzeczywistej.
      Ilość kategorii jest potrzebna w podobnym celu, jednak dodatkowo jest
    używana przy zmianie widoku w Dzienniku Misji, gdy przełączamy kategorie.
      Wygląd podstawowy to ze standardową "skórką" okna, zaś wygląd wybrany (gdy
    ustawimy WYGLAD_OKNA_PODSTAWOWY = false) bazuje na pliku "Window2.png"
    w folderze \Graphics\System\.
      W demie mamy moją propozycję tego pliku.
   
      AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ = true/false  <- true - tak; false - nie
      AUTOMATYCZNE_SPRAWDZANIE = true/false          <- true - tak; false - nie
      AKTYWNE_OBRAZKI_TWARZE = true/false            <- true - tak; false - nie
      OBRAZKI_TWARZE = true/false              <- true - obrazki; false - twarze
     
      W dzienniku można ustawić, zadania zaliczane w formie liniowej (biorąc 2.
    zadanie, zaliczasz jednocześnie zadanie 1. danej misji) i nieliniowe (możesz
    mieć aktywnych kilka zadań i wykonać je w dowolnej kolejności). Gdy ustawimy
    AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ = true, wówczas uruchomimy formę zaliczania
    zadań nieliniową, czyli wykonujemy wiele zadań jednej misji na raz. Jednak to
    ustawienie dotyczy oczywiście wszystkich Twoich misji.
      Sprawdzanie dotyczy misji. Przy dowolnej akcji związanej z zadaniem danej
    misji, dziennik może automatycznie sprawdzić, czy nie zmienił się nam status
    misji. W pierwszej kolejności sprawdza, czy misja jest możliwa do wykonania
    (bierze pod uwagę zmienną $zaliczenie - patrz punkt B.2.), następnie czy jest
    źle wykonana (tylko zadania z $zaliczenie), czy jest do odebrania nagroda za
    dowolne zadanie z misji (wszystkie zadania), czy misja została wykonana
    prawidłowo (tylko zadania z $zaliczenie) i jeśli skrypt wykluczy w.w.
    możliwości, uznaje misję za aktywną. W każdym wypadku zmienia się ikona misji
    i komunikat w oknie opisu w dzienniku. Można to sprawdzanie wyłączyć, ale
    wówczas wszystko musimy ustawiać własnoręcznie w grze, dlatego zalecam
    pozostawienie tego ustawienia na "true". Działa tylko przy NIEliniowym
    sposobiezaliczania zadań.
      Jeśli aktywność obrazków ustawisz na "true" w oknie opisu misji będą Ci się
    pojawiać według kolejnego ustawienia, twarze lub zdjęcia postaci od których
    otrzymujesz misję.
      Ostatnia w. w. opcja (OBRAZKI_TWARZE) ustawiona na "true" pokaże nam obrazki
    z folderu \Graphics\Pictures\, o które musimy zadbać sami. Mogą to być
    przycięte screen'y z gry, lub inne wybrane przez nas obrazki. Przy ustawieniu
    "false" pojawią nam się twarze postaci z naszego folderu \Graphics\Faces\.
    Dokładne nazwy ustawiamy przy danych misji (tym zajmiemy się nieco później
    - B.2.). Ważne jest to, że zarówno twarz jak i obrazek muszą mieć wymiary
    96x96 (wielkość "standardowej twarzy").
 
  3. Kolory liter:
     
      KOLOROWE_LITERY = true/false         <- true - kolorowe litery w dzienniku;
                                              false - białe
     
    Jeśli false, to dalsza część tego podpunktu nas nie interesuje i możesz od
    razu przejść do kolejnego.
   
      KOLOR_NAZWY_MISJI             <- kolor nazwy misji w oknie opisu oraz
                                       podpunkty w oknie "Pomoc"
      KOLOR_NPC                     <- kolor imienia osoby od której dostaliśmy
                                       misję (okno opisu)
      KOLOR_OPISU                   <- kolor opisu misji, zadań
                                       i wyjaśnień w oknie "Pomoc"
      KOLOR_NAZWAY_PODP             <- kolor nazwy zadania w oknie opisu
      KOLOR_PODP_NAGRODA            <- kolor ew. nagrody za zadanie w misji
                                       w oknie opisu
      KOLOR_MISJA_NAGRODA           <- kolor nagrody za misję w oknie opisu
      KOLOR_MENU_MISJI              <- kolor wyświetlanych misji w menu misji
      KOLOR_MENU_PODP               <- kolor wyświetlanych zadań w menu zadań
      KOLOR_DZIENNIK_I_KATEGORIA    <- kolor nazw dziennika i kategorii w dzienniku
      KOLOR_MISJA_UDANA             <- kolor komunikatu o ukończonej misji
                                       w oknie opisu
      KOLOR_MISJA_NIEUDANA          <- kolor komunikatu o nieudanej misji
                                       w oknie opisu
      KOLOR_MISJA_NIEMOZLIWA        <- kolor komunikatu o misji obecnie
                                       niemożliwej do wykonania w oknie opisu
      KOLOR_NAGRODA_DO_ODEBRANIA    <- kolor komunikatu o nagrodzie za misję
                                       lub pojedyncze zadanie w oknie opisu
   
    Numery odpowiadają kolorom w pliku "Window.png" w folderze \Graphics\System\
    od 0 do 31 (ważne: od ZERA!).
     
    Moja propozycja dla wyglądu okna podstawowego:
      KOLOR_NAZWY_MISJI = 12
      KOLOR_NPC = 4
      KOLOR_OPISU = 4
      KOLOR_NAZWAY_PODP = 3
      KOLOR_PODP_NAGRODA = 14
      KOLOR_MISJA_NAGRODA = 14
      KOLOR_MENU_MISJE = 4
      KOLOR_MENU_PODP = 4
      KOLOR_DZIENNIK_I_KATEGORIA = 21
      KOLOR_MISJA_UDANA = 29
      KOLOR_MISJA_NIEUDANA = 8
      KOLOR_MISJA_NIEMOZLIWA = 2
      KOLOR_NAGRODA_DO_ODEBRANIA = 6

    Moja propozycja do wyglądu wybranego z moją propozycją pliku "Window2.png"
    (kolory kratek w pliku niezmienione):
      KOLOR_NAZWY_MISJI = 12
      KOLOR_NPC = 4
      KOLOR_OPISU = 6
      KOLOR_NAZWAY_PODP = 3
      KOLOR_PODP_NAGRODA = 20
      KOLOR_MISJA_NAGRODA = 20
      KOLOR_MENU_MISJE = 21
      KOLOR_MENU_PODP = 21
      KOLOR_DZIENNIK_I_KATEGORIA = 25
      KOLOR_MISJA_UDANA = 29
      KOLOR_MISJA_NIEUDANA = 8
      KOLOR_MISJA_NIEMOZLIWA = 2
      KOLOR_NAGRODA_DO_ODEBRANIA = 6
     
  4. Komunikaty:
 
    Przed chwilą ustawialiśmy kolory różnych komunikatów, ale jaka jest ich treść?
    Tutaj możemy to ustawić.
   
      MISJA_UDANA = "Misja zakończona powodzeniem!"       <- jak w nazwie
                                                      komunikat misji zakończonej
      MISJA_NIEUDANA = "Misja zakończona niepowodzeniem!" <- kom. misji nieudanej
      MISJA_NIEMOZLIWA = "Misja niemożliwa do wykonania!" <- kom. misji obecnie
                                                        niemożliwej do wykonania
      NAGRODA_DO_ODEBRANIA = "Nagroda do odebrania!"      <- kom. o nagrodzie do
                                            odbioru za wykonaną misję lub zadanie
   
    Przy misji aktywnej nie ma komunikatu.
     
  5. Ikony:
 
    Ikony w menu misji w dzienniku przy nazwach misji:
      IKONA_MISJI_AKTYWNEJ = 158
      IKONA_MISJI_UDANEJ = 159
      IKONA_MISJI_NIEUDANEJ = 157
      IKONA_MISJI_NIEMOZLIWEJ = 114
      IKONA_NAGRODY_DO_ODEBRANIA = 147
     
    Ikony w menu zadań w dzienniku przy nazwach zadań (przydatne, gdy mamy aktywne
    zaliczanie zadań w formie nieliniowej (patrz punkt A.2.)):
   
      IKONY_POPUNKTOW = true/false            <- true - wyświetlanie ikon zadań;
                                                 false - brak ikon zadań
      IKONA_PODP_AKTYWNEGO = 96
      IKONA_PODP_UDANEGO = 101
      IKONA_PODP_NIEUDANEGO = 97
      IKONA_PODP_NIEMOZLIWEGO = 99
      IKONA_PODP_NAGRODA = 102
     
      Jeśli ustawimy ikony podpunktów "true", to w menu zadań w dzienniku misji
    przed nazwą każdego zadania będzie widoczna odpowiednia ikonka. Jak
    odpowiednio ustawiać aktywne/udane itd. zadanie, powiem w dalszej części
    instrukcji (C.). Ważne przy opcji "false", by przy ikonkach ustawić
    jakiekolwiek cyfry. W przeciwnym razie będzie wyskakiwał nam błąd. Możemy
    również usunąć te pięć linijek kodu, ale "IKONY_POPUNKTOW = false" trzeba
    zostawić.
   
  6. Okno pomocy:
 
      PRZYCISK_POMOC = Input::F5              <- "Input::" musi zostać
      NAPIS_POMOC = "Pomoc F5"
     
      Przyciskiem tym uruchamiamy w dzienniku misji okno pomocy, gdzie wypisane
    są wskazówki dotyczące "sterowania" dziennikiem: jak przełączać kategorie, co
    oznaczają ikony itd.
      W dzienniku w lewym dolnym rogu jest małe okno z napisem, jak włączyć okno
    pomocy. Napis można zmienić.
   
   
   
Zapisywanie danych misji, zmienianie statutów misji i poszczególnych zadań:

                                  B. class Misje
 
  Wszelkie informacje, których jeszcze nie wpisaliśmy do kodu, musimy umieścić
  w definicji "initialize" tej klasy.
  "@la = 0" zostawiamy w spokoju!!! Nie wolno usuwać ani zmieniać!!!
  "$powody = {}" zostawiamy w spokoju!!! Nie wolno usuwać!!! Jeśli chodzi
  o zmianę, to o tym później (C.15.).
 
  1. Nazwy kategorii:
 
      $nazwa_kategorii[1] = "Główne"            <- musi być cudzysłów
      $nazwa_kategorii[2] = "Poboczne"
     
    W ten sposób nazywamy kategorie misji. Może ich być dowolna ilość, ale
    pamiętajmy o tym, by dla wygody graczy raczej nie tworzyć ich więcej niż 5.
    Ważne by były ponumerowane od 1 do n, a w "module Avara_Dziennik" ilość
    kategorii wpisać n! (nigdzie nie liczymy zera; wyjątki: kolory liter - patrz
    A.3. - oraz numer twarzy - patrz B.2.). Później będziesz przypisywać numer
    kategorii do danej misji. Oczywiście numer kategorii to cyfra w nawiasie
    kwadratowym [].
   
  2. Dane misji:
 
      $nazwa_misji[NUMER MISJI] = "NAZWA MISJI"
      $npc[NUMER MISJI] = "OD KOGO"
      $opis_misji_linijka1[NUMER MISJI] = "OPIS MISJI LINIJKA 1"
      $opis_misji_linijka2[NUMER MISJI] = "OPIS MISJI LINIJKA 2"
      $nazwa_podp[NUMER MISJI][NUMER PODP] = "NAZWA ZADANIA 1"
      $opis_podp_linijka1[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 1"
      $opis_podp_linijka2[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 2"
      $opis_podp_linijka3[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 3"
      $opis_podp_linijka4[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 4"
      $podp_nagroda[NUMER MISJI][NUMER PODP] = "NAGRODA ZA PODPUNKT"
      $nagroda[NUMER MISJI] = "NAGRODA ZA MISJĘ"
      $zdjecie[NUMER MISJI] = "ZDJĘCIE.JPG"                       <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = true
      $nr_kategorii_misji[NUMER MISJI] = NUMER KATEGORII          <- ważne! numer
                                            kategorii od 1 do n (patrz punkt wyżej)
      $zaliczenie[NUMER MISJI] = [NUMERY ZADAŃ]                   <- ważne! gdy
                               "AUTOMATYCZNE_SPRAWDZANIE = true" nie można usunąć!
      $twarz_nazwa[NUMER MISJI] = "Actor1"                        <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = false
      $twarz_numer[NUMER MISJI] = 0                               <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = false
     
    Zamiast NUMER MISJI wpisujemy liczby od 1 (NIE OD ZERA!) do n (n - ilość
    naszych misji). NUMER PODP zaś to numer zadania misji również liczone od 1.
      Nazwę misji, chyba nie muszę tłumaczyć.
      Npc to postać w grze, od której dostajemy misję. Sami musimy ją wpisać. Ta
    informacja ułatwi naszym graczom rozróżnianie misji (przy większej ich ilości)
    i przypomni, gdzie mamy się udać po ewentualną nagrodę (gry nagroda jest od
    tej samej osoby, u której zaczęliśmy misję). Stety lub niestety ta informacja
    się nie zmienia, więc gdy ew. nagrodę za zadanie lub misję mamy odebrać od
    kogoś innego, należy taką informację umieścić w opisie zadania.
      Dwie linijki ogólnego opisu misji chyba tłumaczyć nie muszę. Pamiętaj
    jednak, by nie były za długie, bo litery zrobią się strasznie wąziutkie.
    Najlepiej jest to sobie przetestować. W zależności od tego, czy aktywne są
    obrazki/twarze czy nie, to długość tych linijek jest różna.
      Nazwa podpunktu to nic innego jak nazwa zadania. Zauważ, że tutaj i w opisie
    zadania widnieją dwa nawiasy kwadratowe [][]. W pierwszym zawsze umieszczamy
    numer misji, zaś w drugim numer zadania misji licząc od 1. Uważaj, by się nie
    pomylić! I pamiętaj, że zadania misji są dodawane po kolei! Możesz jednak ich
    zrobić dowolną ilość.
      Cztery linijki opisu zadań: tak jak z opisem misji, lecz długość linijek
    jest niezmienna. Do każdego zadania opis może być różny. Jeśli opis wyjdzie
    Ci krótszy, np. 2 linijki, to kod z dwiema kolejnymi można pominąć i wpisać
    tylko:
      $opis_podp_linijka1[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 1"
      $opis_podp_linijka2[NUMER MISJI][NUMER PODP] = "OPIZ ZADANIA LINIJKA 2"
    Żaden błąd nie wyskoczy. Tyczy się to wszystkiego od nazwy misji do nagrody
    za misję. O reszcie opowiem za chwilę.
      Nagroda za podpunkt jest oczywiście "nieobowiązkowa". Jeśli nie ma nagrody
    za konkretne zadanie, najlepiej pominąć tą linijkę kodu przy opisywaniu danego
    zadania.
      Nagroda za misję: jak wyżej. Można też po prostu wpisać "brak", to już
    zależy od Ciebie.
      Zdjęcie - konieczne, gdy aktywność obrazków ustawimy na "true"
    a obrazki/twarze również na "true" (A.2.). Bez tego wyskoczy nam błąd. Jak
    pisałam o tym wcześniej, obrazki ("zdjęcia") są wczytywane z folderu
    \Graphics\Pictures\. Nie zapomnij o kropce i rozszerzeniu! Z tego co wiem, to
    nie można chyba wstawiać gifów, ale z resztą nie powinno być problemów.
    I oczywiście cała nazwa obrazka musi być w cudzysłowie. Na początku podczas
    testowania można sobie ustawić jakiś dowolny obrazek lub pusty przezroczysty
    png. Jeśli obrazki nie są aktywne (albo jest ustawiona aktywność twarzy), tą
    linijkę można pominąć. Nawet radziłabym to zrobić, ponieważ dzięki temu nasze
    misje zajmą ciut mniej miejsca.
      Numer kategorii misji jest ważny, by misja w ogóle nam się wyświetliła
    w dzienniku! Numer od 1 w górę. Jeśli pominiesz tą linijkę wyskoczy błąd!
      Zaliczenie to nic innego, jak wymienione zadania, które muszą zostać
    wykonane, aby uznać misję za udaną. Jeśli automatyczne sprawdzanie misji jest
    wyłączone (A.2.), tą linijkę można pominąć. Gdy jest odwrotnie (sprawdzanie
    jest włączone), to wymagane zadania (ich numery) muszą zostać wypisane
    w nawiasie kwadratowym, oddzielone przecinkami, np:
        $zaliczenie[NUMER MISJI] = [2, 3, 4]
    Wówczas zadanie pierwsze jest "nieobowiązkowe", zaś 2., 3. i 4. już tak.
      Nazwa i numer twarzy jest wymagana, gdy aktywność obrazków/twarzy jest
    włączona i OBRAZKI_TWARZE są na "false" (A.2.).
    Nazwa twarzy to nazwa pliku z folderu \Graphics\Faces\ BEZ ROZSZERZENIA. Czyli
    np. "Actor1", "People3".
      Numer twarzy to cyfra OD ZERA (jeden z dwóch wyjątków w tym skrypcie) do 7
    (tyle ile jest twarzy w jednym pliku).
    Jeśli twarze nie są aktywne, to wówczas jak zwykle radzę pomijać te dwie
    linijki kodu.
   
  3. Przykłady misji (wzory) i kilka uwag:
 
    Misja pierwsza, 2 zadania, nagroda za 1. zadanie, różne długości opisów zadań,
    nagroda za misję, kategoria pierwsza, zaliczenie - oba zadania, twarz:
      $nazwa_misji[1] = ""
      $npc[1] = ""
      $opis_misji_linijka1[1] = ""
      $opis_misji_linijka2[1] = ""
      $nazwa_podp[1][1] = ""
      $podp_nagroda[1][1] = ""
      $opis_podp_linijka1[1][1] = ""
      $opis_podp_linijka2[1][1] = ""
      $nazwa_podp[1][2] = ""
      $opis_podp_linijka1[1][2] = ""
      $opis_podp_linijka2[1][2] = ""
      $opis_podp_linijka3[1][2] = ""
      $opis_podp_linijka4[1][2] = ""
      $nagroda[1] = ""
      $nr_kategorii_misji[1] = 1
      $zaliczenie[1] = [1, 2]
      $twarz_nazwa[1] = "Actor1"
      $twarz_numer[1] = 0
     
    Misja piąta, 3 zadania, nagroda za 2. zadanie, różne długości opisów zadań,
    brak nagrody za misję, kategoria czwarta, zaliczenie - tylko zadanie nr 2,
    obrazek:
      $nazwa_misji[5] = ""
      $npc[5] = ""
      $opis_misji_linijka1[5] = ""
      $opis_misji_linijka2[5] = ""
      $nazwa_podp[5][1] = ""
      $opis_podp_linijka1[5][1] = ""
      $opis_podp_linijka2[5][1] = ""
      $nazwa_podp[5][2] = ""
      $podp_nagroda[5][2] = ""
      $opis_podp_linijka1[5][2] = ""
      $opis_podp_linijka2[5][2] = ""
      $opis_podp_linijka3[5][2] = ""
      $opis_podp_linijka4[5][2] = ""
      $nazwa_podp[5][3] = ""
      $opis_podp_linijka1[5][3] = ""
      $opis_podp_linijka2[5][3] = ""
      $opis_podp_linijka3[5][3] = ""
      $zdjecie[5] = ""
      $nr_kategorii_misji[5] = 4
      $zaliczenie[5] = [2]
     
    Misja pierwsza, 1 zadanie, brak nagrody za zadanie, brak nagrody za misję,
    kategoria pierwsza, obrazki/twarze nieaktywne, brak zaliczenia - automatyczne
    sprawdzanie misji wyłączone:
      $nazwa_misji[1] = ""
      $opis_misji_linijka1[1] = ""
      $opis_misji_linijka2[1] = ""
      $nazwa_podp[1][1] = ""
      $opis_podp_linijka1[1][1] = ""
      $opis_podp_linijka2[1][1] = ""
      $nr_kategorii_misji[1] = 1
     
      Linijki kodu możesz sobie dostosowywać w zależności od swoich potrzeb
    i wcześniejszych ustawień w skrypcie.
      Uważaj, by nigdzie się nie pomylić, nie zapomnieć zamknąć cudzysłów, ani
    nie brać w niego tego co nie trzeba!!! Itd...
      Radzę umieszczać misje po kolei jedną pod drugą z pustą linijką przerwy,
    aby zachować przejrzystość.
      Jeśli chcesz gdzieś dopisać swój komentarz, by się nie pogubić, to wpisz #.
    Wszystko na prawo od kratki nie będzie czytane przez grę.
   
   
   
Poniżej wszystko związane ze zdarzeniami na mapie.

                               C. class Misje - definicje
                                                                 
  Aby wydać polecenie, np. gdy chcemy dodać misję lub zadanie, wywołujemy
  zdarzenie. Z ostatniej zakładki wybieramy wywoływanie skryptu. Tam będzie
  trzeba wpisać 2/3 linijki kodu, z czego pierwsza lub pierwsze dwie linijki to
  podawanie numeru misji/zadania. Liczby wpisujemy po znaku "=" i po jednej
  spacji. Te liczby są jedyną częścią kodu polecenia, jaką możemy zmieniać. Cała
  jej reszta musi pozostać w nienaruszonej formie. Ostatnia linijka to polecenie
  dla dziennika.
 
  1. Dodawanie misji:
 
      $numer_misji =
      Misje.new.dodaj_misje
     
    Misje są ułożone w dzienniku w kolejności ich dodawania i są wyświetlane tylko
    w wybranej kategorii. Wraz z dodaniem misji dodawane jest jej pierwsze
    zadanie i ma ono status "aktywny". Jeśli dodajemy misję drugi raz (po
    wcześniejszym jej usunięciu), wszystkie ustawienia (statusy i ilość zadań)
    zostają "zresetowane".
   
  2. Dodawanie zadania:
   
      $numer_misji =
      Misje.new.dodaj_podp
     
    Zadania danej misji są dodawane do niej po kolei. Jeśli mamy włączone liniowe
    zaliczanie zadań (patrz punkt A.2.), poprzednie zadanie zostanie automatycznie
    zaliczone. Gdy dodatkowo mamy włączone automatyczne sprawdzanie statusu misji
    (A.2.), to zostanie on sprawdzony. Jeśli pierwsza opcja jest wyłączona, nie
    ma żadnej dodatkowej akcji. Status dodawanego zadania to "aktywny".
   
  3. Usuwanie zadania:
 
      $numer_misji =
      Misje.new.usun_podp
     
    Usuwane jest ostatnie zadanie. Aby usunąć misję nie wystarczy usunąć wszystkie
    zadania do tego potrzeba polecenia poniżej. Jeśli sprawdzanie statusu misji
    jest włączone, zostanie on sprawdzony.
   
  4. Usuwanie misji:
 
      $numer_misji =
      Misje.new.usun_misje
     
    Po tym poleceniu misja przestanie być widoczna w dzienniku. Menu misji
    zostaje zaktualizowane (dana misja znika, a te po niej "wskakują" o jedną
    pozycję wyżej).
   

  Poniższe polecenia są używane przy liniowym sposobie zaliczania zadań (A.2.).
  5. Misja zakończona pomyślnie:
 
      $numer_misji =
      Misje.new.misja_udana
     
    Bez sprawdzania zmienia status misji na zakończoną, wyłączając wszystkie
    pozostałe statusy. Jeśli aktywność wielu zadań naraz jest włączona (A.2.), to
    nic się nie stanie. Przy wyłączonej ostatnie zadanie zostaje uznane za udane.
   
  6. Misja aktywna:
 
      $numer_misji =
      Misje.new.misja_aktywna
     
    Bez sprawdzania wyłącza wszystkie statusy misji, przez co widnieje jako
    aktywna. Jeśli aktywność wielu zadań naraz jest wyłączona (A.2.), to zmienia
    się status ostatniego widocznego zadania na aktywny.
   
  7. Misja nieudana:
 
      $numer_misji =
      Misje.new.misja_nieudana
     
    Bez sprawdzania zmienia status misji na nieudaną, wyłączając wszystkie
    pozostałe statusy. Jeśli aktywność wielu zadań naraz jest wyłączona (A.2.),
    to zmienia się status ostatniego widocznego zadania na nieudany.
   
  8. Misja niemożliwa do wykonania:
 
      $numer_misji =
      Misje.new.misja_niemozliwa
     
    Bez sprawdzania zmienia status misji na niemożliwą, wyłączając wszystkie
    pozostałe statusy. Jeśli aktywność wielu zadań naraz jest wyłączona (A.2.),
    to zmienia się status ostatniego widocznego zadania na niemożliwy.
    WAŻNE! Patrz punkt C.15.!
   
  9. Nagroda za misję do odebrania:
 
      $numer_misji =
      Misje.new.nagroda_do_odebrania
     
    Bez sprawdzania zmienia status misji na nagrodę do odebrania, wyłączając
    wszystkie pozostałe statusy. Jeśli aktywność wielu zadań naraz jest wyłączona
    (A.2.), to zmienia się status ostatniego widocznego zadania na nagrodę.
   
   
  Poniższe polecenia są używane przy nieliniowym sposobie zaliczania zadań (A.2.).
  Oprócz numeru misji trzeba również podać numer zadania.
 
  10. Zadanie zaliczone:
 
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_udany
     
    Zmienia status konkretnego zadania na udany. Jeśli sprawdzanie statusu misji
    jest włączone - sprawdza (A.2).
   
  11. Zadanie aktywne:
 
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_aktywny
     
    Zmienia status konkretnego zadania na aktywny. Jeśli sprawdzanie statusu misji
    jest włączone - sprawdza (A.2).
   
  12. Zadanie źle wykonane:
 
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_nieudany
     
    Zmienia status konkretnego zadania na nieudany. Jeśli sprawdzanie statusu
    misji jest włączone - sprawdza (A.2).
   
  13. Zadanie obecnie niemożliwe do wykonania:
 
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_niemozliwy
 
    Zmienia status konkretnego zadania na niemożliwy. Jeśli sprawdzanie statusu
    misji jest włączone - sprawdza (A.2). WAŻNE! Patrz punkt C.15.!
   
  14. Nagroda za zadanie do odebrania:
 
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_nagroda
     
    Zmienia status konkretnego zadania na nagroda. Jeśli sprawdzanie statusu
    misji jest włączone - sprawdza (A.2).
   
  15. Powód, dla którego misja/zadanie jest niemożliwe do wykonania:
 
      Możemy wyświetlić wiadomość, czemu dana część misji jest niemożliwa do
    wykonania, czyli co trzeba zrobić/mieć/jakie warunki spełnić, by zadanie
    stało się aktywne. Będzie to informacja w kolorze komunikatu o misji
    niemożliwej (A.3.), jeśli kolory liter będą włączone na "true".
      W "class Misje" w definicji "initialize" na początku widnieje linijka
    "$powody = {}". W tej jednej linijce umieszczamy wszystkie ewentualne powody
    "niemożliwości" zadań. Gdy linijka będzie za długa można spokojnie "przerwać"
    ją enterem. Gra przeczyta wszystko tak, jakby tego "przerwania" nie było.
    W nawiasie klamrowym wpisujemy odniesienie do wiadomości i samą wiadomość
    w cudzysłowach. Powinno to wyglądać tak:
        $powody = {"odniesienie" => "wiadomość"}
    Jeśli jest tych wiadomości więcej trzeba oddzielić je przecinkiem i dla
    przejrzystości można zapisać je np. tak:
        $powody = {
        "kasia nieznana" => "Nie znasz Kasi!",
        "brak harpuna" => "Musisz kupić harpun!",
        "warszawa" => "Aby wykonać musisz być w Warszawie!"
        }
    Odniesienia użyjesz to przypisania powodu do zadania, a robi się to tak:
      Polecenie przy włączonej aktywności wielu zadań na raz:
        $numer_misji =
        $numer_podp =
        $odniesienie = ""
        Misje.new.powod
    Np.:
        $numer_misji = 1
        $numer_podp = 2
        $odniesienie = "kasia nieznana"
        Misje.new.powod
    Po takim poleceniu w dzienniku przy podglądzie zadania drugiego misji
    pierwszej będzie widniał napis "Nie znasz Kasi!". Będzie on jednak widoczny
    tylko, gdy to zadanie będzie miało status niemożliwego do wykonania!
      Polecenie przy wyłączonej aktywności wielu zadań na raz:
        $numer_misji =
        $odniesienie = ""
        Misje.new.powod
      Wiadomość tą można zmienić w dowolnym momencie dla każdego zadania.
    Wystarczy wpisać polecenie jeszcze raz zmieniając odniesienie.
      Wyświetlanie powodu "niemożliwości" misji nie jest obowiązkowe, więc
    wystarczy nie wpisywać polecenia, to nam się nie wyświetli. Jednak
    w przypadku, gdy chcemy by powód przestał być wyświetlany, po wcześniejszym
    jego ustawieniu (dla konkretnego zadania), to najlepiej w "initialize" zrobić
    tak:
        $powody = {
        "brak" => "",
        "kasia nieznana" => "Nie znasz Kasi!",
        "brak harpuna" => "Musisz kupić harpun!",
        "warszawa" => "Aby wykonać musisz być w Warszawie!"
        }
    i wówczas wystarczy wpisać polecenie z odniesieniem "brak".
   
   
   
                              D. Warunki w zdarzeniach
 
  Jeśli potrzebujesz stworzyć warunki zależne od jakichś danych dotyczących
  różnych misji/zadań i chcesz do tego używać jednego przełącznika do wszystkich
  zdarzeń, przeczytaj uważnie poniższe punkty instrukcji. Wybrany skrypt (z tych
  poniżej) musisz wpisać przed każdym warunkiem, w którym wykorzystujesz wybrany
  przez siebie przełącznik. Te przykłady będą się opierać za przełączniku numer 5,
  ale możesz go zmienić.
   
  1. Misja udana = true/false:
     
      $numer_misji = 4
      $game_switches[5] = $misja_zakonczona[$numer_misji]
    Lub:
      $game_switches[5] = $misja_zakonczona[4]
     
    4 to przykład numeru misji. Oczywiście musisz wpisać numer misji, który Cię
    interesuje. Ja pozostanę przy misji nr 4.
   
  2. Misja nieudana = true/false:
 
      $game_switches[5] = $misja_nieudana[4]
     
  3. Misja niemożliwa = true/false:
 
      $game_switches[5] = $misja_niemozliwa[4]
     
  4. Nagroda do odbioru = true/false:
 
      $game_switches[5] = $nagroda_do_odebrania[4]
     
  5. Zadanie wykonane prawidłowo = true/false:
 
      $game_switches[5] = $podp_udany[4][2]
     
    Tu przykładowo sprawdzam zadanie drugie misji czwartej.
   
  6. Zadanie niezaliczone = true/false:
 
      $game_switches[5] = $podp_nieudany[4][2]
     
  7. Zadanie niemożliwe do wykonania = true/false:
 
      $game_switches[5] = $podp_niemozliwy[4][2]
     
  8. Nagroda za zadanie do odbioru = true/false:
 
      $game_switches[5] = $podp_odbior_nagrody[4][2]
     
  9. Aktywność przycisku na mapie:
 
    Aktywność przycisku możemy swobodnie włączać i wyłączać, ale jak sprawdzić,
    czy w danej chwili jest aktywny?
   
      $game_switches[5] = $aktywnosc_dziennik_mapa
     
  10. Aktywna misja/zadanie = true false:
 
    Przy tym niestety trochę roboty jest. Nie ma zmiennej, "jeśli aktywna to
    true". Misja/zadanie jest aktywne wówczas, gdy zostaną wykluczone pozostałe
    stany. Dlatego należy zrobić tak:
      Skrypt: $game_switches[5] = $misja_zakonczona[4]
      Warunek: jeśli przełącznik 5 jest off to:
        Skrypt: $game_switches[5] = $misja_nieudana[4]
        Warunek: jeśli przełącznik 5 jest off to:
          $game_switches[5] = $misja_niemozliwa[4]
          Warunek: jeśli przełącznik 5 jest off to:
            $game_switches[5] = $nagroda_do_odebrania[4]
            Warunek: jeśli przełącznik 5 jest off to:
                to co chcemy, jeśli misja jest aktywna.
    Tak samo z zadaniem. Jednak sposób ten działa tylko, gdy zadanie to zostało
    wcześniej dodane! Jeżeli chcesz sprawdzić, czy dane zadanie już zostało
    dodane, przeczytaj podpunkt poniżej!
   
  11. Zależność od ilości aktywnych zadań danej misji:
 
    Jak już wcześniej wspominałam, zadania zawsze są dodawane po kolei. Jeśli
    więc chcemy sprawdzić, czy dane ZADANIE zostało już dodane, wystarczy
    sprawdzić ilość dodanych zadań. Jest to chyba jedyny przypadek, gdzie zamiast
    przełącznika przyda nam się zmienna. Wybierz sobie jakąś i możemy zaczynać:
   
      $game_variables[8] = $ktory_podp[2]
     
    W ten sposób do zmiennej 8 zostanie przypisana ilość dodanych zadań dla misji
    drugiej.
    Gdy chcemy sprawdzić, czy MISJA została dodana, wystarczy w warunku ustawić,
    by zmienna była większa od zera.
   
   
   
To już koniec tej instrukcji. Życzę miłego korzystania z Dziennika Misji ^^ .
W razie czego proszę pytać na forum.

=end


Nieco krótsza (prawie o 1/3) instrukcja ("nieobowiązkowa"):
Spoiler:

Kod:
=begin
********************************************************************
*                          Dziennik Misji by Avara                *
*                                 Autor:  Avara                  *
*           Specjalne podziękowania dla: Sabikku                  *
********************************************************************

Dziękuję za pobranie skryptu. Jest to wersja skrócona dłuuuugiej instrukcji.

Dziennik wywołujemy skryptem: $scene = Scene_Dziennik.new
Wszystkie opisane polecenia w dziale C i D również wywołujemy skryptem.
W każdym momencie gry można zmienić, czy dziennik można uruchomić przyciskiem
(np. podczas intra) za pomocą polecenia $aktywnosc_dziennik_mapa = true/false.



Zacznijmy od początku:

                          A. module Avara_Dziennik
                                                     
  1. Wyświetlanie odnośnika w menu i włączenie dziennika na mapie:
      OPCJA_W_MENU = true/false
      NAZWA_W_MENU = "Misje"
      DZIENNIK_MAPA = true        <- uruchamianie dziennika przyciskiem na mapie
      PRZYCISK_DZ_MAPA = Input::L
    Odnośnik znajduje się na 6. pozycji licząc od góry, po zapisie gry i przed
    wyjściem z gry (menu się wydłuża).
   
  2. Dane dotyczące dziennika:
      NAZWA_W_DZIENNIKU = "Dziennik Misji"  <- nazwa dziennika wyświetlana
                                               w samym dzienniku
      ILOSC_MISJI = 20             <- orientacyjna liczba Twoich misji od 1 do n
      ILOSC_KATEGORII = 2          <- DOKŁADNA liczba kategorii misji od 1 do n
      WYGLAD_OKNA_PODSTAWOWY = true/false  <- wybór wyglądu okna true - podstawowy
                                              false - wybrany

      Wygląd podstawowy to ze standardową "skórką" okna, zaś wygląd wybrany
    (gdy ustawimy WYGLAD_OKNA_PODSTAWOWY = false) bazuje na pliku "Window2.png"
    w folderze \Graphics\System\. W demie mamy moją propozycję tego pliku.
   
      AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ = true/false
      AUTOMATYCZNE_SPRAWDZANIE = true/false
      AKTYWNE_OBRAZKI_TWARZE = true/false       <- true - tak; false - nie
      OBRAZKI_TWARZE = true/false               <- true - obrazki; false - twarze
     
      W dzienniku można ustawić, zadania zaliczane w formie liniowej (biorąc 2.
    zadanie, zaliczasz jednocześnie zadanie 1. danej misji) i nieliniowe (możesz
    mieć aktywnych kilka zadań i wykonać je w dowolnej kolejności). Gdy ustawimy
    AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ = true, wówczas uruchomimy formę zaliczania
    zadań nieliniową, czyli wykonujemy wiele zadań jednej misji na raz. Jednak to
    ustawienie dotyczy oczywiście wszystkich Twoich misji.
      Sprawdzanie dotyczy misji. Przy dowolnej akcji związanej z zadaniem danej
    misji, dziennik może automatycznie sprawdzić, czy nie zmienił się nam status
    misji. W pierwszej kolejności sprawdza, czy misja jest możliwa do wykonania
    (bierze pod uwagę zmienną $zaliczenie - patrz punkt B.2.), następnie czy jest
    źle wykonana (tylko zadania z $zaliczenie), czy jest do odebrania nagroda za
    dowolne zadanie z misji (wszystkie zadania), czy misja została wykonana
    prawidłowo (tylko zadania z $zaliczenie) i jeśli skrypt wykluczy w.w.
    możliwości, uznaje misję za aktywną. W każdym wypadku zmienia się ikona misji
    i komunikat w oknie opisu w dzienniku. Można to sprawdzanie wyłączyć, ale
    wówczas wszystko musimy ustawiać własnoręcznie w grze, dlatego zalecam
    pozostawienie tego ustawienia na "true".Działa tylko przy NIEliniowym
    sposobiezaliczania zadań.
      Jeśli aktywność obrazków ustawisz na "true" w oknie opisu misji będą Ci się
    pojawiać według kolejnego ustawienia, twarze lub zdjęcia postaci od których
    otrzymujesz misję.
      Ostatnia w. w. opcja (OBRAZKI_TWARZE) ustawiona na "true" pokaże nam obrazki
    z folderu \Graphics\Pictures\, o które musimy zadbać sami. Mogą to być
    przycięte screen'y z gry, lub inne wybrane przez nas obrazki. Przy ustawieniu
    "false" pojawią nam się twarze postaci z naszego folderu \Graphics\Faces\.
    Dokładne nazwy ustawiamy przy danych misji (tym zajmiemy się nieco później
    - B.2.). Ważne jest to, że zarówno twarz jak i obrazek muszą mieć wymiary
    96x96 (wielkość "standardowej twarzy").
 
  3. Kolory liter:
      KOLOROWE_LITERY = true/false
    Jeśli false, to dalsza część tego podpunktu nas nie interesuje i możesz od
    razu przejść do kolejnego.
   
      KOLOR_NAZWY_MISJI             <- kolor nazwy misji w oknie opisu oraz
                                       podpunkty w oknie "Pomoc"
      KOLOR_NPC                     <- kolor imienia osoby od której dostaliśmy
                                       misję (okno opisu)
      KOLOR_OPISU                   <- kolor opisu misji, zadań
                                       i wyjaśnień w oknie "Pomoc"
      KOLOR_NAZWAY_PODP             <- kolor nazwy zadania w oknie opisu
      KOLOR_PODP_NAGRODA            <- kolor ew. nagrody za zadanie w misji
                                       w oknie opisu
      KOLOR_MISJA_NAGRODA           <- kolor nagrody za misję w oknie opisu
      KOLOR_MENU_MISJI              <- kolor wyświetlanych misji w menu misji
      KOLOR_MENU_PODP               <- kolor wyświetlanych zadań w menu zadań
      KOLOR_DZIENNIK_I_KATEGORIA    <- kolor nazw dziennika i kategorii w dzienniku
      KOLOR_MISJA_UDANA             <- kolor komunikatu o ukończonej misji
                                       w oknie opisu
      KOLOR_MISJA_NIEUDANA          <- kolor komunikatu o nieudanej misji
                                       w oknie opisu
      KOLOR_MISJA_NIEMOZLIWA        <- kolor komunikatu o misji obecnie
                                       niemożliwej do wykonania w oknie opisu
      KOLOR_NAGRODA_DO_ODEBRANIA    <- kolor komunikatu o nagrodzie za misję
                                       lub pojedyncze zadanie w oknie opisu
    Numery odpowiadają kolorom w pliku "Window.png" w folderze \Graphics\System\
    od 0 do 31 (ważne: od ZERA!).
     
    Moja propozycja dla wyglądu okna podstawowego:
      KOLOR_NAZWY_MISJI = 12
      KOLOR_NPC = 4
      KOLOR_OPISU = 4
      KOLOR_NAZWAY_PODP = 3
      KOLOR_PODP_NAGRODA = 14
      KOLOR_MISJA_NAGRODA = 14
      KOLOR_MENU_MISJE = 4
      KOLOR_MENU_PODP = 4
      KOLOR_DZIENNIK_I_KATEGORIA = 21
      KOLOR_MISJA_UDANA = 29
      KOLOR_MISJA_NIEUDANA = 8
      KOLOR_MISJA_NIEMOZLIWA = 2
      KOLOR_NAGRODA_DO_ODEBRANIA = 6

    Moja propozycja do wyglądu wybranego z moją propozycją pliku "Window2.png"
    (kolory kratek w pliku niezmienione):
      KOLOR_NAZWY_MISJI = 12
      KOLOR_NPC = 4
      KOLOR_OPISU = 6
      KOLOR_NAZWAY_PODP = 3
      KOLOR_PODP_NAGRODA = 20
      KOLOR_MISJA_NAGRODA = 20
      KOLOR_MENU_MISJE = 21
      KOLOR_MENU_PODP = 21
      KOLOR_DZIENNIK_I_KATEGORIA = 25
      KOLOR_MISJA_UDANA = 29
      KOLOR_MISJA_NIEUDANA = 8
      KOLOR_MISJA_NIEMOZLIWA = 2
      KOLOR_NAGRODA_DO_ODEBRANIA = 6
     
  4. Komunikaty:
    Przed chwilą ustawialiśmy kolory różnych komunikatów, ale jaka jest ich treść?
    Tutaj możemy to ustawić.
      MISJA_UDANA = "Misja zakończona powodzeniem!"       <- jak w nazwie
                                                      komunikat misji zakończonej
      MISJA_NIEUDANA = "Misja zakończona niepowodzeniem!" <- kom. misji nieudanej
      MISJA_NIEMOZLIWA = "Misja niemożliwa do wykonania!" <- kom. misji obecnie
                                                        niemożliwej do wykonania
      NAGRODA_DO_ODEBRANIA = "Nagroda do odebrania!"      <- kom. o nagrodzie do
                                            odbioru za wykonaną misję lub zadanie
    Przy misji aktywnej nie ma komunikatu.
     
  5. Ikony:
    Ikony w menu misji w dzienniku przy nazwach misji:
      IKONA_MISJI_AKTYWNEJ = 158
      IKONA_MISJI_UDANEJ = 159
      IKONA_MISJI_NIEUDANEJ = 157
      IKONA_MISJI_NIEMOZLIWEJ = 114
      IKONA_NAGRODY_DO_ODEBRANIA = 147
     
    Ikony w menu zadań w dzienniku przy nazwach zadań (przydatne, gdy mamy aktywne
    zaliczanie zadań w formie nieliniowej (patrz punkt A.2.)):
      IKONY_POPUNKTOW = true/false              <- true - wyświetlanie ikon zadań;
                                                   false - brak ikon zadań
      IKONA_PODP_AKTYWNEGO = 96
      IKONA_PODP_UDANEGO = 101
      IKONA_PODP_NIEUDANEGO = 97
      IKONA_PODP_NIEMOZLIWEGO = 99
      IKONA_PODP_NAGRODA = 102
      Jeśli ustawimy ikony podpunktów "true", to w menu zadań w dzienniku misji
    przed nazwą każdego zadania będzie widoczna odpowiednia ikonka. Jak
    odpowiednio ustawiać aktywne/udane itd. zadanie, powiem w dalszej części
    instrukcji (C.).
   
  6. Okno pomocy:
      PRZYCISK_POMOC = Input::F5
      NAPIS_POMOC = "Pomoc F5"
      Przyciskiem tym uruchamiamy w dzienniku misji okno pomocy, gdzie wypisane są
    wskazówki dotyczące "sterowania" dziennikiem: jak przełączać kategorie, co
    oznaczają ikony itd.
      W dzienniku w lewym dolnym rogu jest małe okno z napisem, jak włączyć okno
    pomocy. Napis można zmienić.
   
   
   
Zapisywanie danych misji, zmienianie statutów misji i poszczególnych zadań:

                                B. class Misje
 
  Wszelkie informacje, których jeszcze nie wpisaliśmy do kodu, musimy umieścić
  w definicji "initialize" tej klasy.
  "@la = 0" zostawiamy w spokoju!!! Nie wolno usuwać ani zmieniać!!!
  "$powody = {}" zostawiamy w spokoju!!! Nie wolno usuwać!!! Jeśli chodzi o
  zmianę, to o tym później (C.15.).
 
  1. Nazwy kategorii:
      $nazwa_kategorii[1] = "Główne"
      $nazwa_kategorii[2] = "Poboczne"
    W ten sposób nazywamy kategorie misji. Może ich być dowolna ilość, ale
    pamiętajmy o tym, by dla wygody graczy raczej nie tworzyć ich więcej niż 5.
    Ważne by były ponumerowane od 1 do n, a w "module Avara_Dziennik" ilość
    kategorii wpisać n! (nigdzie nie liczymy zera; wyjątki: kolory liter -
    patrz A.3. - oraz numer twarzy - patrz B.2.).
   
  2. Dane misji:
      $nazwa_misji[NUMER MISJI] = "NAZWA MISJI"
      $npc[NUMER MISJI] = "OD KOGO"
      $opis_misji_linijka1[NUMER MISJI] = "OPIS MISJI LINIJKA 1"
      $opis_misji_linijka2[NUMER MISJI] = "OPIS MISJI LINIJKA 2"
      $nazwa_podp[NUMER MISJI][NUMER PODP] = "NAZWA ZADANIA 1"
      $opis_podp_linijka1[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 1"
      $opis_podp_linijka2[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 2"
      $opis_podp_linijka3[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 3"
      $opis_podp_linijka4[NUMER MISJI][NUMER PODP] = "OPIS ZADANIA LINIJKA 4"
      $podp_nagroda[NUMER MISJI][NUMER PODP] = "NAGRODA ZA PODPUNKT"
      $nagroda[NUMER MISJI] = "NAGRODA ZA MISJĘ"
      $zdjecie[NUMER MISJI] = "ZDJĘCIE.JPG"                       <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = true
      $nr_kategorii_misji[NUMER MISJI] = NUMER KATEGORII          <- ważne! numer
                                            kategorii od 1 do n (patrz punkt wyżej)
      $zaliczenie[NUMER MISJI] = [NUMERY ZADAŃ]                   <- ważne! gdy
                               "AUTOMATYCZNE_SPRAWDZANIE = true" nie można usunąć!
      $twarz_nazwa[NUMER MISJI] = "Actor1"                        <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = false
      $twarz_numer[NUMER MISJI] = 0                               <- gdy
                            AKTYWNE_OBRAZKI_TWARZE = true i OBRAZKI_TWARZE = false
    Zamiast NUMER MISJI wpisujemy liczby od 1 (NIE OD ZERA!) do n (n - ilość
    naszych misji). NUMER PODP zaś to numer zadania misji również liczone od 1.
      Npc to postać w grze, od której dostajemy misję. Sami musimy ją wpisać.
      Nazwa podpunktu to nic innego jak nazwa zadania. Pamiętaj, że zadania misji
    są dodawane po kolei!
    Możesz jednak ich zrobić dowolną ilość.
      Cztery linijki opisu zadań. Do każdego zadania danej misji opis może być
    różny. Jeśli opis wyjdzie Ci krótszy, np. 2 linijki, to kod z dwiema kolejnymi
    można pominąć. Żaden błąd nie wyskoczy. Tyczy się to wszystkiego od nazwy
    misji do nagrody za misję.
      Nagroda za podpunkt jest oczywiście "nieobowiązkowa". Jeśli nie ma nagrody
    za konkretne zadanie, najlepiej pominąć tą linijkę kodu przy opisywaniu danego
    zadania.
      Nagroda za misję: jak wyżej. Można też po prostu wpisać "brak", to już
    zależy od Ciebie.
      Zdjęcie - konieczne, gdy aktywność obrazków ustawimy na "true"
    a obrazki/twarze również na "true" (A.2.). Bez tego wyskoczy nam błąd. Jak
    pisałam o tym wcześniej, obrazki ("zdjęcia") są wczytywane z folderu
    \Graphics\Pictures\. Jeśli obrazki nie są aktywne (albo jest ustawiona
    aktywność twarzy), tą linijkę można pominąć.
      Numer kategorii misji jest ważny, by misja w ogóle nam się wyświetliła
    w dzienniku! Numer od 1 w górę. Jeśli pominiesz tą linijkę wyskoczy błąd!
      Zaliczenie to nic innego, jak wymienione zadania, które muszą zostać
    wykonane, aby uznać misję za udaną. Jeśli automatyczne sprawdzanie misji jest
    wyłączone (A.2.), tą linijkę można pominąć. Gdy jest odwrotnie (sprawdzanie
    jest włączone), to wymagane zadania (ich numery) muszą zostać wypisane
    w nawiasie kwadratowym, oddzielone przecinkami, np:
        $zaliczenie[NUMER MISJI] = [2, 3, 4]
    Wówczas zadanie pierwsze jest "nieobowiązkowe", zaś 2., 3. i 4. już tak.
      Nazwa i numer twarzy jest wymagana, gdy aktywność obrazków/twarzy jest
    włączona i OBRAZKI_TWARZE są na "false" (A.2.). Nazwa twarzy to nazwa pliku
    z folderu \Graphics\Faces\. Czyli np. "Actor1", "People3".
      Numer twarzy to cyfra od zera do 7.
    Jeśli twarze nie są aktywne, to wówczas jak zwykle radzę pomijać te dwie
    linijki kodu.
   
   
   
Poniżej wszystko związane ze zdarzeniami na mapie.

                                C. class Misje - definicje
 
  1. Dodawanie misji:
      $numer_misji =
      Misje.new.dodaj_misje
    Misje są ułożone w dzienniku w kolejności ich dodawania i są wyświetlane
    tylko w wybranej kategorii. Wraz z dodaniem misji dodawane jest jej pierwsze
    zadanie i ma ono status "aktywny". Jeśli dodajemy misję drugi raz (po
    wcześniejszym jej usunięciu), wszystkie ustawienia (statusy i ilość zadań)
    zostają "zresetowane".
   
  2. Dodawanie zadania:
      $numer_misji =
      Misje.new.dodaj_podp
    Zadania danej misji są dodawane do niej po kolei. Jeśli mamy włączone liniowe
    zaliczanie zadań (patrz punkt A.2.), poprzednie zadanie zostanie
    automatycznie zaliczone. Gdy dodatkowo mamy włączone automatyczne sprawdzanie
    statusu misji (A.2.), to zostanie on sprawdzony. Jeśli pierwsza opcja jest
    wyłączona, nie ma żadnej dodatkowej akcji. Status dodawanego zadania to
    "aktywny".
   
  3. Usuwanie zadania:
      $numer_misji =
      Misje.new.usun_podp
    Usuwane jest ostatnie zadanie. Aby usunąć misję nie wystarczy usunąć
    wszystkie zadania do tego potrzeba polecenia poniżej. Jeśli sprawdzanie
    statusu misji jest włączone, zostanie on sprawdzony.
   
  4. Usuwanie misji:
      $numer_misji =
      Misje.new.usun_misje
    Po tym poleceniu misja przestanie być widoczna w dzienniku. Menu misji
    zostaje zaktualizowane (dana misja znika, a te po niej "wskakują" o jedną
    pozycję wyżej).

  Poniższe polecenia są używane przy liniowym sposobie zaliczania zadań (A.2.).
  5. Misja zakończona pomyślnie:
      $numer_misji =
      Misje.new.misja_udana
    Bez sprawdzania zmienia status misji na zakończoną, wyłączając wszystkie
    pozostałe statusy. Jeśli aktywność wielu zadań naraz jest włączona (A.2.), to
    nic się nie stanie. Przy wyłączonej ostatnie zadanie zostaje uznane za udane.
   
  6. Misja aktywna:
      $numer_misji =
      Misje.new.misja_aktywna
    Bez sprawdzania wyłącza wszystkie statusy misji, przez co widnieje jako
    aktywna. Jeśli aktywność wielu zadań naraz jest wyłączona (A.2.), to zmienia
    się status ostatniego widocznego zadania na aktywny.
   
  7. Misja nieudana:
      $numer_misji =
      Misje.new.misja_nieudana
   
  8. Misja niemożliwa do wykonania:
      $numer_misji =
      Misje.new.misja_niemozliwa
    WAŻNE! Patrz punkt C.15.!
   
  9. Nagroda za misję do odebrania:
      $numer_misji =
      Misje.new.nagroda_do_odebrania
   
  Poniższe polecenia są używane przy nieliniowym sposobie zaliczania zadań (A.2.).
  Oprócz numeru misji trzeba również podać numer zadania.
  10. Zadanie zaliczone:
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_udany
    Zmienia status konkretnego zadania na udany. Jeśli sprawdzanie statusu misji
    jest włączone - sprawdza (A.2).
   
  11. Zadanie aktywne:
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_aktywny
   
  12. Zadanie źle wykonane:
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_nieudany
   
  13. Zadanie obecnie niemożliwe do wykonania:
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_niemozliwy
    WAŻNE! Patrz punkt C.15.!
   
  14. Nagroda za zadanie do odebrania:
      $numer_misji =
      $numer_podp =
      Misje.new.podpunkt_nagroda
   
  15. Powód, dla którego misja/zadanie jest niemożliwe do wykonania:
      Możemy wyświetlić wiadomość, czemu dana część misji jest niemożliwa do
    wykonania, czyli co trzeba zrobić/mieć/jakie warunki spełnić, by zadanie stało
    się aktywne. Będzie to informacja w kolorze komunikatu o misji niemożliwej
    (A.3.), jeśli kolory liter będą włączone na "true".
      W "class Misje" w definicji "initialize" na początku widnieje linijka
    "$powody = {}". W tej jednej linijce umieszczamy wszystkie ewentualne powody
    "niemożliwości" zadań. W nawiasie klamrowym wpisujemy odniesienie do
    wiadomości i samą wiadomość w cudzysłowach. Powinno to wyglądać tak:
        $powody = {"odniesienie" => "wiadomość"}
    Jeśli jest tych wiadomości więcej trzeba oddzielić je przecinkiem i dla
    przejrzystości można zapisać je np. tak:
        $powody = {
        "kasia nieznana" => "Nie znasz Kasi!",
        "brak harpuna" => "Musisz kupić harpun!",
        "warszawa" => "Aby wykonać musisz być w Warszawie!"
        }
    Odniesienia użyjesz to przypisania powodu do zadania, a robi się to tak:
      Polecenie przy włączonej aktywności wielu zadań na raz:
        $numer_misji =
        $numer_podp =
        $odniesienie = ""
        Misje.new.powod
    Np.:
        $numer_misji = 1
        $numer_podp = 2
        $odniesienie = "kasia nieznana"
        Misje.new.powod
    Po takim poleceniu w dzienniku przy podglądzie zadania drugiego misji
    pierwszej będzie widniał napis "Nie znasz Kasi!". Będzie on jednak widoczny
    tylko, gdy to zadanie będzie miało status niemożliwego do wykonania!
      Polecenie przy wyłączonej aktywności wielu zadań na raz:
        $numer_misji =
        $odniesienie = ""
        Misje.new.powod
      Wiadomość tą można zmienić w dowolnym momencie dla każdego zadania.
    Wystarczy wpisać polecenie jeszcze raz zmieniając odniesienie.
      Wyświetlanie powodu "niemożliwości" misji nie jest obowiązkowe, więc
    wystarczy nie wpisywać polecenia, to nam się nie wyświetli. Jednak
    w przypadku, gdy chcemy by powód przestał być wyświetlany, po wcześniejszym
    jego ustawieniu (dla konkretnego zadania), to najlepiej w "initialize" zrobić
    tak:
        $powody = {
        "brak" => "",
        "kasia nieznana" => "Nie znasz Kasi!",
        "brak harpuna" => "Musisz kupić harpun!",
        "warszawa" => "Aby wykonać musisz być w Warszawie!"
        }
    i wówczas wystarczy wpisać polecenie z odniesieniem "brak".
   
   
   
                              D. Warunki w zdarzeniach
 
  Jeśli potrzebujesz stworzyć warunki zależne od jakichś danych dotyczących
  różnych misji/zadań i chcesz do tego używać jednego przełącznika do wszystkich
  zdarzeń, przeczytaj uważnie poniższe punkty instrukcji. Wybrany skrypt (z tych
  poniżej) musisz wpisać przed każdym warunkiem, w którym wykorzystujesz wybrany
  przez siebie przełącznik. Te przykłady będą się opierać za przełączniku numer 5,
  ale możesz go zmienić.
   
  1. Misja udana = true/false:
      $game_switches[5] = $misja_zakonczona[4]
   
  2. Misja nieudana = true/false:
      $game_switches[5] = $misja_nieudana[4]
     
  3. Misja niemożliwa = true/false:
      $game_switches[5] = $misja_niemozliwa[4]
     
  4. Nagroda do odbioru = true/false:
      $game_switches[5] = $nagroda_do_odebrania[4]
     
  5. Zadanie wykonane prawidłowo = true/false:
      $game_switches[5] = $podp_udany[4][2]
   
  6. Zadanie niezaliczone = true/false:
      $game_switches[5] = $podp_nieudany[4][2]
     
  7. Zadanie niemożliwe do wykonania = true/false:
      $game_switches[5] = $podp_niemozliwy[4][2]
     
  8. Nagroda za zadanie do odbioru = true/false:
      $game_switches[5] = $podp_odbior_nagrody[4][2]
     
  9. Aktywność przycisku na mapie:
      $game_switches[5] = $aktywnosc_dziennik_mapa
     
  10. Aktywna misja/zadanie = true false:
    Przy tym niestety trochę roboty jest. Nie ma zmiennej, "jeśli aktywna to true"
    Misja/zadanie jest aktywne wówczas, gdy zostaną wykluczone pozostałe stany.
    Dlatego należy zrobić tak:
      Skrypt: $game_switches[5] = $misja_zakonczona[4]
      Warunek: jeśli przełącznik 5 jest off to:
        Skrypt: $game_switches[5] = $misja_nieudana[4]
        Warunek: jeśli przełącznik 5 jest off to:
          $game_switches[5] = $misja_niemozliwa[4]
          Warunek: jeśli przełącznik 5 jest off to:
            $game_switches[5] = $nagroda_do_odebrania[4]
            Warunek: jeśli przełącznik 5 jest off to:
                to co chcemy, jeśli misja jest aktywna.
    Tak samo z zadaniem. Jednak sposób ten działa tylko, gdy zadanie to zostało
    wcześniej dodane! Jeżeli chcesz sprawdzić, czy dane zadanie już zostało
    dodane, przeczytaj podpunkt poniżej!
   
  11. Zależność od ilości aktywnych zadań danej misji:
    Jak już wcześniej wspominałam, zadania zawsze są dodawane po kolei. Jeśli więc
    chcemy sprawdzić, czy dane zadanie zostało już dodane, wystarczy sprawdzić
    ilość dodanych zadań. Jest to chyba jedyny przypadek, gdzie zamiast
    przełącznika przyda nam się zmienna:
   
      $game_variables[8] = $ktory_podp[2]
     
    W ten sposób do zmiennej 8 zostanie przypisana ilość dodanych zadań dla misji
    drugiej.
    Gdy chcemy sprawdzić, czy misja została dodana, wystarczy w warunku ustawić,
    by zmienna była większa od zera.
   
   
   
To już koniec tej instrukcji. Życzę miłego korzystania z Dziennika Misji ^^ .
W razie czego proszę pytać na forum.
=end



Kolejna część w drugim poście, bo skrypty są za długie i się nie mieści wszystko.
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Pon 08 Sie, 2011 15:47
c.d.
Konfiguracja:
Spoiler:

Kod:
#********************************************************************
#*                          Dziennik Misji by Avara                *
#*                                 Autor:  Avara                  *
#*           Specjalne podziękowania dla: Sabikku                  *
#********************************************************************


module Avara_Dziennik
 
  OPCJA_W_MENU = true
  NAZWA_W_MENU = "Misje"
  DZIENNIK_MAPA = false
  PRZYCISK_DZ_MAPA = Input::L
 
  NAZWA_W_DZIENNIKU = "Dziennik Misji"
  ILOSC_MISJI = 10
  ILOSC_KATEGORII = 2
  WYGLAD_OKNA_PODSTAWOWY = true
 
  AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ = true
  AUTOMATYCZNE_SPRAWDZANIE = true
  AKTYWNE_OBRAZKI_TWARZE = true
  OBRAZKI_TWARZE = false
 
  KOLOROWE_LITERY = true
  KOLOR_NAZWY_MISJI = 12
  KOLOR_NPC = 4
  KOLOR_OPISU = 4
  KOLOR_NAZWAY_PODP = 3
  KOLOR_PODP_NAGRODA = 14
  KOLOR_MISJA_NAGRODA = 14
  KOLOR_MENU_MISJE = 4
  KOLOR_MENU_PODP = 4
  KOLOR_DZIENNIK_I_KATEGORIA = 21
  KOLOR_MISJA_UDANA = 29
  KOLOR_MISJA_NIEUDANA = 8
  KOLOR_MISJA_NIEMOZLIWA = 2
  KOLOR_NAGRODA_DO_ODEBRANIA = 6
 
  MISJA_UDANA = "Misja zakończona powodzeniem!"
  MISJA_NIEUDANA = "Misja zakończona niepowodzeniem!"
  MISJA_NIEMOZLIWA = "Misja niemożliwa do wykonania!"
  NAGRODA_DO_ODEBRANIA = "Nagroda do odebrania!"
 
  IKONA_MISJI_AKTYWNEJ = 158
  IKONA_MISJI_UDANEJ = 159
  IKONA_MISJI_NIEUDANEJ = 157
  IKONA_MISJI_NIEMOZLIWEJ = 114
  IKONA_NAGRODY_DO_ODEBRANIA = 147
 
  IKONY_POPUNKTOW = true
  IKONA_PODP_AKTYWNEGO = 96
  IKONA_PODP_UDANEGO = 101
  IKONA_PODP_NIEUDANEGO = 97
  IKONA_PODP_NIEMOZLIWEGO = 99
  IKONA_PODP_NAGRODA = 102
 
  PRZYCISK_POMOC = Input::F5
  NAPIS_POMOC = "Pomoc F5"
   
end


class Misje
  def initialize
    @la = 0
    $powody = {"miotełka" => "Nie mam miotełki!"}
       
    $nazwa_kategorii[1] = "Misje potrzebne do wyruszenia w morze"
    $nazwa_kategorii[2] = "Inne potrzebne"
     
    $nazwa_misji[1] = "Na ryby!"
    $opis_misji_linijka1[1] = "Chcę wyruszyć dziś"
    $opis_misji_linijka2[1] = "z tatą na ryby!"
    $nazwa_podp[1][1] = "Śniadanie"
    $opis_podp_linijka1[1][1] = "Mama nie puści mnie bez śniadania,"
    $opis_podp_linijka2[1][1] = "a dostanę je dopiero, jak pomogę"
    $opis_podp_linijka3[1][1] = "jej w przygotowaniach do posiłku."
    $nazwa_podp[1][2] = "Co dalej?"
    $opis_podp_linijka1[1][2] = "Muszę porozmawiać z tatą. Chcę jak"
    $opis_podp_linijka2[1][2] = "najszybciej wypłynąć! Tata mi powie"
    $opis_podp_linijka3[1][2] = "czego jeszcze potrzebuję. Powinien być"
    $opis_podp_linijka4[1][2] = "na pomoście nad wodą."
    $nazwa_podp[1][3] = "Papiery"
    $opis_podp_linijka1[1][3] = "Pozbierać i schować do szafki"
    $opis_podp_linijka2[1][3] = "przy łóżku."
    $nazwa_podp[1][4] = "Książka"
    $opis_podp_linijka1[1][4] = "Zabrać ze stołu i schować do"
    $opis_podp_linijka2[1][4] = "szafki przy łóżku."
    $nazwa_podp[1][5] = "Książka"
    $opis_podp_linijka1[1][5] = "Zabrać ze stołu i schować do"
    $opis_podp_linijka2[1][5] = "szafki przy łóżku."
    $nagroda[1] = "Łowienie z tatą ryb"
    $nr_kategorii_misji[1] = 1
    $zaliczenie[1] = [1, 2, 3, 4, 5]
    $twarz_nazwa[1] = "People1"
    $twarz_numer[1] = 4
   
    $nazwa_misji[2] = "Przygotowania do śniadania"
    $npc[2] = "Mama"
    $opis_misji_linijka1[2] = "Muszę posprzątać w domu,"
    $opis_misji_linijka2[2] = "gdy mama robi śniadanie."
    $nazwa_podp[2][1] = "Rozbita butelka"
    $opis_podp_linijka1[2][1] = "Zebrać z podłogi i wyrzucić do"
    $opis_podp_linijka2[2][1] = "kosza."
    $nazwa_podp[2][2] = "Liście"
    $opis_podp_linijka1[2][2] = "Muszę je zmieść i wyrzucić do"
    $opis_podp_linijka2[2][2] = "kosza. Potrzebna jest mi do tego"
    $opis_podp_linijka3[2][2] = "miotełka. Znajdę ją w szafie."
    $nazwa_podp[2][3] = "Papiery"
    $opis_podp_linijka1[2][3] = "Pozbierać i schować do szafki przy"
    $opis_podp_linijka2[2][3] = "łóżku."
    $nazwa_podp[2][4] = "Książka"
    $opis_podp_linijka1[2][4] = "Zabrać ze stołu i schować do szafki"
    $opis_podp_linijka2[2][4] = "przy łóżku."
    $nazwa_podp[2][5] = "Umyć ręce"
    $opis_podp_linijka1[2][5] = "Przed posiłkiem muszę umyć ręce."
    $opis_podp_linijka2[2][5] = "Miska z wodą powinna być gdzieś"
    $opis_podp_linijka3[2][5] = "tutaj."
    $nazwa_podp[2][6] = "Talerze"
    $opis_podp_linijka1[2][6] = "Nakryć do stołu razem z mamą."
    $opis_podp_linijka2[2][6] = "Naczynia z jedzeniem są na blacie"
    $opis_podp_linijka3[2][6] = "obok niej."
    $nagroda[2] = "Śniadanie"
    $nr_kategorii_misji[2] = 2
    $zaliczenie[2] = [1, 2, 3, 4, 5, 6]
    $twarz_nazwa[2] = "People1"
    $twarz_numer[2] = 5

  end
 
  def dodaj_misje
    $numer_menu[$nr_kategorii_misji[$numer_misji]][$suma_misji_kat[$nr_kategorii_misji[$numer_misji]]] = $numer_misji
    $nazwa_menu[$nr_kategorii_misji[$numer_misji]][$suma_misji_kat[$nr_kategorii_misji[$numer_misji]]] = $nazwa_misji[$numer_misji]
    $ktory_podp[$numer_misji] = 1
    $suma_misji_kat[$nr_kategorii_misji[$numer_misji]] += 1
    $suma_misji += 1
    $podp_udany[$numer_misji][1] = false
    $podp_nieudany[$numer_misji][1] = false
    $podp_niemozliwy[$numer_misji][1] = false
    $podp_odbior_nagrody[$numer_misji][1] = false
  end
 
  def dodaj_podp
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = true
    end
    $ktory_podp[$numer_misji] += 1
    $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
    $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = false
    $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = false
    $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = false
    if $aktywnosc_podp == false
      if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
        misja_sprawdz
      end
    end
  end
 
  def usun_podp
    $ktory_podp[$numer_misji] -= 1
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
    end
    if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
      misja_sprawdz
    end
  end
 
  def usun_misje
    $numer_menu[$nr_kategorii_misji[$numer_misji]].delete($numer_misji)
    $nazwa_menu[$nr_kategorii_misji[$numer_misji]].delete($nazwa_misji[$numer_misji])
    $suma_misji_kat[$nr_kategorii_misji[$numer_misji]] -= 1
    $suma_misji -= 1
  end
 
  def misja_udana
    $misja_zakonczona[$numer_misji] = true
    $misja_nieudana[$numer_misji] = false
    $misja_niemozliwa[$numer_misji] = false
    $nagroda_do_odebrania[$numer_misji] = false
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = true
      $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = false
    end
  end
 
  def misja_aktywna
    $misja_zakonczona[$numer_misji] = false
    $misja_nieudana[$numer_misji] = false
    $misja_niemozliwa[$numer_misji] = false
    $nagroda_do_odebrania[$numer_misji] = false
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = false
    end
   
  end
 
  def misja_nieudana
    $misja_zakonczona[$numer_misji] = false
    $misja_nieudana[$numer_misji] = true
    $misja_niemozliwa[$numer_misji] = false
    $nagroda_do_odebrania[$numer_misji] = false
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = true
      $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = false
    end
  end
 
  def misja_niemozliwa
    $misja_zakonczona[$numer_misji] = false
    $misja_nieudana[$numer_misji] = false
    $misja_niemozliwa[$numer_misji] = true
    $nagroda_do_odebrania[$numer_misji] = false
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = true
      $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = false
    end
  end
 
  def nagroda_do_odebrania
    $misja_zakonczona[$numer_misji] = false
    $misja_nieudana[$numer_misji] = false
    $misja_niemozliwa[$numer_misji] = false
    $nagroda_do_odebrania[$numer_misji] = true
    if $aktywnosc_podp == false
      $podp_udany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_nieudany[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_niemozliwy[$numer_misji][$ktory_podp[$numer_misji]] = false
      $podp_odbior_nagrody[$numer_misji][$ktory_podp[$numer_misji]] = true
    end
  end
 
  def podpunkt_udany
    $podp_udany[$numer_misji][$numer_podp] = true
    $podp_nieudany[$numer_misji][$numer_podp] = false
    $podp_niemozliwy[$numer_misji][$numer_podp] = false
    $podp_odbior_nagrody[$numer_misji][$numer_podp] = false
    if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
      misja_sprawdz
    end
  end
 
  def podpunkt_aktywny
    $podp_udany[$numer_misji][$numer_podp] = false
    $podp_nieudany[$numer_misji][$numer_podp] = false
    $podp_niemozliwy[$numer_misji][$numer_podp] = false
    $podp_odbior_nagrody[$numer_misji][$numer_podp] = false
    if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
      misja_sprawdz
    end
  end
 
  def podpunkt_nieudany
    $podp_udany[$numer_misji][$numer_podp] = false
    $podp_nieudany[$numer_misji][$numer_podp] = true
    $podp_niemozliwy[$numer_misji][$numer_podp] = false
    $podp_odbior_nagrody[$numer_misji][$numer_podp] = false
    if $aktywnosc_podp == false
      misja_nieudana
    else
      if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
        misja_sprawdz
      end
    end
  end
 
  def podpunkt_niemozliwy
    $podp_udany[$numer_misji][$numer_podp] = false
    $podp_nieudany[$numer_misji][$numer_podp] = false
    $podp_niemozliwy[$numer_misji][$numer_podp] = true
    $podp_odbior_nagrody[$numer_misji][$numer_podp] = false
    if $aktywnosc_podp == false
      misja_niemozliwa
    else
      if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
        misja_sprawdz
      end
    end
  end
 
  def podpunkt_nagroda
    $podp_udany[$numer_misji][$numer_podp] = false
    $podp_nieudany[$numer_misji][$numer_podp] = false
    $podp_niemozliwy[$numer_misji][$numer_podp] = false
    $podp_odbior_nagrody[$numer_misji][$numer_podp] = true
    if Avara_Dziennik::AUTOMATYCZNE_SPRAWDZANIE == true
      misja_sprawdz
    end
  end
 
  def misja_sprawdz
    wynik0 = true
    i = 0 + @la
    if $podp_niemozliwy[$numer_misji][$zaliczenie[$numer_misji][0 + i]] == true
      wynik0 = false
    end
    if wynik0 == false
      @la = 0
      misja_niemozliwa
    else
      if i == $zaliczenie[$numer_misji].size - 1
        @la = 0
        misja_nieudana_sprawdz
      else
        @la += 1
        misja_sprawdz
      end
    end
  end
 
  def misja_nieudana_sprawdz
    wynik1 = true
    i = 0 + @la
    if $podp_nieudany[$numer_misji][$zaliczenie[$numer_misji][0 + i]] == true
      wynik1 = false
    end
    if wynik1 == false
      @la = 0
      misja_nieudana
    else
      if i == $zaliczenie[$numer_misji].size - 1
        @la = 0
        nagroda_sprawdz
      else
        @la += 1
        misja_nieudana_sprawdz
      end
    end
  end
 
  def nagroda_sprawdz
    wynik2 = true
    b = 1 + @la
    if $podp_odbior_nagrody[$numer_misji][b] == true
      wynik2 = false
    end
    if wynik2 == false
      @la = 0
      nagroda_do_odebrania
    else
      if b == $nazwa_podp[$numer_misji].size - 1
        @la = 0
        misja_udana_sprawdz
      else
        @la += 1
        nagroda_sprawdz
      end
    end
  end
 
  def misja_udana_sprawdz
    wynik3 = true
    i = 0 + @la
    if $podp_udany[$numer_misji][$zaliczenie[$numer_misji][0 + i]] == false
      wynik3 = false
    end
    if wynik3 == false
      @la = 0
      misja_aktywna
    else
      if i == $zaliczenie[$numer_misji].size - 1
        @la = 0
        misja_udana
      else
        @la += 1
        misja_udana_sprawdz
      end
    end
  end
 
  def powod
    if $aktywnosc_podp == true
      $niemozliwy_powod[$numer_misji][$numer_podp] = $powody[$odniesienie]
    else
      $niemozliwy_powod[$numer_misji][$zaliczenie[$numer_misji]] = $powody[$odniesienie]
    end
  end
 end


Kod:
Spoiler:

Kod:
#********************************************************************
#*                          Dziennik Misji by Avara                *
#*                                 Autor:  Avara                  *
#*           Specjalne podziękowania dla: Sabikku                  *
#********************************************************************


#___________________________________Scene Map_____________________________________#

class Scene_Map < Scene_Base
 
  alias up update
  def update
    up
    if $aktywnosc_dziennik_mapa == true
      if $game_message.visible == false
        if Input.trigger?(Avara_Dziennik::PRZYCISK_DZ_MAPA)
          $scene = Scene_Dziennik.new
        end
      end
    end
    $kategoria = 1
   
    if $suma_misji_kat[1] >= 1
      for z in $numer_menu[1][0]..$numer_menu[1][$suma_misji_kat[1] - 1]
        if $numer_menu[1][$suma_misji_kat[1] - 1] == z
          $okno_opisu = z
        end
      end
    else
      $okno_opisu = 0
    end
  end
end

#___________________________________Scene Title______________________________________#

class Scene_Title < Scene_Base
 
  alias cr_ga_ob create_game_objects
  def create_game_objects
    cr_ga_ob
    $nazwa_misji = []
    $npc = []
    $nazwa_podp = []
    $opis_podp_linijka1 = []
    $opis_podp_linijka2 = []
    $opis_podp_linijka3 = []
    $opis_podp_linijka4 = []
    $niemozliwy_powod = []
    $misja_zakonczona = []
    $misja_nieudana = []
    $misja_niemozliwa = []
    $nagroda_do_odebrania = []
    $podp_udany = []
    $podp_nieudany = []
    $podp_niemozliwy = []
    $podp_odbior_nagrody = []
    $podp_nagroda = []
    $zaliczenie = []
    $opis_misji_linijka1 = []
    $opis_misji_linijka2 = []
    for i in 1..Avara_Dziennik::ILOSC_MISJI
      $nazwa_podp[i] = []
      $opis_podp_linijka1[i] = []
      $opis_podp_linijka2[i] = []
      $opis_podp_linijka3[i] = []
      $opis_podp_linijka4[i] = []
      $niemozliwy_powod[i] = []
      $misja_zakonczona[i] = false
      $misja_nieudana[i] = false
      $misja_niemozliwa[i] = false
      $nagroda_do_odebrania[i] = false
      $podp_udany[i] = []
      $podp_nieudany[i] = []
      $podp_niemozliwy[i] = []
      $podp_odbior_nagrody[i] = []
      $podp_nagroda[i] = []
      $zaliczenie[i] = []
      $opis_misji_linijka1[i] = []
      $opis_misji_linijka2[i] = []
    end
    $ktory_podp = []
    $nagroda = []
    $cytat = []
    $zdjecie = []
    $nazwa_kategorii = []
    $numer_menu = []
    $nazwa_menu = []
    $suma_misji_kat = []
    for g in 1..Avara_Dziennik::ILOSC_KATEGORII
      $numer_menu[g] = []
      $nazwa_menu[g] = []
      $suma_misji_kat[g] = 0
    end
    $nr_kategorii_misji = []
    $twarz_nazwa = []
    $twarz_numer = []
    $powody = {}
    $aktywnosc_dziennik_mapa = Avara_Dziennik::DZIENNIK_MAPA
  end
end

#____________________________________Scene File______________________________________#

class Scene_File < Scene_Base
 
  alias wr_sa_da write_save_data
  def write_save_data(file)
    wr_sa_da(file)
    Marshal.dump($nazwa_misji, file)
    Marshal.dump($npc, file)
    Marshal.dump($nazwa_podp, file)
    Marshal.dump($opis_podp_linijka1, file)
    Marshal.dump($opis_podp_linijka2, file)
    Marshal.dump($opis_podp_linijka3, file)
    Marshal.dump($opis_podp_linijka4, file)
    Marshal.dump($niemozliwy_powod, file)
    Marshal.dump($ktory_podp, file)
    Marshal.dump($nagroda, file)
    Marshal.dump($cytat, file)
    Marshal.dump($zdjecie, file)   
    Marshal.dump($numer_menu, file)
    Marshal.dump($suma_misji_kat, file)
    Marshal.dump($nazwa_kategorii, file)
    Marshal.dump($nr_kategorii_misji, file)
    Marshal.dump($nazwa_menu, file)
    Marshal.dump($misja_zakonczona, file)
    Marshal.dump($misja_nieudana, file)
    Marshal.dump($misja_niemozliwa, file)
    Marshal.dump($nagroda_do_odebrania, file)
    Marshal.dump($podp_udany, file)
    Marshal.dump($podp_nieudany, file)
    Marshal.dump($podp_niemozliwy, file)
    Marshal.dump($podp_odbior_nagrody, file)
    Marshal.dump($podp_nagroda, file)
    Marshal.dump($twarz_nazwa, file)
    Marshal.dump($twarz_numer, file)
    Marshal.dump($opis_misji_linijka1, file)
    Marshal.dump($opis_misji_linijka2, file)
    Marshal.dump($powody, file)
    Marshal.dump($aktywnosc_dziennik_mapa, file)
  end
 
  alias re_sa_da read_save_data
  def read_save_data(file)
    re_sa_da(file)
    $nazwa_misji = Marshal.load(file)
    $npc = Marshal.load(file)
    $nazwa_podp = Marshal.load(file)
    $opis_podp_linijka1 = Marshal.load(file)
    $opis_podp_linijka2 = Marshal.load(file)
    $opis_podp_linijka3 = Marshal.load(file)
    $opis_podp_linijka4 = Marshal.load(file)
    $niemozliwy_powod = Marshal.load(file)
    $ktory_podp = Marshal.load(file)
    $nagroda = Marshal.load(file)
    $cytat = Marshal.load(file)
    $zdjecie = Marshal.load(file)
    $numer_menu = Marshal.load(file)
    $suma_misji_kat = Marshal.load(file)
    $nazwa_kategorii = Marshal.load(file)
    $nr_kategorii_misji = Marshal.load(file)
    $nazwa_menu = Marshal.load(file)
    $misja_zakonczona = Marshal.load(file)
    $misja_nieudana = Marshal.load(file)
    $misja_niemozliwa = Marshal.load(file)
    $nagroda_do_odebrania = Marshal.load(file)
    $podp_udany = Marshal.load(file)
    $podp_nieudany = Marshal.load(file)
    $podp_niemozliwy = Marshal.load(file)
    $podp_odbior_nagrody = Marshal.load(file)
    $podp_nagroda = Marshal.load(file)
    $twarz_nazwa = Marshal.load(file)
    $twarz_numer = Marshal.load(file)
    $opis_misji_linijka1 = Marshal.load(file)
    $opis_misji_linijka2 = Marshal.load(file)
    $powody = Marshal.load(file)
    $aktywnosc_dziennik_mapa = Marshal.load(file)
  end
end

#__________________________________Game System_____________________________________#

class Game_System
 
  attr_accessor :numer_misji
  attr_accessor :okno_opisu
  attr_accessor :suma_misji
  attr_accessor :okno_opisu_podp
  attr_accessor :kategoria
  attr_accessor :ilosc_kategorii
  attr_accessor :aktywnosc_podp
  attr_accessor :numer_podp
  attr_accessor :odniesienie
 
  alias init initialize
  def initialize
    init
    $numer_misji = 0
    $okno_opisu = 0
    $suma_misji = 0
    $okno_opisu_podp = 0
    $kategoria = 1
    $ilosc_kategorii = Avara_Dziennik::ILOSC_KATEGORII
    $aktywnosc_podp = Avara_Dziennik::AKTYWNOSC_WIELU_PODPUNKTOW_NARAZ
    $numer_podp = 0
    $odniesienie = ""
  end
end

#__________________________________Scene Dziennik____________________________________#

class Scene_Dziennik < Scene_Map
 
  def initialize(menudz_index = 0)
    @menudz_index = menudz_index
  end

  def start
    create_menu_background
    windowskin = Cache.system("Window")
   
###########menu

    komendy = []
    if $suma_misji_kat[$kategoria] >= 1
      n = $suma_misji_kat[$kategoria]
      for i in 0...n
        komendy[i] = $nazwa_menu[$kategoria][i]
      end
    else
      komendy = ["Brak misji"]
    end
    @okno_menu = Dziennik_Menu.new(194, komendy)
    @okno_menu.x = 0
    @okno_menu.y = 56
    @okno_menu.height = 200
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      @okno_menu.back_opacity = 160
    else
      @okno_menu.back_opacity = 255
    end
    @okno_menu.index = $suma_misji_kat[$kategoria] - 1
    @okno_menu.visible = true
   
#########podpunkty

    podpunkty = []
    if $suma_misji_kat[$kategoria] >=1
      for s in 0...$ktory_podp[$okno_opisu]
        podpunkty[s] = $nazwa_podp[$okno_opisu][s + 1]
      end
    else
      podpunkty = [" "]
    end
    @okno_podp = Dziennik_Podpunkty.new(194, podpunkty)
    @okno_podp.x = 0
    @okno_podp.y = 256
    @okno_podp.height = 104
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      @okno_podp.back_opacity = 160
    else
      @okno_podp.back_opacity = 255
    end
    if $suma_misji_kat[$kategoria] >=1
      @okno_podp.index = $ktory_podp[$okno_opisu] - 1
    else
      @okno_podp.index = 0
    end
    @okno_podp.active = false
    @okno_podp.visible = true
   
####
    @opis = Okno_OpisMisji.new
    @misje = Misje.new
    @kat = Okno_Kategoria.new
    @nazwa = Okno_Nazwa.new
    @pomoc = Okno_Pomoc.new
    @pomoc2 = Okno_Pomoc2.new
    @pomoc2.visible = false
  end
 
  def terminate
    dispose_menu_background
    @okno_menu.dispose
    @okno_podp.dispose
    @opis.dispose
    @kat.dispose
    @nazwa.dispose
    @pomoc.dispose
    @pomoc2.dispose
  end
   
  def odswiezanie_podpunktow
    @okno_podp.visible = false
    podpunkty = []
    if $suma_misji_kat[$kategoria] >=1
      for s in 0...$ktory_podp[$okno_opisu]
        podpunkty[s] = $nazwa_podp[$okno_opisu][s + 1]
      end
    else
      podpunkty = [" "]
    end
    @okno_podp = Dziennik_Podpunkty.new(194, podpunkty)
    @okno_podp.x = 0
    @okno_podp.y = 256
    @okno_podp.height = 104
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      @okno_podp.back_opacity = 160
    else
      @okno_podp.back_opacity = 255
    end
    if $suma_misji_kat[$kategoria] >=1
      @okno_podp.index = $ktory_podp[$okno_opisu] - 1
    else
      @okno_podp.index = 0
    end
    @okno_podp.active = false
    @okno_podp.visible = true
  end
 
  def update
    update_menu_background
    @okno_menu.update
    @okno_menu.refresh
    @opis.update
    @kat.update
    @nazwa.update
    @pomoc.update
    @pomoc2.update
   
    if $suma_misji_kat[$kategoria] >= 1
      for z in 0...$suma_misji_kat[$kategoria]
        if $numer_menu[$kategoria][@okno_menu.index] == $numer_menu[$kategoria][z]
          $okno_opisu = $numer_menu[$kategoria][z]
          $okno_opisu_podp = $ktory_podp[$okno_opisu]
          if @okno_menu.active == true
            if Input.trigger?(Input::DOWN)
              odswiezanie_podpunktow
            elsif Input.trigger?(Input::UP)
              odswiezanie_podpunktow
            end
          end
        end
      end
    end
   
    if $suma_misji_kat[$kategoria] >= 1
      if $ktory_podp[$okno_opisu] >= 1
        @okno_podp.refresh
        @okno_podp.update
      end
    end
   
    if $suma_misji_kat[$kategoria] >= 1
      if @okno_podp.active == true
        $okno_opisu_podp = @okno_podp.index + 1
      end
    end
   
    if @pomoc2.visible == true
      if Input.trigger?(Input::B)
        @pomoc2.visible = false
      end
    else
      if Input.trigger?(Avara_Dziennik::PRZYCISK_POMOC)
        @pomoc2.visible = true
      end
      if @okno_menu.active == true
        if Input.trigger?(Input::RIGHT)
            if $kategoria == $ilosc_kategorii
              @okno_podp.visible = false
              $kategoria = 1
              $okno_opisu = $numer_menu[$kategoria][$suma_misji_kat[$kategoria] - 1]
              @okno_menu.visible = false
              @opis.visible = false
              @kat.visible = false
              @nazwa.visible = false
              @pomoc.visible = false
              return start
            else
              @okno_podp.visible = false
              $kategoria += 1
              $okno_opisu = $numer_menu[$kategoria][$suma_misji_kat[$kategoria] - 1]
              @okno_menu.visible = false
              @opis.visible = false
              @kat.visible = false
              @nazwa.visible = false
              @pomoc.visible = false
              return start
            end
          end
          if Input.trigger?(Input::LEFT)
            if $kategoria == 1
              @okno_podp.visible = false
              $kategoria = $ilosc_kategorii
              $okno_opisu = $numer_menu[$kategoria][$suma_misji_kat[$kategoria] - 1]
              @okno_menu.visible = false
              @opis.visible = false
              @kat.visible = false
              @nazwa.visible = false
              @pomoc.visible = false
              return start
            elsif $kategoria == $ilosc_kategorii
              @okno_podp.visible = false
              $kategoria -= 1
              $okno_opisu = $numer_menu[$kategoria][$suma_misji_kat[$kategoria] - 1]
              @okno_menu.visible = false
              @opis.visible = false
              @kat.visible = false
              @nazwa.visible = false
              @pomoc.visible = false
              return start
            end
          end
          if Input.trigger?(Input::C)
            @okno_menu.active = false
            @okno_podp.active = true
            if $suma_misji_kat[$kategoria] >=1
              @okno_podp.index = $ktory_podp[$okno_opisu] - 1
            else
              @okno_podp.index = 0
            end
          end
      end

      if $suma_misji_kat[$kategoria] >= 1
        if @okno_podp.active == true
          if Input.trigger?(Input::B)
            @okno_menu.active = true
            @okno_podp.active = false
            if $suma_misji_kat[$kategoria] >=1
              @okno_podp.index = $ktory_podp[$okno_opisu] - 1
            end
          end
        else
          if Input.trigger?(Input::B)
            $kategoria = 1
            @okno_podp.visible = false
            $okno_opisu = $numer_menu[1][0]
            @okno_menu.visible = false
            @opis.visible = false
            @kat.visible = false
            @nazwa.visible = false
            @pomoc.visible = false
            $scene = Scene_Map.new
          end
        end
      else
        if Input.trigger?(Input::B)
          $kategoria = 1
          @okno_podp.visible = false
          $okno_opisu = $numer_menu[$kategoria][$suma_misji_kat[$kategoria] - 1]
          @okno_menu.visible = false
          @opis.visible = false
          @kat.visible = false
          @nazwa.visible = false
          @pomoc.visible = false
          $scene = Scene_Map.new
        end
      end
    end
  end
end 

#_____________________________________Command 2________________________________#

class Dziennik_Menu < Window_Selectable

  attr_reader   :commands
 
  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    if row_max == 0
      row_max = (commands.size + column_max - 1) / column_max
    end
    super(24, 0, width, row_max * WLH + 32, spacing)
    @commands = commands
    @item_max = commands.size
    @column_max = column_max
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == false
      self.windowskin = Cache.system("Window2.png")
    end
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end

  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 28
    rect.width -= 24
    self.contents.clear_rect(rect)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MENU_MISJE)
    end
    self.contents.font.color.alpha = enabled ? 255 : 128
    if $suma_misji_kat[$kategoria] >=1
      if $misja_zakonczona[$numer_menu[$kategoria][index]] == true
        draw_icon(Avara_Dziennik::IKONA_MISJI_UDANEJ, 2, index * WLH)
      elsif $misja_nieudana[$numer_menu[$kategoria][index]] == true
        draw_icon(Avara_Dziennik::IKONA_MISJI_NIEUDANEJ, 2, index * WLH)
      elsif $misja_niemozliwa[$numer_menu[$kategoria][index]] == true
        draw_icon(Avara_Dziennik::IKONA_MISJI_NIEMOZLIWEJ, 2, index * WLH)
      elsif $nagroda_do_odebrania[$numer_menu[$kategoria][index]] == true
        draw_icon(Avara_Dziennik::IKONA_NAGRODY_DO_ODEBRANIA, 2, index * WLH)
      else
        draw_icon(Avara_Dziennik::IKONA_MISJI_AKTYWNEJ, 2, index * WLH)
      end
    end
    self.contents.draw_text(rect, @commands[index])
  end
end


class Dziennik_Podpunkty < Window_Selectable

  attr_reader   :commands
 
  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    if row_max == 0
      row_max = (commands.size + column_max - 1) / column_max
    end
    super(24, 0, width, row_max * WLH + 32, spacing)
    @commands = commands
    @item_max = commands.size
    @column_max = column_max
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == false
      self.windowskin = Cache.system("Window2.png")
    end
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end

  def draw_item(index, enabled = true)
    rect = item_rect(index)
    if Avara_Dziennik::IKONY_POPUNKTOW == true
      rect.x += 28
      rect.width -= 24
      self.contents.clear_rect(rect)
      if Avara_Dziennik::KOLOROWE_LITERY == true
        self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MENU_PODP)
      end
      if $suma_misji_kat[$kategoria] >=1
        self.contents.font.color.alpha = enabled ? 255 : 128
        if $podp_udany[$okno_opisu][index + 1] == true
          draw_icon(Avara_Dziennik::IKONA_PODP_UDANEGO, 2, index * WLH)
        elsif $podp_nieudany[$okno_opisu][index + 1] == true
          draw_icon(Avara_Dziennik::IKONA_PODP_NIEUDANEGO, 2, index * WLH)
        elsif $podp_niemozliwy[$okno_opisu][index + 1] == true
          draw_icon(Avara_Dziennik::IKONA_PODP_NIEMOZLIWEGO, 2, index * WLH)
        elsif $podp_odbior_nagrody[$okno_opisu][index + 1] == true
          draw_icon(Avara_Dziennik::IKONA_PODP_NAGRODA, 2, index * WLH)
        else
          draw_icon(Avara_Dziennik::IKONA_PODP_AKTYWNEGO, 2, index * WLH)
        end
      end
    else
      rect.x += 4
      rect.width -= 8
      self.contents.clear_rect(rect)
      if Avara_Dziennik::KOLOROWE_LITERY == true
        self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MENU_PODP)
      end
      self.contents.font.color.alpha = enabled ? 255 : 128
    end
    self.contents.draw_text(rect, @commands[index])
  end
end

#__________________________________________________________

class Okno_OpisMisji < Window_Base
  def initialize(x = 194, y = 56, width = 350, height = 360)
    super(x,y,width,height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = ("Verdana")
    self.contents.font.size = 22
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      self.back_opacity = 160
    else
      self.windowskin = Cache.system("Window2.png")
      self.back_opacity = 255
    end
    refresh
  end
 
  alias oldupdate update
  def update   
    refresh
    oldupdate
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end
 
  def refresh
    self.contents.clear
      if $suma_misji_kat[$kategoria] == 0
        self.contents.draw_text(0, 0, 318, 24, "Brak misji", 0)
      else
        if Avara_Dziennik::KOLOROWE_LITERY == true
          self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAZWY_MISJI)
        end
        self.contents.draw_text(0, 0, 318, 24, $nazwa_misji[$okno_opisu], 1)
        if Avara_Dziennik::AKTYWNE_OBRAZKI_TWARZE == true
          if Avara_Dziennik::KOLOROWE_LITERY == true
            self .contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
          end
          if $npc[$okno_opisu] != nil
            self.contents.draw_text(101, 24, 217, 24, "Od: " + $npc[$okno_opisu].to_s, 0)
          end
          self.contents.draw_text(101, 48, 217, 24, $opis_misji_linijka1[$okno_opisu], 0)
          self.contents.draw_text(101, 72, 217, 24, $opis_misji_linijka2[$okno_opisu], 0)
          if $misja_zakonczona[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_UDANA)
            end
            self.contents.draw_text(101, 96, 217, 24, Avara_Dziennik::MISJA_UDANA, 2)
          elsif $misja_nieudana[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NIEUDANA)
            end
            self.contents.draw_text(101, 96, 217, 24, Avara_Dziennik::MISJA_NIEUDANA, 2)
          elsif $misja_niemozliwa[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NIEMOZLIWA)
            end
            self.contents.draw_text(101, 96, 217, 24, Avara_Dziennik::MISJA_NIEMOZLIWA, 2)
          elsif $nagroda_do_odebrania[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAGRODA_DO_ODEBRANIA)
            end
            self.contents.draw_text(101, 96, 217, 24, Avara_Dziennik::NAGRODA_DO_ODEBRANIA, 2)
          end
        else
          if Avara_Dziennik::KOLOROWE_LITERY == true
            self.contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
          end
          if $npc[$okno_opisu] != nil
            self.contents.draw_text(101, 24, 217, 24, "Od: " + $npc[$okno_opisu].to_s, 0)
          end
          self.contents.draw_text(0, 48, 318, 24, $opis_misji_linijka1[$okno_opisu], 0)
          self.contents.draw_text(0, 72, 318, 24, $opis_misji_linijka2[$okno_opisu], 0)
          if $misja_zakonczona[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_UDANA)
            end
            self.contents.draw_text(0, 96, 318, 24, Avara_Dziennik::MISJA_UDANA, 2)
          elsif $misja_nieudana[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NIEUDANA)
            end
            self.contents.draw_text(0, 96, 318, 24, Avara_Dziennik::MISJA_NIEUDANA, 2)
          elsif $misja_niemozliwa[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NIEMOZLIWA)
            end
            self.contents.draw_text(0, 96, 318, 24, Avara_Dziennik::MISJA_NIEMOZLIWA, 2)
          elsif $nagroda_do_odebrania[$okno_opisu] == true
            if Avara_Dziennik::KOLOROWE_LITERY == true
              self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAGRODA_DO_ODEBRANIA)
            end
            self.contents.draw_text(0, 96, 318, 24, Avara_Dziennik::NAGRODA_DO_ODEBRANIA, 2)
          end
        end
        if Avara_Dziennik::KOLOROWE_LITERY == true
          self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAZWAY_PODP)
        end
        self.contents.draw_text(0, 120, 318, 24, $nazwa_podp[$okno_opisu][$okno_opisu_podp], 1)
        if Avara_Dziennik::KOLOROWE_LITERY == true
          self.contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
        end
        self.contents.draw_text(0, 144, 318, 24, $opis_podp_linijka1[$okno_opisu][$okno_opisu_podp], 0)
        self.contents.draw_text(0, 168, 318, 24, $opis_podp_linijka2[$okno_opisu][$okno_opisu_podp], 0)
        self.contents.draw_text(0, 192, 318, 24, $opis_podp_linijka3[$okno_opisu][$okno_opisu_podp], 0)
        self.contents.draw_text(0, 216, 318, 24, $opis_podp_linijka4[$okno_opisu][$okno_opisu_podp], 0)
        if Avara_Dziennik::KOLOROWE_LITERY == true
          self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NIEMOZLIWA)
        end
        if $podp_niemozliwy[$okno_opisu][$okno_opisu_podp] == true
          self.contents.draw_text(0, 240, 318, 24, $niemozliwy_powod[$okno_opisu][$okno_opisu_podp], 2)
        end
        if $podp_nagroda[$okno_opisu][$okno_opisu_podp] != nil
          if Avara_Dziennik::KOLOROWE_LITERY == true
            self.contents.font.color = text_color(Avara_Dziennik::KOLOR_PODP_NAGRODA)
          end
          self.contents.draw_text(0, 272, 318, 24, "Nagroda za zadanie: " + $podp_nagroda[$okno_opisu][$okno_opisu_podp].to_s, 0)
        end
        if $nagroda[$okno_opisu] != nil
          if Avara_Dziennik::KOLOROWE_LITERY == true
            self.contents.font.color = text_color(Avara_Dziennik::KOLOR_MISJA_NAGRODA)
          end
          self.contents.draw_text(0, 300, 318, 24, "Nagroda za misję: " + $nagroda[$okno_opisu].to_s, 0)
        end
       
        if Avara_Dziennik::AKTYWNE_OBRAZKI_TWARZE == true
          if Avara_Dziennik::OBRAZKI_TWARZE == true
            img = Cache.picture($zdjecie[$okno_opisu])   
            src_rect = Rect.new(0, 0, img.width, img.height)   
            self.contents.blt(0, 24, img, src_rect)
          else
            draw_face($twarz_nazwa[$okno_opisu], $twarz_numer[$okno_opisu], 0, 24)
          end
        end
      end
  end
end



class Okno_Kategoria < Window_Base
  def initialize(x = 194, y = 0, width = 350, height = 56)
    super(x,y,width,height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = ("Verdana")
    self.contents.font.size = 22
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      self.back_opacity = 160
    else
      self.windowskin = Cache.system("Window2.png")
      self.back_opacity = 255
    end
    refresh
  end
 
  alias oldupdate update
  def update   
    refresh
    oldupdate
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end
 
  def refresh
    self.contents.clear
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_DZIENNIK_I_KATEGORIA)
    end
    self.contents.draw_text(0, 0, 318, 24, $nazwa_kategorii[$kategoria].to_s, 1)
  end
end



class Okno_Nazwa < Window_Base
  def initialize(x = 0, y = 0, width = 194, height = 56)
    super(x,y,width,height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = ("Verdana")
    self.contents.font.size = 22
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      self.back_opacity = 160
    else
      self.windowskin = Cache.system("Window2.png")
      self.back_opacity = 255
    end
    refresh
  end

  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end
 
  def refresh
    self.contents.clear
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_DZIENNIK_I_KATEGORIA)
    end
    self.contents.draw_text(0, 0, 162, 24, Avara_Dziennik::NAZWA_W_DZIENNIKU, 1)
  end
end



class Okno_Pomoc < Window_Base
  def initialize(x = 0, y = 360, width = 194, height = 56)
    super(x,y,width,height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = ("Verdana")
    self.contents.font.size = 22
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      self.back_opacity = 160
    else
      self.windowskin = Cache.system("Window2.png")
      self.back_opacity = 255
    end
    refresh
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end

  def refresh
    self.contents.clear
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_DZIENNIK_I_KATEGORIA)
    end
    self.contents.draw_text(0, 0, 162, 24, Avara_Dziennik::NAPIS_POMOC, 1)
  end
end



class Okno_Pomoc2 < Window_Base
  def initialize(x = 50, y = 20, width = 444, height = 376)
    super(x,y,width,height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = ("Verdana")
    self.contents.font.size = 22
    if Avara_Dziennik::WYGLAD_OKNA_PODSTAWOWY == true
      self.back_opacity = 230
    else
      self.windowskin = Cache.system("Window2.png")
      self.back_opacity = 255
    end
    self.z = 150
    refresh
  end
 
  def text_color(n)
    x = 64 + (n % 8) * 8
    y = 96 + (n / 8) * 8
    return windowskin.get_pixel(x, y)
  end

  def refresh
    self.contents.clear
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAZWY_MISJI)
    end
    self.contents.draw_text(0, 0, 412, 24, "Gdy okno wyboru misji jest aktywne", 1)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
    end
    self.contents.draw_text(0, 24, 412, 24, "PRAWO / LEWO - zmiana kategorii misji", 0)
    self.contents.draw_text(0, 48, 412, 24, "GÓRA / DÓŁ - zmiana oglądanej misji", 0)
    self.contents.draw_text(0, 72, 412, 24, "ENTER - podgląd zadań danej misji", 0)
    self.contents.draw_text(0, 96, 412, 24, "ESC - wyjście z Dziennika Misji", 0)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAZWY_MISJI)
    end
    self.contents.draw_text(0, 120, 412, 24, "Gdy okno zadań jest aktywne", 1)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
    end
    self.contents.draw_text(0, 144, 412, 24, "GÓRA / DÓŁ - zmiana oglądanego zadania danej misji", 0)
    self.contents.draw_text(0, 168, 412, 24, "ESC - powrót do wyboru misji", 0)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_NAZWY_MISJI)
    end
    self.contents.draw_text(0, 192, 412, 24, "Znaczenie symboli", 1)
    if Avara_Dziennik::KOLOROWE_LITERY == true
      self.contents.font.color = text_color(Avara_Dziennik::KOLOR_OPISU)
    end
    self.contents.draw_text(26, 216, 170, 24, "- Misja aktywna", 0)
    self.contents.draw_text(26, 240, 170, 24, "- Misja wykonana", 0)
    self.contents.draw_text(26, 264, 170, 24, "- Misja nieudana", 0)
    self.contents.draw_text(26, 288, 170, 24, "- Misja niemożliwa", 0)
    self.contents.draw_text(26, 312, 170, 24, "- Nagroda za misję", 0)
   
    draw_icon(Avara_Dziennik::IKONA_MISJI_AKTYWNEJ, 0, 216)
    draw_icon(Avara_Dziennik::IKONA_MISJI_UDANEJ, 0, 240)
    draw_icon(Avara_Dziennik::IKONA_MISJI_NIEUDANEJ, 0, 268)
    draw_icon(Avara_Dziennik::IKONA_MISJI_NIEMOZLIWEJ, 0, 288)
    draw_icon(Avara_Dziennik::IKONA_NAGRODY_DO_ODEBRANIA, 0, 312)
   
    if Avara_Dziennik::IKONY_POPUNKTOW == true
      self.contents.draw_text(232, 216, 190, 24, "- Zadanie aktywne", 0)
      self.contents.draw_text(232, 240, 180, 24, "- Zadanie wykonane", 0)
      self.contents.draw_text(232, 264, 190, 24, "- Zadanie nieudane", 0)
      self.contents.draw_text(232, 288, 190, 24, "- Zadanie niemożliwe", 0)
      self.contents.draw_text(232, 312, 190, 24, "- Nagroda za zadanie", 0)
      draw_icon(Avara_Dziennik::IKONA_PODP_AKTYWNEGO, 206, 216)
      draw_icon(Avara_Dziennik::IKONA_PODP_UDANEGO, 206, 240)
      draw_icon(Avara_Dziennik::IKONA_PODP_NIEUDANEGO, 206, 264)
      draw_icon(Avara_Dziennik::IKONA_PODP_NIEMOZLIWEGO, 206, 288)
      draw_icon(Avara_Dziennik::IKONA_PODP_NAGRODA, 206, 312)
    end
   
    if Input.trigger?(Input::B)
      $scene = Scene_Dziennik.new
    end
  end
end

#__________________________________________________________________

class Scene_Menu < Scene_Base

  alias cr_co_wi create_command_window
  def create_command_window
    cr_co_wi
    if Avara_Dziennik::OPCJA_W_MENU == true
      s1 = Vocab::item
      s2 = Vocab::skill
      s3 = Vocab::equip
      s4 = Vocab::status
      s5 = Vocab::save
      s6 = Avara_Dziennik::NAZWA_W_MENU
      s7 = Vocab::game_end
      @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
      @command_window.index = @menu_index
      if $game_party.members.size == 0
        @command_window.draw_item(0, false)
        @command_window.draw_item(1, false)
        @command_window.draw_item(2, false)
        @command_window.draw_item(3, false)
      end
      if $game_system.save_disabled
        @command_window.draw_item(4, false)
      end
    end
  end

  alias up_co_se update_command_selection
  def update_command_selection
    up_co_se
    if Avara_Dziennik::OPCJA_W_MENU == true
      if Input.trigger?(Input::C)
        case @command_window.index
        when 0
          $scene = Scene_Item.new
        when 1,2,3
          start_actor_selection
        when 4
          $scene = Scene_File.new(true, false, false)
        when 5
          $scene = Scene_Dziennik.new
        when 6
          $scene = Scene_End.new
        end
      end
    end
  end
 
  alias up_ac_se update_actor_selection
  def update_actor_selection
    up_ac_se
    if Avara_Dziennik::OPCJA_W_MENU == true
      if Input.trigger?(Input::C)
        $game_party.last_actor_index = @status_window.index
        Sound.play_decision
        case @command_window.index
        when 1
          $scene = Scene_Skill.new(@status_window.index)
        when 2
          $scene = Scene_Equip.new(@status_window.index)
        when 3
          $scene = Scene_Status.new(@status_window.index)
        end
      end
    end
  end
end


Materiały dodatkowe:
Wszystkie materiały zawarte są w paczce do pobrania ;-)

Demo:
Do demo wykorzystałam skrypt Ayene: Zdarzenia chodzące po wodzie (VX).
W jednym pliku zip znajdują się dwie części demo (chciałam pokazać różne opcje dziennika bez znacznej zmiany kodu i podwojenia zdarzeń na mapie), dodatkowa skórka (w demo też się znajduje (nie trzeba nigdzie przenosić czy kopiować) i plik txt z "pustymi" wzorami kodów i poleceń.

https://rapidshare.com/files/2173043645/Dziennik_Misji_DEMO.zip
http://wrzucacz.pl/file/6...-Misji-DEMO.zip


Życzę powodzenia i miłego korzystania! Jakby co, to piszcie ;-)
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Wto 09 Sie, 2011 00:25
Dziennik w demie bardzo mi się podoba, tylko strasznie ciężka ta konfiguracja - wiesz, szczególnie dodawanie nowych misji. Dużo się nad tym naharowałaś i wyszło ładnie, ale przede wszystkim życzę powodzenia w dalszej nauce ruby ;).
 
 
 
Squall 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 20 Lip 2009
Posty: 107
Skąd: Ogród Balamb :P
Wysłany: Wto 09 Sie, 2011 09:57
Dobry skrypt! Gdybym nie miał już innego skryptu na zadania na pewno użyłbym tego :-) Nie wiem jak inni ale ja podziwiam ludzi którzy potrafią pisać takie skrypty :-)
________________________

 
 
Avara 





Pomogła: 32 razy
Dołączyła: 15 Gru 2010
Posty: 331
Skąd: Łódź
Wysłany: Wto 09 Sie, 2011 10:53
Jest to mój pierwszy skrypt. Dlatego jest tak mało przystępny i ustawiłam taką ikonkę tematu. Miesiąc temu o skryptach wiedziałam tyle co nic o tak -> o.O lub tak -> @.@ . Starałam się jednak zrobić szczegółową instrukcję. W razie czego będę pomagać na forum rozwiązać problemy ze skryptem.

I jeszcze jedno: podziękowania należą się w dużej części Sabikkowi. Co prawda on nie robił tego skryptu, ale bez niego nic bym nie zrobiła :mrgreen:

Jak będą prośby o przerobienie skryptu (w zależności też od tego w jakim stopniu), to postaram się pomóc ;-)
________________________


Drakensang - przeglądarkowa gra RPG online
Spoiler:

 
 
 
Feniks 




Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Pomógł: 62 razy
Dołączył: 04 Wrz 2010
Posty: 511
Wysłany: Wto 09 Sie, 2011 21:47
Oczywiście skrypt jest jak najbardziej godny braw i pokłonów. Super, że piszesz skrypty. Jak będę robił kiedyś grę na vx to jest duża możliwość, że go użyję :)
________________________

 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Wto 09 Sie, 2011 22:01
LOOOOOOOOOOL!
Świetnie Av! Pro! Mega!

Konfiguracja dłuższa od mojej :-D

Powodzenia w dalszym programowaniu ;-)
________________________
MelvinClass:
Spoiler:

 
 
MrBoomGood 




Preferowany:
RPG Maker VX

Pomógł: 3 razy
Dołączył: 07 Kwi 2011
Posty: 292
Skąd: Katowice
Wysłany: Wto 23 Sie, 2011 12:09
Skrypt bardzo skomplikowany, ale użyje go dlatego, bo widzę, że bardzo się starałaś :) Napisze tak jak wszyscy: "powodzenia w dalszym programowaniu" :)
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene