Tips6

Last-modified: 2011-08-25 (木) 10:57:44

GetUpdateRange、GetMaxUpdateRange アイテムが表示される距離

  • カテゴリー: スクリプト
  • 重要性: 低
  • 投稿日: 2005-07-29 (金) 16:21:37

ItemにはGetUpdateRangeとGetMaxUpdateRangeというメンバがあります。このメンバは主にキャラクターが何マス以内にいるときは表示するといったときの距離を現します。標準では18マスであり、キャラクターから18マス以内のアイテムは表示されることになります。

これの使い道は主に2つ

  • 極端に大きくして遠くから見えるようにする(船や建築物などのMultiオブジェクト)
  • 極端に小さくして側に来たときに初めて表示されるようにする。(宝探しなどのイベント)

等に使うことが出来ます。

サンプル

アイテムの側に来るとキノコが現れます。ちなみに離れても消えません。 SecretMushroom.cs

using System;
using Server;
using Server.Network;

namespace Server.Items
{
public class SecretMushroom : Item
{
[Constructable]
public SecretMushroom() : this( 1 )
{
}

[Constructable]
public SecretMushroom( int amount ) : base( 0x26B7 )
{
Name = "mushroom";
Stackable = true;
Weight = 0.1;
Amount = amount;
Hue = 0x482;
}

public SecretMushroom( Serial serial ) : base( serial )
{
}

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );

writer.WriteEncodedInt( (int) 0 ); // version
}

public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );

int version = reader.ReadEncodedInt();
}

public override int GetMaxUpdateRange()

{
return 1;
}

public override int GetUpdateRange( Mobile m )
{
return 1;
}
}
}