UltimaForum

Skrypty [VX] - Dziennik Misji VX

Ayene - Pią 23 Paź, 2009 18:53
Temat postu: Dziennik Misji VX

Greed - Pią 23 Paź, 2009 19:41

Skrypt świetny, ale nie współgra z innymi.
Największy problem jest ze skryptem dodającym bestiariusz (oba na raz nie chcą działać)
Drugi problem jest ze skryptem który usuwa opcję savu w menu.
Trochę nad tym pokombinuję ale nie wróżę sobie sukcesów. Tak więc pomocy :cry:

SaE - Pią 23 Paź, 2009 19:44

Nie działają, bo wszystkie ingerują w menu gry. Wyłącz w nich opcję pokazywania w menu (bestiariusz i misje) i w dziale pomoc wklej swój kod ze scene_menu (lub skrypt, który usuwa zapis - jeżeli go masz), a postaram się tobie przerobić, by wyświetlało wszystko ^^
Cyklop - Sob 24 Paź, 2009 13:54

Skrypcik super. Dobrze ze z demem, bo faktycznie trudny do ustawienia. Ale na pewno się przyda :-)
Squall - Sob 24 Paź, 2009 14:29

Dzięki ci za te dary :P:P Nie tak na poważnie tego skryptu potrzebowałem :mrgreen: Dzięki jeszcze raz
Kable - Sob 24 Paź, 2009 14:44

Dzięki za Skrypt Owy właśnie grubo potrzebowałem :D

a i pytano czy w tym Skrypcie też jest podzielone na Questy główne i Questy poboczne? jak tak to jak to zrobić ? bym np. zrobił Questa Głównego który prowadzi fabułę gry?

Szczurek - Pon 26 Paź, 2009 19:51

A mnie buguje przy próbie wywołania okna dziennika:

Cytat:
Script 'Dziennik' line 667: NoMethodError occurred.
undefined methodn 'list' for nil:NilClass


Nie wywołuję okna przez menu, tylko przez przycisk, więc to, że mam zmienioną strukturę Menu raczej nie powinno mieć znaczenia, prawda ?

Cyklop - Pon 26 Paź, 2009 21:20

A sprawdzałeś czy chodzi w czystym projekcie? Może ci blokuje jakiś inny skrypt, bo jak dla mnie to dziwne że na 667 pozycji nie ma żadnego zapytania o pustą listę. Chyba że sam coś dodawałeś. Może tez być tak że program nie może stworzyć listy questów, bo żadnego nie ustawiłeś na mapie, na której wciskasz przycisk. Choć to też mało prawdopodobne, bo skrypt wiedzę ze jest tak napisany, że nie wyświetla okna jak nie ma żadnej misji.
Szczurek - Wto 27 Paź, 2009 14:00

Właśnie tak rozmieściłem quest, że najpierw zostanie dodany do listy wyświetlanych, a potem gracz dostaje możliwość otwarcia okna z Dziennikiem, żeby uniknąć próby wyświetlenia pustej listy. Jako takie doświadczenie z językami programowania mam, więc domyślałem się, że to może bugować skrypt, jednak mimo przeciwdziałań skrypt nadal twierdzi, że lista jest pusta. Tak jak radziłeś, sprawdziłem w pustym projekcie i efekt jest taki sam. W kwestii formalnej, do skopiowania był tylko "Quest Journal" i "Paragraph Formatter" :?:

@EDIT

Teraz zauważyłem, że w event, który miał dodać quest do listy nie dałem równoległego procesu, dlatego wyskakiwało, że lista jest pusta, za to teraz jest jeszcze lepszy numer - zmieniłem sposób wykonania eventa na proces równoległy i przy wejściu do danej lokacji wywala błąd:

Cytat:
NoMethodError occurred while running script undefined method '[]' for nil:NilClass


Przy samym dodaniu questu do listy, nawet nie zdążyłem wywołać dziennika... a w samym skrypcie zmieniłem tylko tyle, że nie odpala się dziennika z menu głównego, tylko przez wciśnięcie przycisku...[/quote]

Ayene - Wto 27 Paź, 2009 17:20

A czy po pobraniu dema w moim projekcie wszystko działa? Nie wiem, co może być przyczyną błędu. U mnie chodzi bez zarzutu, zarówno z przyciskiem jak i bez. Możliwe, że źle zdefiniowałeś skrypt wywołujący misję, np.
Kod:
$game_party.quests[1].reveal_objective (0)

lub przypadkowo usunąłeś część kodu.

Piszesz również o "przeciwdziałaniach", a czy bez nich wszystko działa (zwłaszcza w moim projekcie?!)

Cytat:
W kwestii formalnej, do skopiowania był tylko "Quest Journal" i "Paragraph Formatter" :?:

Tak, tylko te dwa skrypty.

Ozzma - Wto 27 Paź, 2009 17:31

Super skrypcik, dojdzie do mojej kolekcji. Wszystko działa, Buziaczki. Dziękuję :przytul:
Szczurek - Wto 27 Paź, 2009 18:52

W Twoim demku wszystko działa bez zarzutu. Aby upewnić się, czy dobrze wywołuję misję, skopiowałem skrypt wywołujący z Twojego demka i dalej ten sam błąd. Wydaje mi się, że wina leży po stronie innego skryptu, np. Zmieniony status, który również można znaleźć na forum lub bestiariusz. Choć patrząc na to z logicznego punktu widzenia, to owszem, powinno mieć to wpływ na wywoływanie okna z menu głównego, ale nie za pomocą klawisza... Poza tym błąd teraz ujawnia się nie tylko podczas próby otwarcia okna, ale choćby próby dodania misji do listy :/
Ozzma - Wto 27 Paź, 2009 20:36

A próbowałeś zmienić kolejność skryptu tzn. dać go bliżej main lub dalej od main?
Spróbuj przerzucić go na samą górę swoich dodatkowych skryptów lub na ich sam dół!
Może kolejność jest istotna!?

Szczurek - Sro 28 Paź, 2009 08:10

No niestety, choć w sumie można było się domyśleć, bo tu raczej nie chodzi o to, że któryś ze skryptów ma większy priorytet, a o to, że prawdopodobnie dwa skrypty używają tej samej zmiennej, przez co dziennik nie uzupełnia listy, przynajmniej ja to tak rozumiem :-/
SaE - Sro 28 Paź, 2009 14:59

A może masz inną wersję rpg maker'a dlatego nie chodzi. Kiedyś miałam podobny problem z jednym skryptem - w oryginale chodził, a moim projekcie nie. Próbowałam co nie miara coś z tym zrobić i w żaden sposób u mnie nie chciało działać.
Szczurek - Sro 28 Paź, 2009 15:44

Z tego, co mi wiadomo, to wersję mam dosyć nową, nie pamiętam, którą, no ale fakt, że nabyta została ze strony Enterbrain'u ok półtora miesiąca temu powinna Ci przybliżyć numer wersji, ja niestety nie pamiętam :)
Ayene - Sro 28 Paź, 2009 18:50

W takim razie musisz mieć błąd w evencie. Najprawdopodobniej wywołujesz niepoprawnie skrypt. Nie wiem czemu nie zauważyłeś, ale jeżeli nie ma żadnej misji dostępnej, to wybór (komenda) w menu jest zaciemniona (nieaktywna), a przycisk wywołania okna na mapie - nie działa. Nie rozumiem zatem, na co Tobie było tworzenie równoległego eventa... nie ma znaczenia w VX-ie wersja Makera - gdybyś miał inną, nie wszedłbyś do mojego projektu.

Jeżeli jednak jesteś 100% pewny, że nie zrobiłeś błędu - wówczas możesz zawsze podrzucić swój nowy projekt z jedną mapą (tylko z powyższym skryptem) - sprawdzimy, co jest w nim nie tak... zawsze możesz zamieścić plik bez RTP na jakimś uploaderze.

Szczurek - Sro 28 Paź, 2009 19:33

Wiesz co i tu pojawia się kolejny problem - jeśli usunę bestiariusz i zmieniony status, to w menu faktycznie, bez dodania misji komenda jest przyciemniona, jednak nadal próba dodania powoduje wyskoczenie owego błędu.
Natomiast jeśli chodzi o wywoływanie przyciskiem, to nie ma różnicy - mogę wywołać menu, nawet, jeśli nie ma w nim żadnej misji, co powoduje oczywiście wywołanie pierwszego błędu, natomiast próba dodania misji do listy znów powoduje wywołanie drugiego, z wymienionych przeze mnie w poprzednich postach, błędu.
Mam natomiast nową hipotezę - ponoć niektóre skrypty wymagają wyboru "Nowa gra" po dodaniu, do działania. Do tej pory używałem "kontynuacji", żeby zaoszczędzić sobie oglądania za każdym razem intra do gry. Sprawdzę i napiszę, czy zadziałało :)

