Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
TonySensu
Člen
Avatar
TonySensu:20.8.2015 22:16

Čaute, mám problém, že mi přestává stači kalický save game zabudovaný v GM, protože ve své hře používám surface, persistent atd.. když si uložím hru v roomu kde mám surface a pak to načtu v době kdy už v tý room není tak to hází error něco, že surface neexistuje. Nevíte jak uložit hru, aby se uložilo uplně všechno se vším všudy? Prostě když to načtu, aby to fungovalo a vypadalo úplně stejně jako v tý době, kdy jsem to uložil. Je to velmi důležité pro vývoj mé hry a nemůžu na za boha přijít. Díky.

Tohle to háže pri načtení hry
ERROR in
action number 1
of Draw Event
for object obj_night:

Trying to use non-existing surface.
 
Odpovědět
20.8.2015 22:16
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na TonySensu
Lukáš Hornych:22.8.2015 10:57

A co všechno potřebuješ ukládat? "všechno se vším všudy" je celkem široký pojem :D

 
Nahoru Odpovědět
22.8.2015 10:57
Avatar
TonySensu
Člen
Avatar
TonySensu:22.8.2015 12:48

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

 
Nahoru Odpovědět
22.8.2015 12:48
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na TonySensu
Lukáš Hornych:22.8.2015 20:22

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.

 
Nahoru Odpovědět
22.8.2015 20:22
Avatar
TonySensu
Člen
Avatar
TonySensu:22.8.2015 20:40

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:/

 
Nahoru Odpovědět
22.8.2015 20:40
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na TonySensu
Lukáš Hornych:22.8.2015 21:40

Opravdu potřebuješ nutně ukládat úplně vše? Popř. k čemu?

Zkus použít tlačítko odpovědět.

 
Nahoru Odpovědět
22.8.2015 21:40
Avatar
TonySensu
Člen
Avatar
TonySensu:23.8.2015 10:31

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:)

 
Nahoru Odpovědět
23.8.2015 10:31
Avatar
TonySensu
Člen
Avatar
Odpovídá na Lukáš Hornych
TonySensu:23.8.2015 10:32

A jo sorry už to budu používat:D

 
Nahoru Odpovědět
23.8.2015 10:32
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na TonySensu
Lukáš Hornych:23.8.2015 11:45

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.

 
Nahoru Odpovědět
23.8.2015 11:45
Avatar
TonySensu
Člen
Avatar
Odpovídá na Lukáš Hornych
TonySensu:23.8.2015 14:02

Game Start nefunguje a četl jsem, že se provede jen při sputěšní hry v první místnosti.

 
Nahoru Odpovědět
23.8.2015 14:02
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na TonySensu
Lukáš Hornych:23.8.2015 14:12

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

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
23.8.2015 14:12
Avatar
TonySensu
Člen
Avatar
Odpovídá na Lukáš Hornych
TonySensu:23.8.2015 14:41

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 :D:D

 
Nahoru Odpovědět
23.8.2015 14:41
Avatar
TonySensu
Člen
Avatar
Odpovídá na Lukáš Hornych
TonySensu:23.8.2015 15:06

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);
      }
 
Nahoru Odpovědět
23.8.2015 15:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.