设为首页
收藏本站
繁體中文
请登录
立即注册
论坛
BBS
功能
Plugin
交流群
在线率检测
代码查询
排行榜
Ranklist
搜索
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
单机群
公益服群
当前位置:
»
论坛
›
冒险岛服单机技术研究
›
Js脚本技术
›
【授人以渔】 转载 长篇基础技术介绍——JS NPC脚本篇 ...
分屏版
点赞
3
收藏
9
回复
楼主:
crazyforyou
【授人以渔】 转载 长篇基础技术介绍——JS NPC脚本篇
小白斌
小白斌
当前离线
积分
35
最后登录
2021-8-8
阅读权限
10
积分
35
回帖
4
精华
0
窥视卡
雷达卡
TA的每日心情
开心
2021-8-8 16:02
签到天数: 1 天
[LV.1]初来乍到
新人上路
新人上路
, 积分 35, 距离下一级还需 165 积分
新人上路
, 积分 35, 距离下一级还需 165 积分
枫币
31
威望
0
贡献
0
在线时间
0 小时
注册时间
2021-8-8
收听TA
发消息
发表于 2021-8-8 16:10:12
|
显示全部楼层
7 77777777777777777777777777
回复
支持
反对
使用道具
举报
照妖镜
到处看看
到处看看
当前离线
积分
30
最后登录
2021-8-26
阅读权限
10
积分
30
回帖
2
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 30, 距离下一级还需 170 积分
新人上路
, 积分 30, 距离下一级还需 170 积分
枫币
28
威望
0
贡献
0
在线时间
2 小时
注册时间
2019-5-4
收听TA
发消息
发表于 2021-8-12 08:28:03
|
显示全部楼层
123213213213
回复
支持
反对
使用道具
举报
照妖镜
shuangge
shuangge
当前离线
积分
42
最后登录
2024-11-14
阅读权限
10
积分
42
回帖
10
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 42, 距离下一级还需 158 积分
新人上路
, 积分 42, 距离下一级还需 158 积分
枫币
32
威望
0
贡献
0
在线时间
6 小时
注册时间
2021-8-4
收听TA
发消息
发表于 2021-8-12 10:23:21
|
显示全部楼层
学会了吗
回复
使用道具
举报
照妖镜
zhe不是小号
zhe不是小号
当前离线
积分
22
最后登录
2021-8-16
阅读权限
10
积分
22
回帖
7
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 22, 距离下一级还需 178 积分
新人上路
, 积分 22, 距离下一级还需 178 积分
枫币
15
威望
0
贡献
0
在线时间
2 小时
注册时间
2021-8-12
收听TA
发消息
发表于 2021-8-13 12:47:29
|
显示全部楼层
66666666666666666666666666
回复
支持
反对
使用道具
举报
照妖镜
a3510806
a3510806
当前离线
积分
31
最后登录
2021-8-15
阅读权限
10
积分
31
回帖
4
精华
0
窥视卡
雷达卡
TA的每日心情
开心
2021-8-15 08:47
签到天数: 1 天
[LV.1]初来乍到
新人上路
新人上路
, 积分 31, 距离下一级还需 169 积分
新人上路
, 积分 31, 距离下一级还需 169 积分
枫币
25
威望
0
贡献
1
在线时间
0 小时
注册时间
2021-8-15
收听TA
发消息
发表于 2021-8-15 08:41:03
来自手机
|
显示全部楼层
学习一波
回复
使用道具
举报
照妖镜
爱时恨间
爱时恨间
当前离线
积分
109
最后登录
2025-2-5
阅读权限
10
积分
109
回帖
26
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 109, 距离下一级还需 91 积分
新人上路
, 积分 109, 距离下一级还需 91 积分
枫币
83
威望
0
贡献
0
在线时间
10 小时
注册时间
2021-8-5
收听TA
发消息
发表于 2021-8-15 20:58:58
|
显示全部楼层
111111111111111111111
回复
支持
反对
使用道具
举报
照妖镜
capcomyytt
capcomyytt
当前离线
积分
10
最后登录
2021-8-18
阅读权限
10
积分
10
回帖
3
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 10, 距离下一级还需 190 积分
新人上路
, 积分 10, 距离下一级还需 190 积分
枫币
7
威望
0
贡献
0
在线时间
1 小时
注册时间
2021-8-16
收听TA
发消息
发表于 2021-8-16 10:18:48
|
显示全部楼层
js脚本是什么? js=javascript 是个网页上通用的脚本代码 虽然叫javascript 但是和java没有太大关系,在java中倒是可以很容易调用js脚本,并把内部函数暴露给js脚本 脚本目录的结构 item 目录 里的文件是id.js 当你使用或获取 物品的会执行对应id的脚本 quest 任务 对应的id.js 接到 任务 执行任务 完成对应的任务都可能触发对应的 脚本 event 这个的文件名随意,脚本内会指定触发的时间间隔等一些触发条件 npc 点击对应npc就会触发其中的脚本 portal 一般是到达某地图,登陆服务器等触发的事件,没固定名称,会根据 enter 函数 执行触发条件 js的书写语法 完整的js教程看
http://www.w3school.com.cn/js/index.asp
这里只说下基本语法,和java 较类似 大括号 是用来表示开始和结束的,一般在每个函数,if,for ,while ,switch的时候都要表明开始很结束 分号,一句话执行后都要用分号来表示这句话结束了 例子: var status;分号,一句话结束了 function start() { status = -1; }大括号开始很结束 if(status==1) {im.dispose();} else {}大括号 switch (selection) { case 0: im.warp(100000000, 0); break; default: break;}//大括号 //和/**/这个是注释,//表示后面到换行前的都是废话,没任何作用 /* 这里面的都是废话,包括换行 指导遇到后面那个 */ 关键字介绍: var 是申明变量,一般是是存放状态的,一般都会声明 全局变量 var status;用来 保存我是点到第几级菜单了,或者第几次点击这个npc了 例如: var status; function 是说这是和函数 后面添函数,一般都有固定的函数名要求,后面是一个括号,里面是参数列表,也一般是固定的,名称是随意的,但顺序是很重要的,这里的参数是你这里在这个函数内使用的,一般是服务端在接收后,把一些他知道的消息告诉你,就算没有参数,你也要来个括号 例如 function start() { status = -1; } 作用域介绍: 一般我这里只说函数内和函数外,你函数内的var 申明的变量,只能在这个函数里让他的值,如果你在函数外声明的,在所有函数都可以修改,查看他的值 函数调用: 脚本里的函数和变量除了你可以在这个脚本里看得到的以外其他的都是服务端已经定义好的。 函数就是一些代码的集合 比如: function start() { status = -1; action(1, 0, 0);//这里,我调用了下面定义的action函数,他是有3个参数的,我这里也要写3个参数,参数可以是变量比如status或者直接是常量,1,0这些 } function action(mode, type, selection) {} 函数的返回值: 在一个函数里你可以返回一个数给调用函数的那个东西比如x=action(1,0,0);就是把action返回值给x 如何写返回值 就是在函数体内,写 return 返回的东西; 不返回,但是要退出函数就return 比如 function action(mode, type, selection) {return 1;}//返回1这个数 注意,return 以后,这个函数后面的代码不会再执行了 常见的符号 = 赋值,就是把右边的东西,拷贝都左边 比如 status = -1; + - * / 数学运算加减乘除 ()这个一般把一堆的东西搞成一个集合,比如函数定义和函数调用的时候,还有在for if switch while结构的时候都会出现, 还有就是像我门在四则运算里,它可以让某个算式先算 .是对类函数调用时候先指定对象,再指定 函数, 我门一般就用到cm im两个 ++ 自加1相当于 x=x+1; ++在变量前还是后是有区别的,但是作为新手不用管 双引号 说明里边是字符,字符必须上双引号如x="#r Welcome" -- 类似上面的相当于 x=x-1; == 判断左右是否一样,如果一样就返回true,否则false ,如果是true,在判断语句中就会进到分支里 != 判断左右是否不一样 > >= <= < 一看就知道是啥 再介绍两个逻辑运算的 || 或 &&与 高中数学中的简单 逻辑学过我们都知道 或 与是啥了 , 这两个一般只对 前面几个判断结果的 再次运算 x==1 || x==2 这个就是x是一或二 x>1&&x<5 这个就是 1<x<5 常见的控制结构: 顺序结构: 就是一条条代码用分号不停写下去,分号后面换不换行是无所谓的函数为了看起来好看点,换行是必要的 分支判断: if判断 最常用结构 if(x==1){y=1;} //像这样,先判断 x是否为1 如果是 1 ,就y变成 1 , 实际的话 if(cm.getJob()==1) { cm.sendSimple("是这个职业哦!");} 另外常用的是if(x==1){y=1;}else {y=2;} 这个和上面不同的是如果x不是1,那么y就要变成2 实际的话 if(cm.getJob()==1) { cm.sendSimple("是这个职业哦!");}else{ cm.sendSimple("不是这个职业哦!");} 另外还有一种 就是很多判断 ,我建议如果是对一个变量的多值判断用switch if(x==1){y=1;}else if(x==2){y=2;} else if(x==3){y=3;}else {y=4}; switch 判断 这个就是对某一个值判断他到底是多少 1 还是 2 还是 3;或者其他 基本结构 switch(x) { case 1:y=1;break;//这个不用加大括号,但是结尾要加break case 2:y=2;break; default :y=2;break;//default 这个就是前面所有没出现的情况 } 我们来看一段实际的代码 switch (selection) { case 0: im.warp(100000000, 0); break; case 1: im.warp(101000000, 0); break; case 2: im.warp(102000000, 0); break; case 3: im.warp(103000000, 0); break; } 这段就是先判断 selection,按照他不同的值,触发不同 事件 循环 我看一般没什么在脚本出现就不讲了 好了 看个实际的脚本讲解下 //看到没有,开始的注释 /* 脚本类型: 传送NPC 修改: 一纸离人醉丶 技术指导: 芬芬时尚潮流 */ var status = 0; //常见的全局变量 function start() {//关于函数的 名称 被服务端调用的时机 以及形参,我会在下个帖子讲 status = -1;//函数赋值 action(1, 0, 0);//调用函数 } function action(mode, type, selection) { if (status == 0 && mode == 0) { //判断 与 cm.dispose(); //调用类对象的函数 cm对服务端有的函数,你把它当成已经声明的变量使用 return;//返回 } if (mode == 1) { status++; //加加 } else { status--;//减减 } if (cm.getMapId() == 180000001) { cm.sendOk("很遗憾,您因为违反用户守则被禁止游戏活动,如有异议请联系管理员.") cm.dispose(); } else if (status == 0) { var selStr = "#L0#黄金祭坛#L1#苦难之屋"; //格式文本之后将 cm.sendSimple(selStr); } else if (status == 1) { //这个就是嵌套的if 多值判断 switch (selection) { //switch判断 case 0: if (cm.getPlayer().getLevel() > 80) { cm.warp(252030100); } else { //简单的if cm.sendOk("你的等级小于80,不能进入 请练级"); } cm.dispose(); break; //break要记得 case 1: if (cm.getPlayer().getLevel() > 80) { cm.warp(252020700); } else { cm.sendOk("你的等级小于80,不能进入 请练级"); } cm.dispose(); break; //可不要default } } }
回复
支持
反对
使用道具
举报
照妖镜
langhumxzhl
langhumxzhl
当前离线
积分
88
最后登录
2021-9-4
阅读权限
10
积分
88
回帖
24
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 88, 距离下一级还需 112 积分
新人上路
, 积分 88, 距离下一级还需 112 积分
枫币
64
威望
0
贡献
0
在线时间
19 小时
注册时间
2021-8-12
收听TA
发消息
发表于 2021-8-21 00:07:22
来自手机
|
显示全部楼层
谢谢楼主
回复
使用道具
举报
照妖镜
a835277617
a835277617
当前离线
积分
54
最后登录
2023-1-4
阅读权限
10
积分
54
回帖
11
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 54, 距离下一级还需 146 积分
新人上路
, 积分 54, 距离下一级还需 146 积分
枫币
43
威望
0
贡献
0
在线时间
8 小时
注册时间
2021-2-27
收听TA
发消息
发表于 2021-8-22 13:40:55
|
显示全部楼层
学习一下,谢谢
回复
支持
反对
使用道具
举报
照妖镜
a6370893
a6370893
当前离线
积分
6
最后登录
2021-8-22
阅读权限
10
积分
6
回帖
2
精华
0
窥视卡
雷达卡
该用户从未签到
新人上路
新人上路
, 积分 6, 距离下一级还需 194 积分
新人上路
, 积分 6, 距离下一级还需 194 积分
枫币
4
威望
0
贡献
0
在线时间
0 小时
注册时间
2021-8-22
收听TA
发消息
发表于 2021-8-22 17:24:27
|
显示全部楼层
1111111111111111111111111111111
回复
支持
反对
使用道具
举报
照妖镜
下一页 »
1 ...
67
68
69
70
71
72
73
74
75
... 118
/ 118 页
下一页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
单机服务端发布
枫叶物语即使倒闭也绝对不会变质
Copyright © 2001-2013
Discuz Team.
Powered by
Discuz!
X3.5
|
网站地图
| 本站已运行:
天
2021-8-8 16:02
签到天数: 1 天
[LV.1]初来乍到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
2021-8-15 08:47
签到天数: 1 天
[LV.1]初来乍到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报
该用户从未签到
新人上路
使用道具 举报