Příspěvek: 1
• Stránka 1 z 1
[*T] Náhoda
Zdravím, dnes si niečo povieme, ako spravíme jednoduchu náhodu a ako taká náhoda funguje. Náhoda sa da využiť napr. na JB mapách, pri hraciej kocke alebo pri hre 123 v kleci.
Začneme tým, že si spravíme nejakú klec, ktorá bude určená na náhodu (4 bloky alebo 3 rady, ...), ja som zvolil 4 bloky.
(pozn.: predtým, ako začnete pracovať na celej obruči náhody, spravte si na úplnom dne mapy dutý SKY-brush, kde celú obruč dáme. Dôvod? Robí sa to kvôli tomu, aby hráč strelbou neaktivoval jeden z button_targetou = menej známy bug na jb_snow, ktorý výjde málokedy.)
Ďalším krokom je náhodnosť samotná. V tomto hlavnú rolu hraje entita env_beam, ktorá podporuje funkciu náhody.
Name a Start Entity budú rovnaké: beam_random
End Entity: targ_random
Damage / second: 255, a vo Flags zaškrtneme Toggle a Random Strike.
Ďalej vytvoríme arch o veľkosti 128w 128l a 16h s texturou NULL tak, aby v strede obruče brushov bola entita env_beam. Po potvrdení sa nám objaví takéto okno, ktoré si nastavíme podľa obrázku.

Hodnotu 'Number of sides' nastavíme podľa toho, na koľkých blokoch chceme skúsiť náhodnosť (v tomto prípade 4).
Zo všetkých týchto blokov spravíme entity button_target, ktorých Target bude na mm_random_1 (2, 3, 4). Ďalej za každý button_targetom vytvoríme entitu info_target (v tomto prípade 4), ktoré budu mať rovnaký Name (targ_random). Takto vyzerá hotová obruč:

Obruč máme za sebou, teraz prejdeme k 'hraciej ploche, kde sa bude náhoda testovať?'
Ja použijem predpripravený box z mojej mapy. Prvé čo spravíme, je tzv. 'efekt smrti' (plamene, spikes...) Ja použijem 2x env_sprite plameňu na jeden blok (\valve\sprites\fire.spr) s Render modom Additive.
----------------------------------------------------------------------------------------------------------------------------------------
Každé 2 env_sprity flamov na rovnakom bloku budu mať rovnaký Name (na jednom políčku spr_flame_1, na druhom spr_flame_2,...)

Vytvoríme 1x trigger_relay s menom "rl_flame_1_off" a Targetom "spr_flame_1". Ešte ostáva trigger_hurt, ktorého veľkosť bude závisieť na veľkosti bloku.
Name: hurt_random_1,
Damage: 255, a vo Flags zaškrtneme Start Off.
Ďalší na rade je multi_manager. Name mu dáme "mm_random_1", vypneme SmartEdit a doň vpíšeme:
Key: hurt_random_1
Value: .001
Key: spr_flame_1
Value: .001
Key: hurt_random_1
Value: (čas, po koľkých sekundách sa hurt vypne, napr. 5)
Key: rl_flame_1_off
Value: (čas, po koľkých sekundách plamene zmiznú, napr. 5)

----------------------------------------------------------------------------------------------------------------------------------------
Obsah medzi čiarou opakujte toľko krát, dokým si nevyplníte celú hraciu plochu (samozrejme nezabudnite premeniť všetky čísla, abv Vám napríklad mm_random_2 neaktivoval veci s číslom _1).
Takto vyzerá jeden hotový blok:

Ďalší krok je tlačítko a hlavný multi_manager. Vytvoríme si jednoduché tlačítko pomenované btn_random a Targetom mm_random. Taktiež 2x trigger_changetarget, aby sme mohli tlačítko vypínať:
Name: ct_btn_random_on
Target: btn_random
New Target: mm_random
Name: ct_btn_random_off
Target: btn_random
New Target: (políčko necháme prázdne, nevypĺňame nič)
Ďalej si vytvoríme multi_manager s menom mm_random, a vyplníme ho následovne podľa screenu:

Do mapy som pridal taktiež 3 sekundový odpočet, vy môžete pridať napr. 123 zvučku z jb_rush alebo niečo vlastné.
Ak ste spravili všetko podľa návodu, mapu skompilujeme, a môžeme si našu náhodu vyskúšať.
Čo sa vlastne deje? Po spustení tlačítka (btn_random) sa aktivuje hlavný multi_manager náhody (mm_random) a tlačítko sa vypne (ct_btn_random_off), odpočíta sa zvuk (amb_blip, amb_bell) a po 3 sekundách preblikne env_beam (beam_random) medzi jednym z button_targetov, ktorý aktivuje jeden multi_manager spušťajúc plamene (spr_flame_1) a trigger_hurt (hurt_random_1) na 5 sekúnd. Po 9.5 sekundách sa tlačítko opäť zapne (ct_btn_random_on), a náhoda sa dá použiť znovu.
Pre prípad sem prikladám príkladovú mapu + .rmf súbor (heslo: gs), kde si to môžete vyskúšať, alebo si testovaciu mapu pozrieť v editore ak Vám je niečo nejasné. Akby ste náhodou niečomu nerozumeli, napište mi PMku s úryvkom postu, ktorému nerozumiete.
------------------------------------------
Schválené a vyskúšané - LOCK
chickEZ [23 bře 2019]
Začneme tým, že si spravíme nejakú klec, ktorá bude určená na náhodu (4 bloky alebo 3 rady, ...), ja som zvolil 4 bloky.
(pozn.: predtým, ako začnete pracovať na celej obruči náhody, spravte si na úplnom dne mapy dutý SKY-brush, kde celú obruč dáme. Dôvod? Robí sa to kvôli tomu, aby hráč strelbou neaktivoval jeden z button_targetou = menej známy bug na jb_snow, ktorý výjde málokedy.)
Ďalším krokom je náhodnosť samotná. V tomto hlavnú rolu hraje entita env_beam, ktorá podporuje funkciu náhody.
Name a Start Entity budú rovnaké: beam_random
End Entity: targ_random
Damage / second: 255, a vo Flags zaškrtneme Toggle a Random Strike.
Ďalej vytvoríme arch o veľkosti 128w 128l a 16h s texturou NULL tak, aby v strede obruče brushov bola entita env_beam. Po potvrdení sa nám objaví takéto okno, ktoré si nastavíme podľa obrázku.

Hodnotu 'Number of sides' nastavíme podľa toho, na koľkých blokoch chceme skúsiť náhodnosť (v tomto prípade 4).
Zo všetkých týchto blokov spravíme entity button_target, ktorých Target bude na mm_random_1 (2, 3, 4). Ďalej za každý button_targetom vytvoríme entitu info_target (v tomto prípade 4), ktoré budu mať rovnaký Name (targ_random). Takto vyzerá hotová obruč:

Obruč máme za sebou, teraz prejdeme k 'hraciej ploche, kde sa bude náhoda testovať?'
Ja použijem predpripravený box z mojej mapy. Prvé čo spravíme, je tzv. 'efekt smrti' (plamene, spikes...) Ja použijem 2x env_sprite plameňu na jeden blok (\valve\sprites\fire.spr) s Render modom Additive.
----------------------------------------------------------------------------------------------------------------------------------------
Každé 2 env_sprity flamov na rovnakom bloku budu mať rovnaký Name (na jednom políčku spr_flame_1, na druhom spr_flame_2,...)

Vytvoríme 1x trigger_relay s menom "rl_flame_1_off" a Targetom "spr_flame_1". Ešte ostáva trigger_hurt, ktorého veľkosť bude závisieť na veľkosti bloku.
Name: hurt_random_1,
Damage: 255, a vo Flags zaškrtneme Start Off.
Ďalší na rade je multi_manager. Name mu dáme "mm_random_1", vypneme SmartEdit a doň vpíšeme:
Key: hurt_random_1
Value: .001
Key: spr_flame_1
Value: .001
Key: hurt_random_1
Value: (čas, po koľkých sekundách sa hurt vypne, napr. 5)
Key: rl_flame_1_off
Value: (čas, po koľkých sekundách plamene zmiznú, napr. 5)

----------------------------------------------------------------------------------------------------------------------------------------
Obsah medzi čiarou opakujte toľko krát, dokým si nevyplníte celú hraciu plochu (samozrejme nezabudnite premeniť všetky čísla, abv Vám napríklad mm_random_2 neaktivoval veci s číslom _1).
Takto vyzerá jeden hotový blok:

Ďalší krok je tlačítko a hlavný multi_manager. Vytvoríme si jednoduché tlačítko pomenované btn_random a Targetom mm_random. Taktiež 2x trigger_changetarget, aby sme mohli tlačítko vypínať:
Name: ct_btn_random_on
Target: btn_random
New Target: mm_random
Name: ct_btn_random_off
Target: btn_random
New Target: (políčko necháme prázdne, nevypĺňame nič)
Ďalej si vytvoríme multi_manager s menom mm_random, a vyplníme ho následovne podľa screenu:

Do mapy som pridal taktiež 3 sekundový odpočet, vy môžete pridať napr. 123 zvučku z jb_rush alebo niečo vlastné.
Ak ste spravili všetko podľa návodu, mapu skompilujeme, a môžeme si našu náhodu vyskúšať.
Čo sa vlastne deje? Po spustení tlačítka (btn_random) sa aktivuje hlavný multi_manager náhody (mm_random) a tlačítko sa vypne (ct_btn_random_off), odpočíta sa zvuk (amb_blip, amb_bell) a po 3 sekundách preblikne env_beam (beam_random) medzi jednym z button_targetov, ktorý aktivuje jeden multi_manager spušťajúc plamene (spr_flame_1) a trigger_hurt (hurt_random_1) na 5 sekúnd. Po 9.5 sekundách sa tlačítko opäť zapne (ct_btn_random_on), a náhoda sa dá použiť znovu.
Pre prípad sem prikladám príkladovú mapu + .rmf súbor (heslo: gs), kde si to môžete vyskúšať, alebo si testovaciu mapu pozrieť v editore ak Vám je niečo nejasné. Akby ste náhodou niečomu nerozumeli, napište mi PMku s úryvkom postu, ktorému nerozumiete.
------------------------------------------
Schválené a vyskúšané - LOCK
chickEZ [23 bře 2019]
alf
-
ackocc - Drbna
- Příspěvky: 255
- Registrován: 18 črc 2017, 08:21
[*T] Náhoda
A uz jsi vyzkousel treba tohle? 

-
Rumcajz - Patriot
- Příspěvky: 97323
- Registrován: sob 29.led 1999 0:11:22
Příspěvek: 1
• Stránka 1 z 1
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků