http://www.iris2.de/index.php?title=Special:NewPages&feed=atom&namespace=0
Iris2 - New pages [en]
2024-03-28T10:04:53Z
From Iris2
MediaWiki 1.15.1
http://www.iris2.de/index.php/UO:SA
UO:SA
2011-12-12T16:25:09Z
<p>SiENcE: </p>
<hr />
<div>Infopage about UO:KR|SA. <br />
<br />
Client Download: new Enhanced (not supported by Iris2), old Classic: http://www.uoherald.com/downloads/<br />
<br />
UO:SA - Body Values<br />
<pre><br />
UOSA Creatures <br />
666 Gargoyle Male<br />
667 Gargoyle Female<br />
713 Abyssal_Infernal<br />
714 Beetle_Iron<br />
715 Boura<br />
716 ChickenLizard<br />
717 Clockwork_Scorpion<br />
718 Dragon_Faerie<br />
719 Dragon_Wolf<br />
720 Elemental_Lava<br />
721 Flayer<br />
722 Gargoyle_Undead<br />
723 Green Goblin<br />
724 Gremlin<br />
725 Humunculous<br />
726 Kepetch<br />
727 Kepetch_Shorn<br />
728 Medusa<br />
729 Mimic<br />
730 Raptor<br />
732 RotWorm<br />
733 Skree<br />
734 Slith<br />
735 Spider_Female<br />
736 Spider_Male<br />
737 Spider_TrapDoor<br />
738 Trapdoor_Creature<br />
739 Wolf_Leather<br />
293 Gargoyle_Pet<br />
286 RotWorm_Juvenile<br />
287 BloodWorm<br />
692 AnimatedWeapon<br />
830 Primevil Lich<br />
829 Rising Colosus<br />
741 Slasher of Veils<br />
826 Stygian Dragon<br />
740 Shadow Dweller<br />
742 Tunnel Spirit Body<br />
743 Tunnel Spirit Tentacle<br />
334 Grey Goblin<br />
832 Phoenix Bird<br />
831 Parrot Bird<br />
<br />
UOSA Wearables <br />
585 Leather_Arms_Female<br />
586 Leather_Arms_Male<br />
587 Leather_Chest_Female<br />
588 Leather_Chest_Male<br />
589 Leather_Legs_Female<br />
590 Leather_Legs_Male<br />
591 Plate_Arms_Female<br />
592 Plate_Arms_Male<br />
593 Plate_Chest_Female<br />
594 Plate_Chest_Male<br />
595 Plate_Kilt_Female<br />
596 Plate_Kilt_Male<br />
597 Plate_Legs_Female<br />
598 Plate_Legs_Male<br />
599 Stone_Arms_Female<br />
600 Armor_Stone_Arms_Male<br />
601 Armor_Stone_Chest_Female<br />
602 Armor_Stone_Chest_Male<br />
603 Armor_Stone_Kilt_Female<br />
604 Armor_Stone_Kilt_Male<br />
609 Armor_Stone_Legs_Female<br />
610 Armor_Stone_Legs_Male<br />
654 Clothing_Arms_Female<br />
655 Clothing_Arms_Male<br />
656 Clothing_Chest_Female<br />
657 Clothing_Chest_Male<br />
658 Clothing_Kilt_Female<br />
659 Clothing_Kilt_Male<br />
660 Clothing_Legs_Female<br />
661 Clothing_Legs_Male<br />
663 Leather_Kilt_Female<br />
664 Leather_Kilt_Male<br />
662 Axe_Dual_Short<br />
668 Sword_Bloodblade<br />
669 Boomerang<br />
670 Sword_Broadsword<br />
672 Glave_Cyclone<br />
673 Dagger<br />
674 Mace_Disk<br />
675 Spear_Dual_Pointed<br />
676 Staff_Glass<br />
677 Staff_Serpentstone<br />
678 Sword_Shortblade<br />
690 Sword_Talwar<br />
693 Glave_Soul<br />
671 Sword_Dread<br />
691 Sword_Glass<br />
320 FishingPole_Gargoyle<br />
321 Lantern_Off_Gargoyle<br />
322 Lantern_On_Gargoyle<br />
323 Pickaxe_Gargoyle<br />
324 Shepards_Crook_Gargoyle<br />
325 Smithyhammer_Gargoyle<br />
326 Spellbook_BookOfArms_Gargoyle<br />
327 Spellbook_Bushido_Gargoyle<br />
328 Spellbook_Chivalry_Gargoyle<br />
329 Spellbook_Gargoyle<br />
330 Spellbook_Necromancy_Gargoyle<br />
331 Spellbook_Ninjutsu_Gargoyle<br />
332 Spellbook_SpellWeaving_Gargoyle<br />
333 Weapon_Wand_Gargoyle_Legacy<br />
335 Weapon_Shield_Leather_Medium_Gargoyle_Legacy<br />
336 Weapon_Shield_Leather_Small_Gargoyle_Legacy<br />
337 Weapon_Shield_Plate_Large_Gargoyle_Legacy<br />
338 Weapon_Shield_Plate_Medium_Gargoyle_Legacy<br />
339 Weapon_Shield_Plate_Small_Gargoyle_Legacy<br />
340 Weapon_Shield_Scale_Large_Gargoyle_Legacy<br />
341 Gargoyle Robe_Fancy<br />
342 Gargoyle Robe_Regular<br />
343 Weapon_Shield_Scale_Chaos_Gargoyle<br />
344 Weapon_Shield_Scale_Order_Gargoyle<br />
483 Horns_Gargoyle_Male_Legacy<br />
485 Horns_Gargoyle_Male_Legacy<br />
843 Horns_Gargoyle_Male_Legacy<br />
499 Horns_Gargoyle_Male_Legacy<br />
696 Horns_Gargoyle_Male_Legacy<br />
697 Horns_Gargoyle_Male_Legacy<br />
698 Horns_Gargoyle_Male_Legacy<br />
699 Horns_Gargoyle_Male_Legacy<br />
769 Horns_Gargoyle_Female_Legacy<br />
541 Horns_Gargoyle_Female_Legacy<br />
795 Horns_Gargoyle_Female_Legacy<br />
632 Female gargoyle horns<br />
707 Female gargoyle horns<br />
475 Female gargoyle horns<br />
647 Horns_Facial_Male<br />
650 Horns_Facial_Male<br />
652 Horns_Facial_Male<br />
665 Horns_Facial_Male<br />
547 Clothing_Robe_Deathshroud_Gargoyle_Legacy<br />
809 Ninja jacket Cloth Female<br />
810 Ninja Jacket Leather Feamale<br />
811 Shirt Doublet Female<br />
407 Tall Straw Hat<br />
708 Horns_Gargoyle_Female_Legacy<br />
534 Horns_Gargoyle_Female_Legacy<br />
427 Human Mysticism Spellbook<br />
428 Gargoyle Mysticism Spellbook<br />
705 Stone Form<br />
509 Horns_Gargoyle_Male<br />
885 Gargoyle Ankh Asset - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
865 HUMAN Ankh Asset - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
510 Generic necklace both HUamns and Gargs - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
436 Gargoyle Bracelet - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
437 Gargoyle Earrings - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
438 Gargoyle Ring - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
439 Gargoyle Necklace - NO ANIMATION - PLACEHOLDER FOR PAPERDOLL<br />
</pre></div>
SiENcE
http://www.iris2.de/index.php/Iris2_-_Ideen
Iris2 - Ideen
2011-12-11T17:30:49Z
<p>SiENcE: /* Datenverwaltung */</p>
<hr />
<div>=Datenverwaltung=<br />
<br />
Iris2<br />
<br />
Thema: Neu-Organisierung der Meshes.<br />
<br />
Ideen:<br />
<br />
Tiles\Meshes\{GruppenName(Tree|Flower|etc)}<br />
<br />
Jede TileID erhält eine Definition! Es gibt keine direkt geladenen oder nicht definierten Tiles mehr!<br />
<br />
Nur 1 Mesh für ein Tile oder eine oder ein Multi-Tile (Objekte die aus mehreren 2D-Art Tiles bestehen). Der Rest wird definiert wie in der Art.Filter.<br />
<br />
Die TileID Zählung fangen wir bei 0 an. Intern wird einfach 0x4000 draufgerechnet (0x4000 deshalb weil, weil vor den Tiles in der Art.mul noch die LandTiles kommen).<br />
<br />
Zur Vereinfachung wird alles in Hex dargestellt!<br />
<br />
<br />
Gruppierung der Tiles nach Edition. Bis AOS-ML (Bis Client patch 6.0.0).<br />
<br />
'''AOS - ML:''' 0x0000->0x3FFF (reale ID mit LandTiles 0x4000->7FFF)<br />
<br />
'''Stygian Abyss:''' 0x4000->0x7FFF (reale ID mit LandTiles 0x7FFF->0xBFFF)<br />
<br />
<br />
* TileID<br />
:* BaseMesh-Filename (BaseMaterial) - clone_meshname="basefloortile.mesh"<br />
:* Mapping auf schon existierende TileID Definition (exklusiv, dann ist keine andere option möglich) - maptoid=16093<br />
:* overwrite BaseTexture - override_tex_0="tex_blosyel01.png"<br />
:* overwrite MaterialName - newmatname="basefloortile_noshadow"<br />
:* Rotation - rotation="x:0,y:0,z:90"<br />
:* Position - xadd=1.0,yadd=0,zadd=-0.25<br />
:* keine Darstellung des Tiles - skip=true<br />
weitere Definitionen die wichtig sein könnten:<br />
:* AnimData, Liste von Tiles die dazu dienen das Tile zu animieren Beispiel: Fountain{0x090D,0x090E,0x090F,0x0910} - alle Art-Tiles die den TileData Eintrag: "Animation" besitzen<br />
:* Gruppen - ?!?<br />
:* Seasons: Tiles werden durch andere Tiles ersetzt (Baumkronen)<br />
<br />
Cori: Eventuell sollten wir mal wirklich alle ids zusammen zählen die zusammengebastelt sind.<br />
<br />
Ghouls vorschlag zum Tool für Besprechungen -> http://www.twiddla.com/<br />
<br />
Umsetzung: Ich schreib über Weihnachten nen C# Plugin für UOFiddler.</div>
SiENcE
http://www.iris2.de/index.php/How_to_work_with_the_filter.art
How to work with the filter.art
2011-12-03T11:06:51Z
<p>SiENcE: </p>
<hr />
<div>TODO!<br />
<br />
<br />
<pre><br />
gArtFilter[1286]={maptoid=1287}<br />
<br />
-- portrait<br />
gArtFilter[3751]={maptoid=3752,rotation="x:0,y:0,z:270",xadd=0,yadd=0,zadd=0}<br />
<br />
<br />
-- lantern<br />
gArtFilter[9409]={maptoid=9411,rotation="x:0,y:0,z:-90",xadd=-1,yadd=0,zadd=0}<br />
<br />
gArtFilter[0x04ac]={clone_meshname="mdl_001194.mesh",override_tex_0="art_fallback.png"}<br />
<br />
gArtFilter[0xc4c]={clone_meshname="basefloortile.mesh",newmatname="basefloortile_noshadow",override_tex_0="tex_0x4d2f.png",rotation="x:0,y:0,z:90"}<br />
</pre></div>
Corastin
http://www.iris2.de/index.php/How_to_write_a_Material_File
How to write a Material File
2011-12-03T09:09:23Z
<p>SiENcE: /* Import the materia-templates.material */</p>
<hr />
<div>=Editing the File=<br />
<br />
==Import the materia-templates.material==<br />
<br />
Open a file and rename it to the name of the material in your mesh file. For example "basefloortile.material" for the "respective basefloortile.mesh".<br />
<br />
Begin the file with the following file without the slashes. The slashes are normally for comments.<br />
<br />
<br />
<pre>import * from "material-templates.material"</pre><br />
<br />
<br />
This will import the templates and the artist does not have to type very much.<br />
<br />
==Defining the Template and Texture==<br />
<br />
Then type this and replace the "diffuse_template" with your chosen template and "tex_basefloortile.png" with the texture which you want to use.<br />
<br />
<pre><br />
material basefloortile : diffuse_template<br />
{ <br />
set_texture_alias ambient_tex tex_basefloortile.png<br />
set_texture_alias diffuse_tex tex_basefloortile.png <br />
}<br />
</pre><br />
<br />
Diffuse is the texture for normal light and ambient is what happens if there is no light.<br />
<br />
=Templates=<br />
<br />
==diffuse_template==<br />
<br />
For normal Tiles without transparency but still having their own shadow.<br />
<br />
==diffuse_template_alpha==<br />
<br />
This is good for tiles with transparent textures but still having shadows.<br />
<br />
:Advantage: Does not need a lot of performance<br />
:Disadvantage Not so nice frames and is good for everything with transparency<br />
<br />
==diffuse_template_sceneblend==<br />
<br />
You can take that if the object should not have shadows but still is alpha transparent.<br />
<br />
: Advantage: It has very nice frames. Good for grasses.<br />
: Disadvantage: No real "Tiefensortierung". It is only apparent if you look at it and another mesh also having sceneblend.<br />
<br />
==diffuse_template_foliage==<br />
<br />
For objects having models and is alpha transparent. <br />
<br />
: Advantage: Object has shadows<br />
: Disadvantage: Object unfortunately does not have nice frames. Good for flowers and trees.Objekt hat nicht so schöne Ränder (geeignet für Blumen oder Bäume)<br />
<br />
=Beware=<br />
<br />
To test the meshes, material and texture by taking a look on it with the help of [http://www.ogre3d.org/tikiwiki/Ogre+Meshy Ogre Meshy]. You have to copy the "material-templates.material" in the same folder.<br />
<br />
=Links=<br />
<br />
[http://www.ogre3d.org/tikiwiki/Materials Tutorials]</div>
Corastin
http://www.iris2.de/index.php/Gump_Guide
Gump Guide
2011-12-01T21:37:08Z
<p>SiENcE: Protected "Gump Guide" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<hr />
<div><pre><br />
HTML-Tags<br />
=========<br />
-<basefont color=#FFFFFF> </basefont> <BASEFONT COLOR=#FFFFFF> </BASEFONT><br />
-<br> <BR><br />
-<center> </center> <CENTER> </CENTER><br />
<br />
-?<br />
-<DIV> </DIV> or <div> </div><br />
-<DIV ALIGN=RIGHT> or <div align=right><br />
-<U> </U> or <u><br />
-<I> </I> or <i> </i><br />
-<STRONG> </STRONG> or <strong> </strong<br />
-<B> </B> or <b> </b><br />
<br />
<BODY><BASEFONT COLOR=#DFDFC0><CENTER>Welcome to the Ultima Online Tutorial! This and the following windows will explain how to play<br />
Ultima Online. You can use the scrollbar on the right to scroll this text up and down. Press the <B>NEXT</B> button when you are<br />
ready to begin!</CENTER></BASEFONT></BODY><br />
<br />
When a plant reaches its maximum growth level, it will no longer grow in size, but will instead produce <a href="?50">seeds</a> any<br />
time a <a href="?51">growth check</a> is performed.<BR><BR>The type of seed that a plant produces is determined by whether it<br />
pollinated itself, or if pollen from another plant was applied to it during the <a href="?66">cross-pollination</a> process.<br />
<BR><BR>A plant will produce one seed per day, up to a maximum of eight seeds. A plant will only produce a seed if it is<br />
<a href="?52">healthy</a>.<BR><BR>You may gather seeds from a plant by using the Gather Seeds button on the Resources menu.<br />
You will pick all available seeds from the plant and place them in your backpack, if there is room.<BR><BR>The number of seeds<br />
available is displayed next to the Seed # indicator (seed image in an empty box).<BR><BR>A red X symbol indicates that the plant has<br />
been set to <a href="?70">decorative mode</a>, or has produced its maximum amount.<br />
<br />
<br />
Gump (basic)<br />
============<br />
private static byte[] m_BeginLayout = StringToBuffer( "{ " );<br />
private static byte[] m_EndLayout = StringToBuffer( " }" );<br />
<br />
private static byte[] m_NoMove = StringToBuffer( "{ nomove }" );<br />
private static byte[] m_NoClose = StringToBuffer( "{ noclose }" );<br />
private static byte[] m_NoDispose = StringToBuffer( "{ nodispose }" );<br />
private static byte[] m_NoResize = StringToBuffer( "{ noresize }" );<br />
<br />
Alpha<br />
return String.Format( "{{ checkertrans {0} {1} {2} {3} }}", m_X, m_Y, m_Width, m_Height );<br />
<br />
Background<br />
return String.Format( "{{ resizepic {0} {1} {2} {3} {4} }}", m_X, m_Y, m_GumpID, m_Width, m_Height );<br />
<br />
Button<br />
return String.Format( "{{ button {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_ID1, m_ID2, (int)m_Type, m_Param, m_ButtonID );<br />
<br />
Checkbox<br />
return String.Format( "{{ checkbox {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_ID1, m_ID2, m_InitialState ? 1 : 0, m_SwitchID );<br />
<br />
Group<br />
return String.Format( "{{ group {0} }}", m_Group );<br />
<br />
HTML-Gump<br />
return String.Format( "{{ htmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_Width, m_Height, Parent.Intern( m_Text ), m_Background ? 1 : 0, m_Scrollbar ? 1 : 0 );<br />
<br />
HTML-Gump Localized<br />
===================<br />
case GumpHtmlLocalizedType.Plain:<br />
return String.Format( "{{ xmfhtmlgump {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_Width, m_Height, m_Number, m_Background ? 1 : 0, m_Scrollbar ? 1 : 0 );<br />
<br />
case GumpHtmlLocalizedType.Color:<br />
return String.Format( "{{ xmfhtmlgumpcolor {0} {1} {2} {3} {4} {5} {6} {7} }}", m_X, m_Y, m_Width, m_Height, m_Number, m_Background ? 1 : 0, m_Scrollbar ? 1 : 0, m_Color );<br />
<br />
default: // GumpHtmlLocalizedType.Args<br />
return String.Format( "{{ xmfhtmltok {0} {1} {2} {3} {4} {5} {6} {7} @{8}@ }}", m_X, m_Y, m_Width, m_Height, m_Background ? 1 : 0, m_Scrollbar ? 1 : 0, m_Color, m_Number, m_Args );<br />
<br />
private static byte[] m_LayoutNamePlain = Gump.StringToBuffer( "xmfhtmlgump" );<br />
private static byte[] m_LayoutNameColor = Gump.StringToBuffer( "xmfhtmlgumpcolor" );<br />
private static byte[] m_LayoutNameArgs = Gump.StringToBuffer( "xmfhtmltok" );<br />
<br />
Image<br />
==========<br />
if ( m_Hue == 0 )<br />
return String.Format( "{{ gumppic {0} {1} {2} }}", m_X, m_Y, m_GumpID );<br />
else<br />
return String.Format( "{{ gumppic {0} {1} {2} hue={3} }}", m_X, m_Y, m_GumpID, m_Hue );<br />
}<br />
<br />
private static byte[] m_LayoutName = Gump.StringToBuffer( "gumppic" );<br />
private static byte[] m_HueEquals = Gump.StringToBuffer( " hue=" );<br />
<br />
Tiled-Button<br />
============<br />
if( m_LocalizedTooltip > 0 )<br />
return String.Format( "{{ buttontileart {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} }}{{ tooltip {11} }}", m_X, m_Y, m_ID1, m_ID2, (int)m_Type, m_Param, m_ButtonID, m_ItemID, m_Hue, m_Width, m_Height, m_LocalizedTooltip );<br />
else<br />
return String.Format( "{{ buttontileart {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} }}", m_X, m_Y, m_ID1, m_ID2, (int)m_Type, m_Param, m_ButtonID, m_ItemID, m_Hue, m_Width, m_Height );<br />
<br />
private static byte[] m_LayoutName = Gump.StringToBuffer( "buttontileart" );<br />
private static byte[] m_LayoutTooltip = Gump.StringToBuffer( " }{ tooltip" );<br />
<br />
Tiled<br />
=====<br />
<br />
return String.Format( "{{ gumppictiled {0} {1} {2} {3} {4} }}", m_X, m_Y, m_Width, m_Height, m_GumpID );<br />
<br />
private static byte[] m_LayoutName = Gump.StringToBuffer( "gumppictiled" );<br />
<br />
<br />
Item<br />
=========<br />
if ( m_Hue == 0 )<br />
return String.Format( "{{ tilepic {0} {1} {2} }}", m_X, m_Y, m_ItemID );<br />
else<br />
return String.Format( "{{ tilepichue {0} {1} {2} {3} }}", m_X, m_Y, m_ItemID, m_Hue );<br />
<br />
private static byte[] m_LayoutName = Gump.StringToBuffer( "tilepic" );<br />
private static byte[] m_LayoutNameHue = Gump.StringToBuffer( "tilepichue" );<br />
<br />
Label<br />
==========<br />
return String.Format( "{{ text {0} {1} {2} {3} }}", m_X, m_Y, m_Hue, Parent.Intern( m_Text ) );<br />
<br />
Label-Cropped<br />
==================<br />
return String.Format( "{{ croppedtext {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_Width, m_Height, m_Hue, Parent.Intern( m_Text ) );<br />
<br />
Page<br />
====<br />
return String.Format( "{{ page {0} }}", m_Page );<br />
<br />
Radio<br />
=====<br />
return String.Format( "{{ radio {0} {1} {2} {3} {4} {5} }}", m_X, m_Y, m_ID1, m_ID2, m_InitialState ? 1 : 0, m_SwitchID );<br />
<br />
Text-Entry<br />
==========<br />
return String.Format( "{{ textentry {0} {1} {2} {3} {4} {5} {6} }}", m_X, m_Y, m_Width, m_Height, m_Hue, m_EntryID, Parent.Intern( m_InitialText ) );<br />
<br />
Tooltip<br />
=======<br />
return String.Format( "{{ tooltip {0} }}", m_Number );<br />
</pre></div>
SiENcE