Přejít na obsah


Fotka

Jak vytvořit Wherigo cartridge ?


  • Pokud chcete vložit odpověď, přihlašte se
95 odpovědí na toto téma

#61 Sutech

Sutech

    Advanced Member

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

Publikováno 16 leden 2009 - 18:21

To se používá, pokud je timer zastaven "uměle", tj. pomocí příkazu Stop a timer, nikoliv, pokud regulérně uběhne = tick occurs.
  • 0

#62 wlfmann

wlfmann

    Advanced Member

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

Publikováno 16 leden 2009 - 18:51

ok, diky
  • 0

#63 pikot

pikot

    Member

  • Members
  • PipPip
  • 11 příspěvků(y)

Publikováno 03 únor 2009 - 10:37

zdravim ja bojuju na rozdil od vas s uplnym zacatkem ne a ne donutit v ITEM u ktereho mam dve tlacika aby kazde fungovalo jinak. Pokazde ma Button 1 i Button 2 stejnou fci :(. ZKousel sem to pres IF-THEN ale to mi nejede takze delam nekde achybu ale nevim kde :(
  • 0

#64 Sutech

Sutech

    Advanced Member

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

Publikováno 03 únor 2009 - 11:08

Podle mě děláš něco špatně :). Postup krok za krokem: 1. klikni na nějaký konkrétní Item v nabídce Items 2. Stiskni Edit 3. V okně najdi tlačítko New -> klikni 4. V políčku Menu Text vyplň název tlačítka -> OK 5. postup 3.-4. zopakuj tolikrát, kolik potřebuješ tlačítek -> na závěr uzavři okno s editací Itemu 6. nyní, když klikneš na daný item, uvidíš vpravo Eventy When [nazev_tlacitka] occurs - vyber si jeden a naprogramuj k němu funkce, pak pokračuj u dalšího Doufám, že ti návod pomohl, v opačném případě svůj dotaz ještě upřesni. A protože vidím, že jsi mimo jiné z Prahy, tak mám pro tebe ještě jedno řešení - zanedlouho bude publikován listing s eventem o Wherigu, kde se budou moci zájemci učit, jak s ním pracovat - můžeš se zúčastnit a vše, co tě bude zajímat, se snad dozvíš :)
  • 0

#65 pikot

pikot

    Member

  • Members
  • PipPip
  • 11 příspěvků(y)

Publikováno 03 únor 2009 - 11:15

diky tak takhle sem to nedelal ja vyuzival button menu v Build a message box ..... A pokud bude event v dobrej cas tak mne tam uvidite :)
  • 0

#66 pikot

pikot

    Member

  • Members
  • PipPip
  • 11 příspěvků(y)

Publikováno 03 únor 2009 - 18:16

