IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:23.7.2012 20:47

Chtěl bych se zeptat jak mam definovat proměnou, aby v případě že už existuje, aby se nezměnila.
Zkoušel jsem var_number += 0, ale tím nešla definovat, když jsem skusil var_number = 0, tak pokud proměná už existovala tak mi jí to nastavilo na nulu.

Odpovědět
23.7.2012 20:47
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:23.7.2012 21:18

Pakli-že inicializuješ proměnnou, tak nelze použít nic jiného, než =. Pokud ji inicializuješ, proměnná se shodným názvem bude ztracena. Tak to je,... Pokud již jednou proměnnou inicializuješ, pak můžeš používat operátory +=, či -=, či *=,... Ale jinak ne.

 
Nahoru Odpovědět
23.7.2012 21:18
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:23.7.2012 21:19

Nechápu tě - pokud proměnnou inicializuješ, tak může být jenom jedna jediná se shodným názvem - nikdy ne 2,...

 
Nahoru Odpovědět
23.7.2012 21:19
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na matesax
Theodor Johnson:23.7.2012 22:10

Tak mi asi nezbyde nic, než to vyřešit přes soubor který v GM otevřu jako ini, ale stejně díky, aspoň vím že to nepujde

Nahoru Odpovědět
23.7.2012 22:10
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:23.7.2012 22:19

Nechápu, jak můžeš vytvořit 2 stejné proměnné a nevědět o tom,...

 
Nahoru Odpovědět
23.7.2012 22:19
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na matesax
Theodor Johnson:23.7.2012 22:23

Ale ještě bych měl dotaz, ať nemusím zbytečně otevírat nové téma.
Když jsem zkoušel vytvořit objekt přes proměnou

var_object = instance_create(Player.x,Player.y,Shockring)

Tak mi to šlo vytvořit jenže při když jsem zkoušel

 if! instance_exists(var_object)
{
with(var_object) instance_destroy()
}

tak mi GM napsal že proměnná var_object neexistuje, napsal mi to na ten řádek

if! instance_exists

zkoušel jsem i zjišťovat jestli existuje proměnná, ale napsalo mi to chybu.

Nahoru Odpovědět
23.7.2012 22:23
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:23.7.2012 22:23

Musíš si v Create události nastavit defaultní hodnotu té proměnné (např. 0 nebo -1). A potom se budeš ptát, zda je tam tato hodnota a pokud ne, už se do ní někde jinde dosadilo. Řešíš špatný problém, tady nejde o existenci proměnné, ale o hodnotu v proměnné.

Nahoru Odpovědět
23.7.2012 22:23
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Hartinger
Theodor Johnson:23.7.2012 22:26

A jakej příkaz mám tedy použít když chci zjistit jestli proměnná existuje nebo ne?

Nahoru Odpovědět
23.7.2012 22:26
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:23.7.2012 22:26

Měl jsi zbytečně otevřít nové téma, protože teď my musíme zbytečně tento nesouvisející příspěvek přesunout do nového.

Ten kód nedává smysl, ptáš se, jestli něco neexistuje, a pak s tím neexistujícím objektem pracuješ. Hádám, že to má být bez té negace.

Nahoru Odpovědět
23.7.2012 22:26
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:23.7.2012 22:27

Achjo.... Je vidět, že mluvím do větru. Napíši ti, že nemáš řešit, jestli proměnná existuje, a ty se zeptáš, jak poznáš, jestli existuje. Tady to nemá smysl.

Nahoru Odpovědět
23.7.2012 22:27
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na David Hartinger
Theodor Johnson:23.7.2012 22:30

jen jsem myslel že by to mohlo fungovat jako jednodušší způsob než

if instance_number(Shockring) < 1
Nahoru Odpovědět
23.7.2012 22:30
Mo8ilε 15 Ѐλđ
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Theodor Johnson
David Hartinger:23.7.2012 22:31

instance_number mi přijde v pořádku.

Nahoru Odpovědět
23.7.2012 22:31
New kid back on the block with a R.I.P
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 12 zpráv z 12.