±Û ¾´ÀÌ |
¸Þ¼¼Áö ³»¿ë
|
c1dong8 |
Á¦¸ñ : ¹®°ÔÀÌÆ®¿¡ Ç¥½ÃµÇ´Â µµ½ÃÀ̸§ ¹Ù²Ù±â ±Û ÀÛ¼º½Ã°£ : 2005-01-20 ¸ñ 10:31 pm |
|
|
 Oldbie

°¡ÀÔÀÏ: 2004³â 01¿ù 26ÀÏ °Ô½Ã¹°: 446
|
....
¹®°ÔÀÌÆ®ÀÇ µµ½ÃµéÀÇ ÁÂÇ¥¸¦ ¹Ù²Ù´Â°Ç ¼º°øÇߴµ¥......¹®Á¦´Â °ËÇÁ¿¡ Ç¥½ÃµÇ´Â µµ½ÃÀ̸§À» ¸ø ¹Ù²Ù°Ú´Ù´Â°Ì´Ï´Ù ¤Ñ,.¤Ñ;;;
µ¥Ãæ Äڵ带 º¸¾ÆÇÏ´Ï ¾îµò°¡¿¡ ¸Þ½ÃÁö¸¦ Á¤ÀÇÇØ³í ÆÄÀϰ°Àº°Ô ÀÖÀ»¹ýµµ Çѵ¥....µµ¹«Áö ¾î´À°ÇÁö ¸ð¸£°Ú½À´Ï´Ù ¤Ì.¤Ì;;
¿©Æ° ÇïÇÁ¹Ì~
|
|
¡è ¸Ç À§·Î °¡±â ¡è |
|
 |
jodalbong |
Á¦¸ñ : À̺κоƴÑÁö... ±Û ÀÛ¼º½Ã°£ : 2005-01-21 ±Ý 10:20 am |
|
|
Second Cicle [1]
![Second Cicle [1] Second Cicle [1]](images/magic/21.gif)
°¡ÀÔÀÏ: 2004³â 11¿ù 08ÀÏ °Ô½Ã¹°: 20 ÁÖ ¼Ò: ´ë±¸ Áß±¸ ³²»ê3µ¿/2121¡2500
|
new PMEntry( new Point3D( 4467, 1283, 5 ), 1012003 ), // Moonglow
µÚÂÊ¿¡ 1012003 <- ¹®±Û·ç °íÀ¯ÄÚµå³Ñ¹ö(¸Â³ª?) ÀÔ´Ï´Ù.
Áï ±×°É ¹Ù²Ù¸é °ËÇÁµµ ¹Ù²îÁö¾ÊÀ»±î ½Í³×¿ä..
|
|
¡è ¸Ç À§·Î °¡±â ¡è |
|
 |
c1dong8 |
Á¦¸ñ : ¾Æ.... ±Û ÀÛ¼º½Ã°£ : 2005-01-21 ±Ý 4:50 pm |
|
|
 Oldbie

°¡ÀÔÀÏ: 2004³â 01¿ù 26ÀÏ °Ô½Ã¹°: 446
|
À§¿¡µµ ÀûÇôÀÖÁö¸¸......±×°Ô ¸Þ½ÃÁö ÄÚµåÀΰŠ°°½À´Ï´Ù.
±×·¸´Ï±î 11111Çϸé(¿¹Á¦ÀÓ´Ï´Ù.) yes°¡ ³ª¿À°Ô µÇÀÖ´Ù°í º¾½Ã´Ù.
±×·³ ¿µ¹®ÆÇ¿¡¼´Â 'yes'°¡ ³ª¿À°í ÇÑ±ÛÆÇ¿¡¼´Â '¿¹' °¡ ³ª¿À´Â ½ÄÀÓ´Ï´Ù.
¸¸¾à Àú·±°æ¿ì ¸Þ½ÃÁö Äڵ带 »ç¿ëÇØ¼ ½ºÅ©¸³À» ¸¸µé¸é ¾î´À ¾ð¾î³ª Áö¿øÇÏ´Â ¼ÀÀӵʴϴÙ.(´öºÐ¿¡ ¿µ¹®½ºÅ©¸³¿¡¼µµ ÇѱÛÀ» º¼¼ö ÀÖÀú;;;)
Á¦°¡ ÇÏ·Á´Â°Ç ±× ¸Þ½ÃÁöÄڵ带 º¸°í½ÍÀº°Íµµ ÀÖÁö¸¸...(¤»¤»¤»;;;;¸Þ½ÃÁö Äڵ带 º»´ÙÇѵé Ŭ¶óÀÌ¾ðÆ®¸¦ ¹Ù²ÙÁö ¾Ê´Â´Ù¸é ¼Ò¿ë¾øÀú ;;)
µµ½ÃÀ̸§ÀÌ ¾Æ´Ñ ´Ù¸¥ À̸§ÀÌ Ãâ·ÂµÇ°Ô ÇÏ°í ½ÍÀº°Ì´Ï´Ù.
ÄÚµå»óÀ¸·Î´Â Á÷Á¢ Ãâ·Â¸Þ½ÃÁö¸¦ ½ºÅ©¸³¿¡¼ °Çµô¿©¼ "°£´ÞÇÁ"¾²¸é ¿µ¹®ÆÇ¿¡¼µµ "°£´ÞÇÁ"°¡ ³ª¿À°Ô µÇ´Â ¼ÀÀÓ´Ï´Ù....(À̾ÆÀ̵ð¾î´Â Áö±Ý »ý°¢³°Ì´Ï´Ù ¤Ñ.¤Ñ;)
Áý¿¡°¡´Âµ¥·Î ¸¸µé¾îºÁ¾ß °Ú±º¿ä...(³»ÀÏÀ̳ª µé¾î°¥ »ý°¢ÀÌÁö¸¸;;)
±×Àü¿¡ ÇØº¸½ÇºÐµéÀº ÇØº¸½Ã±æ -_-;;
|
|
¡è ¸Ç À§·Î °¡±â ¡è |
|
 |
c1dong8 |
Á¦¸ñ : ÀÎÅͳÝÀÌ Áö±Ý¿¡¾ß µÇ´Â¹Ù¶÷¿¡--;; ±Û ÀÛ¼º½Ã°£ : 2005-01-23 ÀÏ 12:59 pm |
|
|
 Oldbie

