Tutoriály, návody a užitečné informace pro začínající i pokročilé.

Základy - dvere, tlačítka, ...

Příspěvekod chickEZ » 02 čer 2019, 10:13

V tomto topic-u sú vysvetlené základné funkcie a ako ich spraviť.

Ak ste začiatočník, radšej treba začať s niečím jednoduchým. Preto sme si tu pre vás pripravili tie najjednoduchšie
veci vo svete hammer-u. Ak by bolo niečo nejasné, pýtajte sa. ( podpora-f719.html )


Zo začiatku, vložte si do hammeru / jack-u 3 súbory s textúrami (.wad súbory) - cstrike.wad , halflife.wad , zhlt.wad

======================================================================================

Obsah:


======================================================================================

Ostatné dorobím neskôr.
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Základy - dvere, tlačítka, ...

od Rumcajz » 02 čer 2019, 10:13

A uz jsi vyzkousel treba tohle? Rumcajz
Rumcajz
Rumcajz
Patriot
Rumcajz
 
Příspěvky: 97323
Registrován: sob 29.led 1999 0:11:22

Posúvacie dvere

Příspěvekod chickEZ » 02 čer 2019, 11:55

Posúvacie dvere

Čo bude potreba?:

  • budova, do ktorej sa bude vchádzať
  • func_door
  • 2x trigger_multiple
==================================================================================

Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Obrázek

Do otvoru vytvoríme brush s texturou nejakých dverí. Najlepšie je si spraviť šírku dverí minimálne o 1 hu (hammer unit) menší z každej strany, ako je šírka steny. Je to kvôli tomu, aby sa v hre nepretínali 2 textury.

(Ja som dal o 4 hu menej)

Obrázek

Označíme si dvere a pomocou "CTRL+T" vytvoríme solid entitu, kde si nastavíme func_door.

==================================================================================

Ideme nastavovať (bude nám potreba iba tieto parametre):

    Speed:
      150 (rýchlosť posunu dverí)
    Move sound:
      Snappy Metal Door (môžte si zvoliť aj iný zvuk - keď sa budú posúvať dvere)
    Stop sound:
      Snappy Metal Stop (môžte si zvoliť aj iný zvuk - keď sa dvere zastavia)
    delay before close, -1 stay open:
      3 (čas, ako dlho budú dvere otvorené)
    Lip:
      -1 (o koľko viac hu sa posunú dvere - používam '-1' kvôli tomu, aby sa textúry nepretínali)
    Damage inflicted when blocked:
      0 (koľko vezme hráčovi HP, keď ich blockne)
    Invisible:
      no (či budú neviditeľné dvere - chcem ich vidieť, tak vždy bude 'no')

Treba si taktiež aj určiť, kde sa budú tie dvere posúvať. V pravom rohu máte čierny kruh, ktoré to určuje. Uhol určujeme podľa top (x/y) kamery. Keďže som spravil dvere z ľavej strany, tak čiaru dám hore alebo dole.

Obrázek

Taktiež si môžme určiť, či sa nám dvere posunú do hora alebo do dola.

Obrázek


==================================================================================

Keď sa dotkneme dverí, otvoria sa. Ale my si môžme spraviť aj spúšťač, ktorý keď budeme pred dverami, tak sa aktivujú. Na to bude potreba trigger_multiple.

Najprv si ešte nastavíme meno dverí, aby ich ten spúšťač zapol.

Obrázek

Vytvoríme si teda brush, ktorý bude s textúrou AAAtrigger.

Obrázek

Z tohto brushu si vytvoríme solid entitu trigger_multiple a nastavíme, aby spúšťač odkazoval na názov dverí:

    Target:
      doors_01

Obrázek

Bude potreba nastaviť aj čas, kedy sa nám spúšťač znova zapne. Čas nastavíme rovnaký, aký máme pri dverách ('delay before close')

    Delay before reset:
      3

Obrázek

Aby sme sa dostali vonku z budovy, tak si duplikujeme (SHIFT + ťaháme) 'trigger_multiple' a dáme aj na druhú stranu dverí (v budove).

Obrázek

==================================================================================

PRÍKLADOVÁ MAPA

==================================================================================

Samozrejme, dá sa nastaviť aj spúšťač, ktorý bude tlačítko. To si vysvetlíme pri tutoriály na tlačítko.