Czeliosss - Sro 03 Lut, 2010 12:02

A dało by się go przerobić na xp?? Bo jest i będzie mi potrzebny we wszystkich projektach.
hero1141 - Pią 19 Lut, 2010 17:11
Temat postu: Problem
Mam problem. Jestem nowy też w tym i mam błąd pewien.
jak prubuje włączyć ten plik twój Game ( To co się przerabia tam) to wyskakuje że
"Projekt był robiony w starszej wersji makera i może zostać nieodtworzony" i mi sie nie otwiera.
Chyba że skąd mam ten skrypt wziąć?

Ayene - Pią 19 Lut, 2010 17:52

Tutaj masz tutorial. Znajdziesz w nim rozwiązanie :arrow: http://www.ultimateam.pl/viewtopic.php?t=2583
Nevermind - Pią 12 Mar, 2010 22:55

Witam. To mój pierwszy post. Mam z tym skryptem problem. Ustawiłem pierwsze zadanie, na samym początku gry. Niestety, po uruchomieniu "Nowej Gry" i wysłuchaniu przemowy głównego bohatera, pojawia mi się błąd. Mianowicie: ????????? ArgumentError ???????? wrong number of arhuments(0 for 1).
Ayene - Pią 12 Mar, 2010 22:57

Komunikat powinien dodatkowo zawierać nazwę skryptu, w którym jest błąd i linijkę. Z treści wynika, że program oczekuje jeszcze jednego argumentu, a Ty mu żadnego nie podajesz. Więcej nie wiem, gdyż za mało napisałeś ;-)
Nevermind - Pią 12 Mar, 2010 22:59

Ok postaram się nad tym pokombinować :-P
Edit: Udało się. Opanowałem ten skrypt xD

[ Dodano: Sob 13 Mar, 2010 19:42 ]
Mam kolejny problem, w swojej grze stworzyłem pierwszą misję. Wszystko pięknie, fajnie ale w menu zniknęła mi zakładka "Misje". Co mam zrobić?
Już wiem, jaki jest problem. Ten skrypt nie działa ze skryptem, http://www.ultimateam.pl/viewtopic.php?t=2068 zamieszczonym na tej stronie. Czy da się to jakoś zmienić?

kamil26p2 - Wto 16 Mar, 2010 20:45
Temat postu: Re: Dziennik Misji VX
Ayene mogła bys podać skrypt na to forum boe u mnie pisze jak chce włączyć edytor to pisze że projekt był robiony w starszej wersji rpigramu i może zostać nieodtworzony....
Area - Wto 16 Mar, 2010 20:48

kamil26p2, otwórz ten projekt notatnikiem i zmień wersję na swoją.
Szczurek - Czw 15 Kwi, 2010 16:50

Mnie też już wszystko działa, trochę go przekombinowałem, ale teraz mam problem natury estetyczno-logicznej :) A mianowicie

Powinno być coś takiego:
Kod:
$game_party.quests[11].reveal_objective (0)


Jednak okienko skryptu jest zbyt wąskie i wychodzi tak:
Kod:
$game_party.quests[11].reveal_objective
(0)


I skrypt wywala błąd...
Więc usunąłem spację pomiędzy "objective" a "(0)" i nawet działa.
Mimo wszystko podejrzewam, że dojdę w końcu do takiej liczby, że ten numer już nie przejdzie (np. 100), czy jest więc zatem sposób, żeby tego uniknąć ? Nie wiem, jakoś bezpiecznie przenieść część skryptu do drugiej linijki, albo jakiś znaj spajający ?

Sabikku - Czw 15 Kwi, 2010 16:53

Zrób tak:
Kod:
a=$game_party.quests[11]
a.reveal_objective(0)

Przy wielkich liczbach będzie tak:
Kod:
a=$game_party.quests[11]
b=9999999999
a.reveal_objective(b)

Pozdrawiam :).

Szczurek - Czw 15 Kwi, 2010 17:47

Właśnie zastanawiałem się, czy tak nie zrobić, w sensie - przypisywać wielkim liczbom jakąś zmienną, proste i szprytne :D
Dark lordek - Pią 23 Kwi, 2010 16:34

Mi wszystko ładnie chodzi tylko mam pewien mały problem. :P Czy jest jakiś prosty sposób na przeliczanie tych ikonek? Obecnie trudno mi obliczać, bo mam tych ikonek conajmniej kilkanaście tysięcy. :oops:
Czeliosss - Pią 23 Kwi, 2010 16:46

Użyj IconView.
[Link]
Pzdr.

Dark lordek - Pią 23 Kwi, 2010 16:50

Dzięki wielkie za pomoc. :mrgreen:
Hades - Pią 07 Maj, 2010 21:36

Mam problem z tym skryptem ...

Ponieważ w Menu w demie nie jest nic dodane .. a jednak jest opcja "Misje"
a u mnie tego nie ma .. nie wiem jak dodać misje do Menu ( Esc )


Helpnie ktoś ?

Ayene - Pią 07 Maj, 2010 23:12

Widocznie masz już skrypt, który zmienia Scene_Menu i jest on bliżej Main.
Załóż nowy temat, podaj w nim skrypt swojego menu, a Tobie go poprawię.

Squall - Wto 25 Maj, 2010 11:24

A ja mam inne pytanie...gdy dodaje skrypt to mam go w menu i jest ok :-) Tylko że jak wejdę w dziennik i z niego wyjdę to kursor cofa mi się na początek menu tam gdzie mam przedmioty :-) Da się zrobić by po wyjściu kursor był na dzienniku misji?
Ayene - Sro 26 Maj, 2010 09:14

A jesteś pewien, że masz dobrze ustawione:
Kod:
MENU_INDEX = 4

Zapewne jest tak, że masz zmieniane menu i dodatkowe pozycje, więc najlepiej będzie wyłączyć całkowicie:
Kod:
MENU_ACCESS = false

i ręcznie wmontować polecenie "misje" w klasę Scene_Menu.

Squall - Czw 27 Maj, 2010 09:04

Ok :-) Tylko mogła byś mi to wytłumaczyć jak ręcznie wmontować polecenie "misje" w klasę Scene_Menu. Bo ja robię coś źle (z góry dzięki) ;-)
Czeliosss - Sro 21 Lip, 2010 09:41

A ja mam małe pytanie.
Da się zrobić, że do pomieszczenia można wejść jak ma się zrobiony pkt. 0 z misji np. 2??
Bardzo to mi jest potrzebne do gry.

Ayene - Sro 21 Lip, 2010 10:11

Czeliosss, po tym, jak ktoś wykona tę część zadania, aktywuj przełącznik, który otwiera drzwi.
Jiyam - Czw 12 Sie, 2010 11:26

a potrafiłby ktoś zrobić tak, żeby ten skrypt działał razem z "ring menu"???
oba skrypty bardzo mi się podobają, chce je użyć do mojej nowej gry

Ayene - Wto 17 Sie, 2010 11:56

Skrypt z 'Ring Menu' zamień na poniższy:
Spoiler:

Kod:
#=====================================================
# ~ Ring Menu VX ~
# Data publikacji: 23.10.2009
# Autor: DouglasMF
# Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
# Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
# =========================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# =========================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# --------------------------- POCZĄTEK SKRYPTU -------------------------------
module AYENE
# ---------------------------- POCZĄTEK EDYCJI -------------------------------
  IKONA_PRZEDMIOT = 144    # Ikona przedmiotu
  IKONA_UMIEJETNOSC = 128  # Ikona umiejętności
  IKONA_EKWIPUNEK = 40     # Ikona ekwipunku
  IKONA_STATUS = 137       # Ikona statusu
  IKONA_ZAPIS = 149        # Ikona zapisu
  IKONA_WYJSCIE = 112      # Ikona wyjścia
  IKONA_DZIENNIK = 176     # Ikona dziennika misji
# ----------------------------- KONIEC EDYCJI --------------------------------
end

# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^------------------
#=============================================================================
# Scene_Menu
#-----------------------------------------------------------------------------
class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # Rozpoczęcie
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # Start
  #--------------------------------------------------------------------------
  def start
    super
    @spriteset = Spriteset_Map.new
    @gold_window = Window_Gold.new(0, 360)
    @win_local = Window_Local.new(0,0)
    @status_window = Window_MenuStatus.new(160, 0)
    px = $game_player.screen_x - 16
    py = $game_player.screen_y - 28
    @ring_menu = Window_RingMenu_Comando.new(px,py)
    @status_window.z = @ring_menu.z + 20
    @status_window.visible = false
  end
  #--------------------------------------------------------------------------
  # Zakończenie
  #--------------------------------------------------------------------------
  def terminate
    super
    @spriteset.dispose
    @ring_menu.dispose
    @gold_window.dispose
    @win_local.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # Aktualizacja menu
  #--------------------------------------------------------------------------
  def update
    super
    @ring_menu.update
    @gold_window.update
    @win_local.update
    @spriteset.update
    @status_window.update
    if @ring_menu.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # Aktualizacja komend w menu
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @ring_menu.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @ring_menu.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @ring_menu.indice
      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_End.new
      when 6
        $scene = Scene_Quest.new   
      end
    end
    if Input.trigger?(Input::UP) or  Input.trigger?(Input::LEFT)
      Sound.play_cursor
      @ring_menu.girar(3)
      return
    end
    if Input.trigger?(Input::DOWN) or  Input.trigger?(Input::RIGHT)
      Sound.play_cursor
      @ring_menu.girar(4)
      return
    end
  end
  #--------------------------------------------------------------------------
  # Rozpoczęcie wyboru postaci
  #--------------------------------------------------------------------------
  def start_actor_selection
    @ring_menu.active = false
    @status_window.visible = true
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # Zakończenie wyboru postaci
  #--------------------------------------------------------------------------
  def end_actor_selection
    @ring_menu.active = true
    @status_window.active = false
    @status_window.visible = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # Aktualizacja wyboru postaci
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @ring_menu.indice
      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

#==============================================================================
# Window_RingMenu_Comando
#==============================================================================

class Window_RingMenu_Comando < Window_Base
 
  DurIni = 30
  DurMov = 15
  RaioAnel = 64
  ModoIni = 1
  ModoEsp = 2
  ModoMD = 3
  ModoME = 4
  SE_Inicio = ""
 
  attr_accessor :indice
  #--------------------------------------------------------------------------
  # Rozpoczęcie
  #--------------------------------------------------------------------------
  def initialize(centro_x,centro_y)
    super(0, 0, 544, 416)
    self.opacity = 0
    self.contents.font.size = 16
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = "Dziennik Misji"
    @item_name = [s1,s2,s3,s4,s5,s6,s7]
    @item_max = 7
    @item_icon = [AYENE::IKONA_PRZEDMIOT,
    AYENE::IKONA_UMIEJETNOSC, AYENE::IKONA_EKWIPUNEK,
    AYENE::IKONA_STATUS, AYENE::IKONA_ZAPIS, AYENE::IKONA_WYJSCIE,
    AYENE::IKONA_DZIENNIK]
    @item_hab = [true,true,true,true,true,true,true]
    @indice = 0
    @cx = centro_x - 12
    @cy = centro_y - 12
    inicia_menu
    refresh
  end
  #--------------------------------------------------------------------------
  # Aktualizacja
  #--------------------------------------------------------------------------
  def update
    super
    refresh
  end
  #--------------------------------------------------------------------------
  # Odświeżenie
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    case @modo
    when ModoIni
      refresh_inicio
    when ModoEsp
      refresh_espera
    when ModoMD
      refresh_mover(1)
    when ModoME
      refresh_mover(0)
    end
    sw = self.contents.width
    rect = Rect.new((@cx - ((sw-32)/2))+12, @cy - 40, sw-32, 32)
    self.contents.draw_text(rect, @item_name[@indice],1)
  end
  #--------------------------------------------------------------------------
  # Odświeżenie menu
  #--------------------------------------------------------------------------
  def refresh_inicio
    d1 = 2.0 * Math::PI / @item_max
    d2 = 1.0 * Math::PI / DurIni
    r = RaioAnel - 1.0 * RaioAnel * @passos / DurIni
    for i in 0...@item_max
      j = i - @indice
      d = d1 * j + d2 * @passos
      x = @cx + ( r * Math.sin( d ) ).to_i
      y = @cy - ( r * Math.cos( d ) ).to_i
      desenha_item(x, y, i)
    end
    @passos -= 1
    if @passos < 1
      @modo = ModoEsp
    end
  end
  #--------------------------------------------------------------------------
  # Aktualizacja menu
  #--------------------------------------------------------------------------
  def refresh_espera
    d = 2.0 * Math::PI / @item_max
    for i in 0...@item_max
      j = i - @indice
      x = @cx + ( RaioAnel * Math.sin( d * j ) ).to_i
      y = @cy - ( RaioAnel * Math.cos( d * j ) ).to_i
      desenha_item(x, y, i)
    end
  end
  #--------------------------------------------------------------------------
  # Odświeżenie wskaźnika
  #--------------------------------------------------------------------------
  def refresh_mover(modo)
    d1 = 2.0 * Math::PI / @item_max
    d2 = d1 / DurMov
    d2 *= -1 if modo != 0
    for i in 0...@item_max
      j = i - @indice
      d = d1 * j + d2 * @passos
      x = @cx + ( RaioAnel * Math.sin( d ) ).to_i
      y = @cy - ( RaioAnel * Math.cos( d ) ).to_i
      desenha_item(x, y, i)
    end
    @passos -= 1
    if @passos < 1
      @modo = ModoEsp
    end
  end
  #--------------------------------------------------------------------------
  # Wyświetlanie ikon
  #--------------------------------------------------------------------------
  def desenha_item(x, y, i)
    if @indice == i
      self.cursor_rect.set(x-4, y-4, 32, 32)
      draw_icon(@item_icon[i], x, y, @item_hab[i])
    else
      draw_icon(@item_icon[i], x, y, @item_hab[i])
    end
  end
  #--------------------------------------------------------------------------
  # Menu
  #--------------------------------------------------------------------------
  def inicia_menu
    @modo = ModoIni
    @passos = DurIni
    if  SE_Inicio != nil and SE_Inicio != ""
      Audio.se_play("Audio/SE/" + SE_Inicio, 80, 100)
    end
  end
  #--------------------------------------------------------------------------
  # Menu
  #--------------------------------------------------------------------------
  def girar(modo)
    if modo == ModoMD
      @indice -= 1
      @indice = @item_hab.size - 1 if @indice < 0
    elsif modo == ModoME
      @indice += 1
      @indice = 0 if @indice >= @item_hab.size
    else
      return
    end
    @modo = modo
    @passos = DurMov
  end
 
end

#==============================================================================
# Scene_Title
#==============================================================================

class Scene_Title
  alias load_database_old load_database
  def load_database
    load_database_old
    $data_mapinfo = load_data("Data/MapInfos.rvdata")
  end
end

#==============================================================================
# Window_Local
#==============================================================================

class Window_Local < Window_Base
  #--------------------------------------------------------------------------
  # Rozpoczęcie
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 160, 96)
    refresh
  end
  #--------------------------------------------------------------------------
  # Aktualizacja
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120, 32, "Lokacja:")
    self.contents.font.color = system_color
    self.contents.draw_text(4, 32, 120, 32, $data_mapinfo[$game_map.map_id].name, 2)
  end
end


A w skrypcie z 'Dziennikiem Misji':
Kod:
MENU_ACCESS = true

zamień na:
Kod:
MENU_ACCESS = false

Jiyam - Wto 17 Sie, 2010 12:02

działa :-D
wielkie dzięki za pomoc ;-)

Aduine - Wto 07 Wrz, 2010 13:04
Temat postu: Mam problem!
Ayene mam problem z tym skryptem :( Wszystko jest skopiowane co do joty a jak odpalam grę to wyskakuje mi błąd o treści:

"GameProjekt1
????????? NameError ?????????
undefined local variable or method 'id_misji' for #<Game_Interpreter:0x14c46b8>"

wiesz o co może chodzić? :<

Ayene - Sro 08 Wrz, 2010 05:32

A nie używasz przypadkiem metod w postaci?
Kod:
$game_party.quests[id_misji].reveal_objective (id_zadania)

Jeżeli tak, no to tutaj popełniasz błąd, bo zamiast:
'id_misji' - podajesz kolejną liczbę zgodnie z linijkami:
Kod:
when 1 # Porządki
      name = 'Porządki'
      description = 'Spraw, by domek był czysty i przytulny.'
      objectives[0] = 'Otwórz zasłony'
      objectives[1] = 'Zbierz wszystkie rzeczy z podłogi.'
      objectives[2] = 'Zaściel łóżko'
      icon_index = 76
...

a zamiast 'id_zadania' jakąś liczbę określającą kolejność tzw. objectives, np.
Kod:
objectives[0] = 'Otwórz zasłony'

Aduine - Czw 09 Wrz, 2010 14:05
Temat postu: Mam problem! #2
No więc właśnie wszystko robię zgodnie z tym co napisałaś a error dalej jest... Tłumokiem nie jestem :) rozumiem instrukcje dopisane w skrypcie.
Ayene - Czw 09 Wrz, 2010 14:23

Dobrze by było, gdybyś zamieścił linki do swojego projektu. Zhostuj grę np. na www.mediafire.com i wklej link w tym temacie. Wówczas rzucę okiem ;-)
FireBlade - Sro 29 Wrz, 2010 13:16

A mam pytanie jakbym chciała uruchomić ten skrypt za pomocą zdarzenia script z 3 zakładki to co mam tam wpisać ? kombinowałam z każdymi ustawieniami ale nie działało ...
FilipsO - Sro 29 Wrz, 2010 14:59

Masz... Polską wersję makera?
PaKiTos - Sro 29 Wrz, 2010 15:32

VX polski się nie niszczy ;-) To problem skryptu/jej niewiedzy.
FireBlade - Sro 29 Wrz, 2010 15:33

Mam angielską wersje makera ...
PaKiTos - Sro 29 Wrz, 2010 15:37

Cytat:
To problem skryptu/jej niewiedzy.

No to na górze skryptu masz komendy, przeczytaj je :-D

FireBlade - Sro 29 Wrz, 2010 15:59

Ale mnie chodzi o uruchomienie skryptu za pomocą komendy w 3 zakładce -> scripts w zdarzeniu
PaKiTos - Sro 29 Wrz, 2010 16:22

Właśnie tam są napisane komendy.
FireBlade - Sro 29 Wrz, 2010 16:23

A mam tego dość znalazłam lepszy dziennik misji ... ale dzięki za pomoc !
Itaki - Pon 04 Paź, 2010 20:06

Mam pytanie dlaczego gdy chcę włączyć już 3 akt misji to się nie włącza?? jak robie
$game_party.quests[3].reveal_objective (0) to się nie włącza...ktoś mi wytłumaczy?

kitajca2000 - Sob 13 Lis, 2010 10:12

