Pl/Level Transition (Portal 2): Difference between revisions
Redstoncraft (talk | contribs) No edit summary |
m (obsolete language category) |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{lang|Level Transition (Portal 2)|title=Przełączanie Poziomów (Portal 2)}} | ||
| | |||
| | |||
}} | |||
= | =Co-op= | ||
To jest metoda | To jest metoda przełączania poziomów w co-op. | ||
==Stwórz swoją | ==Stwórz swoją mapę== | ||
Najpierw stwórz | Najpierw stwórz mapę co-op. Dodaj do niej func_instance, jako plik VMF ustaw instances/coop/coop_lighting_ents.vmf. | ||
==Zmodyfikowany | ==Zmodyfikowany koniec poziomu== | ||
Cała logika końca mapy jest w instancji instances/coop/coop_endlevel_room.vmf. Skopiuj ten plik do np. my_coop_endlevel_room.vmf. | |||
W małym pomieszczeniu w tej mapie znajdziesz logic_script nazwany "transition_script". (Możesz go znaleźć używając Find Entities | W małym pomieszczeniu w tej mapie znajdziesz logic_script nazwany "transition_script". (Możesz go znaleźć używając komendy Find Entities.) Jego skryptem jest debug_scripts/mp_coop_transition_list.nut. | ||
'''Nie ruszaj tego pliku!''' Jest to część | '''Nie ruszaj tego pliku!''' Jest to część Portala 2 i nie chcesz jej zepsuć. Zamiast tego zmień skrypt na np. my_coop_script.nut i zapisz mapę. | ||
Wróć do twojej mapy i zmień func_instance na zmodyfikowaną. | Wróć do twojej mapy i zmień func_instance na zmodyfikowaną wersję. | ||
==Zmodyfikowany | ==Zmodyfikowany skrypt== | ||
Teraz idź do scripts/vscripts/debugscripts i stwórz ten skrypt. | Teraz idź do scripts/vscripts/debugscripts i stwórz ten skrypt. (Nie dotykaj oryginalnych skryptów.) Wszystko co potrzebujesz to coś takiego: | ||
<source lang="text"> | <source lang="text"> | ||
Line 33: | Line 30: | ||
local nextmap = -2 | local nextmap = -2 | ||
// | // Sprawdzanie map | ||
foreach( index, map in MapPlayOrder ) | foreach( index, map in MapPlayOrder ) | ||
{ | { | ||
if( GetMapName() == MapPlayOrder[index] ) | if( GetMapName() == MapPlayOrder[index] ) | ||
{ | { | ||
// | // To mapa, na której jesteśmy | ||
nextmap = -1 | nextmap = -1 | ||
} | } | ||
Line 45: | Line 42: | ||
if (nextmap == -1) | if (nextmap == -1) | ||
{ | { | ||
// | // To następna mapa | ||
nextmap = index | nextmap = index | ||
} | } | ||
Line 55: | Line 52: | ||
if (nextmap > 0) | if (nextmap > 0) | ||
{ | { | ||
// | // Znaleziono mapę; zmiana mapy | ||
EntFire( "@command", "command", "changelevel " + MapPlayOrder[nextmap], 1.0 ) | EntFire( "@command", "command", "changelevel " + MapPlayOrder[nextmap], 1.0 ) | ||
} | } | ||
else | else | ||
{ | { | ||
// | // Nie znaleziono mapy; powrót do menu | ||
EntFire( "@command", "command", "disconnect", 2.0 ) | EntFire( "@command", "command", "disconnect", 2.0 ) | ||
} | } | ||
Line 69: | Line 66: | ||
=Single-player= | =Single-player= | ||
Sposób w | Sposób w single-playerze jest dosyć podobny. | ||
==Zmodyfikowany | ==Zmodyfikowany skrypt przełączania== | ||
W | W single-playerze skrypt ten jest w func_instance arrival_departure_transition_ents.vmf w maps/instances/transitions. Załaduj tą mapę w Hammerze i zapisz pod inną nazwą np. my_sp_transition.vmf. | ||
W najmniejszym pokoju jest | W najmniejszym pokoju jest {{L|logic_script}} nazwany @transition_Script. Jego skryptem jest transitions/sp_transition_list.nut. | ||
'''Nie modyfikuj tego pliku''' | '''Nie modyfikuj tego pliku.''' Zamiast tego zmień na własny skrypt np. transitions/my_sp_transition_list.nut. | ||
Zapisz swój zmodyfikowany plik VMF. | |||
==Zmodyfikowany | ==Zmodyfikowany skrypt== | ||
W skrypcie | W skrypcie Portala 2 jest mnóstwo rzeczy, które przełączają mapy. To jest minimum które musisz mieć: | ||
Pod Demo Files jest kategoria "Your Title", dodaj w niej swoje mapy. | Pod Demo Files jest kategoria "Your Title", dodaj w niej swoje mapy. | ||
Line 98: | Line 95: | ||
// Your title | // Your title | ||
// --------------------------------------------------- | // --------------------------------------------------- | ||
" | "pierwsza_mapa", | ||
" | "druga_mapa" | ||
] | ] | ||
</source> | </source> | ||
Line 109: | Line 106: | ||
</source> | </source> | ||
a za nimi: | |||
<source lang="text"> | <source lang="text"> | ||
EntFire( "@command", "Command", "disconnect", 2.0 ) | EntFire( "@command", "Command", "disconnect", 2.0 ) | ||
Line 116: | Line 113: | ||
Zapisz plik. | Zapisz plik. | ||
{{ACategory|Portal 2 Level Design}} |
Latest revision as of 03:38, 22 August 2024
Co-op
To jest metoda przełączania poziomów w co-op.
Stwórz swoją mapę
Najpierw stwórz mapę co-op. Dodaj do niej func_instance, jako plik VMF ustaw instances/coop/coop_lighting_ents.vmf.
Zmodyfikowany koniec poziomu
Cała logika końca mapy jest w instancji instances/coop/coop_endlevel_room.vmf. Skopiuj ten plik do np. my_coop_endlevel_room.vmf.
W małym pomieszczeniu w tej mapie znajdziesz logic_script nazwany "transition_script". (Możesz go znaleźć używając komendy Find Entities.) Jego skryptem jest debug_scripts/mp_coop_transition_list.nut.
Nie ruszaj tego pliku! Jest to część Portala 2 i nie chcesz jej zepsuć. Zamiast tego zmień skrypt na np. my_coop_script.nut i zapisz mapę.
Wróć do twojej mapy i zmień func_instance na zmodyfikowaną wersję.
Zmodyfikowany skrypt
Teraz idź do scripts/vscripts/debugscripts i stwórz ten skrypt. (Nie dotykaj oryginalnych skryptów.) Wszystko co potrzebujesz to coś takiego:
// Kolejność map
MapPlayOrder<- [
"mp_coop_easiest",
"mp_coop_easiest_two"
]
function TransitionFromMap()
{
local nextmap = -2
// Sprawdzanie map
foreach( index, map in MapPlayOrder )
{
if( GetMapName() == MapPlayOrder[index] )
{
// To mapa, na której jesteśmy
nextmap = -1
}
else
{
if (nextmap == -1)
{
// To następna mapa
nextmap = index
}
}
}
printl( "nextmap = " + nextmap )
if (nextmap > 0)
{
// Znaleziono mapę; zmiana mapy
EntFire( "@command", "command", "changelevel " + MapPlayOrder[nextmap], 1.0 )
}
else
{
// Nie znaleziono mapy; powrót do menu
EntFire( "@command", "command", "disconnect", 2.0 )
}
}
By iść do lobby po skończeniu map dodaj "mp_coop_lobby_2" na końcu listy (MapPlayOrder).
Single-player
Sposób w single-playerze jest dosyć podobny.
Zmodyfikowany skrypt przełączania
W single-playerze skrypt ten jest w func_instance arrival_departure_transition_ents.vmf w maps/instances/transitions. Załaduj tą mapę w Hammerze i zapisz pod inną nazwą np. my_sp_transition.vmf.
W najmniejszym pokoju jest logic_script nazwany @transition_Script. Jego skryptem jest transitions/sp_transition_list.nut.
Nie modyfikuj tego pliku. Zamiast tego zmień na własny skrypt np. transitions/my_sp_transition_list.nut.
Zapisz swój zmodyfikowany plik VMF.
Zmodyfikowany skrypt
W skrypcie Portala 2 jest mnóstwo rzeczy, które przełączają mapy. To jest minimum które musisz mieć:
Pod Demo Files jest kategoria "Your Title", dodaj w niej swoje mapy.
Efekt powinien wyglądać tak:
// ---------------------------------------------------
// Demo files
// ---------------------------------------------------
"demo_intro",
"demo_underground",
"demo_paint",
// ---------------------------------------------------
// Your title
// ---------------------------------------------------
"pierwsza_mapa",
"druga_mapa"
]
By po skończeniu gry wyjść do menu dodaj te wiersze:
EntFire( "end_of_playtest_text", "display", 0 )
EntFire( "@end_of_playtest_text", "display", 0 )
a za nimi:
EntFire( "@command", "Command", "disconnect", 2.0 )
Zapisz plik.