仙境傳說ro:如何在地圖上刷怪教程

仙境傳說ro:如何在地圖上刷怪教程
?
大家好我是艾西,在仙境傳說這個游戲中我們知道了怎么創(chuàng)建NPC添加商品售賣后,那么對于游戲的怪肯定也得有自己的想法以及對游戲的設定以及理解,今天我跟大家分享的是怎么在地圖中刷怪教程。
我們直接進入主題:我們需要達到想要效果其實就是去定義一個怪物生成器
地圖,X坐標,Y坐標,X半徑, Y半徑
monste r
怪物名字,怪物等級
怪物ID,數(shù)量,延遲1,延遲2,事件,怪物大小,怪物AI ??(此為怪物生成器格式)
<mapname>{,<x>{,<y>{,<xs>{,<ys>}}}}%TAB%monster%TAB%<monster name>{,<monster level>}%tab%<mob id>, <amount>{, <delay1>{, <delay2>{, <event>{, <mob size>{, <mob ai>}}}}}
?
<地圖:名>{, <X坐標>{,<Y坐標>{, <X半徑>{, <Y半徑>}}} }%TAB%monster%TAB%<怪物名字>{, <怪物等級>}%TAB%<怪物ID>, <數(shù)量>{,<延遲1>{, <延遲2>{,<事件>{,<怪物大小>{,<怪物AI>}}}}
?

?
?
?
編寫腳本在PANDAS>npc > custom > tutorial > ?test.ras 文檔中
Prontera(地圖), 152,280(坐標),10,10(觸發(fā)范圍) monster(固定用法) 波利(怪物名稱),10 (怪物等級)1002(怪物ID), 200(數(shù)量),2000(重生間隔), 0(第二個重生間隔隨機), "TestMonsterDeath : :OnMonsterDeath"(觸發(fā)事件)
注釋說明:
生成位置,map name是怪物生成的地圖名稱
x和y是怪物生成的坐標,如果x和y都是0,怪物將在全地圖隨機生成
XS和ys是刷怪區(qū)域的X和Y方向的半徑,如果xs和ys都是0,怪物將固定在x和y的位置生成
以上參數(shù)限定的區(qū)域只是刷怪時的初始區(qū)域,怪物- -旦生成,就會在全地圖隨機移動
?
名字和等級
monster name是怪物在屏幕上的名字,與它們在其他地方的名字沒有任何關(guān)系
monster level 是怪物的等級,如果不指定,怪物將使用mob_ _db.txt里配置的等級。例如:波利,50 會生成-一個名為波利且等級為50的怪物
如果monster name為--ja-- ,則使用mob_ db. txt的” 日文名稱”字段,(在rAthena中,它實際上包含一一個英文名稱)如果它是"--en-它是怪物數(shù)據(jù)庫中的”英文名稱”(其中包含用于使用GM命令召喚怪物的大寫名稱)
?
怪物ID和數(shù)量
?
Mob id標識了要生成的怪物在" mob_ db.txt"怪物數(shù)據(jù)庫中的記錄
數(shù)量是執(zhí)行此命令時將產(chǎn)生的怪物數(shù)量, 它受’'battle_ athena.conf"中的
產(chǎn)生率影響如果生成的怪不打死,是不會再生成的。
?
重生延遲
?
delay1表示固定時間和delay2表示隨機時間 控制怪物重生延遲-第一一個是固定的基礎(chǔ)重生時間,第二個是基礎(chǔ)時間之上的隨機變化。兩個值都以毫秒為單位給出(1000= 1秒)。請注意,服務器還強制執(zhí)行5秒的最小重生延遲
?
事件
?
事件是當怪物被殺死時要執(zhí)行的腳本事件。
事件必須以NPCName ::OnEventName的形式執(zhí)行,事件名稱標簽應以"On"開頭。對于所有事件,如果NPC是觸摸NPC,觸發(fā)腳本的玩家必須在"觸發(fā)'范圍內(nèi)才能使事件生效。
示例:
monster "prontera" , 123, 42, "Poringzθrd" , 2341,23, "Master: : 0nThi sMobDeat
amatsu,13,152,4 script Master 767,{
mes "Hi there";
close;
?
OnThi sMobDeath:
announce "Hey," + strcharinfo(0) + " just killed a Poringzθr
end;
}
?
怪物生成器代碼示例:
?

?
?
怪物大小和AI
mob size 是怪物的尺寸
mob ai是怪物的Al(人工智能)類型
<mob size>可以是:
Size_ Small (0) //尺碼_小號
Size_ Medium (1) //尺寸 _中號
Size_ Large ?(2) //尺碼_大號
<mob ai>可以是:
AI_ _NONE (0) (默認)
AI_ _ATTACK (1) (攻擊/友好)
AI_ SPHERE (2) (煉金技能)
AI_ FLORA (3) (煉金技能)
AI_ ZANZOU (4) (陽炎/奧博羅技能)
AI_ LEGION (5) (世拉技能)
AI_ FAW (6) (機械技能)
可以在地圖上以sc_ BOSSMAPINFO 狀態(tài)檢測到使用"boss_ monster' 而不是‘monster"生成的怪物。
?
怪物ID可在Pandas>db>re>mob_db_.yml 文檔直接查看
?

?
演示:prontera ,152,280 monster波利 1002,2 (因沒有指定范圍會在固定地點刷新)
?

?
?
prontera ,152,280,10,10 monster波利 1002,2 (在10*10的范圍刷新怪物沒有設定等級默認刷出來的怪物都是1級)
?
prontera ,152,280,10,10 monster波利 10 tab 1002,2,1000
?(即怪物刷出等級為10級,刷新的速度為1秒,后面在次定義一下隨機時間5秒沒有用估計是因為固定刷新時間太短了)
?
prontera,161, 287,4?script?TestMonsterDeath > 767,{
mes"每當你殺一只波利, 我都會為你歡呼" ;
close ;
OnMonsterDeath :
npctalk "哇, 神勇無比的" +strcharinfo(0) + "消滅了一只波利! ";
end;
} 注釋:殺死一只波利后NPC說一句話
這個就是比較簡單的死亡腳本
?

?
也可以在這個基礎(chǔ)上去做狩獵任務等,殺死多少只怪給一個獎勵等
示例:
prontera ,161,287,4 script TestMonsterDeath?767,{
mes "每當你殺一只波利,我都會為你歡呼" ;
mes”當你殺滿10只波利時,我會獎勵你個< ITEM> 蘋果<INF0>512</INFO></ITEM>";
mes"當前已擊殺^FF0000" + killnum +”^000000 只波利";
close;
OnMonsterDeath:
killfum += 1;?(注釋:此為計數(shù)定義是會一直累計的)
npctalk "哇,神勇無比的" + strcharinfo(0) + "消滅了”+ kil1num + "只波利! ";
if (kil1num == 10) {
announce "哇,神勇無比的" + strcharinfo(e) + "消滅了10只波利,]已經(jīng)超神了,獎勵小蘋果個]" , bc_ blue |bc_ a11;getitem 512,1;
}
end;
}
注:大家也可以根據(jù)自己的想法以及對于游戲的設定去創(chuàng)建行的獎勵等
?


?
?
?
怪物大小的定義:
?
prontera ,152, 280,10,10 monster 波利,10 1002, 1, 1000,
0,"TestMonsterDeath: :OnMonsterDeath",0
?
prontera ,152, 280,10,10?monster波利,10 1002 ,1, 1000, 0,
"TestMonsterDeath: :OnMonsterDeath",1
?
prontera, 152,280,10,10+ monster 波利,101002, 1, 1000, 0, "TestMonsterDeath: : OnMonsterDeath" ,2
?

?
?
每寫完新的腳本時記得回到游戲輸入命令:@reloadsoript ?(加載一下腳本)
今天的分享就到這里啦,我是艾西希望對有需要的小伙伴有幫助我們下期見
擁有一臺服務器可以做很多有趣的事情
?
?