°¡ÀÔÀÏ: 2004³â 01¿ù 26ÀÏ °Ô½Ã¹°: 446
|
¹®°ÔÀÌÆ®¿¡ ½áÀÖ´Â µµ½ÃÀ̸§ ¹Ù²Ù´Â ¹æ¹ýÀÓ´Ï´Ù.
ÀÎÅͳÝÀÌ ¾ÈµÇ´Â ¹Ù¶÷¿¡ ¿¬±¸ÇÑ°É ´Ê°Ô ¿Ã·È±º¿ä ¤Ñ,.¤Ñ;;;
ÀÏ´Ü ¹®°ÔÀÌÆ®´Â Scripts\Items\Misc\PublicMoongate.cs ¿¡ ÀÖ½À´Ï´Ù.
ÀÏ´Ü À§¿¡¼µµ ¼³¸íÇßµíÀÌ µµ½ÃÀ̸§Àº Á¤¼öÇüÅ·ΠÁ¤ÇØÁø ÄÚµå·Î ÁöÁ¤µÇÀÖ½À´Ï´Ù.
ÄÚµå : |
new PMEntry( new Point3D( 4079, 307, 0 ), 1012003 ), // Moonglow
¸¦
new PMEntry( new Point3D( 4079, 307, 0 ), 1012000 ), // Moonglow
ÀÌ·¸°Ô ¹Ù²Ù¸é
|
'¹®±Û·Î¿ì'°¡ ¾Æ´Ñ 'Æ®¶ó¸á'À̶ó°í µµ½ÃÀ̸§ÀÌ ¶ä´Ï´Ù.
¿µ¹®ÆÇ¿¡¼´Â 'Moonglow'°¡¾Æ´Ñ 'Trammel'¶ó°í ¶ä´Ï´Ù.
¹®ÀÚÄÚµå´Â ¾îµð±îÁö³ª ´Ù±¹¾î Áö¿øÀ» À§ÇØ Àִ°ÍÀ̱⠶§¹®¿¡ ¿Ü±¹Àεé»ó´ë·Î ¸¸µé¶§°¡ ¾Æ´Ï¸é º°·Î ½Å°á¾µÇʿ䰡 ¾ø½À´Ï´Ù.
±×·¡¼ Á¤¼öÇüŰ¡ ¾Æ´Ñ ¹®ÀÚ ÇüÅÂÀÇ °ªÀ» ¹Þ¾Æµå¸±¼ö ÀÖ°Ô °³Á¶¸¦ ÇØº¾½Ã´Ù.
°³Á¶ÇϱâÀü¿¡ PublicMoongate.cs ÆÄÀÏ »ª¾÷Çϼ¼¿ä--;;;
ÄÚµå : |
134¶óÀÎ
public class PMEntry
{
private Point3D m_Location;
private int m_Number;
public Point3D Location
{
get
{
return m_Location;
}
}
public int Number
{
get
{
return m_Number;
}
}
public PMEntry( Point3D loc, int number )
{
m_Location = loc;
m_Number = number;
}
}
|
À̳ÑÀº Á¤¼ö(int)Çü½ÄÀ¸·Î °ªÀ» ¹Þ¾Æ¿À´Â ³ÑÀÓ´Ï´Ù.
°³Á¶Çؼ ¹®ÀÚ(string)Çü½ÄÀ¸·Î °ªÀ» ¹Þ¾Æ¿À°Ô ÇϰڽÀ´Ï´Ù.
ÄÚµå : |
public class PMEntry
{
private Point3D m_Location;
private string m_Number;
public Point3D Location
{
get
{
return m_Location;
}
}
public string Number
{
get
{
return m_Number;
}
}
public PMEntry( Point3D loc, string number )
{
m_Location = loc;
m_Number = number; }
}
|
¼±¾ð¸¸ ¹Ù±îÁÖ¸é µÊ´Ï´Ù.
È£~
À̵¥·Î ÀúÀåÇÏ°í ±¼¸®¸é ¿¡·¯°¡ ¿Õâ¿Õâ ¤»¤»¤»¤»¤»
ÀÏ´Ü Á¤¼ö¿¡¼ ¹®ÀÚÇüÅ·Π°ªÀ» ¹Þ¾Æ¿À´Ï ÁÂÇ¥ÄÚµåºÎÅÍ °íĨ½Ã´Ù.
ÄÚµå : |
public static readonly PMList Trammel =
new PMList( 1012000, 1012012, Map.Trammel, new PMEntry[]
{
new PMEntry( new Point3D( 4079, 307, 0 ), 1012003 ), // Moonglow
new PMEntry( new Point3D( 1336, 1997, 5 ), 1012004 ), // Britain
new PMEntry( new Point3D( 1499, 3771, 5 ), 1012005 ), // Jhelom
new PMEntry( new Point3D( 771, 752, 5 ), 1012006 ), // Yew
new PMEntry( new Point3D( 2701, 692, 5 ), 1012007 ), // Minoc
new PMEntry( new Point3D( 1828, 2948,-20), 1012008 ), // Trinsic
new PMEntry( new Point3D( 643, 2067, 5 ), 1012009 ), // Skara Brae
new PMEntry( new Point3D( 3563, 2139, 34), 1012010 ), // Magincia
new PMEntry( new Point3D( 3763, 2771, 50), 1046259 ) // Haven
} );
À̳ÑÀ»
public static readonly PMList Trammel =
new PMList( "ÄíÀÌ", " <- ºûÀÇ °¡È£", Map.Trammel, new PMEntry[]
{
new PMEntry( new Point3D( 4100, 316, 0 ), "ºûÀÇ ¼¶" ), // Moonglow
new PMEntry( new Point3D( 1356, 1624, 72 ), "Ä«½¼" ), // Britain
new PMEntry( new Point3D( 4663, 1134, 13 ), "ÅÚ½Ã" ), // Jhelom
new PMEntry( new Point3D( 2132, 2787, 0 ), "µð¾î" ), // Yew
new PMEntry( new Point3D( 630, 2231, 0 ), "ÇϺ»" ), // Minoc
//new PMEntry( new Point3D( 1828, 2948,-20), "1012008" ), // Trinsic
//new PMEntry( new Point3D( 643, 2067, 5 ), "1012009" ), // Skara Brae
//new PMEntry( new Point3D( 3563, 2139, 34), "1012010" ), // Magincia
//new PMEntry( new Point3D( 3763, 2771, 50), "1046259" ) // Haven
} );
ÀÌ·±½ÄÀ¸·Î ¹Ù²¨ÁÜ´Ï´Ù.
(ÀÌÄÚµåÀÇ ÁÂÇ¥´Â Á¦°¡ ¿î¿µÇÏ´Â ¼¹ö¸¦ ±âÁØÀ¸·Î µÇÀֱ⶧¹®¿¡ ÁÂÇ¥°¡ °³ÆÇÀÓ´Ï´Ù ¤»¤»¤»¤»¤»±×·¯´Ï ±×³É ÆÛ´Ù¾²Áö ¸¶½Ã±æ ¤Ñ,.¤Ñ;;)
Æç·çÄ«³ª ÀϽ¦³ªµµ ¹Ù±îÁּžßÇÔ´Ï´Ù.
|
´«Ä¡Ã¤½Å ºÐµµ ÀÖ°ÚÁö¸¸ µµ½Ã ÁÂÇ¥ÀÇ °¹¼ø´Â º°·Î °ü°è¾ø½À´Ï´Ù. ´ÜÁö 8°³°¡ ³Ñ¾î°¡¸é °ËÇÁ ¹ÛÀ¸·Î »ßÀú³ª°£´Ù´Â Á¤µµ ¤Ñ,.¤Ñ;;(±×³ª¸¶µµ ÄÚµå·Î ¼öÁ¤°¡´ÉÇÔ´Ï´Ù.)
ÀÌÁ¦ ¶Ç ±¼·Áº¾½Ã´Ù.
¾î¸Ó³ª~ ¶Ç¿¡·¯°¡ ÃãÀ» ¤»¤»¤»¤»¤»
´ç¿¬ÇÑ À̾߱âÁö¸¸ Á¤¼öÇü¸¦ ¹®ÀÚÇüÀ¸·Î ¹Ù²Ù¾ú±â¶§¹®¿¡ °Å±â¿¡ µþ·ÁÀÖ´Â ÄÚµåµéÀ» ´Ù ¹Ù±îÁÖ¾î¾ß ÇÔ´Ï´Ù.
¿¡·¯³ª´Â ÁÙÀ» ã¾Æ¼
ÄÚµå : |
public PMList( int number, int selNumber, Map map, PMEntry[] entries )
{
m_Number = number;
m_SelNumber = selNumber;
m_Map = map;
m_Entries = entries;
}
ÀÌ·± Äڵ带
public PMList( string number, string selNumber, Map map, PMEntry[] entries )
{
m_Number = number;
m_SelNumber = selNumber;
m_Map = map;
m_Entries = entries;
}
ÀÌ·±½ÄÀ¸·Î ¹Ù±îÁÜ´Ï´Ù.
|
ÇÏ´Ùº¸¸é °íÄ¥¶§¸¶´Ù ¿¡·¯°¡ ´Ã¾î³¯¼öµµ ÀÖ½À´Ï´Ù.
ÆòÁ¤½ÉÀ» °¡Áö°í ÇϳªÇϳª °íÄ¡½Ã±æ ¤»¤»¤»¤»
±×·±½ÄÀ¸·Î Á¤¼ö¸¦ ¹Þ¾ÆµéÀÌ´Â ºÎºÐÀ» ¹®ÀÚÇüÀ» ¹Þ¾ÆµéÀÌ°Ô ¹Ù²ÛÈÄ
118¶óÀÎÀÇ
ÄÚµå : |
private static int MoonGen( PMList list )
{
foreach ( PMEntry entry in list.Entries )
{
Item item = new PublicMoongate();
item.MoveToWorld( entry.Location, list.Map );
if ( entry.Number == 1060642 ) // Umbra
item.Hue = 0x497;
}
return list.Entries.Length;
}
|
ÀÇ
ÄÚµå : |
if ( entry.Number == 1060642 ) // Umbra
item.Hue = 0x497;
|
¸¦ Áö¿öÁÖ¸é µÊ´Ï´Ù.
|
|
¡è ¸Ç À§·Î °¡±â ¡è |
|
 |
