ÀÌÀü ±Û :: ´ÙÀ½ ±Û |
±Û ¾´ÀÌ |
¸Þ¼¼Áö ³»¿ë |
GangPung
°¡ÀÔÀÏ: 2003³â 12¿ù 22ÀÏ
°Ô½Ã¹°: 322
ÁÖ ¼Ò: ´ëÇѹα¹
|
±Û ÀÛ¼º½Ã°£ : 2003-12-22 ¿ù 5:45 pm Á¦¸ñ: ij¸¯ÅÍ ÃÖ´ë ¹«°Ô ¼³Á¤ ¹× ¹«°Ô¿¡ µû¸¥ ½ºÅÂ¹Ì³Ê ¼Ò¸ð¿¡ ´ëÇØ... |
|
|
Scripts\Misc\WeightOverloading.cs
¶óÀÎ 50ÀÌÇÏ
ÄÚµå :
public const int OverloadAllowance = 4; // We can be four stones overweight without getting fatigued
public static int GetMaxWeight( Mobile m )
{
return 40 + (int)(3.5 * m.Str); //str = 100À϶§ 390
}
public static void EventSink_Movement( MovementEventArgs e )
{
Mobile from = e.Mobile;
if ( !from.Player || !from.Alive || from.AccessLevel >= AccessLevel.GameMaster )
return;
int maxWeight = GetMaxWeight( from ) + OverloadAllowance; //390 + 4 = 394 (maxWeight)
int overWeight = (Mobile.BodyWeight + from.TotalWeight) - maxWeight; //Mobile.BodyWeight = 17
// ¸¸¾à TotalWeight°¡ 390À̶ó¸é 17 + 390 - 394, overWeight = 13
if ( overWeight > 0 )
{
from.Stam -= GetStamLoss( from, overWeight, (e.Direction & Direction.Running) != 0 );
if ( from.Stam == 0 )
{
from.SendLocalizedMessage( 500109 ); // You are too fatigued to move, because you are carrying too much weight!
e.Blocked = true;
return;
}
}
if ( from is PlayerMobile )
{
int amt = ( from.Mounted ? 48 : 16 );
PlayerMobile pm = (PlayerMobile)from;
if ( (++pm.StepsTaken % amt) == 0 )
--from.Stam;
}
}
ÃÖ´ë ¹«°Ô °è»ê = Èûx3.5 + 40
ÈûÀÌ 100À϶§ 100x3.5 + 40 = 390 ÀÔ´Ï´Ù
ÇÏÁö¸¸ À§ÀÇ Ãִ빫°Ô¿¡´Â Äɸ¯ÅÍÀÇ ¹«°Ô 14¸¦ Æ÷ÇÔÇѰÍÀ¸·Î ½ÇÁ¦·Î µé¼ö ÀÖ´Â ¹«°Ô´Â 390¿¡¼ 14¸¦ »« ³ª¸ÓÁö 376ÀÔ´Ï´Ù. |
|
¸Ç À§·Î °¡±â |
|
kwona21
°¡ÀÔÀÏ: 2003³â 12¿ù 25ÀÏ
°Ô½Ã¹°: 26
ÁÖ ¼Ò: /
|
±Û ÀÛ¼º½Ã°£ : 2004-01-01 ¸ñ 3:58 am Á¦¸ñ: À½... |
|
|
ÃÖ´ë ¹«°Ô¿¡ °üÇÑ ¼³Á¤Àº ÀÌÇØ°¡ °¡´Âµ¥
±×¿¡ µû¸¥ ½ºÅÂ¹Ì³Ê ¼Ò¸ð¿¡ °üÇÑ ¼³¸íÀÌ ºÎÁ·ÇѰа°½À´Ï´Ù.
^^;; ÀÚ¼¼ÇÑ ¼³¸íÀ».. |
|
¸Ç À§·Î °¡±â |
|
GangPung
°¡ÀÔÀÏ: 2003³â 12¿ù 22ÀÏ
°Ô½Ã¹°: 322
ÁÖ ¼Ò: ´ëÇѹα¹
|
±Û ÀÛ¼º½Ã°£ : 2004-01-01 ¸ñ 8:29 pm Á¦¸ñ: ½ºÅ¹̳Ê... |
|
|
À§ ³»¿ë¿¡ ÀÌ¾î¼ ¼³¸íµå¸³´Ï´Ù.
ÄÚµå :
public static int GetStamLoss( Mobile from, int overWeight, bool running )
{
int loss = 5 + (overWeight / 25);
if ( from.Mounted ) // ¹«¾ð°¡ Ÿ°í ÀÖÀ»¶§
loss /= 3; // loss°ª¿¡ ´ëÇØ 3À¸·Î ³ª´²¼ ¹Ýȯ
if ( running ) // ´Þ¸±¶§
loss *= 2; // loss °ª¿¡ ´ëÇØ 2¸¦ °öÇÑ´ÙÀ½ ¹Ýȯ
return loss;
}
public static bool IsOverloaded( Mobile m )
{
if ( !m.Player || !m.Alive || m.AccessLevel >= AccessLevel.GameMaster )
return false;
return ( (Mobile.BodyWeight + m.TotalWeight) > (GetMaxWeight( m ) + OverloadAllowance) );
}
}
}
Mobile.BodyWeight + m.TotalWeight) > (GetMaxWeight( m ) + OverloadAllowance
Äɸ¯ÅÍÀÚüÀÇ ¸ö¹«°Ô + Ãѹ«°Ô > Ãִ빫°Ô(Èû¿¡ºñ·Ê) + ÇѰ蹫°ÔÇã¶ô°ª
À§¿¡¼ º¸½Ã´Ù½ÃÇÇ ÇѰ蹫°Ô°¡ 4·Î ¼³Á¤ÀÌ µÇ¾îÀÖ½À´Ï´Ù.
¿¹¸¦ µé¾î ÀÚ½ÅÀÇ ½ºÅÈâÀ» ¿¾î¼ Ãִ빫°Ô°¡ 127½ºÅæÀε¥ ÇѰ蹫°ÔÇã¶ô°ªÀÌ 4½ºÅæÀ̸é 131±îÁö´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
ÇÏÁö¸¸ 132°¡µÇ¹ö¸®¸é ¹Ù·Î À§ÀÇ °ªµéÀÌ Àû¿ëÀÌ µÇ¼
ÄÚµå :
int loss = 5 + (overWeight / 25);
À§ÀÇ °ªÀÌ Àû¿ëµË´Ï´Ù. Áï ¹«°Ô°¡ 5°¡ ÃʰúµÇ¸é ½ºÅ¹̳ʴ °É¾úÀ»½Ã¿¡ 5¾¿ ¶³¾îÁý´Ï´Ù.
¸¸¾à ´Þ¸°´Ù°í ÇÏ¸é ¾Æ·¡¿Í °°Àº °ø½Ä¿¡ Àû¿ëÀÌ µÇ¼ 5°öÇϱâ 2 = 10¾¿ ½ºÅ¹̳ʴ ±Þ°ÝÇÏ°Ô ¶³¾îÁö´Â °ÍÀÔ´Ï´Ù.
ÄÚµå :
if ( running ) // ´Þ¸±¶§
loss *= 2; //
--------------------------------------------
¹éÆÑ¿¡ ´ëÇÑ ÃÖ´ë ¹«°Ô ¼³Á¤ º¯°æÀº...
¿ï¿Â±âº» Á¤º¸¸¦ ºÒ·¯¿Ã¶§ ¹éÆÑ¿¡ ´ëÇÑ ÃÖ´ë ¹«°Ô ¼³Á¤ÀÌ 400½ºÅæÀ¸·Î µÇ¾îÀÖ½À´Ï´Ù. Áï ÈûÀÌ 120À̸é Ãִ빫°ÔÇã¿ë ¼öÄ¡´Â 460ÀÌÁö¸¸ ½ÇÁúÀûÀ¸·Î 420ÀÌ»ó µéÁö ¸øÇÕ´Ï´Ù.
ÀÌ¿Í °°Àº Çö»óÀ» ÇØ°áÇϱâ À§Çؼ´Â ¹éÆÑ¿¡ ´ëÇÑ ±âº» Ãִ빫°Ô ¼³Á¤À» º¯°æÇØÁà¾ßÇÕ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ Ãß°¡Çϼ¼¿ä.
Scripts\Items\Containers\Container.cs
¶óÀÎ 146
ÄÚµå :
[Constructable]
public Backpack() : base( 0x9B2 )
{
Layer = Layer.Backpack;
Weight = 3.0;
}
public override int MaxWeight{ get{ return 1000; } } // ÃÖ´ë ¹«°Ô ¼³Á¤ º¯°æ
À§¿Í °°ÀÌ ¾Æ·¡ ¶óÀÎÀ» Ãß°¡ÇϽøéµË´Ï´Ù. 1000 ¼öÄ¡¿¡ ¿øÇϽô ¼öÄ¡·Î º¯°æÇϼ¼¿ä.
ÄÚµå :
public override int MaxWeight{ get{ return 1000; } }
|
|
¸Ç À§·Î °¡±â |
|
|