Pszełoncznik [VX]
Moderatorzy: GameBoy, Dragon Kamillo
Regulamin forum
- Yoroiookami
- Posty: 679
- Rejestracja: 02 wrz 2014, 12:45
Pszełoncznik [VX]
Jak wiecie, na niektórych mapkach w Kabelku gra się przycinała, szczególnie na słabszych tosterach z 2005 roku. :L
Ponieważ typowe zdarzenie z ubrankami oraz ze skillami są dwukrotnie większe niż w Kable III, chciałbym żeby przełączniki uruchamiały się jedynie po wyjściu z menu. (Czyli po zmianie ekwipunku)
Istnieje jakiś sposób na uruchomienie przełącznika gdzieś w skryptach? Albo na wywołanie skryptu?
Cokolwiek oszczędniejszego.
Pytam, bo pamiętam że kiedyś gra strasznie się zacinała gdy miałem zbyt wiele opcji w warunkach, a zdarzenie typowe które je sprawdzało było odpalone cały czas.
Trochę nietypowa prośba, ale może ktoś coś wie.
Ponieważ typowe zdarzenie z ubrankami oraz ze skillami są dwukrotnie większe niż w Kable III, chciałbym żeby przełączniki uruchamiały się jedynie po wyjściu z menu. (Czyli po zmianie ekwipunku)
Istnieje jakiś sposób na uruchomienie przełącznika gdzieś w skryptach? Albo na wywołanie skryptu?
Cokolwiek oszczędniejszego.
Pytam, bo pamiętam że kiedyś gra strasznie się zacinała gdy miałem zbyt wiele opcji w warunkach, a zdarzenie typowe które je sprawdzało było odpalone cały czas.
Trochę nietypowa prośba, ale może ktoś coś wie.
- Soul
- Posty: 526
- Rejestracja: 19 mar 2011, 21:24
- Lokalizacja: Gorzów Wielkopolski
Re: Pszełoncznik [VX]
$game_switches[n] = true/false ?
- Dragon Kamillo
- Posty: 1948
- Rejestracja: 18 paź 2009, 21:23
- Lokalizacja: Poznań/Granowiec
Re: Pszełoncznik [VX]
Ja to zawsze rozwiązywałem tak, że zablokowywałem dostęp do menu.
Potem typowe równoległe zdarzenie z warunkiem jeśli gracz wciśnie przycisk - wywołaj menu, a poniżej wstawiasz co chcesz np wywołujesz ten przełącznik itp.
Szczerze to był mój mus skrypt w każdym projekcie jaki robiłem w XP czy w 2k/3. Bez tego ciężko było o cokolwiek XD.
Potem typowe równoległe zdarzenie z warunkiem jeśli gracz wciśnie przycisk - wywołaj menu, a poniżej wstawiasz co chcesz np wywołujesz ten przełącznik itp.
Szczerze to był mój mus skrypt w każdym projekcie jaki robiłem w XP czy w 2k/3. Bez tego ciężko było o cokolwiek XD.
- Yoroiookami
- Posty: 679
- Rejestracja: 02 wrz 2014, 12:45
Re: Pszełoncznik [VX]
Nie jestem pewien, gdzie to wstawić Soul.
A twoje rozwiązanie Dragon Kamillo dosyć ciekawe, ale wolałbym bez takiego kombinowania. :>
A twoje rozwiązanie Dragon Kamillo dosyć ciekawe, ale wolałbym bez takiego kombinowania. :>
- Rave
- Posty: 2041
- Rejestracja: 15 kwie 2009, 21:33
- Lokalizacja: '; DROP TABLE 'Messages'
Re: Pszełoncznik [VX]
Ty tych switchy używasz do widocznego ekwipunku (na mapie)? Jak tak, to nie dałoby się twojego rozwiązania zastąpić skryptem na widoczny ekwipunek? Jak poprosisz na RMWeb, to pewnie ktoś coś znajdzie.
/edit: Ew. zrób sobie label na końcu eventu po sprawdzeniu ubranek i daj jump to label po "założeniu" właściwych ubranek, żeby RM nie sprawdzał warunków które i tak nie mają prawa się spełnić.
Np. Jeśli masz np. taki event:
to zrób z tego
Uwaga: Nawet jeśli masz warunki w Else, to i tak ta optymalizacja zadziała gdyż interpreter eventów w RM jest niezbyt optymalnie napisany, szczególnie w XP/VX. Jest to nieco odwlekanie problemu w czasie, ale przynajmniej przez pierwsze kilka godzin (?) zabawy gracz nic nie zauważy, a potem będzie chciał skończyć twoją grę to przeżyje.
A jeśli ubrania zależą nie od założonego EQ, tylko od np. zmiennej, to jeszcze lepiej, bo możesz połączyć poprzednią optymalizację z takim czymś:
Wiem, goto i te sprawy, wygląda to tragicznie, ale tak trzeba w makerze kombinować żeby jakoś działało. Jak mam rację co do odpowiednich sekcji ubrań opartych na zmiennych a przełączniki są tylko po to aby sprawdzić czy zmiana jest potrzebna, ew. do parallel eventa w bazie, to podziel odpowiednio na sekcje, niekoniecznie tak małe, to tylko przykład. Niestety w oryginalnym problemie ci pomóc nie mogę, bo nie znam RGSS2 na tyle, ale mogę ci pomóc zoptymalizować ubrankowe eventy.
Radziłbym też poczytać posty na rpgmaker.net o optymalizacji eventów (także tutki i artykuły), większość jest do 2k3, ale generalne koncepty pasują do każdego makera.
/edit: Ew. zrób sobie label na końcu eventu po sprawdzeniu ubranek i daj jump to label po "założeniu" właściwych ubranek, żeby RM nie sprawdzał warunków które i tak nie mają prawa się spełnić.
Np. Jeśli masz np. taki event:
Kod: Zaznacz cały
<>If Actor A has Ubranie1 equipped
<>Change graphic Actor A, Ubranie1
<>If Actor A has Ubranie2 equipped
<>Change graphic Actor A, Ubranie2
<>If Actor A has Ubranie3 equipped
<>Change graphic Actor A, Ubranie3
...
Kod: Zaznacz cały
<>If Actor A has Ubranie1 equipped
<>Change graphic Actor A, Ubranie1
<>Jump to label 1
<>If Actor A has Ubranie2 equipped
<>Change graphic Actor A, Ubranie2
<>Jump to label 1
<>If Actor A has Ubranie3 equipped
<>Change graphic Actor A, Ubranie3
<>Jump to label 1
...
<>Label 1
A jeśli ubrania zależą nie od założonego EQ, tylko od np. zmiennej, to jeszcze lepiej, bo możesz połączyć poprzednią optymalizację z takim czymś:
Kod: Zaznacz cały
<>If Variable 1>6
<>Jump to label 3
<>If Variable 1>3
<>Jump to label 2
<>If Variable 1==1
<>Change graphic Actor A, Ubranie1
<>Jump to label 1
<>If Variable 1==2
<>Change graphic Actor A, Ubranie2
<>Jump to label 1
<>If Variable 1==3
<>Change graphic Actor A, Ubranie3
<>Jump to label 1
<>Label 2
<>If Variable 1==4
<>Change graphic Actor A, Ubranie4
<>Jump to label 1
<>If Variable 1==5
<>Change graphic Actor A, Ubranie5
<>Jump to label 1
<>If Variable 1==6
<>Change graphic Actor A, Ubranie6
<>Jump to label 1
<>Label 3
<>If Variable 1==7
<>Change graphic Actor A, Ubranie7
<>Jump to label 1
<>If Variable 1==8
<>Change graphic Actor A, Ubranie8
<>Jump to label 1
<>If Variable 1==9
<>Change graphic Actor A, Ubranie9
<>Jump to label 1
<>Label 1
Radziłbym też poczytać posty na rpgmaker.net o optymalizacji eventów (także tutki i artykuły), większość jest do 2k3, ale generalne koncepty pasują do każdego makera.
- Yoroiookami
- Posty: 679
- Rejestracja: 02 wrz 2014, 12:45
Re: Pszełoncznik [VX]
Kurczę, Rave, dzięki za rozpisanie się. :>
Faktycznie mógłbym użyć takiego skryptu, chyba nawet poszukam. Bo skoro jest lepsze rozwiązanie, to nie będę niepotrzebnie się męczyć.
Nie wiedziałem, że etykiety tak dziwnie działają. :I
Czy w tym przykładzie warunek i tak nie będzie ciągle sprawdzany? Bo odsyła nas na koniec, ale dopiero po sprawdzeniu. @_@
Faktycznie mógłbym użyć takiego skryptu, chyba nawet poszukam. Bo skoro jest lepsze rozwiązanie, to nie będę niepotrzebnie się męczyć.
Nie wiedziałem, że etykiety tak dziwnie działają. :I
Kod: Zaznacz cały
<>If Actor A has Ubranie1 equipped
<>Change graphic Actor A, Ubranie1
<>Jump to label 1
<>If Actor A has Ubranie2 equipped
<>Change graphic Actor A, Ubranie2
<>Jump to label 1
<>If Actor A has Ubranie3 equipped
<>Change graphic Actor A, Ubranie3
<>Jump to label 1
...
<>Label 1
- Dragon Kamillo
- Posty: 1948
- Rejestracja: 18 paź 2009, 21:23
- Lokalizacja: Poznań/Granowiec
Re: Pszełoncznik [VX]
Nie jeśli na końcu dasz przełącznik który wyłącza to zdarzenia. Ale wtedy nadal musisz go uruchomić zaraz po wyjściu z menu.
Jeśli używasz podstawowego (cudzego w sumie też, powinni być podobnie) menu to znajdź w skryptach zakładkę scene_menu (czy coś podobnego), a w tej zakładce znajdź w kodzie coś związanego ze scene_map i przed linijkę która to zawiera wklej to co napisał soul wyżej. Wtedy powinien się włączać przełącznik przy wyjściu z menu. A przynajmniej tak to można zrobić w RMXP i będzie śmigało, VX ma jakieś dziwne te skrypty, co prawda lepiej zoptymalizowane, ale przez to straciły cechę "na chłopski rozum" którą stosowałem w RMXP XD.
Jeśli używasz podstawowego (cudzego w sumie też, powinni być podobnie) menu to znajdź w skryptach zakładkę scene_menu (czy coś podobnego), a w tej zakładce znajdź w kodzie coś związanego ze scene_map i przed linijkę która to zawiera wklej to co napisał soul wyżej. Wtedy powinien się włączać przełącznik przy wyjściu z menu. A przynajmniej tak to można zrobić w RMXP i będzie śmigało, VX ma jakieś dziwne te skrypty, co prawda lepiej zoptymalizowane, ale przez to straciły cechę "na chłopski rozum" którą stosowałem w RMXP XD.
- Yoroiookami
- Posty: 679
- Rejestracja: 02 wrz 2014, 12:45
Re: Pszełoncznik [VX]
Wielkie dzięki, Kamillo. Wrzuciłem to tutaj i wszystko działa jak powinno. :>
Kod: Zaznacz cały
#--------------------------------------------------------------------------
# * Update Command Selection
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$game_switches[98] = true
$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 # Skill, equipment, status
start_actor_selection
when 3 # End Game
$scene = Scene_End.new
end
end
end