Manawydan Mantis

Detaily problému Přechod na poznámky ] Historie problému ] Tisk ]
IDProjektKategorieZobrazit stavDatum vloženíPoslední změna
0000995OstatníAnalýzaveřejný30.09.2012 - 20:2710.12.2012 - 08:26
ReportérWhitey 
PřiřazenWhitey 
PrioritanízkáZávažnostmaláReprodukovatelnostN/A
StavreakceŘešeníotevřený 
PlatformaOSVerze OS
Shrnutí0000995: Dataset s rodělením grafiky pro stavbu domů
PopisNávrh struktury XML s rozdělením grafiky pro stavbu domů.
ZnačkyŽádné štítky nepřiloženy.
Přiložené soubory

- Závislosti
spojený s %id 0000463nový Vytvořit rozhraní pro dekoraci domků hráčem 
spojený s %id 0000462nový Vytvořit rozhraní pro pokládku koberců hráčem 

-  Poznámky k problému
(0002415)
Whitey (správce)
30.09.2012 - 20:27

Základní návrh struktury XML:

<WallSet Name="SimplePlanks" SWCorner="0x0006" NECorner="0x0009" ... />
<WallSet Name="SimpleStone" .....

<DecoSet Name="Flowers">
   <Deco>ItemID kytky</Deco>
   <Deco>ItemID jiné kytky</Deco>
   ...
</DecoSet>

<DecoSet Name="StoneTileFloor">
....
(0002416)
Whitey (správce)
30.09.2012 - 20:28
upraveno: 30.09.2012 - 20:28

Rozšíření definice o cenu a údržbu:
<WallSet Name="SimplePlanks" SWCorner="0x0006" NECorner="0x0009" ....... Price="50*Stone, 1*Cheasel, 1*Hammer" Upkeep="100" />
<Deco ItemID="ThroneID" Price="1*Throne" Upkeep="0" />
<Deco ItemID="AppleTreeKmenID, AppleTreeListyID" Price="1*AppleSeed, 10*Dirt, 100*IWaterSource, 100*SilverCoin" Upkeep="10" />

"Price" poslouží pro kalkulaci výsledné ceny stavby v itemech a penězích.
"Upkeep" poslouží pro kalkulaci nájmu (resp. poplatku za údržbu).

Upozorňuji na možnost zadat víc ItemID v Deco pro skládané itemy jako je např. strom.

(0002418)
Whitey (správce)
30.09.2012 - 22:18
upraveno: 30.09.2012 - 23:03

Finální definice pro dekorační sady:

<HouseBuilderData>

   <DecoSet Name="">
      <Deco ItemID="" Name="" IncZ="" Price="" Upkeep="" />
      <Deco ItemID="" Name="" IncZ="" Price="" Upkeep="" />
      ...
   </DecoSet>

</HouseBuilderData>

<DecoSet>:
Name = povinná položka, souhrnný název sady. Český, smysluplný, protože bude použit jako defaultní u <Deco> prvků bez definovaného názvu. Např. "Kamenná podlaha" nebo "Zahradní květiny".

<Deco>:
ItemID = povinná položka, grafika předmětu
Name = nepovinná položka, název předmětu. Pokud nebude zadána, bude brán název setu (Name z DecoSet).
IncZ = nepovinná položka. Posunutí předmětu nad úroveň podlahy aktuálního patra. Domnívám se že některé grafiky (např. pochodeň na zeď) defaultně sedí na podlaze. Defaultní hodnota 0.
Price = nepovinná položka. Cena za postavení v itemech, defaultní hotnota "nic". Příklad: Price="AppleSeed=1, Dirt=10, IWaterSource=100, SilverCoin=100", tj. stejné jako zadání surovin pro výrobu v ItemsDatabase.xml.
Upkeep = nepovinná položka. Stanoví nárůst nájmu domu (nebo pokles při záporné hodnotě). Defaultní hodnota 0.


Definici pro zdi (<WallSet>) ještě promýšlím, musím si projít "správnou" konstrukci zdí - tj. kam se musí dát který roh apod.

(0002419)
Whitey (správce)
01.10.2012 - 17:28
upraveno: 01.10.2012 - 17:56

