tvorbamap.cz

tvorbamap.cz

Navigace

bullet.gif

Domů


bullet.gif

Články


bullet.gif

Ke stažení


bullet.gif

Fórum


bullet.gif

FAQ



bullet.gif

Herní server


bullet.gif

Chat


bullet.gif

Převod jednotek



bullet.gif

Soutěž


bullet.gif

Síň slávy



bullet.gif

Podpořte nás


bullet.gif

Kontakt


bullet.gif

Vyhledávání


bullet.gif

RSS


Herní server

Shoutbox

Pro přidání zprávy do shoutboxu, musíte být přihlášeni.

14.07.2021 10:26:34
škoda že chcípnul jabber chat. Od té doby je tu všemu konec definitivní.
±0


15.06.2021 13:19:19
mňa by zaujímalo, či sem Backup ešte niekedy chodí. Škoda, že už nemá Twitter účet.
±0


02.02.2021 20:18:56
Choj khere
±0


18.01.2021 11:58:27
zajimave :D
+1


08.11.2020 20:24:23
Jasne!
±0


07.11.2020 15:36:20
Tak co, zejtřejší tradiční nedělní Nightmix platí?
+1


07.11.2020 15:34:38
:( :|
+1


09.09.2020 19:44:32
wow ale v apríli to bude 10 rokov, od kedy som sa registroval na túto stránku...
±0


09.09.2020 19:39:59
našiel som starý účet, ale netuším na akú emailovú adresu bol účet Habax, takže RIP, tam si asi heslo nezresetujem.
±0


21.03.2020 10:15:23
Nazdar curaci. Jeste to hrajete? 😂😂💪🏻 Neda si nekdo hru?
+1


Číst diskuzi

 Tisk diskuze
[Oříšek] Problém: Svítící blok, když se na něm stojí
Roadrunner
#1 Vytisknout diskuzi
Přidané 22.09.2016 23:40
Člen

Hodnocení: 0 (?%)
Příspěvek: 4
Založený: 22.09.16

Zdravím všechny! V prvé řadě bych chtěl poděkovat Backupovi za jeho super články, které inspirovaly a pomohly mě i kamarádovi blue_magic-ovi. Jsme tví největší fanoušci!

Teď k věci. Hrajem si trošku s hammerem a snažíme se vyrobit block, který se rozsvítí (nebo nějaké světlo), když na něm budem stát. Nechcem ale přitom použít trigger_multiple, protože to nebude správně fungovat při více hráčích.

V přiložené příkladové mapě mám řešení následující:
Ingredience:
-1x func_button s Touch activates flagem. Slouží jako samotný blok, na kterém budem stát. Vše se spustí když se jej dotknem.
-2x identické light entity na stejné pozici. Potřebuji nastavit dobu svitu světla a nepřišel sem na to jinak než pustit sekvenci dvou navazujících světel po sobě.
-1x multi_manager s multithreaded flagem. Ten nám zavolá vše, co potřebujem.
-2x trigger_relay. Jediný důvod použití je, že v multi_manageru nemůžu použít stejný target 2x zdá se.

Teď jak to funguje?
Dotknem se bloku (tlačítka), zavolá nám multi_manager. Ten nám ihned (0 delay) zavolá první trigger_relay, který spustí první světlo. Po 8 milisekundách se toto světlo vypne (tentokrát přímo z multi_manageru) a ve stejnou dobu se zapne druhé světlo přes druhý trigger_relay. Opět svítí 8ms a vypne se. Dohromady to je 16ms a tady nastupuje opět náš blok func_button, který má delay before reset taky 16ms. Takže se dvě světla za sebou pořád pouští v cyklu, dokud stojíme na tlačítku.

Jede to krásně plynule bez žádného blikání (blikání je fuj, to nechcem). Je tu ale jedno velké ALE.

-Pokud stojíme na bloku zhruba minutu, spadne cs s hláškou "ED_Alloc: no free edicts". Zřejmě se ten cyklus nějak správně neresetuje a po chvíli se nahromadí velké množství/kopií entit? Po menším výzkumu internetu jsem nepřišel na spojení tohohle erroru s tímhle vynálezem.
Netušíš prosím, Backupe, co s tím? Nějaký nápad, proč to dělá? Zkoušeli jsme i jiné podobné koncepty, i takové, které nepadají, ale většinou blikají nebo poblikují. V příloze je i varianta s trigger_multiple, pro demonstraci, jak to má fungovat. (Je to ten blok, co spouští červené světlo. Ten druhý blok je ten náš problematický.)

Budeme rádi za jakékoliv rady. Případně, kdyby byl nápad na lepší řešení s méně entitama, jsme jen pro.

Díky za odpovědi.
Roadrunner přiložil následujíci soubor:
z_default.rmf
Upravil/a Roadrunner dne 23.09.2016 12:54
±0
 
Backup
#2 Vytisknout diskuzi
Přidané 23.09.2016 18:21
Avatar člena

Hlavní Administrátor

Hodnocení: +5310 (95%)
Příspěvek: 1218
Založený: 12.12.09

Něco jsem zkusil, je to v příloze.

Jak nefunguje trigger_multiple ve více hráčích?

K "no free edicts" - multithreaded trigger_multiple a různé zpožděné entity vytváří za běhu nové entity. Ty by se měly po splnění jejich účelu samy zlikvidovat aby nedocházelo k vyčerpání možného počtu entit.

Napadá mě jedno vysvětlení jak může k takovému vyčerpání dojít:
V paměti serveru se udržují jednotlivé entity a každá má nějaké pořadové číslo. Když se vytváří nová entita, vezme se nejvyšší pořadové číslo co existuje, zvětší se o jedna a to se použije jako pořadové číslo pro novou entitu. Když se nějaká entita smaže, její pořadové číslo se uvolní a to pak zas někdy může použít nějaká nová entita.
Když pak hráč stojí na tom tlačítku a vytváří samé nové entity, zabírají se vyšší a vyšší čísla. Ty spodní se sice uvolňují, ale to server neví, ten pracuje vždy s nejvyšším pořadovým číslem a přičítá jedničky. A když pak vidí že už je moc vysoké, zatrhne vytváření nových entit, protože si myslí, že už pro ně není místo.
Backup přiložil následujíci soubor:
bac_kouzlo.rmf
±0
 
http://backup.tvorbamap.cz/
Roadrunner
#3 Vytisknout diskuzi
Přidané 23.09.2016 21:33
Člen

Hodnocení: 0 (?%)
Příspěvek: 4
Založený: 22.09.16

No já ten multiple použil tak, že jsem dva různé chytře rozmístil na a okolo bloku, aby se to zapínalo podle pozice hráče. Případně dva překrývající se multiply, kde jeden měl větší prioritu. No a při více hráčích stojících v těch multiplech to poblikuje.

Každopádně jsem ale zkoukl tvůj vynález a zdá se, že fachčí, jak má! Použití game_counteru se zdá být tou správnou cestou pro rychlé iterace cyklů. Tak ti moc děkuji!
±0
 
deagle
#4 Vytisknout diskuzi
Přidané 15.12.2016 17:08
Člen

Hodnocení: +18 (75%)
Příspěvek: 35
Založený: 21.07.10

chcem toto bac_kouzlo.rmf použiť pri tvorbe jb mapy učel by to malo taky že be som videl v ktorej cele su ešte väzni lenže mam s tym problem na žačiatku kola všetko svieti aj ked tam nikto nieje ale ked vojdem do cely a vyjdem tak to svetlo zhasne čiže to funguje dobre len chcem aby bolo zhasnute na začiatku kola a rozsvietene iba tam kde niekto je
±0
 
Backup
#5 Vytisknout diskuzi
Přidané 17.12.2016 15:06
Avatar člena

Hlavní Administrátor

Hodnocení: +5310 (95%)
Příspěvek: 1218
Založený: 12.12.09

Tak v tom případě stačí tomu světlu nastavit ve Flags Initially dark, ne?
±0
 
http://backup.tvorbamap.cz/
Přejít na fórum:

Přihlášení

Jméno

Heslo



Nejste členem?
Zaregistrujte se!

Ztracené heslo?

Seznam článků

Diskuze fóra

Nejnovější příspěvky


bullet.gif

Neexistují...

(Asiimovicek)
bullet.gif

Miznúce objekty

(Gyuki)
bullet.gif

trigger

(nifty)
bullet.gif

Chyba kompilace...

(Backup)
bullet.gif

Svetlo sa nec...

(boxolop1)
bullet.gif

map change fa...

(boxolop1)
bullet.gif

Svetlo

(boxolop1)
bullet.gif

MAPY

(Slivka)
bullet.gif

Pády serveru př...

(latins)
bullet.gif

Restartování entit

(Backup)

Odkazy

Kotelna Mix-Arena.eu - Gaming portál AMX Mod X nonsteam.cz - seznam CZ/SK Non-Steam Counter Strike serverů

Twitter & FB


Kdo je on-line

bullet.gif Hosté on-line: 1

bullet.gif Členové on-line: 0

bullet.gif Registrovaní členové: 943
bullet.gif Nejnovější člen: SpokyIDK