UltimaForum

Skrypty [VX] - Zrób $coś gdy gracz wejdzie w obszar.

Ziomeq - Pon 12 Lip, 2010 11:10
Temat postu: Zrób $coś gdy gracz wejdzie w obszar.
Zrób $coś jeśli w obszarze


Opis
Skrypt ten włącza dany przełącznik, gdy gracz wchodzi w wybrany obszar i automatycznie wyłącza go, gdy gracz opuszcza ten obszar.

Autor
BulletXt (rpgmakervx.net)

Tłumaczenie oczywiście by Ja :faja: :lol2:

Kompatybilność
Z wszystkim. ;-)

Demo/Screenshot
Nie potrzebne :-PP

Spoiler:

Kod:

################################################################################
=begin
Do $something if inside Area

Version: 0.3
Date: 12/12/2008
Author: BulletXt
Email: bulletxt@gmail.com
Editor: Enelvon

=end


################################################################################
# INSTRUKCJE
# Wstaw
# <switch ID>
# w nazwie obszaru, który ma używać tego skryptu.
# Zastąp "ID" numerem przełącznika który wejście w ten obszar ma włączyć.

# Przykład:  Las <switch 1>
# Gdy gracz wejdzie w obszar "Las" to skrypt włączy przełącznik nr. 1

# Konfiguracja

#To jest przełącznik który włącza/wyłącza skrypt.
#Skrypt jest domyślnie wyłączony więc musisz włączyć go przez zdarzenie.
#Możesz wyłączyć ten skrypt na mapach na których nie będziesz go używał(a).
#Domyślnie jest to przełącznik nr. 100

DSIA = 100

# Koniec Konfiguracji

################################################################################

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
alias enelvon_bulletext_area_update update
def update
enelvon_bulletext_area_update
################################################################################
#jeśli przełącznik sterujący skryptem jest włączony
if $game_switches[DSIA] == true
for area in $data_areas.values
area.name.scan(/<switch ([\d]*)>/)
m = $1.to_i
if $game_player.in_area?(area)
$game_switches[m] = true
else
$game_switches[m] = false
end
end
end
end
end



Instrukcja
1. Wklejamy skrypt w "Materials"
2. Tworzymy na mapie obszar i w jego nazwie dajemy <switch (numer)> (numer zastępujemy numerem przełącznika)
3. Tworzymy zdarzenie które ma włączyć przełącznik DSIA (domyślnie nr. 100).
4. Zapisujemy i włączamy grę. :)

Parunu - Pon 12 Lip, 2010 11:14

Skrypt może się przydać ;-) . Chociaż można to zrobić na zdarzeniach:
Auto start: przełącznik [id]
2 strona warunek startu: przełącznik [id]
Po wyjściu z lokacji warunek : przełącznik [id]
przełącznik [id] off ;-) .

Ziomeq - Pon 12 Lip, 2010 13:35

Tylko wtedy będzie to po wyjściu z lokacji. Tutaj działa to na obszarach wydzielanych na mapie. ;-)
Agumon - Wto 13 Lip, 2010 15:09

Skrypt przydatny. Tylko jeszcze muszę go przetestować.
CreeperCrisis - Wto 13 Lip, 2010 17:27

Skrypt dobry, nawet bardzo. Czekałem na niego ponieważ był taki na XP.
pokpo - Sob 06 Lis, 2010 10:25

Jak włączyć ten przełaącznik w nowym zdarzeniu?
MrQubo - Sob 03 Lis, 2012 16:59

Jak tworzy się obszary? Z góry dziękuje za odpowiedź. :?:
Avara - Sob 03 Lis, 2012 17:26

Klikasz prawym przyciskiem myszy na nazwie swojej mapy i wybierasz odpowiednią opcję.

Później nadajesz nazwę obszaru i zaznaczasz obszar. Można zaznaczać tylko prostokąty, ale możesz zrobić kilka obszarów z tą samą nazwą, by uzyskać inny kształt.

Edit:
Inne rozwiązanie zamiast tego skryptu:
Możecie stworzyć równoległe zdarzenie na mapie i ustawić warunek. Na 4. stronie warunku zaznaczyć skrypt i wpisać:
Kod:
$game_player.current_area_name == "nazwa obszaru"

Macie wówczas nawet więcej opcji poza zmianą przełącznika, ale działa tylko na jednej mapie :aww: Chyba że ustawicie odpowiednio typowe zdarzenie.


Powered by phpBB modified by Przemo © 2003 phpBB Group