Diskuze: Uložení všeho
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 13 zpráv z 13.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
A co všechno potřebuješ ukládat? "všechno se vším všudy" je celkem
široký pojem 
No nevím, co všechno by se mělo nezbytně ukládat, aby to fungovalo jak má. Používám gm 8.0 a než jsem začal používat surface, tak to vypadalo, že ten zabudovaný game_save stačí. Mám ve hře persistentní roomy, mezi kterýma můžu přecházet tam a zpět..globální proměnné...Ten surface potřebuju uložit, protože mám persistentní roomy, kde při určité údálosti se vytvoří surface, který mi slouží k tomu, aby byla ve hře noc. No a problém vzniká, když to uložím právě v noci a načtu hru, když už je zase den a hlasí to, že surface neexistuje. Jinak teda co všechno uložit no... tak asi aktuální stav všech roomu, všechny proměnné (i globální), objekty, surfaces...fakt nevím:D
Tak to udělej přes checkpointy a vždy u checkpointu ulož všechny proměnné atd. do txt soubory a pak opět načti. Co se týče těch surface apod. tak je při načtení nech vytvořit pouze zadej potřebné uložené hodnoty.
Nemám teda moc ponětí o tom, jak uložit všechny proměnné a objekty atd..když se nad tím zamyslím to bych tam musel u každého objektu ukládat i aktuálni pozici x,y?..Vlastně pro každou instanci, což už vůbec nevím jak bych udělal, když bych tam měl například 3 instance stejného objektu, tak jak tam napsat uložení pozice pro každou instanci.. to stejné s ostatními proměnnými. To stím surface to je dobrý nápad, díky:) Jen nevím do jakého to dát eventu. Při načtení se event room start nejspíš neprovede:/
Opravdu potřebuješ nutně ukládat úplně vše? Popř. k čemu?
Zkus použít tlačítko odpovědět.
No tak, když například hraješ nějaké RPG a uložís si hru třeba v půlce nějakého boje tak při načtení je taky vše jak bylo a ne, že nepřátele co šli proti tobě jsou najednou zase na startovních pozicích a mají plný život atd...Poradíš mi teda do jakého eventu dát to vytvoření surface při načtení, zkusil bych alespoň zatím tohle:)
To je dost složité (a možná zbytečné) ukládat téměř každý objekt. Tím checkpointem jsem myslel, aby jsi to udělal třeba v místnosti kde nepotřebuješ ukládat žádné info skoro, třeba město kam se portneš po boji.
Zkus použít Game Start.
Game Start nefunguje a četl jsem, že se provede jen při sputěšní hry v první místnosti.
Jak ti psal LordOfFlies musíš si uložit potřebné proměnné a při načtení savu je dosadit tam kam potřebuješ a vše to ošetřit viz. ty surfaci
Jj díky. Už mi ty surface fungují, když to uložím ještě před tím
roomem, tak to zkusím ještě nějak pořešit, aby to fungovalo i přímo v
tom, kde surface vzniká, pokud to půjde, tak žádný checkpointy řešit
nemusím, když to ukládám přes game_save tak roomy i všechny proměnné
jsou uložené, tak snad nevznikne žádný další problém, ty checkpointy by
tu hru udělali moc hardcore 

Tak už to funguje, tak jak jsem chtěl. Stačilo přidat ještě do step eventu tohle:
if (surface_exists(light))
{
surface_set_target(light);
draw_set_color(make_color_rgb(212,222,205));
draw_rectangle(0,0,view_wview,view_hview,false);
surface_reset_target();
}
else
{
light = surface_create(view_wview,view_hview);
}
Zobrazeno 13 zpráv z 13.