Jump to content
GIGN Forum

Pamācība: Teleporti


nelietis
 Share

Recommended Posts

Par teleportiem. Informācija daļēji tulkota no TWHL. Dažviet esmu paskaidrojis, kā kaut ko izdarīt. Citviet būs labāk, ja zini, kur ko atrast.

********************************************************

Izmantotie apzīmējumi / saīsinājumi:

1. Brush - jebkādas formas bloks, ko izveido ar Shift+B

2. Brush Entity (b-ent): Brush, kas ar Ctrl+T pārveidots par kādu no saraksta objektiem (piem func_wall)

3. Point Entity (p-ent): Ar Shift+E vispirms tiek novietots kursors; Hammer loga labajā malā ir neliels lodziņš ar sarakstu, no kura izvēlēties vajadzīgo p-ent; tad nospiežot Enter parādās pats Point Entity.

Izmantotās klaviatūras taustiņu kombinācijas:

1. Alt+Enter: Atver [Object Properties] logu, kur var mainīt dažādus p-ent un b-ent iestatījumus. Jābūt iezīmētam p-ent vai b-ent

2. Shift+A: Atver [Face Properties] logu, ar kuru vari piemērot tekstūras atsevišķām brush un b-ent virsmām.

********************************************************

Teleporti, pavisam īsi, ir ātrākais veids, kā nogādāt spēlētāju no punkta A uz punktu B.

Lai teleportu uztaisītu, būtībā vajag tikai divas lietas - pašu teleportu un galamērķi. Šīs funkcijas veic trigger_teleport (b-ent) un info_teleport_destination (p-ent). Taču, ja vien netaisi slepenu teleportu, ļoti vēlams arī kaut kāds vizuāls elements vietai, no kuras spēlētājs tiks teleportēts. Tā var būt platforma, redzama zona vai spraits. Pamācībā sakombinēsim visus trīs.

Pieņemu, ka tev vismaz neliela karte bez gļukiem ir gatava, lai varētu notestēt. Ja ne, uztaisi divas istabas, abās ieliec gaismas, vienā ieliec p-ent info_player_start. Vari istabas nesavienot, tam mums noderēs teleports.

[Parasts teleports]

1. Vispirms kaut kur kartē uz zemes uztaisi nelielu platformu [64x64x16]. Par izmēriem - pirmais ir platums, otrais garums, trešais augstums. Izmērus iezīmētam brush vai b-ent var redzēt Hammer apakšā. Lai saprastu kurš ir kurš, uztaisi brush un pamaini tam lielumu, un seko līdzi, kuri skaitļi no tiem trīs izmainās. Brīdī, kamēr velc, tur parādās tikai divi skaitļi, atbilstoši tam ka tu vienā 2D skatā vari mainīt tikai divus dažādus izmērus.

Kad platforma ir gatava, atver Shift+A; 3D skatā iezīmē platformas virspusi un caur [browse] atrodi c3a2_telepad (filtrā nav jāraksta viss tekstūras nosaukums, pietiks ar "tele"). Aizver tekstūru logu un spied [Apply], pēc tam [Fit] (tas tekstūru vienmērīgi izstieps pa visu virsmu). Tādā pašā veidā vari uzlikt citas tekstūras visām četrām malām, ja vajadzīgs. Aizver Face Properties.

2. Iezīmē platformu, pieturi Shift un kādā no sāna skatiem ar peli pavelc platformu uz augšu. Izveidojas kopija.

Izstiep to šādos izmēros [32x32x64]. Kamēr vēl tā ir iezīmēta (sarkana), nokrāso visu kopiju ar "aaatrigger" tekstūru.

Tagad spied Ctrl+T un pārveido to par trigger_teleport. Pie Target ieraksti kaut ko (bez garumzīmēm un citiem simboliem), piemēram "teletarg". Šo logu taisi ciet. Tavs teleports ir gatavs. Apskaties attēlu, vajadzētu būt aptuveni šādi:

t97lcs6qppod3xk03m6.jpg

1. Platforma

2. Teleports

3. Object Properties logs, kurā vari mainīt b-ent un p-ent iestatījumus.

4. Brush un b-ent izmēri (Platums x Garums x Augstums)

5. Logs, kurā vari atrast un redzēt pašreizējo tekstūru. Brūnais kubs kreisajā malā šo tekstūru uzklās iezīmētajam brush vai b-ent.

6. Šeit, nospiežot Shift+E, parādīsies saraksts ar p-ent.

Tagad jāuztaisa galamērķis.

3. Atrodi vietu, kur vēlies tikt teleportēts. Ievieto kartē p-ent info_teleport_destination tā, lai nav ne pārāk tuvu griestiem, ne grīdai. Iezīmē to un spied Alt+Enter. Pie Name ieraksti to, ko pirms tam rakstīji pie Target tam teleportam. Manā piemērā te būtu jāraksta "teletarg". Pie Pitch Yaw Roll pagaidām vari neķerties klāt. Ver logu ciet. Ja visu esi izdarījis pēc rakstītā, kompilē karti un tev vajadzētu būt strādājošam teleportam. Kā būtu, ja pievienosim kādus vizuālus elementus?

-------------------------------No šīs vietas uz leju vairs nav svarīgā informācija; tikai papildus lietas-----------------------

4. Turpat virs teleport_destination ieliec jaunu p-ent env_sprite; un caur Alt+Enter nomaini Render Mode uz "Additive". Lodziņu vari taisīt ciet, un tagad tev galamērķis būs spēlē redzams kā mistiska gaismas lode.

Kaut ko pieliksim arī pašam teleportam. Kopiju, kas tev tagad ir teleports, nokopē vēlreiz (pavelc kaut kur blakus). Nokrāso viņu visu ar kādu tekstūru pēc savas izvēles. Nospied Alt+Enter, un lodziņā no saraksta izvēliec func_illusionary. Pie Render Mode norādi "Texture, some light", un pie FX Ammount nodzēs 255 un ieraksti 50.

x7tkp24stawkwdangoxs.jpg

1. Kopija no teleporta, kuru es nokrāsoju ar kaut kādu tekstūru un pārveidoju par illusionary.

2. Atceries par Object Properties logu. Atvērt var ar Alt+Enter, ja ir iezīmēts kāds p-ent vai b-ent.

3. Uzspiežot uz šī lodziņa un izvēloties kaut ko no saraksta, tu vari mainīt arī jau esošus p-ent un b-ent. Piemēram, info_player_start pārveidot par gaismu; func_wall pārveidot par trigger_hurt; utt.

Lodziņu taisi ciet un jauno kopiju pārvieto atpakaļ tur, kur ir teleports. Tā, lai abi precīzi atrodas vienā vietā, "viens otrā". Tagad tavs teleports ne tikai veic savu darbu, bet arī izskatās labāk! Vari salīdzināt, vai tev iznāca kaut kas tāds:

2zfcls2lagwzgpazsuj1.jpg

1. env_sprite, kurš spēlē būs redzams. info_teleport_destination nebūs.

2. Mans teleports. Šobrīd nevar redzēt, bet man tur vienā vietā ir gan pats teleports, gan arī tā kopija no iepriekšējā attēla. Jāatceras, ka pats teleports nav redzams; tapēc arī taisīju šādu vizuālu elementu.

3. info_teleport_destination.

Pāris padomu:

-Liekot kartē info_teleport_destination, īpaši iesaku uzmanīties no griestiem, jo spēlētājs parādīsies kaut kur virs tā mērķa. Man personīgi ļoti bieži gadās, ka teleportējos un tieku iesprūdināts griestos. Droši vien, ka tev nāksies paeksperimentēt, lai redzētu, cik augstu likt.

-Atceries, info_teleport_destination bija arī Pitch Yaw Roll, kuru es iesākumam teicu ignorēt. Kam viņš derīgs? Mainot vidējo ciparu (to kas atbilst Yaw), tu vari norādīt, kādā virzienā atgādātais spēlētājs lūkosies tūlīt pēc teleportēšanās. Reizēm tam var nebūt liela nozīme, taču ja gribi būt labs mapmeikeris, vēlams ka tomēr neliec spēlētājiem regulāri griezties apkārt un meklēt kur jāiet. ::Par virzieniem skatīt attēlu::

-Katram teleportam var būt tikai viens galamērķis! Ja gribi vairākus teleportus, katram jānorāda savs Target un katram būs savs info_teleport_destination, kura Name jābūt tieši tādam pašam kā Target.

[Advancēts variants: teleports ar pogu]

Kad esi uztaisījis un viss strādā, trigger_teleport izdari sekojošas izmaiņas:

Name: teleport

Master: telemaster

Ievieto kartē b-ent func_button (pie Flags ieliec ķeksi Don?t Move):