Už jsem promyslel způsob definice zdí, využiji navržené definice Decosetů, jen ji rozšířím.
<HouseBuilderData>

   <DecoSet Name="">
      <Deco ItemID="" Name="" IncZ="" Damaged="" Price="" Upkeep="" />
      <Deco ItemID="" Name="" IncZ="" Damaged="" Price="" Upkeep="" />
      <Deco ItemID="" Name="" IncZ="" Damaged="" Price="" Upkeep="" />
      ...

      <Line Direction="" Start="" Middle="" End="" />
      ...

      <Square SWCorner="" WMiddle="" NWCorner="" NMiddle="" NECorner="" EMiddle="" SECorner="" SMiddle="" Tiles="" />
      ...

   </DecoSet>

</HouseBuilderData>

(0002422)
Whitey (správce)
01.10.2012 - 18:16
upraveno: 02.10.2012 - 17:35

<Deco>, definice dekorací:
ItemID -> ID grafiky.
Name -> nepovinné, defaultní se vezme z DecoSetu, tj. "Prkenná zeď".
IncZ -> nepovinné, defaultní hodnota 0, zdi sedí na zemi.
Damaged -> nepovinné, grafika je od poškozeného kusu (např. díry v koberci).
Price -> nepovinné, defaultní hodnota 0, cena staby (v itemech, např. "AppleSeed=1, Pot=1, Dirt=5, IWaterSource=100").
Upkeep -> nepovinné, defaultní hodnota 0, cena údržby (ve stříbrňácích).


<Line>, definice pro automatické generování rovné čáry:
Direction -> orientace čáry. Nepovinné, defaultně "N".
Start -> první část čáry z levé strany monitoru.
Middle -> středové pole, možno definovat víc částí - budou se náhodně střídat. Náhodné střídání půjde vypnout, pak se bude brát první kus v seznamu.
End -> poslední část čáry na pravé straně monitoru.

<Square>, definice pro automatické generování plochy:
SWCorner -> levý roh.
WMiddle -> výplň mezi levým a horním rohem.
NWCorner -> horní roh.
NMiddle -> výplň mezi horním a pravým rohem.
NECorner -> pravý roh.
EMiddle -> výplň mezi pravým a dolním rohem.
SECorner -> dolní roh.
SMiddle -> výplň mezi dolním a levým rohem.
Tiles -> vnitřní výplň.

Vzorové XML:
*****************************************************

<HouseBuilderData>

   <DecoSet Name="Prkenná zeď">
      <Deco ItemID="0x0006" />
      <Deco ItemID="0x0007" />
      <Deco ItemID="0x0008" />
      <Deco ItemID="0x0009" />
      <Deco ItemID="0x000A" />
      <Deco ItemID="0x000B" />
      <Deco ItemID="0x000C" />
      <Deco ItemID="0x000D" />
      <Deco ItemID="0x000E" Name="Okno" />
      <Deco ItemID="0x000F" Name="Okno" />

      <Line Direction="W" Start="0x000D" Middle="0x0008" End="0x000B" />
      <Line Direction="N" Start="0x000A" Middle="0x0007" End="0x000C" />

      <Square SWCorner="0x000D" WMiddle="0x0008" NWCorner="0x0009" NMiddle="0x0007" NECorner="0x000C" EMiddle="0x0008" SECorner="0x0006" SMiddle="0x0007" Tiles="" />
   </DecoSet>

   <DecoSet Name="šedý koberec">
      <Deco ItemID="0x1098" />
      <Deco ItemID="0x1099" />
      <Deco ItemID="0x109A" />
      <Deco ItemID="0x109B" />
      <Deco ItemID="0x109C" />
      <Deco ItemID="0x109D" />
      <Deco ItemID="0x109E" />
      <Deco ItemID="0x109F" />
      <Deco ItemID="0x10A0" />
      <Deco ItemID="0x10A1" />
      <Deco ItemID="0x10A2" Name="Díra" Damaged="true" />
      <Deco ItemID="0x10A3" Name="Díra" Damaged="true" />

      <Square SWCorner="0x10A0" WMiddle="0x109C" NWCorner="0x109D" NMiddle="0x1099" NECorner="0x109E" EMiddle="0x109A" SECorner="0x109F" SMiddle="0x109B" Tiles="0x1098, 0x10A1, 0x10A2, 0x10A3" />
   </DecoSet>

</HouseBuilderdata>

*****************************************************
Uvedené XML mi umožní:
Prkenná zeď:
- generovat jednotlivé kusy zdi s názvem "Prkenná zeď", výjimkou je část s oknem která se bude jmenovat "Okno".
- generovat rovnou zeď ve dvou směrech (rohy u setkání zdí nutno ručně vyměnit)
Šedý koberec:
- generovat jednotlivé kusy koberce s názvem "Šedý koberec", nebo "Díra" u polí s dírou.
- generovat čtvercový koberec s dále uvedenými možnostmi

Parametry automatického generování z tohoto XML:
- Náhoda: pokud je zadáno víc itemID bude je program náhodně střídat (např. vnitřek koberce, tj. Tiles). Bez náhody bude brána pouze první grafika v seznamu.
- Poškozené kusy/nepoškozené kusy/Kombinovat. Při náhodném výběru bude dávat pouze poškozené kusy, pouze nepoškozené kusy, nebo kombinaci.

(0002424)
Whitey (správce)
02.10.2012 - 17:36

Vzor XML rozšířen v sekci "Prkenná zeď" o <square>:

<Square SWCorner="0x000D" WMiddle="0x0008" NWCorner="0x0009" NMiddle="0x0007" NECorner="0x000C" EMiddle="0x0008" SECorner="0x0006" SMiddle="0x0007" Tiles="" />
(0002431)
Whitey (správce)
04.10.2012 - 22:52

Pozastavuji problém stavby domů jako prozatím neřešitelný - chybí podpora klienta.
Jdu pátrat nad možností úpravy klienta.

- Historie problému
Čas modifikace Uživatelské jméno Pole Změna
30.09.2012 - 20:27 Whitey Nový problém
30.09.2012 - 20:27 Whitey Stav nový => přiřazený
30.09.2012 - 20:27 Whitey Přiřazen => Whitey
30.09.2012 - 20:27 Whitey Poznámka přidána: 0002415
30.09.2012 - 20:28 Whitey Poznámka přidána: 0002416
30.09.2012 - 20:28 Whitey Poznámka upravena: 0002416 Zobrazit revize
30.09.2012 - 20:30 Whitey Shrnutí Dataset s grafikou pro stavbu domů => Dataset s rodělením grafiky pro stavbu domů
30.09.2012 - 22:18 Whitey Poznámka přidána: 0002418
30.09.2012 - 22:20 Whitey Poznámka upravena: 0002418 Zobrazit revize
30.09.2012 - 22:21 Whitey Poznámka upravena: 0002418 Zobrazit revize
30.09.2012 - 22:21 Whitey Poznámka upravena: 0002418 Zobrazit revize
30.09.2012 - 23:03 Whitey Poznámka upravena: 0002418 Zobrazit revize
01.10.2012 - 17:28 Whitey Poznámka přidána: 0002419
01.10.2012 - 17:32 Whitey Poznámka přidána: 0002420
01.10.2012 - 17:56 Whitey Poznámka upravena: 0002419 Zobrazit revize
01.10.2012 - 17:56 Whitey Poznámka smazána: 0002420
01.10.2012 - 18:16 Whitey Poznámka přidána: 0002422
01.10.2012 - 18:16 Whitey Poznámka upravena: 0002422 Zobrazit revize
01.10.2012 - 18:17 Whitey Poznámka upravena: 0002422 Zobrazit revize
01.10.2012 - 18:18 Whitey Poznámka upravena: 0002422 Zobrazit revize
01.10.2012 - 18:20 Whitey Poznámka upravena: 0002422 Zobrazit revize
02.10.2012 - 17:35 Whitey Poznámka upravena: 0002422 Zobrazit revize
02.10.2012 - 17:36 Whitey Poznámka přidána: 0002424
04.10.2012 - 22:52 Whitey Poznámka přidána: 0002431
04.10.2012 - 22:52 Whitey Stav přiřazený => reakce
10.12.2012 - 08:25 Whitey Vztah přidán spojený s %id 0000463
10.12.2012 - 08:26 Whitey Vztah přidán spojený s %id 0000462


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker