htq110219891 發表於 2015-7-28 11:02:46

从零开始学脚本:第一章 HelloWorld

本帖最後由 htq110219891 於 2015-7-28 11:05 AM 編輯

第一章HelloWorld

第一步 创建脚本文件
1、进入目录Eathena\npc\自定义脚本
2、新建空白txt文档 命名helloworld.txt

第二步 编写脚本代码
1、打开helloworld.txt 写入以下代码prontera.gat,153,102,4      script      我的第一次      862,{
       mes "helloworld!";
      close;
}代码对应含义

prontera.gat      地图名,NPC将要出现在这个地图。

153                这是X坐标

102                这是Y坐标

                以上两个结合起来就对NPC的位置进行定位,游戏中你可以用/where察看你所在的地图和坐标
4                这个代表了NPC正面的方向,4代表朝下。
                701
                6 2
                543

script      表示这是一个脚本型的NPC。
脚本类型:
warp 代表传送点
monster 代表怪物
shop 代表商店
cashshop 代表P点商店
等等后续教学会讲解

我的第一次      NPC可见的名字,在你自行设计NPC时,就按你的需要写个好听的名字吧
862                形象代码,用来指定NPC的外形,具体形象参考文章最后的附件。


{}      这一对大括号中的就是脚本的执行内容,玩家点击NPC执行。注意,每个NPC至少有一对这种大括号,{}开始和最后,这个NPC的代码中所有括号也必须成对出现。

在这个示例脚本中,有两行         
      mes "helloworld!";
      close;
大家会发现,他们有个共同特点,就是以半角分号“;”作为结尾,这就是脚本中语句的标记,每一行执行的语句,必须以这个结束。
为了便于阅读,一段较长的语句可以写在两行或更多行中,例如
mes
      "helloworld!";
也是可以的。
玩家点击NPC后,将会从NPC的第一个大括号后开始逐条语句执行。

第三步 在游戏中载入脚本
1、保存好helloworld.txt, 返回目录Eathena\npc ,找到自定义脚本.conf,右键-打开-选择文本打开
自定义脚本.conf,如果没有可自己创建。
2、添加一行代码npc: npc/自定义脚本/helloworld.txt代码含义:加载NPC,目录为npc/自定义脚本/helloworld.txt

3、大功告成,我们重新启动服务器或输入GM命令:@reloadscript 重新加载脚本,即可在首都制定坐标看到我们的NPC了。

PS. 准备写一系列简单的脚本教学,分享更多喜爱RO的人,同时也是自己学习的过程。

zenghanbiao 發表於 2015-8-6 23:25:44

本帖最後由 zenghanbiao 於 2015-8-6 11:27 PM 編輯

一開始沒載入腳本.@reloadscript能讀出來嗎?

htq110219891 發表於 2015-8-7 09:32:25

zenghanbiao 發表於 2015-8-6 11:25 PM static/image/common/back.gif
一開始沒載入腳本.@reloadscript能讀出來嗎?

使用
@reloadscript

@loadnpc "参数: <脚本路径>\n" "读取一个 脚本"
可读取脚本
使用
@unloadnpc: "参数: <NPC 名字>\n" "关闭一个 脚本"
关闭脚本

zenghanbiao 發表於 2015-8-7 11:05:58

htq110219891 發表於 2015-8-7 09:32 AM static/image/common/back.gif
使用
@reloadscript



我意思是服器 取了哪些本 不是哪些conf. 你往后加的本如果一始服器有.并不新增取.除非你去葥本里多加一乎倀C. 另外...unloadnpc不是路,而是NPC名字.UNloadNPCfile才是汞漀愀dnpc

htq110219891 發表於 2015-8-7 11:28:16

本帖最後由 htq110219891 於 2015-8-7 11:33 AM 編輯

zenghanbiao 發表於 2015-8-7 11:05 AM http://okayro.com/static/image/common/back.gif
我意思是服器 取了哪些本 不是哪些conf. 你往后加的本如果一始服器有.并不新增取.除非你去葥本里多加一乎 ...
我没太看懂你说的,有些乱码
开启服务器后 在conf中添加的脚本, 使用@reloadscript是可以读取的

Residue 發表於 2015-8-7 15:21:11

zenghanbiao 發表於 2015-8-7 11:05 AM static/image/common/back.gif
我意思是服器 取了哪些本 不是哪些conf. 你往后加的本如果一始服器有.并不新增取.除非你去葥本里多加一乎 ...

直接找個原本就會讀取的 .conf 寫進去就好

例如 scripts_custom.conf

zenghanbiao 發表於 2015-8-9 11:38:59

Residue 發表於 2015-8-7 03:21 PM static/image/common/back.gif
直接找個原本就會讀取的 .conf 寫進去就好

例如 scripts_custom.conf

明白~受教了~

zenghanbiao 發表於 2015-8-9 11:39:33

htq110219891 發表於 2015-8-7 11:28 AM static/image/common/back.gif
我太看懂你的,有些
服器后 在conf中添加的& ...

我明白了~受教了~有你用的什么服端.
頁: [1]
查看完整版本: 从零开始学脚本:第一章 HelloWorld