prose powiedzcie GDZIE JEST TEN SKRYPT.Pomocy!! ;-(
Ayene - Sob 13 Lis, 2010 10:21

kitajca2000, dałam Tobie link do tutorialu :arrow: http://www.ultimateam.pl/viewtopic.php?t=1896
Przestań spamować!

kitajca2000 - Pon 15 Lis, 2010 20:17

Po pierwsze co to jest "spam"?
Po drugie chodzi oto w którym miejscu jest ten skrypt w demie?
A po czwarte ja wiem jak wrzucać skrypty!!

Angius - Pon 15 Lis, 2010 20:23

Skrypt jest przeważnie tam, gdzie zazwyczaj są skrypty... Taki guziczek na górnej belce, a potem toto tuż nad main...
kitajca2000 - Pon 15 Lis, 2010 20:27

Ale chodzi oto że ja to mam w programie WinRAR (wersja testowa) i naserio nie wiem gdzie to jest. ;-(
Ayene - Pon 15 Lis, 2010 20:39

Ściągnij projekt, rozpakuj go (prawy przycisk myszy -> wypakuj tutaj...), uruchom program (ikona z kołami zębatymi), a dalej postępuj zgodnie z tutorialem... skoro wiesz, jak dodawać skrypty, to wejdź tam, gdzie się je dodaje i znajdź dwa skrypty podpisane "Paragraph Formatter" i "Quest Journal". Jeśli po moich wyjaśnieniach nadal nie rozumiesz, to już nic na to nie poradzę. Wydajesz się celowo nie rozumieć, a wielu z nas nie ma czasu, ani chęci tłumaczyć kilkakrotnie to samo.
kitajca2000 - Sro 17 Lis, 2010 19:39

Ok już roumie.
GooIn - Pon 14 Lut, 2011 19:09

Tak czytam to i czytam i do wniosku nie doszedłem...wiadomo w końcu jak zrobić żeby 'Bestiariusz' współgrał z 'Dziennikiem Misji'?
bartek2940 - Sro 11 Maj, 2011 18:45

Może mi ktoś powiedzieć jaką komendą (wywołany skrypt w EVEN-cie) wywołać "wyskoczenie" dziennika? Robię item "Dziennik Misji" i do niego typowe zdarzenie.
Ayene - Sro 11 Maj, 2011 20:59

Za pomocą polecenia "Script" wywołaj:
Kod:
$scene = Scene_Quest.new

bartek2940 - Czw 12 Maj, 2011 15:56

Wiedziałem, że za pomocą wywołania skryptu, ale nie mogłem znaleźć w skrypcie nazwy polecenia. Dzięki. :przytul:
alu675 - Wto 19 Lip, 2011 12:39

Albo mi się zdaje, albo najlepszym rozwiązaniem będzie edycja Scene_Menu. Jeśli nic nie pomieszałem, to powinien wyglądać tak:

Spoiler:


Kod:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Misje"
    s6 = Vocab::save
    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          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(5, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4
        $scene = Scene_Quest.new
      when 5      # Save
        $scene = Scene_File.new(true, false, false)
      when 6      # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end



Trzeba tylko teraz w Dzienniku misji wyłączyć MENU_ACCESS (83 linijka)

Gepardis - Pią 22 Lip, 2011 11:16

Ma prośbę. Mam zmodyfikowany skrypt Ring Menu tak, aby wyświetlał przydzielanie punktów. Prosiłbym o dodanie do niego wyświetlania Dziennika Misji.

Spoiler:


Kod:

#=====================================================
 # ~ Ring Menu VX ~
 # Data publikacji: 23.10.2009
 # Autor: DouglasMF
 # Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
 # Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
 # =========================================================
 # Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
 # =========================================================
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # --------------------------- POCZĄTEK SKRYPTU -------------------------------
 module AYENE
 # ---------------------------- POCZĄTEK EDYCJI -------------------------------
   IKONA_PRZEDMIOT = 144    # Ikona przedmiotu
   IKONA_UMIEJETNOSC = 128  # Ikona umiejętności
   IKONA_EKWIPUNEK = 40     # Ikona ekwipunku
   IKONA_STATUS = 137       # Ikona statusu
   IKONA_ZAPIS = 149        # Ikona zapisu
   IKONA_WYJSCIE = 112      # Ikona wyjścia
   IKONA_PUNKTY = 110
 # ----------------------------- KONIEC EDYCJI --------------------------------
 end

 # -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^------------------
 #=============================================================================
 # Scene_Menu
 #-----------------------------------------------------------------------------
 class Scene_Menu < Scene_Base
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(menu_index = 0)
     @menu_index = menu_index
   end
   #--------------------------------------------------------------------------
   # Start
   #--------------------------------------------------------------------------
   def start
     super
     @spriteset = Spriteset_Map.new
     @gold_window = Window_Gold.new(0, 360)
     @win_local = Window_Local.new(0,0)
     @status_window = Window_MenuStatus.new(160, 0)
     px = $game_player.screen_x - 16
     py = $game_player.screen_y - 28
     @ring_menu = Window_RingMenu_Comando.new(px,py)
     @status_window.z = @ring_menu.z + 20
     @status_window.visible = false
   end
   #--------------------------------------------------------------------------
   # Zakończenie
   #--------------------------------------------------------------------------
   def terminate
     super
     @spriteset.dispose
     @ring_menu.dispose
     @gold_window.dispose
     @win_local.dispose
     @status_window.dispose
   end
   #--------------------------------------------------------------------------
   # Aktualizacja menu
   #--------------------------------------------------------------------------
   def update
     super
     @ring_menu.update
     @gold_window.update
     @win_local.update
     @spriteset.update
     @status_window.update
     if @ring_menu.active
       update_command_selection
     elsif @status_window.active
       update_actor_selection
     end
   end
   #--------------------------------------------------------------------------
   # Aktualizacja komend w menu
   #--------------------------------------------------------------------------
   def update_command_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       $scene = Scene_Map.new
     elsif Input.trigger?(Input::C)
       if $game_party.members.size == 0 and @ring_menu.index < 5
         Sound.play_buzzer
         return
       elsif $game_system.save_disabled and @ring_menu.index == 5
         Sound.play_buzzer
         return
       end
       Sound.play_decision
       case @ring_menu.indice
       when 0
         $scene = Scene_Item.new
       when 1,2,3,4
         start_actor_selection       
       when 5
         $scene = Scene_File.new(true, false, false)
       when 6
         $scene = Scene_End.new
       end
     end
     if Input.trigger?(Input::UP) or  Input.trigger?(Input::LEFT)
       Sound.play_cursor
       @ring_menu.girar(3)
       return
     end
     if Input.trigger?(Input::DOWN) or  Input.trigger?(Input::RIGHT)
       Sound.play_cursor
       @ring_menu.girar(4)
       return
     end
   end
   #--------------------------------------------------------------------------
   # Rozpoczęcie wyboru postaci
   #--------------------------------------------------------------------------
   def start_actor_selection
     @ring_menu.active = false
     @status_window.visible = true
     @status_window.active = true
     if $game_party.last_actor_index < @status_window.item_max
       @status_window.index = $game_party.last_actor_index
     else
       @status_window.index = 0
     end
   end
   #--------------------------------------------------------------------------
   # Zakończenie wyboru postaci
   #--------------------------------------------------------------------------
   def end_actor_selection
     @ring_menu.active = true
     @status_window.active = false
     @status_window.visible = false
     @status_window.index = -1
   end
   #--------------------------------------------------------------------------
   # Aktualizacja wyboru postaci
   #--------------------------------------------------------------------------
   def update_actor_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       end_actor_selection
     elsif Input.trigger?(Input::C)
       $game_party.last_actor_index = @status_window.index
       Sound.play_decision
       case @ring_menu.indice
       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)
       when 4
         $scene = Scene_RequiemUpgrade.new(@status_window.index,true)
       end
     end
   end
 end

 #==============================================================================
 # Window_RingMenu_Comando
 #==============================================================================

 class Window_RingMenu_Comando < Window_Base
   
   DurIni = 30
   DurMov = 15
   RaioAnel = 64
   ModoIni = 1
   ModoEsp = 2
   ModoMD = 3
   ModoME = 4
   SE_Inicio = ""
   
   attr_accessor :indice
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(centro_x,centro_y)
     super(0, 0, 544, 416)
     self.opacity = 0
     self.contents.font.size = 16
     s1 = Vocab::item
     s2 = Vocab::skill
     s3 = Vocab::equip
     s4 = Vocab::status
     s5 = "Punkty"
     s6 = Vocab::save
     s7 = Vocab::game_end
     @item_name = [s1,s2,s3,s4,s5,s6,s7]
     @item_max = 7
     @item_icon = [AYENE::IKONA_PRZEDMIOT,
     AYENE::IKONA_UMIEJETNOSC,AYENE::IKONA_EKWIPUNEK,
     AYENE::IKONA_STATUS, AYENE::IKONA_PUNKTY, AYENE::IKONA_ZAPIS, AYENE::IKONA_WYJSCIE]
     @item_hab = [true,true,true,true,true,true,true]
     @indice = 0
     @cx = centro_x - 12
     @cy = centro_y - 12
     inicia_menu
     refresh
   end
   #--------------------------------------------------------------------------
   # Aktualizacja
   #--------------------------------------------------------------------------
   def update
     super
     refresh
   end
   #--------------------------------------------------------------------------
   # Odświeżenie
   #--------------------------------------------------------------------------
   def refresh
     self.contents.clear
     case @modo
     when ModoIni
       refresh_inicio
     when ModoEsp
       refresh_espera
     when ModoMD
       refresh_mover(1)
     when ModoME
       refresh_mover(0)
     end
     sw = self.contents.width
     rect = Rect.new((@cx - ((sw-32)/2))+12, @cy - 40, sw-32, 32)
     self.contents.draw_text(rect, @item_name[@indice],1)
   end
   #--------------------------------------------------------------------------
   # Odświeżenie menu
   #--------------------------------------------------------------------------
   def refresh_inicio
     d1 = 2.0 * Math::PI / @item_max
     d2 = 1.0 * Math::PI / DurIni
     r = RaioAnel - 1.0 * RaioAnel * @passos / DurIni
     for i in 0...@item_max
       j = i - @indice
       d = d1 * j + d2 * @passos
       x = @cx + ( r * Math.sin( d ) ).to_i
       y = @cy - ( r * Math.cos( d ) ).to_i
       desenha_item(x, y, i)
     end
     @passos -= 1
     if @passos < 1
       @modo = ModoEsp
     end
   end
   #--------------------------------------------------------------------------
   # Aktualizacja menu
   #--------------------------------------------------------------------------
   def refresh_espera
     d = 2.0 * Math::PI / @item_max
     for i in 0...@item_max
       j = i - @indice
       x = @cx + ( RaioAnel * Math.sin( d * j ) ).to_i
       y = @cy - ( RaioAnel * Math.cos( d * j ) ).to_i
       desenha_item(x, y, i)
     end
   end
   #--------------------------------------------------------------------------
   # Odświeżenie wskaźnika
   #--------------------------------------------------------------------------
   def refresh_mover(modo)
     d1 = 2.0 * Math::PI / @item_max
     d2 = d1 / DurMov
     d2 *= -1 if modo != 0
     for i in 0...@item_max
       j = i - @indice
       d = d1 * j + d2 * @passos
       x = @cx + ( RaioAnel * Math.sin( d ) ).to_i
       y = @cy - ( RaioAnel * Math.cos( d ) ).to_i
       desenha_item(x, y, i)
     end
     @passos -= 1
     if @passos < 1
       @modo = ModoEsp
     end
   end
   #--------------------------------------------------------------------------
   # Wyświetlanie ikon
   #--------------------------------------------------------------------------
   def desenha_item(x, y, i)
     if @indice == i
       self.cursor_rect.set(x-4, y-4, 32, 32)
       draw_icon(@item_icon[i], x, y, @item_hab[i])
     else
       draw_icon(@item_icon[i], x, y, @item_hab[i])
     end
   end
   #--------------------------------------------------------------------------
   # Menu
   #--------------------------------------------------------------------------
   def inicia_menu
     @modo = ModoIni
     @passos = DurIni
     if  SE_Inicio != nil and SE_Inicio != ""
       Audio.se_play("Audio/SE/" + SE_Inicio, 80, 100)
     end
   end
   #--------------------------------------------------------------------------
   # Menu
   #--------------------------------------------------------------------------
   def girar(modo)
     if modo == ModoMD
       @indice -= 1
       @indice = @item_hab.size - 1 if @indice < 0
     elsif modo == ModoME
       @indice += 1
       @indice = 0 if @indice >= @item_hab.size
     else
       return
     end
     @modo = modo
     @passos = DurMov
   end
   
 end

 #==============================================================================
 # Scene_Title
 #==============================================================================

 class Scene_Title
   alias load_database_old load_database
   def load_database
     load_database_old
     $data_mapinfo = load_data("Data/MapInfos.rvdata")
   end
 end

 #==============================================================================
 # Window_Local
 #==============================================================================

 class Window_Local < Window_Base
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(x, y)
     super(x, y, 160, 96)
     refresh
   end
   #--------------------------------------------------------------------------
   # Aktualizacja
   #--------------------------------------------------------------------------
   def refresh
     self.contents.clear
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 0, 120, 32, "Lokacja:")
     self.contents.font.color = system_color
     self.contents.draw_text(4, 32, 120, 32, $data_mapinfo[$game_map.map_id].name, 2)
   end
 end


Ayene - Pią 22 Lip, 2011 12:22

Zamień skrypt na poniższy:
Spoiler:

Kod:
#=====================================================
 # ~ Ring Menu VX ~
 # Data publikacji: 23.10.2009
 # Autor: DouglasMF
 # Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
 # Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
 # =========================================================
 # Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
 # =========================================================
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # --------------------------- POCZĄTEK SKRYPTU -------------------------------
 module AYENE
 # ---------------------------- POCZĄTEK EDYCJI -------------------------------
   IKONA_PRZEDMIOT = 144    # Ikona przedmiotu
   IKONA_UMIEJETNOSC = 128  # Ikona umiejętności
   IKONA_EKWIPUNEK = 40     # Ikona ekwipunku
   IKONA_STATUS = 137       # Ikona statusu
   IKONA_ZAPIS = 149        # Ikona zapisu
   IKONA_WYJSCIE = 112      # Ikona wyjścia
   IKONA_PUNKTY = 110       # Ikona rozdawania punktów
   IKONA_DZIENNIK = 10      # Ikona dziennika misji
 # ----------------------------- KONIEC EDYCJI --------------------------------
 end

 # -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^------------------
 #=============================================================================
 # Scene_Menu
 #-----------------------------------------------------------------------------
 class Scene_Menu < Scene_Base
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(menu_index = 0)
     @menu_index = menu_index
   end
   #--------------------------------------------------------------------------
   # Start
   #--------------------------------------------------------------------------
   def start
     super
     @spriteset = Spriteset_Map.new
     @gold_window = Window_Gold.new(0, 360)
     @win_local = Window_Local.new(0,0)
     @status_window = Window_MenuStatus.new(160, 0)
     px = $game_player.screen_x - 16
     py = $game_player.screen_y - 28
     @ring_menu = Window_RingMenu_Comando.new(px,py)
     @status_window.z = @ring_menu.z + 20
     @status_window.visible = false
   end
   #--------------------------------------------------------------------------
   # Zakończenie
   #--------------------------------------------------------------------------
   def terminate
     super
     @spriteset.dispose
     @ring_menu.dispose
     @gold_window.dispose
     @win_local.dispose
     @status_window.dispose
   end
   #--------------------------------------------------------------------------
   # Aktualizacja menu
   #--------------------------------------------------------------------------
   def update
     super
     @ring_menu.update
     @gold_window.update
     @win_local.update
     @spriteset.update
     @status_window.update
     if @ring_menu.active
       update_command_selection
     elsif @status_window.active
       update_actor_selection
     end
   end
   #--------------------------------------------------------------------------
   # Aktualizacja komend w menu
   #--------------------------------------------------------------------------
   def update_command_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       $scene = Scene_Map.new
     elsif Input.trigger?(Input::C)
       if $game_party.members.size == 0 and @ring_menu.index < 5
         Sound.play_buzzer
         return
       elsif $game_system.save_disabled and @ring_menu.index == 5
         Sound.play_buzzer
         return
       end
       Sound.play_decision
       case @ring_menu.indice
       when 0
         $scene = Scene_Item.new
       when 1,2,3,4
         start_actor_selection   
       when 5
         $scene = Scene_Quest.new   
       when 6
         $scene = Scene_File.new(true, false, false)
       when 7
         $scene = Scene_End.new
       end
     end
     if Input.trigger?(Input::UP) or  Input.trigger?(Input::LEFT)
       Sound.play_cursor
       @ring_menu.girar(3)
       return
     end
     if Input.trigger?(Input::DOWN) or  Input.trigger?(Input::RIGHT)
       Sound.play_cursor
       @ring_menu.girar(4)
       return
     end
   end
   #--------------------------------------------------------------------------
   # Rozpoczęcie wyboru postaci
   #--------------------------------------------------------------------------
   def start_actor_selection
     @ring_menu.active = false
     @status_window.visible = true
     @status_window.active = true
     if $game_party.last_actor_index < @status_window.item_max
       @status_window.index = $game_party.last_actor_index
     else
       @status_window.index = 0
     end
   end
   #--------------------------------------------------------------------------
   # Zakończenie wyboru postaci
   #--------------------------------------------------------------------------
   def end_actor_selection
     @ring_menu.active = true
     @status_window.active = false
     @status_window.visible = false
     @status_window.index = -1
   end
   #--------------------------------------------------------------------------
   # Aktualizacja wyboru postaci
   #--------------------------------------------------------------------------
   def update_actor_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       end_actor_selection
     elsif Input.trigger?(Input::C)
       $game_party.last_actor_index = @status_window.index
       Sound.play_decision
       case @ring_menu.indice
       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)
       when 4
         $scene = Scene_RequiemUpgrade.new(@status_window.index,true)
       end
     end
   end
 end

 #==============================================================================
 # Window_RingMenu_Comando
 #==============================================================================

 class Window_RingMenu_Comando < Window_Base
   
   DurIni = 30
   DurMov = 15
   RaioAnel = 64
   ModoIni = 1
   ModoEsp = 2
   ModoMD = 3
   ModoME = 4
   SE_Inicio = ""
   
   attr_accessor :indice
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(centro_x,centro_y)
     super(0, 0, 544, 416)
     self.opacity = 0
     self.contents.font.size = 16
     s1 = Vocab::item
     s2 = Vocab::skill
     s3 = Vocab::equip
     s4 = Vocab::status
     s5 = "Punkty"
     s6 = "Dziennik Misji"
     s7 = Vocab::save
     s8 = Vocab::game_end
     @item_name = [s1,s2,s3,s4,s5,s6,s7,s8]
     @item_max = 8
     @item_icon = [AYENE::IKONA_PRZEDMIOT,
     AYENE::IKONA_UMIEJETNOSC,AYENE::IKONA_EKWIPUNEK,
     AYENE::IKONA_STATUS, AYENE::IKONA_PUNKTY, AYENE::IKONA_DZIENNIK,
     AYENE::IKONA_ZAPIS, AYENE::IKONA_WYJSCIE]
     @item_hab = [true,true,true,true,true,true,true,true]
     @indice = 0
     @cx = centro_x - 12
     @cy = centro_y - 12
     inicia_menu
     refresh
   end
   #--------------------------------------------------------------------------
   # Aktualizacja
   #--------------------------------------------------------------------------
   def update
     super
     refresh
   end
   #--------------------------------------------------------------------------
   # Odświeżenie
   #--------------------------------------------------------------------------
   def refresh
     self.contents.clear
     case @modo
     when ModoIni
       refresh_inicio
     when ModoEsp
       refresh_espera
     when ModoMD
       refresh_mover(1)
     when ModoME
       refresh_mover(0)
     end
     sw = self.contents.width
     rect = Rect.new((@cx - ((sw-32)/2))+12, @cy - 40, sw-32, 32)
     self.contents.draw_text(rect, @item_name[@indice],1)
   end
   #--------------------------------------------------------------------------
   # Odświeżenie menu
   #--------------------------------------------------------------------------
   def refresh_inicio
     d1 = 2.0 * Math::PI / @item_max
     d2 = 1.0 * Math::PI / DurIni
     r = RaioAnel - 1.0 * RaioAnel * @passos / DurIni
     for i in 0...@item_max
       j = i - @indice
       d = d1 * j + d2 * @passos
       x = @cx + ( r * Math.sin( d ) ).to_i
       y = @cy - ( r * Math.cos( d ) ).to_i
       desenha_item(x, y, i)
     end
     @passos -= 1
     if @passos < 1
       @modo = ModoEsp
     end
   end
   #--------------------------------------------------------------------------
   # Aktualizacja menu
   #--------------------------------------------------------------------------
   def refresh_espera
     d = 2.0 * Math::PI / @item_max
     for i in 0...@item_max
       j = i - @indice
       x = @cx + ( RaioAnel * Math.sin( d * j ) ).to_i
       y = @cy - ( RaioAnel * Math.cos( d * j ) ).to_i
       desenha_item(x, y, i)
     end
   end
   #--------------------------------------------------------------------------
   # Odświeżenie wskaźnika
   #--------------------------------------------------------------------------
   def refresh_mover(modo)
     d1 = 2.0 * Math::PI / @item_max
     d2 = d1 / DurMov
     d2 *= -1 if modo != 0
     for i in 0...@item_max
       j = i - @indice
       d = d1 * j + d2 * @passos
       x = @cx + ( RaioAnel * Math.sin( d ) ).to_i
       y = @cy - ( RaioAnel * Math.cos( d ) ).to_i
       desenha_item(x, y, i)
     end
     @passos -= 1
     if @passos < 1
       @modo = ModoEsp
     end
   end
   #--------------------------------------------------------------------------
   # Wyświetlanie ikon
   #--------------------------------------------------------------------------
   def desenha_item(x, y, i)
     if @indice == i
       self.cursor_rect.set(x-4, y-4, 32, 32)
       draw_icon(@item_icon[i], x, y, @item_hab[i])
     else
       draw_icon(@item_icon[i], x, y, @item_hab[i])
     end
   end
   #--------------------------------------------------------------------------
   # Menu
   #--------------------------------------------------------------------------
   def inicia_menu
     @modo = ModoIni
     @passos = DurIni
     if  SE_Inicio != nil and SE_Inicio != ""
       Audio.se_play("Audio/SE/" + SE_Inicio, 80, 100)
     end
   end
   #--------------------------------------------------------------------------
   # Menu
   #--------------------------------------------------------------------------
   def girar(modo)
     if modo == ModoMD
       @indice -= 1
       @indice = @item_hab.size - 1 if @indice < 0
     elsif modo == ModoME
       @indice += 1
       @indice = 0 if @indice >= @item_hab.size
     else
       return
     end
     @modo = modo
     @passos = DurMov
   end
   
 end

 #==============================================================================
 # Scene_Title
 #==============================================================================

 class Scene_Title
   alias load_database_old load_database
   def load_database
     load_database_old
     $data_mapinfo = load_data("Data/MapInfos.rvdata")
   end
 end

 #==============================================================================
 # Window_Local
 #==============================================================================

 class Window_Local < Window_Base
   #--------------------------------------------------------------------------
   # Rozpoczęcie
   #--------------------------------------------------------------------------
   def initialize(x, y)
     super(x, y, 160, 96)
     refresh
   end
   #--------------------------------------------------------------------------
   # Aktualizacja
   #--------------------------------------------------------------------------
   def refresh
     self.contents.clear
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 0, 120, 32, "Lokacja:")
     self.contents.font.color = system_color
     self.contents.draw_text(4, 32, 120, 32, $data_mapinfo[$game_map.map_id].name, 2)
   end
 end


Gepardis - Pią 22 Lip, 2011 15:19

A jednak- wyskakuje błąd:

line 848: NoMethodError Occured.

Przy włączeniu menu.

Ayene - Pią 22 Lip, 2011 15:36

W jakim skrypcie masz min 848 linijek?
Gepardis - Pią 22 Lip, 2011 15:45

Tutaj jest screen błędu:
http://img200.imageshack.us/img200/1111/skrpyt.png

Ok, już mam. Wystarczyło w skrypcie z dziennikiem zmienić MENU_ACCESS = true na MENU_ACCESS = false . :)

chRobal - Czw 04 Sie, 2011 22:19

Ayene, mogła byś mi wytłumaczyć co dokładnie chodzi z
Kod:
prime = [0, 1, 2, 3]


do czego do dokładnie służy i jak zaznaczyć te podpunkty w zdarzeniach aby po np zabiciu 3 duszków i 1 diabła miałbym zaliczone 2 z 3 ?

Ayene - Pią 05 Sie, 2011 06:43

A zajrzałeś w demo? 'Prime' odpowiada za oznaczenie tych poszczególnych punktów zadania, które muszą zostać wykonane, aby całe zadanie było oznaczone jako zakończone pomyślnie.
chRobal - Pią 05 Sie, 2011 16:48