Target: telemaster

Delay Before Reset: 5

(Tā būs poga ar kuru aktivizēt telportu; izdomā labi kur likt)

Un ievieto kartē p-ent multisource:

Name: telemaster

Target: teleport

Es esmu norādījis tos ierakstus tikai piemēram; tu vari izpētīt saistības un pēc tam rakstīt pie name un visiem pārējiem, ko vien gribi; tikai atceries, ka jābūt atbilstībai. Alt+P parasti uzrāda šādas kļūdas, vari pārbaudīt.

Kā mans variants izskatīsies spēlē

[Advancēts variants: teleports ar nejaušu galamērķi]

Pēc pieprasījuma papildinu informāciju. Man pašam šis variants ir svešs, nupat tikai izmēģināju. Autors oriģinālajai pamācībai angļu valodā ir Hex-A-Decimal no FPSBanana. Pie lietas:

1. Uztaisi vienu trigger_teleport un vairākus info_teleport_destination dažādās vietās. Daudz ne, pamācībai pietiks ar trīs. Saraksti sekojošos iestatījumus:

trigger_teleport

Name: teleport

Target: teletarg1

info_teleport_destination

Name: teletarg1 (un abiem pārējiem teletarg2 un teletarg3)

2. Kaut kur blakus tiem destination (ērtāk pašam būs atrast!) ieliec trīs p-ent trigger_changetarget. Iestatījumi:

Name: telechange1 (un atbilstoši destination, abiem pārējiem telechange2 un telechange3)

Target: teleport (visiem trīs raksti vienu un to pašu)

New target: teletarg1 (katrs changetarget lai atbilst savam destination! Abiem pārējiem būs teletarg2 un teletarg3)

3. Ieliec kaut kur kartē vienu p-ent trigger_auto un vienu p-ent multi_manager. Settingi:

trigger_auto

Target: telemanager

multi_manager

Name: telemanager

Tagad iekš multi_manager iestatījumiem spied uz [smart edit] pogas, spied [Add], pie Key raksti telechange1, pie value 0.1; spied [OK]. Tādā pašā veidā pievieno abus pārējos telechange, bet pie value katram nākamajam liec 0.1 klāt (tas ir, telechange2 būs 0.2; utt.)

Kā pēdējo pievieno pašu multimanager (tas ir, pie Key raksti telemanager un pie value būs 0.4)

Visbeidzot, Flags sadaļā ieliec ķeksi pie multithreaded

[Nobeigums]

Tavs nejaušais teleports ar trīs dažādiem galamērķiem ir gatavs. Pašam to izmēģinot, ievēroju, ka katrs galamērķis atkārtojas vairākas reizes pēc kārtas. Ja kaut kas nav skaidrs, apskati sekojošos divus attēlus. Neliels shematisks zīmējums, kas cerams ļaus labāk saprast sistēmu, jo vēlreiz atgādinu - 99% gadījumu pie Name un citiem var rakstīt ko vien gribi, tikai jābūt atbilstībai! Tāpat varat taisīt teleportus ar daudz vairāk galamērķiem (šķiet, viens multi_manager var apstrādāt līdz 12 vienībām, ieskaitot sevi).

Iekš Hammer:

http://bildites.lv/images/dvfzc1wpakhnoxu20bz.jpg

Shēma:

http://bildites.lv/images/ct1m71m4g85v81ca5n1.jpg

Edited by nelietis
Link to comment
Share on other sites

Maza viltība:

Ja nevēlies, lai tavu trigger_teleport redz caur BSPViewer, tad liec viņam nevis aaatrigger, bet gan NULL tekstūru.

Noder tiem, kas nevēlas, lai kāds uzzina, kur ir slepenās istabas un citas fīčas.

Par BSPViewer nezināju.. laba doma, man pašam noderēs.

EDIT: Papildināju pamācību par nejaušajiem galamērķiem. Kam interesē, lai apskatās. Kaut kur lasīju par vēl vienu veidu, kurā jaizmanto env_beam, taču diemžēl nevaru atrast. Vienīgā atsauce ir vieta bez pamācības, tikai pieminēts ka tā var izdarīt.

EDIT2: Svarīgāko es izcēlu ar ziliem burtiem, citādi tas posts jau sāk palikt pārāk smags. Tiem, kas zina kā darboties ar pamata lietām, neko vairāk lasīt nevajadzēs. Pārējais priekš iesācējiem.

Edited by nelietis
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...