第三章 - 修改腳本技巧

 

創造出屬於自己的風格主機嗎?

難度非常高級

 

 

已下修改方式內容部份轉至網路資料,我實在太懶了,要修改東西,要靠自己研究,而不是靠別人提供方法,這樣你永遠學不會。

 

 

 


Q:伺服器的自動存儲時間

 AScripts\Misc\AutoSave.cs

 private static TimeSpan m_Delay = TimeSpan.FromMinutes( 60.0 );    //1小時存檔1次

 


Q:新玩家出生時的地點

 AScripts\Misc\Charactercreation.cs

 CityInfo city = GetStartLocation( args, young ); //默認遵守的是新人規則,新人玩家限制登陸地為新手城,如需修改可設置成如下格式。

 CityInfo city = new CityInfo( "Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca ); // F大陸B Y1496 X 1628 Z 10

 


Q:開啟或關閉線上註冊

 AScripts\Accounting\AccountHandler.cs

 private static bool AutoAccountCreation = true; //改為 true;為開啟 false;為關閉

 


Q:伺服器名稱

AScripts\Misc\ServerList.cs

public const string ServerName = "RunUO Center";  //設定主機名稱

 


Q:限定客戶端使用的UO版本

AScripts\Misc\ClientVerification.cs

ClientVersion.Required = null;  // null 改爲 Client 的版本即可,如下例: ClientVersion.Required = new ClientVersion( "7.0.30.1" );

 


Q:設置伺服器登陸的IP

AScripts\Misc\ServerList.cs

public const string Address = "127.0.0.1";   // 設定你的ip

 


Q:修改 Welcome Message(新玩家登陸提示資訊)

AScripts\Misc\WelcomeTimer.cs  // 17-26行即是登陸提示資訊,可任意修改

 


Q:設置玩家死後是否出現死人袍(可根據喜好決定是否刪除,刪除目的為減輕伺服器負擔)

AScripts\Mobiles\PlayerMobile.cs ,找到1406行,其腳本如下:

public override void Resurrect()

{

bool wasAlive = this.Alive;

base.Resurrect();

if ( this.Alive && !wasAlive )

{

Item deathRobe = new DeathRobe();

if ( !EquipItem( deathRobe ) )

deathRobe.Delete();

}

 將其修改為:

public override void Resurrect()

{

base.Resurrect();

}

 


Q:如何設置玩家使用同一個 IP 的可登陸帳號數

AScripts\Accounting\AccountHandler.cs

private static int MaxAccountsPerIP = 1;             // 1 改為你需要的數值。

 


Q:設置新登陸玩家三圍總數和技能總數

AScripts\Misc\CharacterCreation.cs 檔裏修改 18-20

private static void AddBackpack( Mobile m )

{

Container pack = m.Backpack;

修改為:

private static void AddBackpack( Mobile m )

{

m.StatCap = 230;          //三圍總數

m.SkillsCap = 7000;      // 技能總數

Container pack = m.Backpack;

注意:舊玩家角色必須人工修改,只有新登陸玩家才受此規則影響。

 


Q:修改建立公會後的基本網址

AScripts\Gumps/Guilds/GuildCharterGump.cs

private const string DefaultWebsite = "http://com/";

改作你想要的名稱。

 


Q:修改歡迎訊息

A Scripts\Misc/WelcomeTimer.cs 這個檔案直接修改

或者

刪除 /Scriptss/Misc/WelcomeTimer.cs 這個檔案

修改 /Scriptss/Misc/CharacterCreation.cs

500 new WelcomeTimer( newChar ).Start(); 前方加上 //

但你可作出修改,為你自已喜歡的 Welcome 訊息。大約是welcometimer.cs 16-25 行的內容。

 


Q:修改鐵匠接訂單的間隔時間? (裁縫的依此類推)

AScripts\Mobiles\Vendors\NPC\Blacksmith.cs ,找到以下代碼:if ( theirSkill >= 70.1 )

 

pm.NextSmithBulkOrder = TimeSpan.FromHours( 6.0 );

 

修改6.01.0,即是技能70.1以上玩家接單時間間隔只需1小時。

 

 


 

Q:修改npc出售物品數量及價格?

AScripts\Mobiles\Vendors\SBInfo中各個檔,如SBBanker.cs中的

Add( new GenericBuyInfo( "1047016", typeof( CommodityDeed ), 5, 20, 0x14F0, 0x47 ) );

這裏的5指價格,20指數量,0x14F0指看到的物品外觀,0x47指這件物品的顏色。


 

 

Q提早獲取系統贈與的老玩家禮物?

AScripts\Engines\VeteranRewards\RewardSystem.cs,找到以下代碼:

public static TimeSpan RewardInterval = TimeSpan.FromDays( 30.0 );

這裏的30就是天數,改成1的話,帳號創建第二天即可獲得系統贈與的老玩家禮物。

 


Q如何讓技能好提升

AScripts/Misc/SkillCheck.cs

L127, L130: change to gc /= 0.01; for ultra fast skill gain (0.5 recommended for "fast")


 

Q 設置玩家使用同一個 IP 的可登陸帳號數  &  開啟或關閉線上註冊

AScripts\Accounting\AccountHandler.cs

L23: private static int MaxAccountsPerIP = 99;   //99數量

 

AScripts\Accounting\AccountHandler.cs

L?: private static bool AutoAccountCreation = true;   //改為 true;為開啟 false;為關閉


Q 設定開關TC測試中心

AScripts\Misc\Test Center\TestCenter.cs

L11: private const bool m_Enabled = true;

//改為 true;為開啟 false;為關閉

 


Q xxxxxxx

AScripts\Misc\SocketOptions.cs

L14: private const int CoalesceBufferSize = 512; smaller for LAN play (32)


 

Q 配置玩家可以傭有幾間房屋

AScripts\Multis\BaseHouse.cs

L3077: if ( allHouses.Count > 3 ) return true; Max. houses per character


 

Q 配置門打開時間

AScripts\Items\Construction\Doors\BaseDoor.cs

L190ff: Time, how long doors stay open


 

Q 配置房屋不能在城鎮蓋屋

AScripts\Regions\GuardedRegions.cs

L172: return true; Allows houses to be placed almost everywhere (in towns, too)

 

 


 

Q 配置禁止保險功能

AScripts\Misc\CurrentExpansion.cs

L12: Mobile.InsuranceEnabled = !Enabled; Disable insurance

 


 

Q AOS,SE,ML

AScripts\Misc\CurrentExpansion.cs

 L8: private static readonly Expansion Expansion = Expansion.ML; None, AOS, SE, ML

 

 


 

 

 

 

文章標籤

超級迷 發表在 痞客邦 留言(0) 人氣()