Na záver ešte vysvetlivky vo flags:


    'func_door'
      Starts open: Dvere sa otvoria na začiatku kola.
      Passable: Dvere sú priechodné - môžme prejsť cez ne aj keď sú otvorené.
      Toggle: Dvere sa neotvoria/nezatvoria, dokým ich znova neotvoríte/nezavrete (napr. dotykom, alebo tým spúšťačom - otvoriť, čakať 3 sekúndy - zavrieť).
      Use only: Dvere sa otvoria len pomocou "E" (+use).
      Not in Deathmatch: Dvere budú fungovať len v singleplayer-i.

    'trigger_multiple'
      No players, entity only: Hráč nemôže spustiť tento spúšťač, iba cez akúkoľvek inú entitu.
      Pushables: Spúšťač môže zapnúť aj brush, ktorý je vo funkcií func_pushable.
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Rotačné dvere

Příspěvekod chickEZ » 02 čer 2019, 13:20

Rotačné dvere

Čo bude potreba?:

  • budova, do ktorej sa bude vchádzať
  • func_door_rotating
  • zhlt.wad (hlavne textúra ORIGIN)
==================================================================================

Ako prvé, vytvoríme si nejakú budovu, ktorá bude mať otvor na dvere.

Obrázek

Do otvoru vytvoríme brush s texturou nejakých dverí. Na kraji dverí vytvoríme ďalší malý brush, ktorý bude mať textúru origin. Ten brush musí byť tak, aby stred (X) toho brushu bol na hrane dverí (podľa top (x/y) kamery).

Obrázek
Obrázek

Označíme si obidva brushe (dvere + origin brush), a vytvoríme z nich solid entitu func_door_rotating.

==================================================================================

Ideme nastavovať (bude nám potreba iba tieto parametre):

    Speed:
      100 (rýchlosť posunu dverí)
    Move sound:
      Servo (Sliding) (môžte si zvoliť aj iný zvuk - keď sa budú posúvať dvere)
    Stop sound:
      Chunk (môžte si zvoliť aj iný zvuk - keď sa dvere zastavia)
    delay before close, -1 stay open:
      3 (čas, ako dlho budú dvere otvorené)
    Lip:
      0 (o koľko viac hu sa posunú dvere - používam '0' pri func_door_rotating, keďže tam nie je potreba, aby sa niekde viac posunuli dvere)
    Damage inflicted when blocked:
      0 (koľko vezme hráčovi HP, keď ich blockne)
    Invisible:
      no (či budú neviditeľné dvere - chcem ich vidieť, tak vždy bude 'no')

==================================================================================

Pri flags X axis a Y axis určujeme uhol rotácie podľa čierneho kruhu v pravom rohu.

Obrázek

==================================================================================

PRÍKLADOVÁ MAPA

==================================================================================

Dvere máme hotové.

Vysvetlivky vo flags:

    'func_door_rotating'
      Starts open: Dvere sa otvoria na začiatku kola.
      Reverse dir: Ak chcete nahnevať hráča - dvere sa budú otvárať v smere, kde je hráč.
      Passable: Dvere sú priechodné - môžme prejsť cez ne aj keď sú otvorené.
      One-Way: Dvere sa budú otvárať len v jednom smere, ako ich určite.
      Toggle: Dvere sa neotvoria/nezatvoria, dokým ich znova neotvoríte/nezavrete (napr. dotykom, alebo tým spúšťačom - otvoriť, čakať 3 sekúndy - zavrieť).
      X axis Dvere sa budú rotovať po X osi.
      Y axis: Dvere sa budú rotovať po Y osi.
      Use only: Dvere sa otvoria len pomocou "E" (+use).
      Not in Deathmatch: Dvere budú fungovať len v singleplayer-i.
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Tlačítko

Příspěvekod chickEZ » 02 čer 2019, 14:19

Tlačítko

Čo bude potreba?:

  • nejakú vec, ktorú budeme spúšťať (na príklad dám dvere)
  • func_button
  • func_door
==================================================================================

Ako prvé, vytvorím si nejakú vec, ktorú budem spúšťať - napr. dvere.

Obrázek

Z dverí si spravíme func_door (tutoriál na dvere) a nastavíme - Name: doors_01. Ďalej si vytvoríme nejaký brush, ktorý bude mať textúru tlačítka.

Označenie pre tlačítka je +0 (vypnuté tlačítko) a +A (zapnuté tlačítko).

Obrázek

Z tohto brushu vytvoríme solid entitu func_button, kde nastavíme nasledovne:

  • Target:
      doors_01 (odkazujeme na dvere)
  • delay before reset (-1 stay):
      3 (čas, za koľko sa nám tlačítko znova obnoví)
    Vo flags zaškrtneme Don't move.


    Obrázek

==================================================================================

Pokiaľ chceme, aby sa dvere otvárali a zatvárali vtedy, keď sa stlačí tlačítko, tak nastavíme takto:

    func_button
    • Target:
        doors_01

      Vo flags zaškrtneme Don't move a Toggle.

    Obrázek
    -------------------------------------------------------------------------
    func_door

      Vo flags zaškrtneme Toggle.

    Obrázek

==================================================================================

PRÍKLADOVÁ MAPA

==================================================================================

Dvere na tlačítko máme hotové.

Vysvetlivky vo flags:

    'func_button'
      Don't move: Tlačítko sa nepohne, keď bude stlačené.
      Toggle: Tlačítko sa nebude resetovať (bude on/off ako spínač)
      Touch activates: Spustenie tlačítka dotykom.
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Rebrík

Příspěvekod chickEZ » 03 čer 2019, 19:50

Rebrík

Čo bude potreba?:

  • budova, kam sa bude liezť
  • func_wall
  • func_ladder

==================================================================================

Spravíme si nejakú vyššiu budovu, kam budeme liezť - napr. na strechu.

Obrázek

Niekde tam si vytvoríme ďalší brush s texturou rebríka, ktorý bude pred budovou a od podlahy vysoký až po hornú hranu budovy, široký 32 hu a hlboký 2 hu (môže byť aj viac hlboký, najlepšie je ale mať 1 - 2 hu).
Ak rebrík nemáme vycentrovaný, tak pomocou toolu Texture Application Mode (Shift+A) vycentrujeme (C) - v toole si vyberieme mód Lift+Select, v 3D kamere označíme prednú stenu rebríka a dáme (C)

Obrázek
Obrázek

Z tohto brushu rebríka si vytvoríme solid entitu func_wall, kde si nastavíme:

    Render Mode:
      Solid - no light (aby nám zmizla modrá (na obrázku čierna) textúra)
    Invisible:
      no

Pred rebrík si vytvoríme ďalší brush, ktorý bude mať textúru AAAtrigger a dáme ho hneď pred náš rebrík (func_wall) - musia sa brushe dotýkať.

Obrázek

Z tohto brushu s texturou AAAtrigger vytvoríme solid entitu func_ladder, kde netreba nič nastavovať. Hlavne je iba, aby sa tie brushe dotýkali seba.

Obrázek

==================================================================================

Rebrík máme hotový.

PRÍKLADOVÁ MAPA

==================================================================================
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Voda

Příspěvekod chickEZ » 03 čer 2019, 20:08

Voda

Čo bude potreba?:

  • koryto / bazén
  • func_water

==================================================================================

Vytvoríme si nejaké koryto, alebo nejaký bazén, kde budeme mať vodu.

Obrázek

Do vnútra toho koryta, vytvoríme ďalší brush s textúrou vody. Výšku vody si určite vy, ale krajšie to vypadá, keď je o pár hu menej. Tento brush sa musí dotýkať vnútorných stien koryta / bazéna.

Obrázek

Z brushu vody si vytvoríme solid entitu func_water a v nastavení nás budú zaujímať iba 2 veci:

    Contents:
      Water (čo obsahuje ten brush - vodu, dá sa aj láva, ktorá uberá HP)
    Wave Height
      0.2 (výška vĺn - 0 žiadne vlny)

Pokiaľ chceme, aby vodu bolo menej vidno, tak si nastavíme k tomu aj:

    Render mode:
      Texture some light
    FX Amount (1 - 255)
      130 (cca taký stred, môžte si aj pridať hodnotu alebo ubrať)

Vo flags je všetko odškrtnuté!

==================================================================================

Samozrejme, je tam veľa vecí v nastavovaní, lebo táto funkcia slúži taktiež ako dvere - napr. pri JB atrakcií - klietka s vodou - vodu vysunie hore, aby utopila hráča.

PRÍKLADOVÁ MAPA

==================================================================================
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Teleport

Příspěvekod chickEZ » 14 srp 2019, 12:34

