Ahojte, vlastne vôbec neviem čo potrebujem, ale posnažím sa vám to popísať.
Mám kód pasce na paralyzovanie hráča:
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.Items
{
///<summary>Automaticky zdokumentovaný item: MountTrap</summary>
public class ParalyzeTrap : BaseTrap
{
private bool m_Active;
/// <summary>
/// Je past aktivni nebo ne ?
/// </summary>
[CommandProperty( AccessLevel.GameMaster )]
public bool Active
{
get { return m_Active; }
set { m_Active = value; InvalidateProperties(); }
}
[CommandsProperty(AccessLevel.GameMaster)]
public double Duration
{
get{ return duration;}
set{ duration = value;}
}
///<summary>Vyrobí novou instanci objektu</summary>
[Constructable]
public ParalyzeTrap() : base( 0x2CED )
{
Visible = false;
Movable = false;
TrapSet = true;
Name = "Pasca na paralyzovanie hraca";
m_Active = true;
}
///<summary>Navrací příznak zda se past aktivuje sama - true</summary>
public override bool PassivelyTriggered{ get{ return true; } }
///<summary>Navrací velikost automatického cyklu</summary>
public override TimeSpan PassiveTriggerDelay{ get{ return TimeSpan.FromSeconds(duration); } }
///<summary>Navrací velikost dosahu pasti</summary>
public override int PassiveTriggerRange{ get{ return 1; } }
///<summary>Navrací prodlevu deaktivace pasti</summary>
public override TimeSpan ResetDelay{ get{ return TimeSpan.FromSeconds(duration); } }
/// <summary>
/// Spustí past
/// </summary>
/// <param name="from">kdo spustil, hráč</param>
public override void OnTrigger( Mobile from )
{
// Neprovede akci pokud je dotycny GM nebo mrtvy
if ( m_Active && from.AccessLevel < AccessLevel.GameMaster && from.Alive )
{
from.Emote( "*Si paralyzovanej" );
from.PlaySound(from.Female ? 0x327 : 0x437);
Mobile.Paralyze(duration);
}
}
}
}
///<summary>Vyrobí novou instanci objektu</summary>
public ParalyzeTrap( Serial serial ) : base( serial )
{
}
/// <summary>Provede serializaci při save</summary>
/// <param name="writer">streamer pro zápis</param>
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
writer.Write( m_Active ); // Je past aktivni ?
}
/// <summary>Provede deserializaci při načítání save</summary>
/// <param name="reader">streamer pro čtení</param>
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
m_Active = reader.ReadBool(); // Je past aktivni ?
}
}
}
A potrebujem v konštruktory priradiť duration hodnotu 5. Asi ta najsprostejšia otázka akú som kedy vyslovil, ale ako? :D
Som v tom magor, neviem či duration = 5; alebo duration(5); alebo duration.value(5); . Prosím pomoc.