马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先,要研究沙巴克开战的npc移动,要会移动npc
[@CastleWarStart]
{
#ACT
ResetMapAttr "3"
lineMsg [Grobal] " 沙巴克攻城战开始了。"
lineMsg [Grobal] " 沙巴克的部分商人已经到毒蛇山谷或道馆避难了。"
movenpc "3,195,183,老胡" 2 350 219
movenpc "3,229,150,双喜" 2 343 234
movenpc "3,204,196,晶晶" 2 335 223
movenpc "3,229,168,园老板" 2 362 226
movenpc "3,211,183,多多" 2 350 233
movenpc "3,289,513,敏贞" Z011 10 7
movenpc "3,75,516,在奎" Z011 10 8
movenpc "3,83,140,完美" Z011 10 9
movenpc "3,198,180,啊翔" Z011 10 10
;;movenpc "3,210,130,怪物租赁商" Z011 10 11
movenpc "3,203,197,俞公" Z011 10 12
movenpc "3,165,190,沙巴克旗帜(左上)" Z011 9 7
movenpc "3,170,195,沙巴克旗帜(左下)" Z011 9 8
movenpc "3,233,196,沙巴克旗帜(正左)" Z011 9 9
movenpc "3,238,190,沙巴克旗帜(正右)" Z011 9 10
movenpc "3,240,123,沙巴克旗帜(右下)" Z011 9 11
movenpc "3,236,119,沙巴克旗帜(右上)" Z011 9 12
}
以上是沙巴克攻城时候,移动npc的代码;
那么,你如果想在某个地图在规定的时间刷npc,就先新建一个地图,属于gm才能进入的,其他玩家无法进入的地方,比如z010
在00Default.txt中,有一个天气变更的代码:goto @weather_control_sabuk
内容是:
[@Weather]
{
#ACT
goto @ConfirmWeather_Bichon
;变更比奇天气
[@ConfirmWeather_Bichon]
#IF
!DayTime Day
#ACT
movr P0 20
Inc P0 1
#ELSEACT
Delaygoto [Grobal] 3600 @ConfirmWeather_Bichon
break
#IF
Equal P0 1
#ACT
ChangeMapAttr "0,01,02" "Rain"
Delaygoto [Grobal] 3600 @ConfirmWeather_Bichon
break
#IF
Equal P0 2
#ACT
ChangeMapAttr "0,01,02" "Fog"
Delaygoto [Grobal] 3600 @ConfirmWeather_Bichon
break
#IF
#ACT
ChangeMapAttr "0,01,02" "Clean"
Delaygoto [Grobal] 10800 @ConfirmWeather_Bichon
;这是一个循环,用于控制比奇天气,如果是白天晴天,就10800秒后变更
;如果是雨,3600秒后变更,看movr P0 20,是随机出现一个数1~20之间,Equal P0 2如果随机值是2,执行.....
以上脚本看懂以后,可以加一句
#IF
HOUR 20 20
min 55 59
DAYOFWEEK FRI
#ACT
移动npc到指定地图
delaygoto [grobal] 10 @循环
#else
#act
移动npc到gm地图
这样,系统10秒钟判断一次,如果是星期五的20:55~59之间,npc出现,如果不是,npc就不在
另外,再学习添加一个变量,如果这个值是1,就移动npc到指定地图,到了时间,npc移动到gm地图后,这个值再变为0,这样就不用10秒刷一次npc了,具体的执行,可以添加文本读写脚本,写一个值
|