Tak sem po cca 10 hodinach zase skoro na zacatku :(. Error Reading Cartridge System.ApplicationException: Exception of type 'System.ApplicationException' was thrown. at Groundspeak.Wherigo.ZonesEngine.ZOnesEngineDll.LuaDoFile(String filename) at ZonesAuthor.LuaFunctions.ReadLuaCartridge(String luaFileName) at ZonesAuthor.frmMain.OpenCartridgeFile() tesne pred tim sem si udelal zalohu jenze ta je taky spatna :( behalo to bez problemu tak sem se na zalohy vybod. No a ono to prislo. Takze sem na tom stejne jako Lidoop :( XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Po hledani na netu: stahnul jsem Wherigo Reference Fixer a zatim to vypada ze sem zachranenej sice nektery atribut sou pryc ale zaplat panbuh za to.:D:D
  • 0

#67 *beran*

*beran*

    Advanced Member

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

Publikováno 03 únor 2009 - 21:26

Zdravim, v builderu mi nefunguje úprava zony z mapy. Píše mi to: "No data exist for the choden theme, try another theme." Když zvolim zonu podle adresy tak to funguje.
  • 0
Nikdy neříkej, že to nejde. Vždycky se najde nějakej blbec, který neví, že to nejde a udělá to. :-)

#68 Sutech

Sutech

    Advanced Member

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

Publikováno 03 únor 2009 - 23:03

pikot napsal/a:
Tak sem po cca 10 hodinach zase skoro na zacatku :(.

Error Reading Cartridge
System.ApplicationException: Exception of type 'System.ApplicationException' was thrown.
at Groundspeak.Wherigo.ZonesEngine.ZOnesEngineDll.LuaDoFile(String filename)
at ZonesAuthor.LuaFunctions.ReadLuaCartridge(String luaFileName)
at ZonesAuthor.frmMain.OpenCartridgeFile()

tesne pred tim sem si udelal zalohu jenze ta je taky spatna :(
behalo to bez problemu tak sem se na zalohy vybod. No a ono to prislo.

Takze sem na tom stejne jako Lidoop :(

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Po hledani na netu:
stahnul jsem Wherigo Reference Fixer a zatim to vypada ze sem zachranenej sice nektery atribut sou pryc ale zaplat panbuh za to.:D:D


Jo, to je častá chyba, většinou způsobená tím, že např. změníš jméno zóny, charakteru, itemu atd., ale builder to nepřejmenuje všude a pak odkazuje na neexistující název. Jediná možnost nápravy je buď manuální nalezení chyby a nebo obnova ze zálohy.
Stejně jako při hraní cartridge platí ukládat, ukládat, ukládat, tak při tvorbě zartridge platí ZÁLOHOVAT, ZÁLOHOVAT, ZÁLOHOVAT!!! :)

beran napsal/a:
Zdravim,
v builderu mi nefunguje úprava zony z mapy. Píše mi to: "No data exist for the choden theme, try another theme." Když zvolim zonu podle adresy tak to funguje.


Je rozdíl mezi úpravou a tvorbou zóny. Při tvorbě zóny podle mapy to bohužel fungovat nebude, to funguje jen pro Ameriku a přilehlé oblasti. Možná, že by se tam nějak ta mapa dostat dala, ale nikdy mě to moc netrápilo, takže jsem po tom nepátral.
Nejjednodušší způsob tvorby zóny je pomocí souřadnic bodu (tlačítko Set) a následného vytvoření "okruhu" kolem tohoto bodu (tlačítko Generate points).
Až budeš mít zónu vytvořenou, tak v případě, že ti nevyhovuje její čtvercový tvar, ji můžeš pomocí mapy upravit.
  • 0

#69 pikot

pikot

    Member

  • Members
  • PipPip
  • 11 příspěvků(y)

Publikováno 09 únor 2009 - 17:37

Muzu jeste poprosit o jeden help. Udelal sem pomoci timeru a countdownu omezeni pro presun z jedne zony do druhe. Vse funguje f poho ale vzhledem k tomu ze sem tak trosku stoura a nevim vsechno :) tak bych se chtel zeptat jestli jde udelat v builderu, aby se v PDA ukazal ubyhající cas. Asi by slo udelat v nejakym intervalu aby se obnovovalo okno s novym casovym udajem, ale to mi prijde ze vymejslim strasnou obludnost. Mazimalne bych to videl na posledni minutu a pak pripadne na poslednich 15 sekund. Jde to ale jednoduseji? A nebo holt kaceri budou cucet na svoje hodinky - coz ma asi taky sovje kouzlo;) Diky za podnety
  • 0

#70 me2d09

me2d09

    Advanced Member

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

Publikováno 09 únor 2009 - 22:02

Je několik možností:
a ) ta obludnost co píšeš:
Každou vteřinu zobrazit nový messagebox:
Wherigo.MessageBox{Text=[[Zbyva ti ]] .. tim .. [[ sekund!]],}
- nevýhoda: uživatel nemá možnost si zobrazit třeba šipku kam má jít. vždycky po vteřině mu do toho skočí nový msgbox

b ) zlepšovák: Na PPC funguje funkce Wherigo.ShowStatusText, která zobrazuje na obrazovkách MAIN, LOCATIONS apod. daný text. Ideální pro zobrazení času. Bohužel při zobrazení DETAIL SCREENu dané lokace se status text nezobrazuje.

c ) chytrý zlepšovák: dá se měnit název lokace :).
Nevýhoda: Při zobrazeném DETAIL SCREEN se ten text na PPC neaktualizuje. Aktualizuje se to jen u seznamu zón. Což je řešení, protože tam se na PPC zobrazuje i šipka a vzdálenost. Ale musí být vidět alespoň dvě zóny! Jinak to nefunguje.

Navruhuji řešení:
ztimervterinovka -> timer co tika kazdou vterinu


function zitemStopky: OnStart()
  --nastaveni pocatecniho casu
  tim = 240
  ztimervterinovka:Start()
  --kvuli tomu, aby se zobrazila sipka k oblasti kam se ma jit
  --pocitam s tim ze je videt vic nez 1 zona
  if Env.Device == "Windows PPC" then
    Wherigo.ShowScreen(Wherigo.LOCATIONSCREEN)
  else 
    Wherigo.ShowScreen(Wherigo.DETAILSCREEN,zonecil)
  end
end

function ztimervterinovka: OnTick()
  -zmensim citac
  tim = tim - 1
  --tohle pujde jen na PPC: 
  Wherigo.ShowStatusText([[time: ]] .. tim .. [[s]])
  --tohle pujde vsude - prejmenovavam nazev zony:
  zonecil.Name = [[Cil za ]] .. tim .. [[s]]
end

uvedený kód jsem odzkoušel na PPC, oregon i colorado a funguje

Tak jsem to snad pochopitelně ve zkratce vysvětlil, nevim jak moc rozumíš LUA kódu, pokud máš jiné dotazy, doporučuji Wherigo event GC1M7M0 v praze, budu tam něco vysvětlovat třeba i na tohle téma.
  • 0

#71 Sutech

Sutech

    Advanced Member

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

Publikováno 09 únor 2009 - 22:46

Já ještě doplním, že u Countdown timeru existuje proměnná, která uchovává, kolik sekund ještě zbývá do konce - ztimerNAZEV_TIMERU.Remaining. To se dá krásně využít právě tehdy, když nechceš, aby tě stále otravovaly zprávy s odpočtem. Nicméně musel bys to do něčeho implementovat - např. po kliknutí na tlačítko nějakého předmětu by se ti zobrazilo, kolik času ještě zbývá...
  • 0

#72 wmh

wmh

    Advanced Member

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

Publikováno 10 únor 2009 - 0:06

me2d09 napsal/a:
Je několik možností:
a ) ta obludnost co píšeš:
Každou vteřinu zobrazit nový messagebox:
Wherigo.MessageBox{Text=[[Zbyva ti ]] .. tim .. [[ sekund!]],}
- nevýhoda: uživatel nemá možnost si zobrazit třeba šipku kam má jít. vždycky po vteřině mu do toho skočí nový msgbox

b ) zlepšovák: Na PPC funguje funkce Wherigo.ShowStatusText, která zobrazuje na obrazovkách MAIN, LOCATIONS apod. daný text. Ideální pro zobrazení času. Bohužel při zobrazení DETAIL SCREENu dané lokace se status text nezobrazuje.

c ) chytrý zlepšovák: dá se měnit název lokace :).
Nevýhoda: Při zobrazeném DETAIL SCREEN se ten text na PPC neaktualizuje. Aktualizuje se to jen u seznamu zón. Což je řešení, protože tam se na PPC zobrazuje i šipka a vzdálenost. Ale musí být vidět alespoň dvě zóny! Jinak to nefunguje.

Navruhuji řešení:
ztimervterinovka -> timer co tika kazdou vterinu


function zitemStopky: OnStart()
  --nastaveni pocatecniho casu
  tim = 240
  ztimervterinovka:Start()
  --kvuli tomu, aby se zobrazila sipka k oblasti kam se ma jit
  --pocitam s tim ze je videt vic nez 1 zona
  if Env.Device == "Windows PPC" then
    Wherigo.ShowScreen(Wherigo.LOCATIONSCREEN)
  else 
    Wherigo.ShowScreen(Wherigo.DETAILSCREEN,zonecil)
  end
end

function ztimervterinovka: OnTick()
  -zmensim citac
  tim = tim - 1
  --tohle pujde jen na PPC: 
  Wherigo.ShowStatusText([[time: ]] .. tim .. [[s]])
  --tohle pujde vsude - prejmenovavam nazev zony:
  zonecil.Name = [[Cil za ]] .. tim .. [[s]]
end

uvedený kód jsem odzkoušel na PPC, oregon i colorado a funguje

Tak jsem to snad pochopitelně ve zkratce vysvětlil, nevim jak moc rozumíš LUA kódu, pokud máš jiné dotazy, doporučuji Wherigo event GC1M7M0 v praze, budu tam něco vysvětlovat třeba i na tohle téma.


Jj, tenhle návod mi onehdá taky bodnul, ještě jednou Petře dík!
Nakonec jsem to vyřešil krapet hybridně po svom, ale napadla mě další věc do pléna - nezatracoval bych zcela ten messagebox - došlo mi, že mohu-li najednou zobrazit čas, vzdálenost do zóny a azimut do zóny, pak by šlo jednoduchými podmínkami ošéfovat intervaly azimutu a pomoci funkce "change an object media" v tom messageboxu zobrazovat handmade originál šipku - řekněme po 45stupních by to na orientaci úplně stačilo.
Schválně to časem na AMF zkusím ;)
  • 0
Retired slowcacher

#73 me2d09

me2d09

    Advanced Member

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

Publikováno 10 únor 2009 - 1:16

wmh: Tak ta šipka by byla hodně luxusní, akorát pozor - azimut co ti vrátí wherigo do dané zóny je opravdu azimut (od severu) a ne od směru pohybu. Takže abys mohl zobrazit šipku, potřebuješ ještě vědět aktuální natočení. A to nevim jak zjistit. Podle mě by to měla vracet funkce Player.CurrentBearing. Jenže ta v emulátoru i v Oregonu (jinde sem to teď nezkoušel a už se mi chce spát) vrací string "0°". Jestli na to přijdeš, dej vědět!
  • 0

#74 pikot

pikot

    Member

  • Members
  • PipPip
  • 11 příspěvků(y)

Publikováno 10 únor 2009 - 8:14

Diky vsem, z toho si urcite vyberu a ozkousim B)
  • 0

#75 wmh

wmh

    Advanced Member

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

Publikováno 11 únor 2009 - 17:02

me2d09 napsal/a:
wmh: Tak ta šipka by byla hodně luxusní, akorát pozor - azimut co ti vrátí wherigo do dané zóny je opravdu azimut (od severu) a ne od směru pohybu. Takže abys mohl zobrazit šipku, potřebuješ ještě vědět aktuální natočení. A to nevim jak zjistit. Podle mě by to měla vracet funkce Player.CurrentBearing. Jenže ta v emulátoru i v Oregonu (jinde sem to teď nezkoušel a už se mi chce spát) vrací string "0°".
Jestli na to přijdeš, dej vědět!


Tak teoretickej background, jak pořešit problém heading & bearing bych měl. Je to trochu humpolácký, ale nepotřebuji k tomu Player.CurrentBearing (resp. tuto funkci poněkud nahrubo nasimuluji).
Vytvořím pomocné 2 zóny (invisible, active) - pracovní název "Four windows" a "Rising sun";), čili jednu hodně na severu a druhou hooodně na východ - příklad ad absurdum:
zoneFourwindows.OriginalPoint = ZonePoint(90.0,14.5- resp. přibližný poledník cartridge,0)
zoneRisingsun.OriginalPoint = ZonePoint(49.9 - resp. přibližná rovnověžka cartridge,180.0,0)
No a potom pomocí Wherigo.VectorToPoint budu vědět, zda se za určitý interval (časový nebo po ujití dané vzdálenosti) vzdálenost k těmto zónam a)zvětšuje, b ) zmenšuje c)je stejná (resp. rozdíl pouze v "drobných") - čímž získám 8 sympatických možností a tudíž orientační, leč dostatečný 45 stupňový "heading"
No a mám vyhráno - porovnám azimut "heading" a "bearing to zone" a mám výsledek, podle kterého vyvolám obrázek pro mrcasení vlastní "vytuněný" šipky.;)

Budu-li mít někdy čas, zkusím tuto neohrabanou teorii prakticky vylujit :D:D
  • 0
Retired slowcacher

#76 me2d09

me2d09

    Advanced Member

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

Publikováno 11 únor 2009 - 18:31

Tak to zní hodně brutálně. Akorát myslím, že nemusíš dělat ty invisible zóny. Stačí si uložit současný souřadnice a po vteřině se znovu na souřadnice podívat (nějak je zaokrouhlit math.floor) a máš stejný údaje jako jsi chtěl. Je to jednoduší a navíc tím míň budeš zatěžovat procesor našich miláčků. Každopádně ale dobrý nápad, myslím že by to mholo fungovat.
  • 0

#77 Jahn Brown

Jahn Brown

    Advanced Member

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

Publikováno 12 únor 2009 - 20:39

Slepý jsem, nevidím. Mám nadefinovány zóny. Jak docílit toho, aby se mi v playeru zobrazily Locations ? Díky
  • 0

#78 Sutech

Sutech

    Advanced Member

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

Publikováno 12 únor 2009 - 20:44

Musíš lépe definovat svůj problém - co přesně ti to (ne)dělá, kdy, za jakých okolností atd., pak ti budu moci poradit :)
  • 0

#79 MausX

MausX

    Advanced Member

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

Publikováno 13 únor 2009 - 7:39

Jahn Brown napsal/a:
Slepý jsem, nevidím. Mám nadefinovány zóny. Jak docílit toho, aby se mi v playeru zobrazily Locations ? Díky


Musíš je mít active a visible, pokud jsi ještě měnil hodnoty pro distance tak musíš být minimálně ve vzdálenosti těchto hodnot. Jinak když spustiš builder, tak se podívej na mapu. Neactivní a neviditelná zona je zobrazena šedě, activní neviditelná červeně a activni viditelna modře.
  • 0

#80 Jahn Brown

Jahn Brown

    Advanced Member

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

Publikováno 19 únor 2009 - 20:25

Díky. Tak s těmi zónami a lokacemi jsem to už zvládl. a měl bych další dotaz. Událost (event) zóny within proximity je vyvolávaná při příchodu i při odchodu. Je možno událost při odchodu nějak vypnout či potlačit ?
  • 0




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

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

Reklama