مشاهده نسخه کامل
: هك age of empires 3
the great killer
05-10-2011, 23:44
خوب
پس از سالها نتیجه گرفتم که کارمو راه بندازم و یک مد رو برای aoe3 بسازم
من افراد پایه می خوام
هرکی پایه بود تشکر بزنه
اگه تعداد کافی بود شروع می کنم
فقط تشکر
TNX
تا فردا
the great killer
06-10-2011, 20:48
چیزه دیگری از این افراد بی پایه برنمیاد
ما هم کارمون رو شروع می کنیم
اول بریم سراغ سه فایل اصلی توی مدینگ stringtable.xml
proto.xml
techtree.xml
که این سه تا رو میشه توی data توی فایل بازی پیدا کرد
هر سه تا هیچ برنامه ای نمی خواد و فقط با note pad یا wordpad(به غیر از قسمت آخر)
توجه: هیچوقت هیچوقت این فایل هارو دابل کلیک نکنید. با بروزر اینترنتتون باز می کنه و ترتیب نوشته ها رو بهم می زنه
فقط با notepad یا wordpad
اول از همه stringtable.xml
توضیح مختصرش اینه که تمام نوشته های بازی تو این قسمته
همین
ساختمان اصلی این کد ها اینطوریه
String_locID="{شماره}<{ نوشته }</String>
بعضی موقع ها هم با ین پسوند ها میاد
symbol= , gamecharacter= , soundfilename=
این از این
PROTO رو عصر یا فردا می زارم
خیلی طولانیه درس دارم
یه نکته:هیچوقت از FINDER
برای تغییر اسم یونیت استفاده نکنید
تا برای پروتو توضیح ندادم.
the great killer
08-10-2011, 19:01
خوب فایل پروتو رو هم شروع کنیم
تمام اطلاعات یونیتها که دونه به دونه براتون توضیح می دم
برای مثال از یونیت تفنگدار(Musketeer) استفاده می کنیم
<Unit id ='214' name ='Musketeer'>
این اسم کامله یونیت هست. یونیت ها در پروتو بر اساس نامشون مرتب می شن خیلی ساده
<DBID>3</DBID>
این برای بازی multiplayer هست که تو ایران به درد نمی خوره (بازی اوریجینال در ایران وجود نداره و اکانتی برای بازی در قسمت ESO وجود نداره:41:) ولی خوب این قسمتو باید تو پروتو گذاشته بشه.
<DisplayNameID>22805</DisplayNameID>
تو پست بالا اگه یادتون باشه گفتم هیچوقت از داخل استرینگ تغییر ندین به خاطر اینکه ممکنه چیز دیگری رو تغییر بدین
این شماره داخل استرینگ تیبل موجوده و با این نوشته مواجه می شین
<String _locID ='22805'>Musketeer</String>
حالا می تونین تغییرشون بدین
<EditorNameID>25023</EditorNameID>
این در سناریو ادیتور بکار می ره.
<PopulationCount>1</PopulationCount>
تعداد جمعیتی که اشغال می کنه.
<ObstructionRadiusX>0.4900</ObstructionRadiusX>
<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
سایز یونیت. شما می تونید با تغیر شماره ها سایز یونیت رو تغییر بدین.
<FormationCategory>Ranged</FormationCategory>
فرم قرار گرفتن یونیت.
<MaxVelocity>4.0000</MaxVelocity>
سرعت حرکت یونیت در حال عادی
<MaxRunVelocity>6.0000</MaxRunVelocity>
سرعت دویدن یونیت
<MovementType>land</MovementType>
جایی که یونیت حرکت می کند میتونه air باشه water و land باشه.
<TurnRate>18.0000</TurnRate>
مهارت یونیت
<AnimFile>units\infantry_ranged\musketeer\musketeer.xml</AnimFile>
تمام اطلاعات انیمیشن یونیت
<ImpactType>Flesh</ImpactType>
<PhysicsInfo>dude</PhysicsInfo>
طرز رفتار در مقابل خسارات و اطلاعات فیزیکی (زیاد متوجه نشدم اینو خوب:41:)
<Icon>units\infantry_ranged\musketeer\musketeer_icon_64x 64</Icon>
آیکونی که در ساختمان ها مشاهده می شود.
<PortraitIcon>units\infantry_ranged\musketeer\musketeer_portrait</PortraitIcon>
عکس یونیت هنگامی که انتخاب می شود.
<RolloverTextID>22812</RolloverTextID>
<ShortRolloverTextID>25669</ShortRolloverTextID>
توضیح یونیت زمانی که موس روی عکس یا خود یونیت می ماند.
<InitialHitpoints>150.0000</InitialHitpoints>
HP یونیت زمانی که ساخته می شود.
<MaxHitpoints>150.0000</MaxHitpoints>
حد آخر HP یوینت. در بعضی مواقع این دو با هم دیگر تفاوت دارند.
<LOS>16.0000</LOS>
خط دید یونیت.(در همه جا از LOS استفاده می شود.)
<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
این برای خودم پیچیده است چون برای بعضی یونیت ها وجود داره ولی برای بعضی ها نه.
هیچ نظری در موردش ندارم. شرمنده.
<UnitAIType>RangedCombative</UnitAIType>
نوع رفتار یونیت در هوش مصنوعی
<TrainPoints>30.0000</TrainPoints>
زمانی که طول می کشد تا یونیت ساخته شود.
<Bounty>10.0000</Bounty>
مقدار امتیازی که زمان کشتن یونیت بدست می آورید
<BuildBounty>10.0000</BuildBounty>
مقدار امتیاز که زمان ساختن یونیت بدست می آورید
<Cost resourcetype ='Food'>75.0000</Cost>
<Cost resourcetype ='Gold'>25.0000</Cost>
مقدار منابع مورد نیاز برای تعلیم آن. برای HC Shipment از =shipments
<AllowedAge>1</AllowedAge>
دوره ای که می توان آن یونیت را ساخت 0=discovery age
<Armor type ='Hand' value ='0.2000'></Armor>
دفاع یونیت در برابر حمله تن به تن(Hand) می تونه بین 0 تا 1.00 (0% تا 100%)(Ranged,siege)هم باشه ولی نمی توانید دو تا از این سه تا را کنار هم قرار دهید.
حالا یه سری کد میاد که بیشتر برای توضیحات یونیته و می تونید خودتون اونها رو بفهمید(کلمات رو ترجمه کنید)
logical type مال چند کار است و abstract مال رده یونیت در بازی است.
<UnitType>LogicalTypeValidSharpshoot</UnitType>
<UnitType>LogicalTypeNeededForVictory</UnitType>
<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeLandMilitary</UnitType>
<UnitType>LogicalTypeScout</UnitType>
<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
<UnitType>LogicalTypeGarrisonInShips</UnitType>
<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>Military</UnitType>
<UnitType>UnitClass</UnitType>
<UnitType>Unit</UnitType>
<UnitType>AbstractGunpowderTrooper</UnitType>
<UnitType>AbstractInfantry</UnitType>
<UnitType>AbstractHeavyInfantry</UnitType>
<UnitType>HasBountyValue</UnitType>
<UnitType>Ranged</UnitType>
<UnitType>AbstractCavalryInfantry</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>AbstractRangedInfantry</UnitType>
<UnitType>ConvertsHerds</UnitType>
چند خط بعد برای موتر بازی است.
<Flag>CollidesWithProjectiles</Flag>
<Flag>ApplyHandicapTraining</Flag>
<Flag>CorpseDecays</Flag>
<Flag>ShowGarrisonButton</Flag>
<Flag>DontRotateObstruction</Flag>
<Flag>ObscuredByUnits</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Stop</Command>
<Command page ='10' column ='0'>Garrison</Command>
<Command page ='10' column ='2'>Delete</Command>
خوب می رسیم به این کد
<Tactics>musketBayonet.tactics</Tactics>
این درواقع آدرس تاکتیک هست
(امیدوارم خودتون فهمیده باشین)
که حمله های زیر بر اساس اون نوشته شدن
اینا کاملشه
<ProtoAction>
<Name>BuildingAttack</Name>
<Damage>20.000000</Damage>
<DamageType>Siege</DamageType>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>DefendHandAttack</Name>
<Damage>13.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>DefendRangedAttack</Name>
<Damage>23.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>12.000000</MaxRange>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>MeleeHandAttack</Name>
<Damage>13.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerHandAttack</Name>
<Damage>13.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>StaggerRangedAttack</Name>
<Damage>23.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>12.000000</MaxRange>
<ROF>3.000000</ROF>
</ProtoAction>
<ProtoAction>
<Name>VolleyHandAttack</Name>
<Damage>13.000000</Damage>
<DamageType>Hand</DamageType>
<ROF>1.500000</ROF>
<DamageBonus type ='AbstractCavalry'>3.000000</DamageBonus>
</ProtoAction>
<ProtoAction>
<Name>VolleyRangedAttack</Name>
<Damage>23.000000</Damage>
<DamageType>Ranged</DamageType>
<MaxRange>12.000000</MaxRange>
<ROF>3.000000</ROF>
</ProtoAction>
فرم کلی اونا رو توضیح می دم
<Name>{AttackName}</Name>
نام حمله
<Damage>{value}</Damage>
مقدار خسارت
<DamageType>{type}</DamageType>
می تونه 'Hand', 'Ranged', 'Siege'
<ROF>{value}</ROF>
ROF= Rate Of Fire درواقع همون سرعت reload هست
<DamageBonus type ='{category}'>{value}</DamageBonus>
مقدار خسارتی که در بعضی مواقع به شما داده می شود.
به این کد می رسیم
</Unit>
تبریک شما کد نویسیه musketeer در پروتو را فرا گرفتید
the great killer
17-10-2011, 20:15
بزارین حقیقتو بگم
پس از یک سال کار کردن روی -- AOE3 به قسمت مدلینگ رسیدم
همین امروز
که با کلی برنامه تونستم فایل های gr2 رو باز کنم(مدل) روی 3ds max
بعد از تمام کارها فهمیدیم که با این کار فقط می تونیم مدل فایل رو باز کنیم ولی granny حرکات و رفتارهای یونیت رو توی این فایل قرار داده
و اگه بدونین granny چیه(یه برنامه شبیه 3ds max ولی خیلی قوی تر که 12.500 هزار دلار می ارزه(بیشتر از این نمیدونم))و داشتن این برنامه برای تمام دوستان ایرانی یه رویا یا یه چیزی تو همین مایه هاست
پس اگه می خواین من آموزش رو اینطور ناقص ادامه بدم بگین ادامه بدم
شرمنده دوستان فک نمی کردم به اینجا برسم
the great killer
18-10-2011, 15:30
منظورتون از تشکر چیه؟
تشکر که کار متوقف شد؟؟؟؟؟؟؟؟؟؟؟
what ?
دوست عزیز شما پست مفید دادی ما هم تشکر کردیم . دیگه به تشکر هم اعتراض می کنی ؟
the great killer
18-10-2011, 23:38
اون پست تسلیتی بود برای همه کسایی که می خواستن مدل های جدید بسازن
خوب از فردا یا پس فردا آموزش رو هم ادامه می دم
the great killer
03-11-2011, 19:44
شرمنده به خاطره اینکه این دو هفته نبودم (درس)
از فردا سعی می کنم هر چه زودتر بقیه آموزش رو بزارم
ولی مطمئن باشین فردا حتما techtree رو می گم.
the great killer
04-11-2011, 21:35
سلام
درمورد فایل تکتری:
هر تیمی برای خودش یه Age0 داره که با چند یونیت خاص شروع می شه
آپگرید ها
کشتی های تجاری از طرف مرکز شهر(Shipment)
تمام این ها در فایل تکتری موجوده.
که البته فعلا پیشنهاد می کنم در ساختن یونیت فعالیت کنید(آپگرید ها )
ساختمان اصلی کد های تکتری:
Tech name ='....' type ='Normal '> 1
2 <DBID>....</DBID>
3 <Status>UNOBTAINABLE</Status>
4 <Effects>
5 ....
6 </Effects>
7 </Tech>
1 اسم تک
2 همون DBID توی پروتو ولی شماره گذاری با شماره گذاری توی پروتو کد فرق داره و به ترتیب شماره ترتیب بندی شدند(اگه متوجه نشدین منظورم اینه که اگه یه کده دیگه خواستین اضافه کنین +1 شماره آخری رو بزارید)
3 این همیشه همینه که هست هیچ کاری باهاش نداشته باشین ولی همیشه توی هر کد باید وجود داشته باشه
4 کار هایی که تک انجام می ده (در مثال های پایین ببینین)
5 همون افکت ها (یه جاخالیه)
6 این کد نشان دهنده ی پایان افکت هاست
7 پایان این تک
چند تا کد های دیگه هم تو این ها پیدا می شه:
Icon
DisplaynameID
RolloverTextID
Costresource type
Researchpoints
Flag
Homcity Level
Prereq
آیکون مشخصه
دوتا خط بعدی دوتا شماره هست که توی استرینگ تیبل پیدا مشه
مقدار منابع برای فعال کردن تک
امتیازی که برای فعال کردن تک بدست می آورید
توضیح می ده که تک در مورد چیه
یه شرطه مثلا برای politican ها از این استفاده می شه
شرط مثلا برای دوره ها و تک های فعال شده
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.