Anonymní uživatel | Přihlášení | Vytvořit nový účet | 20.09.2024 - 00:07 |
Přehled | Zobrazit problémy | Protokol o změnách | Časový plán |
Detaily problému [ Přechod na poznámky ] | [ Historie problému ] [ Tisk ] | ||||||||||||
ID | Projekt | Kategorie | Zobrazit stav | Datum vložení | Poslední změna | ||||||||
0001011 | Questy a Interakce | Nezařazano | veřejný | 13.10.2012 - 15:13 | 13.09.2013 - 22:30 | ||||||||
Reportér | Stig | ||||||||||||
Přiřazen | Whitey | ||||||||||||
Priorita | normální | Závažnost | malá | Reprodukovatelnost | nevyzkoušeno | ||||||||
Stav | přiřazený | Řešení | otevřený | ||||||||||
Platforma | OS | Verze OS | |||||||||||
Shrnutí | 0001011: Převod Tagů na řetězce v Interakčním systému | ||||||||||||
Popis | Obecne receno, kdyby slo tagy uplatnit uplne vsude (nejen v tech par prikladech jako napr. "Give Item=SilverCoin Amount=this.NumericTag(blabla)"), tak by to bylo uplne nejlepsi.. To by umoznilo velkou variabilitu a rozmanitost a nemusel by clovek napriklad nastavovat 100 zaznamu pro ItemCreator ci MobileCreator, pokud potrebuje 100 temer stejnych predmetu ci NPC; nemusel by delat 100x Stage, pokud se par NPC lisi jen jmenem; nemusel by delat 100x podminku atd. Priklady zamysleneho pouziti: 1. <Stage Name="target.Tag("NPC_Name")" Title="Ishar - drobná výpomoc (target.Tag("NPC_Name"))"> <Objective ID="target.NumericTag("NPC_number")">Slíbil jsem pomoc osobě @Text(this.Tag("NPC_name"))@. Mám odnést zásilku @Text(this.Tag("cilova_lokace_6"))@.</Objective> </Stage> 2. <ItemCreator Name="zasilka" Type="SmallCrate" Multiple="true"> <Props Name="Name" Value="Zásilka - target.Tag("NPC_Name")" /> <Props Name="Description" Value="Dodávka pro target.Tag("cilova_lokace_1")"/> </ItemCreator> 3. <SetStage Name="target.Tag("NPC_Name")" ID="1"/> <SetStage Name="zadano" ID="target.NumericTag("NPC_Name")"/> 4. <Req>GetItem("target.Tag("item_type")",target.Tag("item_amount"),"target.Tag("item_Name")")</Req> 5. <Give Item="target.Tag("item_type") Amount="target.Tag("item_amount")"/> Idealne, aby fungovalo pro This (vlastnikem vyrazu NPC) i Target (vlastnikem vyrazu hrac) a v co nejsirsim uplatneni.. | ||||||||||||
Další informace | Přidáno z fóra: http://forum.manawydan.cz/showthread.php?tid=895&pid=67474#pid67474 [^] (uživatel: Stig) | ||||||||||||
Značky | Žádné štítky nepřiloženy. | ||||||||||||
Přiložené soubory | |||||||||||||
Poznámky k problému | |
(0002465) Geo (správce) 23.10.2012 - 23:53 |
Opravena interakce, upraveny skripty. Vzorová interakce mi na lokále chodí, je třeba to dále testovat... |
(0002516) Stig (správce) 30.11.2012 - 18:12 upraveno: 30.11.2012 - 18:14 |
Funguje suprově, podrobil jsem to opravdu důkladným testům.. :) Díky moc. Jenom jedna věc, kdyby šla ještě udělat - a sice zavést možnost použití i u Expire. Něco jako: <Expire Target="this" Name="@this.Tag("jmeno")@" Minutes="@this.NumericTag("minuty")@"/> a <Req>IsExpired("this.Tag("jmeno")")</Req> (nejsem si jistej, kde by se měly psát zavináče a kde ne, tak to střílím od boku ;)) Nejdůležitější je pro mě osobně to používání Tagu v Name, ten čas je pro moje účely vedlejší, ale to už záleží na konkrétní situaci. |
(0002880) Whitey (správce) 21.04.2013 - 20:06 |
Geo nereaguje, přebírám na sebe. Návrh: Tag se uloží klasicky, pouze se mu přidá parametr "Expirable". Pokud bude true, převede se tag na současný čas + hodnota tagu v sekundách, případně se tag z "00:10:00" přeloží na "za 10 minut". Pak se přidá onen požadavek IsExpired/NotExpired. |
(0002912) Whitey (správce) 28.04.2013 - 13:43 |
STIG: Ani jsem si toho bug1011 nevsiml, nejak sem to prehlidl mezi tema desitkama bugu cos uzaviral.. Promin, ale ja tomu moc nerozumim, mohli bysme to probrat na konkretnim prikladu? Dejme tomu ze mame: Kód: <Set>target.Tag("casovany_tag") = "probiha"</Set> <Req>target.Tag("casovany_tag") = "probiha"</Req> To jsou dve zakladni operace s tagem. Chapu spravne, ze by se tam nejak pridal atribut Expirable (ale kam, kdyz XML element je Set a nikoliv Tag?) a tak by se Tag po vyprseni casu z Expirable zrusil sam? Anebo si to myslel nejak jinak? |
(0002914) Whitey (správce) 28.04.2013 - 13:50 upraveno: 28.04.2013 - 13:55 |
Ani bych nemusel dělat extra podmínky, vše se nechá krásně "schovat" do řetězce tagu. Představuji si to takto: Nastavení tagu: Expirace za 100 sekund: <Set>target.Tag("casovany_tag") = "Expirable:100"</Set> Expirace za 10 minut: <Set>target.Tag("casovany_tag") = "Expirable:10m"</Set> Expirace za 1 hodinu, 20 minut a 5 sekund: <Set>target.Tag("casovany_tag") = "Expirable:01:20:05"</Set> Skriptově můžu udělat všechny tři možnosti, není to problém. Teoreticky můžeme udělat i expiraci ke konkrétnímu datu, ale to by se hodilo jen pro velmi specifickou část kvestů. Kontrola tagu: Tag vypršel: <Req>target.Tag("casovany_tag") = "Expired"</Req> Tag stále nevypršet: <Req>target.Tag("casovany_tag") = "NotExpired"</Req> |
(0002915) Stig (správce) 28.04.2013 - 13:57 upraveno: 28.04.2013 - 14:00 |
To vypada dobre.. Hlavni je, aby tam slo udelat neco jako tohle: <Set>target.Tag("casovany_tag") = "Expirable:@this.NumericTag("sekundy")@"</Set> <Set>target.Tag("casovany_tag") = "Expirable:@this.NumericTag("minuty")@m"</Set> <Set>target.Tag("casovany_tag") = "Expirable:@this.NumericTag("hodiny")@:@this.NumericTag("minuty")@:@this.NumericTag("sekundy")@"</Set> Proto jsem to vlastne na zacatku navrhoval.. Jde o vyuziti dynamickych hodnot z Numeric Tagu v tom Expire. |
(0002916) Whitey (správce) 28.04.2013 - 14:05 |
To by neměl být problém, protože ať to v interakci napíšeš jak chceš, do skript kde bude moje úprava to dorazí už zpracované (Expirable:100 apod.). |
(0002917) Stig (správce) 28.04.2013 - 14:20 |
Supr, pak je vse ok, diky moc.. :) |
(0002918) Whitey (správce) 28.04.2013 - 14:36 upraveno: 28.04.2013 - 14:38 |
Úprava je na servru. Po restartu (nebo stažení na lokál) lze testovat. Lze používat i zkrácený tvar "E:hodnota". |
(0002964) Stig (správce) 15.07.2013 - 04:03 upraveno: 15.07.2013 - 04:19 |
Ještě dotaz, při expirování tagu se natvrdo smaže celý tag a jeho hodnota anebo se změní hodnota tagu na: target.Tag("casovany_tag") = "Expired" ? <Set>target.Tag("casovany_tag") = "Expirable:100"</Set> mi tedy vytvoří Tag "casovany_tag" s hodnotou NotExpired, jehož hodnota se po 100 sekundách sama změní na Expired? Jde mi o to, jestli to Expired je opravdu reálná hodnota tagu, tomu by napovídal ten interakční zápis. Pak tedy expirovatelný tag má nutně vždy hodnotu "Expired" nebo "NotExpired" (viz poznámka 2914: http://mantis.manawydan.cz/view.php?id=1011#c2914 [^])? Ptám se jen pro upřesnění, jinak není samozřejmě problém v interakci vést zvlášť tag se skutečnou hodnotou a zvlášť s ním související tag s vypršením (př.: rozdávání různých itemů různým hráčům po určenou dobu konkrétním NPC = 3 Tagy uložené na hráči (typ itemu, jméno rozdávajícího NPC, expirovatelný tag)). |
(0002967) Whitey (správce) 23.07.2013 - 16:11 |
Tag si sice ukládá čas, ale vrací pouze řetězec NotExpired a Expired. Pokud je potřeba aby interakce zobrazila i čas, musí se uložit zvlášť do dalšího tagu. |
(0003001) Whitey (správce) 07.09.2013 - 20:52 |
Jak to tu vypadá? Nemělo by se to už uzavřít? |
(0003033) Stig (správce) 13.09.2013 - 22:30 |
Promiň za zdržení, zrovna dopisuju interakci, kde to bude. Dám vědět co nejdřív. |
Historie problému | |||
Čas modifikace | Uživatelské jméno | Pole | Změna |
13.10.2012 - 15:13 | Stig | Nový problém | |
13.10.2012 - 15:55 | Stig | Popis upraven | Zobrazit revize |
18.10.2012 - 17:37 | Stig | Popis upraven | Zobrazit revize |
19.10.2012 - 10:49 | Geo | Přiřazen | => Geo |
19.10.2012 - 10:49 | Geo | Stav | nový => přiřazený |
19.10.2012 - 11:24 | Stig | Popis upraven | Zobrazit revize |
23.10.2012 - 23:53 | Geo | Poznámka přidána: 0002465 | |
23.10.2012 - 23:53 | Geo | Stav | přiřazený => čeká na testy |
30.11.2012 - 18:12 | Stig | Poznámka přidána: 0002516 | |
30.11.2012 - 18:14 | Stig | Poznámka upravena: 0002516 | Zobrazit revize |
30.11.2012 - 18:14 | Stig | Poznámka upravena: 0002516 | Zobrazit revize |
21.04.2013 - 20:03 | Whitey | Přiřazen | Geo => Whitey |
21.04.2013 - 20:03 | Whitey | Stav | čeká na testy => přiřazený |
21.04.2013 - 20:06 | Whitey | Poznámka přidána: 0002880 | |
21.04.2013 - 20:06 | Whitey | Stav | přiřazený => reakce |
28.04.2013 - 13:43 | Whitey | Poznámka přidána: 0002912 | |
28.04.2013 - 13:50 | Whitey | Poznámka přidána: 0002914 | |
28.04.2013 - 13:52 | Whitey | Poznámka upravena: 0002914 | Zobrazit revize |
28.04.2013 - 13:53 | Whitey | Poznámka upravena: 0002914 | Zobrazit revize |
28.04.2013 - 13:53 | Whitey | Poznámka upravena: 0002914 | Zobrazit revize |
28.04.2013 - 13:54 | Whitey | Poznámka upravena: 0002914 | Zobrazit revize |
28.04.2013 - 13:55 | Whitey | Poznámka upravena: 0002914 | Zobrazit revize |
28.04.2013 - 13:57 | Stig | Poznámka přidána: 0002915 | |
28.04.2013 - 13:57 | Stig | Stav | reakce => přiřazený |
28.04.2013 - 14:00 | Stig | Poznámka upravena: 0002915 | Zobrazit revize |
28.04.2013 - 14:05 | Whitey | Poznámka přidána: 0002916 | |
28.04.2013 - 14:20 | Stig | Poznámka přidána: 0002917 | |
28.04.2013 - 14:36 | Whitey | Poznámka přidána: 0002918 | |
28.04.2013 - 14:36 | Whitey | Stav | přiřazený => čeká na testy |
28.04.2013 - 14:38 | Whitey | Poznámka upravena: 0002918 | Zobrazit revize |
15.07.2013 - 04:03 | Stig | Poznámka přidána: 0002964 | |
15.07.2013 - 04:11 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
15.07.2013 - 04:12 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
15.07.2013 - 04:13 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
15.07.2013 - 04:16 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
15.07.2013 - 04:18 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
15.07.2013 - 04:19 | Stig | Poznámka upravena: 0002964 | Zobrazit revize |
23.07.2013 - 16:11 | Whitey | Poznámka přidána: 0002967 | |
07.09.2013 - 20:52 | Whitey | Poznámka přidána: 0003001 | |
07.09.2013 - 20:52 | Whitey | Stav | čeká na testy => reakce |
13.09.2013 - 22:30 | Stig | Poznámka přidána: 0003033 | |
13.09.2013 - 22:30 | Stig | Stav | reakce => přiřazený |
Copyright © 2000 - 2024 MantisBT Team |