Přejít na obsah


Fotka

Jak to udělám v URWIGO?


  • Zamčené téma Toto téma je zamknuto
787 odpovědí na toto téma

#361 mh.mail

mh.mail

    Advanced Member

  • Members
  • PipPipPip
  • 844 příspěvků(y)

Publikováno 10 February 2011 - 15:16

@randir:
Osobně jsem to nezkoušel, ale našel jsem ve strohé dokumentaci k wherigo
http://wherigobuilder.wikispaces.com/

toto:

AllZObjects A table containing a reference to every zobject (except variables). Includes zones, characters, items, tasks, timers, inputs, media, and the cartridge itself. Use tostring(tableentryvalue) to determine what type of zobject you have. For example, the result for a zCharacter is "a zCharacter instance".


Pak by to znamenalo, že by mělo jít napsat něco takového:
function presun(zonaNazev, predmetNazev)
  cart = Wherigo.ZCartridge()
  zona = cart.AllZObjects[zonaNazev]
  predmet = cart.AllZObjects[predmetNazev]
  predmet:MoveTo(zona)
end

  • 0

#362 matejcik

matejcik

    Advanced Member

  • Members
  • PipPipPip
  • 389 příspěvků(y)

Publikováno 10 February 2011 - 15:54

mh.mail napsal/a:

function presun(zonaNazev, predmetNazev)
  cart = Wherigo.ZCartridge()
  zona = cart.AllZObjects[zonaNazev]
  predmet = cart.AllZObjects[predmetNazev]
  predmet:MoveTo(zona)
end


jednak "cart = Wherigo.ZCartridge()" založí nový cartridge objekt, a nejsem si moc jist, jak by se na to playery tvářily

jednak to je už takové škrábání pravou nohou za levým uchem - pak je jednodušší tohle:
function presun(zona, predmet)
 predmet:MoveTo(zona)
end
a pak už není důvod nenapsat "predmet:MoveTo(zona)" rovnou.

pokud dobře chápu, na co se randir ptá, tak je to jak tohle udělat v rámci URWIGO - což ale nevím
  • 0

#363 mh.mail

mh.mail

    Advanced Member

  • Members
  • PipPipPip
  • 844 příspěvků(y)

Publikováno 10 February 2011 - 16:14

matejcik napsal/a:
jednak "cart = Wherigo.ZCartridge()" založí nový cartridge objekt, a nejsem si moc jist, jak by se na to playery tvářily

jednak to je už takové škrábání pravou nohou za levým uchem - pak je jednodušší tohle:

function presun(zona, predmet)
 predmet:MoveTo(zona)
end
a pak už není důvod nenapsat "predmet:MoveTo(zona)" rovnou.

pokud dobře chápu, na co se randir ptá, tak je to jak tohle udělat v rámci URWIGO - což ale nevím

Ad 1. - Používám to a normálně to funguje, naopak jiným způsobem jsem se k objektu cartridge nedostal.

Ad 2. - Ano, toto je jednodušší, ale Randir chtěl mít funkci, kde v parametrech bude NÁZEV předmětu a NÁZEV zóny, zatímco toto jsou proměnné, které už jsou nějak nasetované, já to bral tak, že tam chce mít řetězce s názvem. Sice nevím úplně přesně, jak to chce používat, ale tak jsem ten dotaz pochopil.

Ad 3. - V Urwigo si můžu napsat svoje fragmenty přímo v LUA kódu, předpokládám, že Randir už si kousek takového kódu napsal, jenom neví, jak na tuto konkrétní situaci.
Jinak se to píše do části "Uživatelské funkce".
  • 0

#364 matejcik

matejcik

    Advanced Member

  • Members
  • PipPipPip
  • 389 příspěvků(y)

Publikováno 10 February 2011 - 16:19

mh.mail napsal/a:
Ad 1. - Používám to a normálně to funguje, naopak jiným způsobem jsem se k objektu cartridge nedostal.

ah, tak to mám možná v openwigu blbě :e) ozkoumám, potenciálně opravím

jinak k cartridge objektu se standardně dostaneš přes proměnnou cartNázevcartridge, pokud to není obfuskované

Ad 2. - Ano, toto je jednodušší, ale Randir chtěl mít funkci, kde v parametrech bude NÁZEV předmětu a NÁZEV zóny, zatímco toto jsou proměnné, které už jsou nějak nasetované, já to bral tak, že tam chce mít řetězce s názvem. Sice nevím úplně přesně, jak to chce používat, ale tak jsem ten dotaz pochopil.

v takovém případě by ale nejspíš nefungovalo ani to, co navrhuješ, protože AllZObjects jsou indexované číselně a ne názvem objektu. možná tak ještě názvem proměnné, ale tím bych si nebyl moc jist
  • 0

#365 me2d09

me2d09

    Advanced Member

  • Members
  • PipPipPip
  • 174 příspěvků(y)

Publikováno 10 February 2011 - 17:19

Zaprvé:

matejcik napsal/a:
jinak k cartridge objektu se standardně dostaneš přes proměnnou cartNázevcartridge, pokud to není obfuskované

Takhle je to ve Wherigo Builderu. V urwigu je to buď něco náhodného a nebo to co vyplním do pole LUA identifikátor objektu ve vlastnostech cartridge. Rozhodně používejte tenhle identifikátor a ne xx = Wherigo.Cartridge() - implementace toho není jasná a není jasné jak se zachovají alternativní playery!!

A zadruhé, přesně jak píše matejcik, ten napsaný kód by vůbec nefungoval. AllZObjects je interně lua table, která jako keys používá čísla. A ty čísla ani nemusí být popořadě, prostě tam nějak jsou a nic neznamenají. Takže chápejte AllZObjects spíš jako Array než jako dictionary, jestli vám tohle osvětlení pomůže.
Problém s hledáním předmětu dle názvu dále je, že název není jedinečný. Ale to si musí každý vyřešit sám. Hledání dle názvu by pak probíhalo nějak takhle (když bych hledal předměty a lidi):
for k,v in pairs(cartTest.AllZObjects) do
        if (tostring(v) == "a ZCharacter instance") or (tostring(v) == "a ZItem instance") then
          if Wherigo.NoCaseEquals(v.Name, HledanyPredmet) then
...
end
end
end
Ten kód může dost zpomalovat přístroj, spíš bych se tomuhle vyhnul, pokud to není nutné. Ono hledat něco podle názvu je dost hloupé jen kvůli tomu že to chci přesunout.


Doporučil bych to udělat jinak, ne přes název ale přes identifikátor (neboli název proměné):
function presun(zona, predmet)
_G[predmet]:MoveTo(_G[zona])
end
V urwigu tohle napíšete do uživatelských funkcí, a potom už jen voláte uživatelský kód:
presun(zDoma, zET)

  • 0

#366 randir

randir

    Advanced Member

  • Members
  • PipPipPip
  • 136 příspěvků(y)

Publikováno 10 February 2011 - 20:50

@mh.mail; matejcik; me2d09 - Díky moc pánové za rady, mám si zas chvilku s čím hrát. Hlavně to poslední od me2d09 by můj problém mohlo vyřešit, zítra budu zkoušet ... DÍKY!
  • 0

#367 Faja

Faja

    Newbie

  • Members
  • Pip
  • 3 příspěvků(y)

Publikováno 01 March 2011 - 3:25

Ahojki, možná se tady problém již probíral,ale já ho nikde nenašla...snažila jsem se udělat příkaz přesun do inventáře.....ale nějak nemůžu v nové verzi Inventory najít...pomůže mi někdo??? Díky moc za pomoc.:D
  • 0

#368 Faja

Faja

    Newbie

  • Members
  • Pip
  • 3 příspěvků(y)

Publikováno 01 March 2011 - 4:08

ještě jeden dotaz...stala se mi velmi nepříjemná věc...udelala jsem si wherigo hru,nahrala na web wherigo.com a pak jsem potrebovala nejakou zonu ppredelat...a uplné máslo jsem si premazala zdrojovou verzi v Urwigo...jde nějak zachranit hra kdyz uz je nahrana na web wherigo.com...tak abych ji znovu otevřela v Urwigo??? Jinak budu nucena celou cartrige udelat znovu... jde to nejak?pokud ano pomůže mi někdo? díky za odpověď:o
  • 0

#369 mh.mail

mh.mail

    Advanced Member

  • Members
  • PipPipPip
  • 844 příspěvků(y)

Publikováno 01 March 2011 - 7:00

Faja napsal/a:
...snažila jsem se udělat příkaz přesun do inventáře.....ale nějak nemůžu v nové verzi Inventory najít...

Přesun do inventáře se v Urwigu specifikuje jako „Přesuň Předmět do Hráč“. Snad je to to, co hledáš.
  • 0

#370 Maxinoha

Maxinoha

    Advanced Member

  • Members
  • PipPipPip
  • 1146 příspěvků(y)

Publikováno 01 March 2011 - 7:03

Faja napsal/a:
ještě jeden dotaz...stala se mi velmi nepříjemná věc...udelala jsem si wherigo hru,nahrala na web wherigo.com a pak jsem potrebovala nejakou zonu ppredelat...a uplné máslo jsem si premazala zdrojovou verzi v Urwigo...jde nějak zachranit hra kdyz uz je nahrana na web wherigo.com...tak abych ji znovu otevřela v Urwigo???
Jinak budu nucena celou cartrige udelat znovu...
jde to nejak?pokud ano pomůže mi někdo?
díky za odpověď:o


Ahoj, bohužel finální LUA kód který si nahrála v rámci souboru GWZ na server wherigo.com není možné zpět převést na projektový soubor urwigo.
  • 0

#371 RoKro

RoKro

    Advanced Member

  • Members
  • PipPipPip
  • 159 příspěvků(y)

Publikováno 28 March 2011 - 19:28

Ahojte, mám tu něco a nevím, jestli je to problém Urwiga, Openwigu, nebo Nokie. Dále popsané chování nastává jak v cartrigi, kterou se snažím vytvořit, tak na wherigu Marhanovy schody. Pouštím to v Openwigu na Nokii 5530. 1) Když dorazím do cílové zóny, pořád mě to honí dokola kolem a ukazuje mi to, že zbývá pár málo metrů, třeba i jeden. V mé testovací cartrigi je ta zóna fakt hooodně předimenzovaná a gps modul mám přinejmenším slušný. Když jsem kliknul na tlačítko OK, zahlédl jsem pod tím na té navigační obrazovce se šipkou navigující k zóně, že jsem inside. Ono se to ale za vteřinu (délka intervalu) zase překreslí zpět na tu odpočítávací obrazovku. Je ale divné, že u první cílové zóny to nedělá (cartrige je na dva běhy, kde první cílová zóna je zároveň startem pro druhý běh), ta se chová korektně, jak bych čekal. Zkusil jsem, jestli to nemůže to být způsobeno třeba uložením hry (dělám až na konci) nebo označením cartrige jako dokončené. Ale když jsem přesunul uložení a označení dokončenosti až za dialog, který se má zobrazit v cíli při dodržení časového limitu, stejně to nepomohlo. Už si neuvědomuji, čím dalším se dva okamžiky vstupu do cílové zóny v časovém limitu od sebe liší. 2) Když mi v tomhle výše uvedeném případě, kdy se jakoby nestihnu v limitu dostat do cílové zóny, vyprší čas, začne se sám od sebe odpočítávat znovu z plného limitu. Při svém testování jsem na druhé uplynutí limitu v té zóně (ve které jsem podle něj nebyl) nečekal, ale pokud si pamatuji, tak na Marhanových schodech to už po druhém vypršení limitu skončilo zprávou, že jsem nestihl. Když ale nechám limit uplynout v tom prvním běhu, tak mi korektně napíše, že jsem nestihl a pošle mě zase na start. Tzn. ten první běh v prvním časovém limitu do první cílové zóny se chová pěkně dle očekávání, zlobí až ten druhý. Nechápu. 3) Neodpočítává se rovnoměrně čas. Běží zpomaleně. Někdy se stane, že se na chvíli zase rozeběhne třeba 5x zrychleně a po čase se zase zbrzdí, bez jakéhokoliv mačkání čehokoliv. Zkusil jsem místo jedné vteřiny dát delší interval, 5 vteřin, a pomohlo to. Možná to pomohlo i proti tomu opakovanému odpočítávání popsanému v bodě 2, nevím ... Máte někdo nějaké fígle nebo tipy, co si mám zkontrolovat nebo nějak obejít a udělat jinak? Cartrige jsem tvořil na základě té vzorové běhací, jen ten odpočet nespouštím stopkami, ale až opuštěním zóny. Stopkami ho jen povoluji. Předem dík za jakoukoliv smysluplnou reakci. A samozřejmě velký dík autorům Urwiga i Openwigu.
  • 0

#372 RoKro

RoKro

    Advanced Member

  • Members
  • PipPipPip
  • 159 příspěvků(y)

Publikováno 09 April 2011 - 11:05

Hm, tak za dva týdny nic. Zkusil jsem tedy ještě i v tom druhém úseku prodloužit interval z jedné na pět vteřin a pomohlo to. Zkusím tedy najít nejnižší hodnotu intervalu, se kterou to bude správně fungovat a budu pak už jen věřit a modlit se, aby to fungovalo i ostatním.
  • 0

#373 Maxinoha

Maxinoha

    Advanced Member

  • Members
  • PipPipPip
  • 1146 příspěvků(y)

Publikováno 11 April 2011 - 6:08

Problém bude u OpenWigu, zkus se obratit přímo na autora (matejcik) - bohužel sem na forum moc nechodi.
  • 0

#374 RoKro

RoKro

    Advanced Member

  • Members
  • PipPipPip
  • 159 příspěvků(y)

Publikováno 20 April 2011 - 12:24

OK, dík. Koukal jsem, že i Benjův lyžoexpress se projevuje zpomalováním plynutí času v OpenWigu. Napíšu matejcikovi, naštěstí to prodloužení intervalu už vyřešilo.
  • 0

#375 Opicakuz

Opicakuz

    Advanced Member

  • Members
  • PipPipPip
  • 282 příspěvků(y)

Publikováno 03 May 2011 - 16:24

Ahoj, mam nasledujici problem: Zkousel jsem uzivatelsky kod. Bohuzel mi Urwigo padlo a neslo spustit (klasika odeslat/neodesilat). Zkousel jsem nekde v kodu (notepad) najit co mam umazat, abych vyhodil ten uzivatelsky kod a tim jsem to asi sprasil jeste vice. Ted to pose "chyba pri otevirani projektu". Vytvari Urwigo nejake (byt jen docasne) zalohy? Diky moc
  • 0
http://pck.desitka.cz Powercaching klan

#376 romantic29

romantic29

    Advanced Member

  • Members
  • PipPipPip
  • 107 příspěvků(y)

Publikováno 14 May 2011 - 16:57

Ahoj, prosím lze v urwigo udělat tohle? Velká oblast, v které když se budu delší dobu pohybovat, budu nacházet různé předměty (s určitou pravděpodobností a náhodně, čím více nachodím a čím déle tam budu chodit, tím více toho najdu)... Pokud předmět najdu a uvidím ho, po vzdálení více než 20m od toho místa, kde jsem ho našel, ho již neuvidím... Lze to?
  • 0

#377 Blexa

Blexa

    Advanced Member

  • Members
  • PipPipPip
  • 850 příspěvků(y)

Publikováno 14 May 2011 - 17:34

Teoreticky by neco takoveho bylo mozne, pres konstrukci, ktera by porovnavala zda, byla urazena nejaka konkretni vzdalenost k soucasne pozici od pozice minule a pokud ano, tak by se minula pozice prepsala soucasnou a nechalo by se s nejkym procentem aktivovat/zobrazit 1 predmet z predem definovanych predmetu.Je to ale pro mne tak divoka konstrukce, ze tomu prilis neverim, ze by to fungovalo spolehlive. Navic by bylo docela peklo pripravit vetsi pocet predmetu. Takze kdo vi, jestli by to slo v praxi... Na zaver si dovolim si citovat asi nejpovolanejsiho, tedy Maxinohu: "Obecně než se někdo pustí do tvorby wheriga měl by si jich několik zahrát aby měl představu co vše lze ve wherigo udělat. Takový minimální počet považuji 5 odehraných wherigo."
  • 0

#378 romantic29

romantic29

    Advanced Member

  • Members
  • PipPipPip
  • 107 příspěvků(y)

Publikováno 14 May 2011 - 19:19

Blexa napsal/a:
Teoreticky by neco takoveho bylo mozne, pres konstrukci, ktera by porovnavala zda, byla urazena nejaka konkretni vzdalenost k soucasne pozici od pozice minule a pokud ano, tak by se minula pozice prepsala soucasnou a nechalo by se s nejkym procentem aktivovat/zobrazit 1 predmet z predem definovanych predmetu.Je to ale pro mne tak divoka konstrukce, ze tomu prilis neverim, ze by to fungovalo spolehlive. Navic by bylo docela peklo pripravit vetsi pocet predmetu. Takze kdo vi, jestli by to slo v praxi...

Na zaver si dovolim si citovat asi nejpovolanejsiho, tedy Maxinohu: "Obecně než se někdo pustí do tvorby wheriga měl by si jich několik zahrát aby měl představu co vše lze ve wherigo udělat. Takový minimální počet považuji 5 odehraných wherigo."


Zkusím tedy svůj dotaz blíže specifikovat a tedy i rozdělit:
1) Existuje někde nějaký seznam globálních proměnných? A je tam například celkově uražená vzdálenost či čas od začátku plnění wherigo?
2) Lze si uchovat aktuální polohu a vyvolat určitou událost při vzdálení se do určité vzdálenosti od této polohy? (poloha by byla náhodná, takže by se nejednalo o klasickou pevně definovanou zónu)... Tím se nabízí možnost, lze měnit programově za pochodu hraniční body zóny (ač je urwigo super nástroj, tak se mi zdá, že to neumožňuje)?
  • 0

#379 romantic29

romantic29

    Advanced Member

  • Members
  • PipPipPip
  • 107 příspěvků(y)

Publikováno 15 May 2011 - 9:17

Super, vyřešeno, oceňuji velmi chytrý nástroj "Uživatelský kód" :-)... Zkoušel jsem i originální builder a to je děs a hrůza, o to víc musím pánové pochválit vaší práci ;)... Moje otázky jsou teď z jiného soudku... Lze ukládat zóny a předměty do polí a lze zónám a předmětům přidávat nějaké vlastnosti? Respektive přidat property k objektu v Lue jde, ale nevím, jak to udělat v urwigo, pokud to tedy vůbec jde... Pokud nejde, určitě by bylo velmi užitečné to někdy v budoucnu implementovat...
  • 0

#380 borekj

borekj

    Advanced Member

  • Members
  • PipPipPip
  • 127 příspěvků(y)

Publikováno 21 July 2011 - 9:34

Zdravím všechny, právě začínám s Urwigem a na začátek bych měl pár dotazů (upozorňuji, jsem neIT člověk, s LUA neumím a návody jsem prolezl). 1) Jak se nastavuje, aby se zóna zobrazila až po odkliknutí zprávy, příp. po odchodu ze zóny? 2) Jde nastavit, aby se zóna/předmět po odchodu x kliku na zprávu smazal z inventáře? To by bylo prozatím vše. Díky za odpovědi.
  • 0

Grr, Grr... Co zase je???
Nová keš...
Cože? Kdy, kde?





3 uživatel(ů) prochází toto téma

0 uživatelů, 3 návštěvníků 0 anonymních uživatelů

Reklama