c1dong8 |
Á¦¸ñ : ÄÚµùÇϽñ⠽ÈÀººÐµéÀ» À§ÇÑ ÀüüÄÚµå.. ±Û ÀÛ¼º½Ã°£ : 2005-01-23 ÀÏ 1:26 pm |
|
|
 Oldbie

°¡ÀÔÀÏ: 2004³â 01¿ù 26ÀÏ °Ô½Ã¹°: 446
|
³ C#°°Àº°Å °Çµô¿©º¼ ¸¾ ÀüÇô¾ø´Ù.
³ ·±À¯¿À½ºÅ©¸³ ÆÛ´Ù¾²¸é ½èÁö ¸¸µé¾î¾µ¸¾ ¾ø´Ù.
....
³ ½Ç·ÂºÎÁ·ÀÌ¿©--;;
ÇϽô ºÐµéÀ» À§ÇÑ Àüü ÄÚµåÀÓ´Ï´Ù ¤»¤»¤»;;;;;
ÄÚµå : |
using System;
using System.Collections;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Mobiles;
namespace Server.Items
{
public class PublicMoongate : Item
{
[Constructable]
public PublicMoongate() : base( 0xF6C )
{
Movable = false;
Light = LightType.Circle300;
}
public PublicMoongate( Serial serial ) : base( serial )
{
}
public override void OnDoubleClick( Mobile from )
{
if ( !from.Player )
return;
if ( from.InRange( GetWorldLocation(), 1 ) )
UseGate( from );
else
from.SendLocalizedMessage( 500446 ); // That is too far away.
}
public override bool OnMoveOver( Mobile m )
{
return !m.Player || UseGate( m );
}
public bool UseGate( Mobile m )
{
if ( m.Criminal )
{
m.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
return false;
}
else if ( Server.Spells.SpellHelper.CheckCombat( m ) )
{
m.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
return false;
}
else if ( m.Spell != null )
{
m.SendLocalizedMessage( 1049616 ); // You are too busy to do that at the moment.
return false;
}
else
{
m.CloseGump( typeof( MoongateGump ) );
m.SendGump( new MoongateGump( m, this ) );
Effects.PlaySound( m.Location, m.Map, 0x20E );
return true;
}
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
public static void Initialize()
{
Server.Commands.Register( "MoonGen", AccessLevel.Administrator, new CommandEventHandler( MoonGen_OnCommand ) );
}
[Usage( "MoonGen" )]
[Description( "Generates public moongates. Removes all old moongates." )]
public static void MoonGen_OnCommand( CommandEventArgs e )
{
DeleteAll();
int count = 0;
count += MoonGen( PMList.Trammel );
count += MoonGen( PMList.Felucca );
count += MoonGen( PMList.Ilshenar );
count += MoonGen( PMList.Malas );
World.Broadcast( 0x35, true, "{0} moongates generated.", count );
}
private static void DeleteAll()
{
ArrayList list = new ArrayList();
foreach ( Item item in World.Items.Values )
{
if ( item is PublicMoongate )
list.Add( item );
}
foreach ( Item item in list )
item.Delete();
if ( list.Count > 0 )
World.Broadcast( 0x35, true, "{0} moongates removed.", list.Count );
}
private static int MoonGen( PMList list )
{
foreach ( PMEntry entry in list.Entries )
{
Item item = new PublicMoongate();
item.MoveToWorld( entry.Location, list.Map );
//if ( entry.Number == 1060642 ) // Umbra
// item.Hue = 0x497;
}
return list.Entries.Length;
}
}
public class PMEntry
{
private Point3D m_Location;
private string m_Number;
public Point3D Location
{
get
{
return m_Location;
}
}
public string Number
{
get
{
return m_Number;
}
}
public PMEntry( Point3D loc, string number )
{
m_Location = loc;
m_Number = number;//*************************************
}
}
public class PMList
{
private string m_Number, m_SelNumber;
private Map m_Map;
private PMEntry[] m_Entries;
public string Number
{
get
{
return m_Number;
}
}
public string SelNumber
{
get
{
return m_SelNumber;
}
}
public Map Map
{
get
{
return m_Map;
}
}
public PMEntry[] Entries
{
get
{
return m_Entries;
}
}
public PMList( string number, string selNumber, Map map, PMEntry[] entries )
{
m_Number = number;
m_SelNumber = selNumber;
m_Map = map;
m_Entries = entries;
}
public static readonly PMList Trammel =
new PMList( "ÄíÀÌ", " <- ºûÀÇ °¡È£", Map.Trammel, new PMEntry[]
{
new PMEntry( new Point3D( 4100, 316, 0 ), "ºûÀÇ ¼¶" ), // Moonglow
new PMEntry( new Point3D( 1356, 1624, 72 ), "Ä«½¼" ), // Britain
new PMEntry( new Point3D( 4663, 1134, 13 ), "ÅÚ½Ã" ), // Jhelom
new PMEntry( new Point3D( 2132, 2787, 0 ), "µð¾î" ), // Yew
new PMEntry( new Point3D( 630, 2231, 0 ), "ÇϺ»" ), // Minoc
//new PMEntry( new Point3D( 1828, 2948,-20), "1012008" ), // Trinsic
//new PMEntry( new Point3D( 643, 2067, 5 ), "1012009" ), // Skara Brae
//new PMEntry( new Point3D( 3563, 2139, 34), "1012010" ), // Magincia
//new PMEntry( new Point3D( 3763, 2771, 50), "1046259" ) // Haven
} );
public static readonly PMList Felucca =
new PMList( "°í¸®", " <-¾îµÒÀÇ °¡È£", Map.Felucca, new PMEntry[]
{
new PMEntry( new Point3D( 4210, 563, 42 ), "¾îµÒÀÇ ¼¶" ), // Moonglow
new PMEntry( new Point3D( 2229, 1226, 0 ), "ºê¸®Æ°" ), // Britain
new PMEntry( new Point3D( 4300, 968, 5 ), "Ä«¿Â" ), // Jhelom
new PMEntry( new Point3D( 2012, 2756, 20 ), "¿ÀÄ«" ), // Yew
new PMEntry( new Point3D( 787, 2243, 0 ), "Çϵå·Ï" ), // Minoc
//new PMEntry( new Point3D( 1828, 2948,-20), "1012008"), // Trinsic
//new PMEntry( new Point3D( 643, 2067, 5 ), "1012009" ), // Skara Brae
//new PMEntry( new Point3D( 3563, 2139, 34), "1012010" ), // Magincia
//new PMEntry( new Point3D( 2711, 2234, 0 ), "1019001" ) // Buccaneer's Den
} );
public static readonly PMList Ilshenar =
new PMList( "īġ", " <-¾îµÒÀÇ °¡È£", Map.Ilshenar, new PMEntry[]
{
new PMEntry( new Point3D( 836, 641, -20 ), "Ä«¿î¸Þ" ), // Compassion
new PMEntry( new Point3D( 843, 1175, -56 ), "Å©¸®Áî" ), // Honesty
new PMEntry( new Point3D( 1249, 571, -16 ), "·¹Å°³×" ), // Honor
new PMEntry( new Point3D( 1363, 1105, -26 ), "³ÊÁö" ), // Humility
//new PMEntry( new Point3D( 987, 1011, -32 ), "1012019" ), // Justice
//new PMEntry( new Point3D( 1174, 1286, -30 ), "1012020" ), // Sacrifice
//new PMEntry( new Point3D( 1532, 1340, - 3 ), "1012021" ), // Spirituality
//new PMEntry( new Point3D( 528, 216, -45 ), "1012022" ), // Valor
//new PMEntry( new Point3D( 1721, 218, 96 ), "1019000" ) // Chaos
} );
public static readonly PMList Malas =
new PMList( "Ÿ¶ó", " <-¾îµÒÀÇ °¡È£", Map.Malas, new PMEntry[]
{
new PMEntry( new Point3D( 926, 520, -90 ), "¸®¿¡ÀÌ" ), // Luna
new PMEntry( new Point3D( 2033, 1333, -88 ), "ÇÁÁö" ) // Umbra
} );
public static readonly PMList[] UORLists = new PMList[]{ Trammel, Felucca };
public static readonly PMList[] LBRLists = new PMList[]{ Trammel, Felucca, Ilshenar };
public static readonly PMList[] AOSLists = new PMList[]{ Trammel, Felucca, Ilshenar, Malas };
public static readonly PMList[] RedLists = new PMList[]{ Felucca };
}
public class MoongateGump : Gump
{
private Mobile m_Mobile;
private Item m_Moongate;
private PMList[] m_Lists;
public MoongateGump( Mobile mobile, Item moongate ) : base( 100, 100 )
{
m_Mobile = mobile;
m_Moongate = moongate;
PMList[] checkLists;
if ( mobile.Player )
{
if ( mobile.Kills >= 5 )
{
checkLists = PMList.RedLists;
}
else
{
int flags = mobile.NetState == null ? 0 : mobile.NetState.Flags;
if ( Core.AOS && (flags & 0x8) != 0 )
checkLists = PMList.AOSLists;
else if ( (flags & 0x4) != 0 )
checkLists = PMList.LBRLists;
else
checkLists = PMList.UORLists;
}
}
else
{
checkLists = PMList.AOSLists;
}
m_Lists = new PMList[checkLists.Length];
for ( int i = 0; i < m_Lists.Length; ++i )
m_Lists[i] = checkLists[i];
for ( int i = 0; i < m_Lists.Length; ++i )
{
if ( m_Lists[i].Map == mobile.Map )
{
PMList temp = m_Lists[i];
m_Lists[i] = m_Lists[0];
m_Lists[0] = temp;
break;
}
}
AddPage( 0 );
AddBackground( 0, 0, 380, 280, 5054 );
AddButton( 10, 210, 4005, 4007, 1, GumpButtonType.Reply, 0 );
AddHtml( 45, 210, 140, 25, "Àü¼Û", false, false ); // OKAY
AddButton( 10, 235, 4005, 4007, 0, GumpButtonType.Reply, 0 );
AddHtml( 45, 235, 140, 25, "Ãë¼Ò", false, false ); // CANCEL
AddHtml( 5, 5, 200, 20, "¸ñÀûÁö¸¦ ¼±ÅÃÇϼ¼¿ä", false, false ); // Pick your destination:
for ( int i = 0; i < checkLists.Length; ++i )
{
AddButton( 10, 35 + (i * 25), 2117, 2118, 0, GumpButtonType.Page, Array.IndexOf( m_Lists, checkLists[i] ) + 1 );
AddHtml( 30, 35 + (i * 25), 150, 20, checkLists[i].Number, false, false );
}
for ( int i = 0; i < m_Lists.Length; ++i )
RenderPage( i, Array.IndexOf( checkLists, m_Lists[i] ) );
}
private void RenderPage( int index, int offset )
{
PMList list = m_Lists[index];
AddPage( index + 1 );
AddButton( 10, 35 + (offset * 25), 2117, 2118, 0, GumpButtonType.Page, index + 1 );
AddHtml( 30, 35 + (offset * 25), 150, 20, list.SelNumber, false, false );
PMEntry[] entries = list.Entries;
for ( int i = 0; i < entries.Length; ++i ) //*******************************************
{
AddRadio( 200, 35 + (i * 25), 210, 211, false, (index * 100) + i );
AddHtml( 225, 35 + (i * 25), 150, 20, entries[i].Number, false, false );
}//**************************************************************************************
}
public override void OnResponse( NetState state, RelayInfo info )
{
if ( info.ButtonID == 0 ) // Cancel
return;
else if ( m_Mobile.Deleted || m_Moongate.Deleted || m_Mobile.Map == null )
return;
int[] switches = info.Switches;
if ( switches.Length == 0 )
return;
int switchID = switches[0];
int listIndex = switchID / 100;
int listEntry = switchID % 100;
if ( listIndex < 0 || listIndex >= m_Lists.Length )
return;
PMList list = m_Lists[listIndex];
if ( listEntry < 0 || listEntry >= list.Entries.Length )
return;
PMEntry entry = list.Entries[listEntry];
if ( !m_Mobile.InRange( m_Moongate.GetWorldLocation(), 1 ) || m_Mobile.Map != m_Moongate.Map )
{
m_Mobile.SendLocalizedMessage( 1019002 ); // You are too far away to use the gate.
}
else if ( m_Mobile.Player && m_Mobile.Kills >= 5 && list.Map != Map.Felucca )
{
m_Mobile.SendLocalizedMessage( 1019004 ); // You are not allowed to travel there.
}
else if ( m_Mobile.Criminal )
{
m_Mobile.SendLocalizedMessage( 1005561, "", 0x22 ); // Thou'rt a criminal and cannot escape so easily.
}
else if ( Server.Spells.SpellHelper.CheckCombat( m_Mobile ) )
{
m_Mobile.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle??
}
else if ( m_Mobile.Spell != null )
{
m_Mobile.SendLocalizedMessage( 1049616 ); // You are too busy to do that at the moment.
}
else if ( m_Mobile.Map == list.Map && m_Mobile.InRange( entry.Location, 1 ) )
{
m_Mobile.SendLocalizedMessage( 1019003 ); // You are already there.
}
else
{
BaseCreature.TeleportPets( m_Mobile, entry.Location, list.Map );
m_Mobile.Combatant = null;
m_Mobile.Warmode = false;
m_Mobile.Hidden = true;
m_Mobile.MoveToWorld( entry.Location, list.Map );
Effects.PlaySound( entry.Location, list.Map, 0x1FE );
}
}
}
}
|
¹®°ÔÀÌÆ® ÆÄÀÏ¿°í °í´ë·Î ºÙ¿©³Ö½Ã¸é µÊ´Ï´Ù;;
|
|
¡è ¸Ç À§·Î °¡±â ¡è |
|
 |
|
|