Patrzyłem, patrzyłem ale nie wiem jak albo co ostawić w zdarzeniu żeby mi po zrobieniu jakieś rzeczy zaznaczało jako podpunkt. Może to jakimś przełącznikiem czy coś...
Aruka21 - Pią 05 Sie, 2011 17:04

chRobal, jeśli nie ogarniasz skryptu to zrób dziennik misji na zdarzeniach i nie spamuj więcej :!:
MrDawnok - Pon 08 Sie, 2011 12:53

chRobal zajrzyj do dema albo jak mówi Aruka zrób na evenatch(łatwe)(możesz jeszcze wpaść to ci objaśnię)

Topic:

Spoko skrypcik ładny tylko trochę skomplikowany.

Aruka21 - Wto 09 Sie, 2011 10:51

Na początku też nie ogarniałem ale teraz wszystko jest już przejrzyste :-D


Pozdrawiam Aruka :papa:

PaayJer - Pon 10 Paź, 2011 19:15

http://www.ultimateam.pl/...p?p=63208#63208

Czy ktoś mógłby pomóc? Bardzo mi zależy...

sawik99 - Wto 31 Sty, 2012 00:07

Mam pytanie.
Czy dało by się podzielić misje dotyczące poszczególnego aktu, bo ja mam dużo tych misji i się trochę mieszają.
Dało by jeszcze żeby w tym dzienniku misje były posegregowane alfabetycznie nie od idu?
Proszę o pomoc.
Coś takiego:

Podaje akurat z pewnej gry.

Tomsonator - Pon 06 Lut, 2012 20:30

Natrafię może na kogoś miłego, kto wrzuciłby tutaj sam skrypt? (nie w demie)
Niech nikt nie pyta "Po co?", ani też "Czemu nie pytać "Po co?" ?".
Z góry dziękuję jak ktoś ten skrypt wrzuci :mrgreen:

Właśnie, dla zrozumienia - chodzi o skrypt "Dziennik Misji".

eXway - Czw 19 Kwi, 2012 14:05

Czy można zrobić by okno misji było w Ring Menu VX ?

Z góry dziękuje ;]

Ayene - Pią 20 Kwi, 2012 17:17

eXway, wystarczyło przejrzeć temat :arrow: http://www.ultimateam.pl/...p?p=37212#37212
eXway - Wto 08 Maj, 2012 18:13

Dzięki ;]
BezimiennyKot1 - Nie 10 Cze, 2012 19:11

Siema, mógłby ktoś pomóc? Kiedy próbuje uruchomić grę, wyskakuje mi taki błąd: Script 'Dziennik Misji' line 173: SyntaxError Occured
A tu kawałek tego skryptu:

Kod:
161     prime = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
162      icon_index = 37 
163    when 5 #
164      name =
165      description =
166    167#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168~~~~~~~~~~~~~~~~~~~~
169    # * KONIEC KONFIGURACJI SKRYPTU
170    171#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172~~~~~~~~~~~~~~~~~~~~
173      end
174    return name, description, objectives, prime, icon_index
175  end
176 
177  178#====================================================
179========================
180  # ** Quest
181  182#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183~~~~~~~~~~~~~~~~~~~~~~~~
184  #  Holds in-game data for a quest
185  186#====================================================
187========================

Cyrixe - Nie 17 Cze, 2012 19:01

Siemka mam problem który po prostu uniemożliwia "Questowania"! Ponieważ robię sobie questy, a tu nagle gdy robie q z nr 11, i idę do postaci w której powinno się spełniać warunek 1... wyskakuje mi taki błąd: "ArgumentError occurred while running script wrong number of arguments(0 for 1)". Plisss, odpiszcie szybko!!!!
Ayene - Nie 17 Cze, 2012 19:14

A co wpisujesz w zdarzeniu, by wywołać skrypt?
Cyrixe - Nie 17 Cze, 2012 19:17

- Coś takiego.

Ayene - Nie 17 Cze, 2012 19:20

Pierwszy fragment kodu rozbija Tobie na dwie linijki, pewnie tutaj jest błąd. Sprawdź, czy możesz usunąć przerwę między '_objective' a '(1)'.
Cyrixe - Nie 17 Cze, 2012 19:23

Taaaak! Pomogło! Ayene jesteś cudowna!
Seba2500 - Sro 20 Cze, 2012 18:40

Skrypt działa poprawnie! :-)
BezimiennyKot1 - Czw 21 Cze, 2012 09:05

BezimiennyKot1 napisał/a:

Siema, mógłby ktoś pomóc? Kiedy próbuje uruchomić grę, wyskakuje mi taki błąd: Script 'Dziennik Misji' line 173: SyntaxError Occured
A tu kawałek tego skryptu:

Kod:
161 prime = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
162 icon_index = 37
163 when 5 #
164 name =
165 description =
166 167#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168~~~~~~~~~~~~~~~~~~~~
169 # * KONIEC KONFIGURACJI SKRYPTU
170 171#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172~~~~~~~~~~~~~~~~~~~~
173 end
174 return name, description, objectives, prime, icon_index
175 end
176
177 178#====================================================
179========================
180 # ** Quest
181 182#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183~~~~~~~~~~~~~~~~~~~~~~~~
184 # Holds in-game data for a quest
185 186#====================================================
187========================
________________________


Cofam.

kolkav5 - Sob 23 Cze, 2012 09:55

Działa i wszystko rozumiem.
Bardzo trudny do zrozumienia.

Cyrixe - Wto 07 Sie, 2012 10:02

Mam problem, ponieważ mam w dzienniku 6 zadań. Moja postać przyjmuję kolejne Questy, lecz nie pojawiają się one w właśnie tym dzienniku. Proszę o szybką odpowiedź, i z góry dzięki.
Poloney100 - Pon 13 Sie, 2012 17:10

Mam prośbę do autora . Ja jestem początkującym ( jeszcze ) I patrzyłem na twoje demo . Kiedy tak przeszechodziłem grę to przy otwieraniu zasłon zaświeciło się światło . Jak to zrobiłeś/łas ?
Rouch - Wto 14 Sie, 2012 11:38

Przecież on pyta o to jak to autorka zrobiła w demie. Jak już się czepiać to chociaż z sensem.
Poloney100 pewnie zrobiła to na przełącznikach. Jak podchodzisz do okna to się zmienia grafika i możliwe że też odcień ekranu.

Ozpl - Czw 30 Sie, 2012 18:26

Kod:
      i += 1 if i >= ModAlg_QuestData::MENU_INDEX


Linijka 834 zawiera jakiś błąd. Zapewne przez jakiś inny skrypt, bo trochę ich wgrałem...

Ayene - Czw 30 Sie, 2012 19:35

Jaki błąd? Jaką ma treść?
Ozpl - Czw 30 Sie, 2012 19:45



Przy okazji, da się go jakoś pogodzić z tym skryptem: Wklejam całego, żeby później nie musieś tłumaczyć :P

Spoiler:

Kod:
##################################################
 # Mog Basic Menu Plus V 1.0                      #
 ##################################################
 # By Moghunter
 # korekta SaE
 ##############

 module Szkodnik_Sae       
 Lokacja = "Lokacja"
 Czas_gry = "Czas Gry"
 Doswiadczenie = "EXP"     
 end


 class Game_Actor < Game_Battler
 def now_exp
 return @exp - @exp_list[@level]
 end
 def next_exp
 return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
 end
 end

 class Window_Base < Window

   
   def draw_actor_level_menu(actor, x, y)
     self.contents.font.color = system_color
     self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)
     self.contents.font.color = normal_color
     self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)
   end
   def draw_actor_class_menu(actor, x, y)
     self.contents.font.color = normal_color
     self.contents.draw_text(x, y, 85, WLH, actor.class.name)
   end   
  def exp_gauge_color1
     return text_color(30)
   end
   def exp_gauge_color2
     return text_color(31)
   end
 def draw_actor_exp_meter(actor, x, y, width = 100)
   if actor.next_exp != 0
   exp = actor.now_exp
   else
   exp = 1
   end
     gw = width * exp / [actor.next_exp, 1].max
     gc1 = exp_gauge_color1
     gc2 = exp_gauge_color2
     self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
     self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
     self.contents.font.color = system_color
     self.contents.draw_text(x, y, 30, WLH, Szkodnik_Sae::Doswiadczenie)   
     self.contents.font.color = normal_color
     xr = x + width
     self.contents.draw_text(xr - 60, y, 60, WLH,  actor.next_rest_exp_s, 2)   
 end
 end

 class Window_MenuStatus < Window_Selectable
   def initialize(x, y)
     super(x, y, 384, 416)
     refresh
     self.active = false
     self.index = -1
   end
   def refresh
     self.contents.clear
     @item_max = $game_party.members.size
     for actor in $game_party.members
       draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
       x = 104
       y = actor.index * 96 + WLH / 2
       draw_actor_name(actor, x, y)
       draw_actor_class_menu(actor, x + 120, y)
       draw_actor_level_menu(actor, x + 200, y)
       draw_actor_state(actor, x, y + WLH * 2)
       draw_actor_hp(actor, x + 120, y + WLH * 1)
       draw_actor_mp(actor, x + 120, y + WLH * 2)
       draw_actor_exp_meter(actor, x , y + WLH * 1)
     end
   end
   def update_cursor
     if @index < 0               
       self.cursor_rect.empty
     elsif @index < @item_max   
       self.cursor_rect.set(0, @index * 96, contents.width, 96)
     elsif @index >= 100         
       self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
     else                     
       self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
     end
   end
 end

 class Game_Map
 attr_reader   :map_id
 def mpname
 $mpname = load_data("Data/MapInfos.rvdata")
 $mpname[@map_id].name
 end
 end

 class Window_Mapname < Window_Base
   def initialize(x, y)
     super(x, y, 160, 80)
     refresh
   end
 def refresh
     self.contents.clear
     self.contents.font.color = system_color
     self.contents.draw_text(4, -10, 120, 32, Szkodnik_Sae::Lokacja)
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 20, 120, 32, $game_map.mpname.to_s, 2)
 end
 end

 class Window_Time < Window_Base
   def initialize(x, y)
     super(x, y, 160, 80)
     refresh
   end
   def refresh
     self.contents.clear
     self.contents.font.color = system_color
     self.contents.draw_text(4, -10, 120, 32, Szkodnik_Sae::Czas_gry)
     @total_sec = Graphics.frame_count / Graphics.frame_rate
     hour = @total_sec / 60 / 60
     min = @total_sec / 60 % 60
     sec = @total_sec % 60
     text = sprintf("%02d:%02d:%02d", hour, min, sec)
     self.contents.font.color = normal_color
     self.contents.draw_text(4, 20, 120, 32, text, 2)
 end
   def update
     super
     if Graphics.frame_count / Graphics.frame_rate != @total_sec
       refresh
     end
   end
 end

 class Scene_Menu   
   def main
     start                         
     perform_transition           
     Input.update                 
     loop do
       Graphics.update           
       Input.update             
       update                     
       break if $scene != self     
     end
     Graphics.update
     pre_terminate             
     Graphics.freeze               
     terminate                   
   end
   def initialize(menu_index = 0)
     @menu_index = menu_index
   end
   def create_menu_background
     @menuback_sprite = Sprite.new
     @menuback_sprite.bitmap = $game_temp.background_bitmap
     @menuback_sprite.color.set(16, 16, 16, 128)
     update_menu_background
   end
   def create_menu_background
     @menuback_sprite = Sprite.new
     @menuback_sprite.bitmap = $game_temp.background_bitmap
     @menuback_sprite.color.set(16, 16, 16, 128)
     update_menu_background
   end
   def dispose_menu_background
     @menuback_sprite.dispose
   end
   def update_menu_background
   end
   def perform_transition
      Graphics.transition(10)
   end
   def start
     create_menu_background
     create_command_window
     @gold_window = Window_Gold.new(0, 360)
     @status_window = Window_MenuStatus.new(160, 0)
     @playtime_window = Window_Time.new(0, 280)
     @mapname_window = Window_Mapname.new(0, 200)
     @status_window.openness = 0
     @playtime_window.openness = 0
     @mapname_window.openness = 0
     @gold_window.openness = 0
     @status_window.open
     @playtime_window.open
     @mapname_window.open
     @gold_window.open
   end
   def pre_terminate
     @status_window.close
     @playtime_window.close
     @mapname_window.close
     @gold_window.close
     @command_window.close
     begin
     @status_window.update
     @playtime_window.update
     @mapname_window.update
     @gold_window.update
     @command_window.update
     Graphics.update
     end until @status_window.openness == 0
   end
   def terminate
     dispose_menu_background
     @command_window.dispose
     @gold_window.dispose
     @status_window.dispose
     @playtime_window.dispose
     @mapname_window.dispose
   end
   def update
     update_menu_background
     @command_window.update
     @gold_window.update
     @status_window.update
     @mapname_window.update
     @playtime_window.update
     if @command_window.active
       update_command_selection
     elsif @status_window.active
       update_actor_selection
     end
   end
   def create_command_window
     s1 = Vocab::item
     s2 = Vocab::skill
     s3 = Vocab::equip
     s4 = Vocab::status
     s5 = Vocab::save
     s6 = Vocab::game_end
     s7 = 'Bestiariusz'
     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
     @command_window.index = @menu_index
     @command_window.openness = 0
     @command_window.open
     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
   def update_command_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       $scene = Scene_Map.new
     elsif Input.trigger?(Input::C)
       if $game_party.members.size == 0 and @command_window.index < 4
         Sound.play_buzzer
         return
       elsif $game_system.save_disabled and @command_window.index == 4
         Sound.play_buzzer
         return
       end
       Sound.play_decision
       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_End.new
       when 6
         $scene = Scene_MonsterBook.new
       end
     end
   end
   def start_actor_selection
     @command_window.active = false
     @status_window.active = true
     if $game_party.last_actor_index < @status_window.item_max
       @status_window.index = $game_party.last_actor_index
     else
       @status_window.index = 0
     end
   end
   def end_actor_selection
     @command_window.active = true
     @status_window.active = false
     @status_window.index = -1
   end
   def update_actor_selection
     if Input.trigger?(Input::B)
       Sound.play_cancel
       end_actor_selection
     elsif 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
 $mogscript = {} if $mogscript == nil
 $mogscript["basic_menu_plus"] = true


Ayene - Czw 30 Sie, 2012 19:46

A w jakim momencie wyskakuje ten błąd?
Ozpl - Czw 30 Sie, 2012 19:54

Podczas otwierania menu/ekwipunku, czyli po wciśnięciu X. Reszta skryptów działa (póki co) dobrze.
makerowiec64 - Pią 28 Wrz, 2012 15:31

Dla mnie ten skrypt jest naprawdę dobry,ale też...bardzo trudny :-( ...
Ale bardzo fajny,widzę,że były tu starania,i to jest najważniejsze w skryptach
jak dla mnie.

P.S.:"Widzę,że były tu starania".Nie chodzi o to,że ci nie wyszedł,a wręcz
przeciwnie!To jeden z najlepszych skryptów jakie widziałem na VX-a!

Naleśnik - Czw 07 Mar, 2013 16:05

Czyli jak trzeba dodać nowe zadanie ? Nieogarniam tego .
Nex - Pią 08 Mar, 2013 08:06

Kod:
#  Istnieje kilka metod, które wymuszają konkretne działanie:   
#
#        $game_party.quests[id_misji].reveal_objective (id_zadania)
#        $game_party.quests[id_misji].conceal_objective (id_zadania)
#        $game_party.quests[id_misji].complete_objective (id_zadania)
#        $game_party.quests[id_misji].uncomplete_objective (id_zadania)
#        $game_party.quests[id_misji].fail_objective (id_zadania)
#        $game_party.quests[id_misji].unfail_objective (id_zadania)
#        $game_party.quests[id_misji].complete?
#        $game_party.quests[id_misji].failed?
#        $game_party.quests[id_misji].reward_given = true/false
#        $game_party.quests[id_misji].concealed = true/false
#        $game_party.quests.remove (id_misji)

wystarczy znajomość angielskiego i trochę logiki


Powered by phpBB modified by Przemo © 2003 phpBB Group