Teleport

Čo bude potreba?:

  • nejaká budova alebo miestnosť, kde sa chceme teleportovať
  • trigger_teleport
  • info_teleport_destination
  • env_sprite (nepotrebné až tak, ale pre príklad dám)

==================================================================================

Prvej si vytvoríme miesto, odkiaľ a kam sa budeme teleportovať. Ja si vytvorím jednoduchú stenu.

Vytvorím entitu env_sprite, kde nastavíme:

    Render Mode:
      Additive
    Sprite Name:
      vyberieme si zo zložky sprites (valve/sprites ../.. cstrike/sprites) nejaký teleport
      - pr. valve/sprites/tele1.spr
    Vo flags zaškrtneme:
      Start On

Obrázek

==================================================================================

Ďalšia vec je, že si vytvoríme brush s texturou AAAtrigger a dáme ho do nášho env_sprite
(aby sa pretínali). Z tohto brushu vytvoríme entitu trigger_teleport.

Obrázek

Túto entitu nastavíme takto:

    Target:
      td_tele1

==================================================================================

Teraz ideme vytvoriť miesto, kam sa portneme. Presuniem sa teda na druhú stranu múru.

Tam si vytvorím entitu info_teleport_destination a nastavím ho takto:

    Name:
      td_tele1
    Pitch Yaw Roll (Y Z X):
      nastavíme si pomocou čierneho kruhu, ktorým smerom sa hráč bude pozerať,
      keď sa teleportne - podľa top kamery

Obrázek

==================================================================================

Teleport máme hotový. Môžme vytvoriť taktiež spätný teleport. Postup je rovnaký.

PRÍKLADOVÁ MAPA

==================================================================================
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Zbrane na mape

Příspěvekod chickEZ » 14 srp 2019, 14:54

Zbrane na mape

Čo bude potreba?:

  • miesto, kde budú položené zbrane/položená zbraň
  • armoury_entity
==================================================================================

Vytvoríme miestnosť, v ktorom budú zbrane.

Obrázek

Spravil som si tam stôl, takže na ten stôl budem dávať zbrane. Na to potrebujeme entitu armoury_entity.

Entitu treba dať tak, aby sa spodok entity dotýkal povrchu (napr. stola) brushu. *obr. 1

Nastavujeme armoury_entity:
    Item:
      weapon_awp - vložili sme si AWP, je tam aj viac na výber (viz. obrázok *obr. 2)
    Count:
      1 - počet (v našom pripade) AWP-čiek, ak dáme napr. 5, bude tam naraz 5x AWP

obr. 1
Obrázek
------------------------------------------------------------------
obr. 2
Obrázek

==================================================================================

A máme na mape zbrane.

PRÍKLADOVÁ MAPA

==================================================================================
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04

Modrá textura ( '{' )

Příspěvekod chickEZ » 15 srp 2019, 17:36

Modrá textura ( '{' )

Čo bude potreba?:

  • func_wall
  • nejaká textura s modrým pozadím (napr. plot)
==================================================================================

Spravíme si záhradku, ktorú oplotíme. Jednoducho.

Obrázek

Oplotíme to brush-mi s texturou plotu (background je modrý a začiatok mena textúry začína zátvorkou " { " ):

Obrázek
Obrázek

Teraz si označíme všetky brushe, ktoré slúžia ako plot a spravíme z nich jednu entitu func_wall.

Nastavujeme túto entitu:

    Render Mode:
      Solid - no light - taktiež môžme dať aj Additive alebo Texture - some light.

Additive moc neodporúčam, keďže to nevypadá moc pekne a vyžaruje to dosť svetlá.. ale texture - some light nie je na škodu.

Máme teda výsledok. Najlepšie je si aj onullovať z vrchu, a na miestach, kde končí jeden brush plotu (nemyslím tým celú entitu - viz. obrázok NULL).. takýto výsledok vypadá krajšie. Viac o nullovaní nájdete tu - optimalizacia-mapy-part-1-t206892.html

Obrázek

NULL
Obrázek

==================================================================================

Máme hotovo! :)

PRÍKLADOVÁ MAPA

==================================================================================
XD XD XD
Uživatelský avatar
chickEZ
Spamerův sluha
Spamerův sluha
 
Příspěvky: 989
Registrován: 29 lis 2016, 08:04


Zpět na Tutoriály

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků