- RB腳本文件說(shuō)明
- 標(biāo)簽說(shuō)明
- Demo實(shí)例
RB腳本文件說(shuō)明
這里主要對(duì)RB腳本中50級(jí)以下的生產(chǎn)腳本標(biāo)簽進(jìn)行總結(jié)誊册,也是博主平時(shí)寫腳本中的一些經(jīng)驗(yàn)積累吧。主要包括了普通采集和限時(shí)采集腳本枫绅,生產(chǎn)腳本的話因?yàn)镽B自帶了CE工具啦~所以請(qǐng)大家自行生成(:з」∠)。
下面我們來(lái)了解一下RB腳本是怎么構(gòu)成的
<?xml version= "1.0" encoding = "UTF-8">
<Human>
<Man>
<name>阿爾菲諾</title>
<age>19</author>
<address>田園郡</address>
<date>23:54:11</date>
</Man>
<Woman>
<name>阿莉賽</title>
<age>19</author>
<address>龍堡內(nèi)陸低地</address>
<date>23:54:11</date>
</Woman>
</Human>
這是一段兒非常簡(jiǎn)單的XML文件,包含了Human
,Man
,name
...等標(biāo)簽屋匕。第一行指的是XML文件的版本和字符集編碼聲明蹂析,其中我們需要為encoding
指定其字符集編碼為UTF-8舔示,以保證瀏覽器或解析器可以正常讀取XML文件的文件結(jié)構(gòu)碟婆。從第二行開始我們不難看出整個(gè)標(biāo)簽是已樹形結(jié)構(gòu)來(lái)展開的,這也正是XML文件的結(jié)構(gòu)所在惕稻。在這里Human
位于整個(gè)樹形結(jié)構(gòu)的頂部竖共,同時(shí)也是樹形結(jié)構(gòu)的底部。他以Human
開始又以Human
結(jié)尾俺祠,所以我們稱之為根標(biāo)簽肘迎。
<Man>
<name>阿爾菲諾</title>
<age>19</author>
<address>田園郡</address>
<date>23:54:11</date>
</Man>
Man
標(biāo)簽位于根標(biāo)簽的下一級(jí),這里我們通常一般把他叫做子標(biāo)簽锻煌,子標(biāo)簽通常是一些屬性的合集妓布,比如在這里子標(biāo)簽是Man
代表男人,下一個(gè)子標(biāo)簽是Woman
代表女人宋梧,他們是為了定義不同屬性而產(chǎn)生的匣沼。在子標(biāo)簽之下我們還有屬性標(biāo)簽,屬性標(biāo)簽定義了子標(biāo)簽所擁有的屬性name
捂龄、age
释涛、address
等等。如上就是構(gòu)建整個(gè)XML文件的主要組成部分倦沧。
標(biāo)簽說(shuō)明
標(biāo)簽名稱 | 解釋 | 層次和說(shuō)明 |
---|---|---|
profile | 腳本根標(biāo)簽 | 根標(biāo)簽 |
name | 定義腳本名稱 | 子標(biāo)簽 |
KillRadius | 定義掃描半徑 | 子標(biāo)簽 默認(rèn)50 |
Order | 采集序列 | 子標(biāo)簽 該標(biāo)簽有多個(gè)子標(biāo)簽 |
While | 循環(huán) | 子標(biāo)簽 Condition="True"則重復(fù)執(zhí)行 |
If | 邏輯判斷 | 子標(biāo)簽 用來(lái)判斷時(shí)間 Condition="IsTimeBetween(23,1)" 表示從23點(diǎn)到1點(diǎn) |
CodeChunks | 定義職業(yè)相關(guān) | 子標(biāo)簽 |
Gather | 采集次數(shù) | 子標(biāo)簽 定義采集物品的相關(guān)信息 |
HotSpots | 礦點(diǎn)坐標(biāo)集合 | 子標(biāo)簽 標(biāo)記礦點(diǎn)坐標(biāo)集合 |
GatheringSkill | 技能 | 子標(biāo)簽 |
LogMessage | 向控制臺(tái)打印日志 | 屬性標(biāo)簽 |
WaitWhile | 等待時(shí)間 | 屬性標(biāo)簽 |
RunCode | 切換職業(yè) | 屬性標(biāo)簽 |
TeleportTo | 傳送 | 屬性標(biāo)簽 |
GatherObject | 礦點(diǎn)名稱 | 屬性標(biāo)簽 |
Hotspot | 礦點(diǎn)坐標(biāo) | 屬性標(biāo)簽 |
Slot | 采集目標(biāo) | 屬性標(biāo)簽 挖取第幾個(gè)格子的物品 第一個(gè)位置為0 |
CodeChunk | 職業(yè) | 屬性標(biāo)簽 |
Demo實(shí)例
<Profile>
<Name>測(cè)試第二版唇撬,主要加入IsTimeBetween檢測(cè)和相關(guān)代碼注釋</Name>
<KillRadius>50</KillRadius>
<Order>
<While Condition="True">
<If Condition="IsTimeBetween(23,1)">
<LogMessage Message="艾歐澤亞又過(guò)去了一天" />
<WaitWhile Condition="IsTimeBetween(24,1)" />
</If>
<!--金礦-->
<If Condition="IsTimeBetween(9,11)"> <!-- 時(shí)間區(qū)間 -->
<If Condition="Core.Me.CurrentJob != ClassJobType.Miner"> <!-- 判斷當(dāng)前是否為當(dāng)前職業(yè) -->
<WaitTimer WaitTime="3" /> <!-- 等待 -->
<RunCode Name="MIN" /> <!-- 切換職業(yè) -->
<WaitTimer WaitTime="3" /> <!-- 等待 -->
</If>
<If Condition="not IsOnMap(145)"> <!-- 判斷是否在當(dāng)前地圖 不在則傳送-->
<TeleportTo Name="Camp Drybone" AetheryteId="18" /> <!-- 傳送 -->
</If>
<Gather Loops="1"> <!-- 循環(huán)次數(shù) -->
<GatherObject>Unspoiled Mineral Deposit</GatherObject> <!-- 礦點(diǎn)名稱為未知礦產(chǎn) -->
<HotSpots>
<Hotspot Z="-11.36177" Y="10.22671" X="306.1508" Radius="500"/> <!-- 礦點(diǎn)坐標(biāo) -->
</HotSpots>
<Slot>5</Slot> <!-- 挖取第五個(gè)格子的物品 -->
<GatheringSkillOrder>
<GatheringSkill SpellName="King's Yield II" TimesToCast="1" /> <!-- 使用技能 莫非王土2-->
</GatheringSkillOrder>
</Gather>
<TeleportTo Name="New Gridania" AetheryteId="2" /> <!-- 采集完成后傳送回格里達(dá)尼亞新街 -->
<WaitTimer WaitTime="3" />
<RunCode Name="BTN" /> <!-- 切換成園藝工-->
<WaitTImer WaitTime="3" />
</If>
</While>
</Order>
<!-- 職業(yè)設(shè)置相關(guān) -->
<CodeChunks>
<CodeChunk Name="MIN"> <!-- Change This Number 挖礦 -->
<![CDATA[ ff14bot.Managers.ChatManager.SendChat("/gs change 22");
]]>
</CodeChunk>
<CodeChunk Name="BTN"> <!-- Change This Number 園藝 -->
<![CDATA[ ff14bot.Managers.ChatManager.SendChat("/gs change 23");
]]>
</CodeChunk>
<CodeChunk Name="UseStealth">
<![CDATA[ SpellData data;
if (!Core.Me.HasAura("Stealth") && Actionmanager.CurrentActions.TryGetValue("Stealth", out data) && Actionmanager.CanCast(data, Core.Me)) Actionmanager.DoAction("Stealth", Core.Me);
]]>
</CodeChunk>
<CodeChunk Name="BreakStealth">
<![CDATA[ SpellData data;
if (Core.Me.HasAura("Stealth") && Actionmanager.CurrentActions.TryGetValue("Stealth", out data) && Actionmanager.CanCast(data, Core.Me)) Actionmanager.DoAction("Stealth", Core.Me);
]]>
</CodeChunk>
<CodeChunk Name="DisableMount">
<![CDATA[ ff14bot.Settings.CharacterSettings.Instance.UseMount = false;
]]>
</CodeChunk>
<CodeChunk Name="EnableMount">
<![CDATA[ ff14bot.Settings.CharacterSettings.Instance.UseMount = true;
]]>
</CodeChunk>
<CodeChunk Name="Dismount">
<![CDATA[ ff14bot.Managers.Actionmanager.Dismount();
]]>
</CodeChunk>
</CodeChunks>
</Profile>