译者说明:
E文水平有限;有的地方有删节,有的有补充(加上了“译者按”的地方) 本文来自织梦
sphere 55i 新手教程
织梦好,好织梦
原著:BELGAR
翻译:逍遥子
本文来自织梦
本教程针对的对象是那些对脚本知识还一无所知的朋友 织梦好,好织梦
基础篇:
要想明白脚本文件里的代码的意义,请先看看下面的内容。
[xxxx] 一段代码的开头。每一个物品都有一个这样的开头 内容来自dedecms
<xxxx> xxxx的值,可以是数字,也可以是字符串。
copyright dedecms
举例:
test=10 ; test2=<test>. 这样test2就等于10了 本文来自织梦
SRC: 源;引发执行此段代码的起源人、物,和TARG、ACT、CONT等等一起通常用在触发里
TARG: 目标;譬如
ACT: 当前的目标;与TARG的区别在于ACT可以在在脚本执行过程中被重定向
CONT: 容器;一件物品放在一个包里,这个包就是这个物品的CONT;一个人骑在一匹马上,这个人就是这匹马的CONT;等等……
LINK: 每个物体都可以定义一个LINK,然后通过LINK来对其连接到的物体进行操作
注:(参看文末)
copyright dedecms
举例:
SRC.ACT 事件起源物的当前的目标
SRC.TARG.ACT 事件起源物的目标的当前的目标
SRC.TARG.ACT.LINK 事件起源物的目标的当前的目标所连接的物体
内容来自dedecms
SRC.TARG.ACT.LINK看上去过于复杂,大家就先看看前面的几个吧。这些是SPHERE里物体指针的基本知识,搞清楚后才能 执行对物体的操作。这个物体可以是一个玩家、一个NPC或者一个物品。<SRC.TARG.NAME>将会得到SRC.TARG的名字。 SRC.ACT.COLOR=01将会把SRC.ACT的颜色改成01(黑色)。
copyright dedecms
(译者按:
另外,还有几个对指针起辅助作用的命令:
FINDCONT(XX): 第XX个容器
FINDEQUIP(XX): 第XX个装备?(没用过不能不确定)
FINDID(XX): ID为XX的物品
FINDLAYER(XX): 第XX个LAYER
FINDTYPE(XX): TYPE为XX的物品
当然,你也可以写成FINDID.XX这样的形式 copyright dedecms
这几个命令配合那几个指针,基本上就可以完成所有的对物体的寻址操作了,譬如
SRC.FINDLAYER(29).FINDCOUNT(20).FINDID(I_GOLD).AMOUNT 1000
就是将在SRC的LAYER 29(就是银行)的第20个容器的ID为I_GOLD的物品(就是钱)的数量改成1000
)
内容来自dedecms
织梦好,好织梦
这些是怎样运行的呢?SPHERE里每一样东西都有一个唯一的编码,就是UID。假如你添加了2把钥匙,他们有着同样的颜色、名字、一切的一切,就只有UID不同。甚至世界本身就有一个UID(?,这个我就不知道了;译者按),同样的还有所有的地区、房屋和其他一切的一切。它告诉服务器应当给出的所指向的物体的编码。这样,大家就可以理解到<SRC.TARG>的值和<SRC.TARG.UID>是一样的,然而SRC.TARG.UID.NAME却是错误的。
ON=@DCLIK 本文来自织梦
这就叫做触发。一般说来,触发定义的是当一个特定的动作发生时将要进行一些什么样的操作。所写的这个例子,定义的是当某个物体被双击后将要执行的操作
举例:
ON=@DCLIK
SRC.MESSAGE HI!
RETURN 1
将这段代码写在一个物品里面,以后要是有人双击这个物品,双击者的头上就会显示出:“HI!”
本文来自织梦
接着来看看下面这部分
[ITEMDEF 04105] <-以前定义的物品的名字,一段代码的开头
DEFNAME=i_SCIMITAR_FORCE <-新定义的物品的名字
ID=i_scimitar <-映像
NAME=Scimitar of Force <-物品名字
RESOURCES=i_scimitar,3 i_enchant_weapon <-制造这个物品所需要的资源 织梦好,好织梦
DESCRIPTION=Scimitar of Force <-axis里的信息
SUBSECTION=Magic Scimitars <-axis里的信息
CATEGORY=Provisions - Weapons ?Magic <-axis里的信息
本文来自织梦
ON=@Create <-触发;当物品被创建时触发
COLOR=color_magic_weap <-颜色
HITPOINTS={31 100} <-物品耐久度
ATTR=attr_magic <-魔法属性
MOREY=60.0 <-把此物品的MOREY设为600
织梦好,好织梦
脚本文件
织梦内容管理系统
学写脚本的唯一的方法,就是从写一些小脚本入手,看看系统是怎样运行的。对于新手的你来说,必须了解脚本文件里有些什么样的内容。脚本文件的的扩展名是.SCP,大部分是定义物品、NPC、模板的。我们先作重来看看以下这几个脚本:(改动了这些脚本文件后需要刷新服务器,有时候甚至需要重启) 织梦内容管理系统
Spheretables: 在服务器读取SPHERE.INI后读取。内容是定义技能、起始位置、玩家命令、SKILLCLASS。作任何改动都需要刷新服务器
Spheretable_x:在Spheretable后读取。定义了魔法和重生组。你可以改变魔法的属性,但是不能添加魔法。所有的重生组定义的范围在08xxx内,自己添加的话就接着最后一个编排
Spheredefs: 内置于服务器,将属性定义为一个数字,包含了大量SPHERE系统的资源。强烈建议仔细看看里面的内容(要是E文不好的话还是去找找响应的中文资料吧)
Spheremap: 包含了地图上所有的地区。最好用AXIS修改。此文件里的内容的排列顺序是很重要的。对于交迭的区域,其地区属性将以排在此文件最后面所定义的为准。在此文件的前面部分有一个[AREA %SERVNAME%],这是定义的整个世界的属性,世界上的每一个地方的属性都将是这样,除非在此文件下面重新定义Sphereregion: 定义了许多地区的EVENTS和资源 织梦好,好织梦
Sphereskill: 定义了技能和魔法的菜单。有炼金、变身、召唤、制衣、制图、制弓、制箭、打铁、木匠、皮匠、修补、抄卷、烹饪(还未开放)
copyright dedecms
其他的脚本文件的作用是同样重要的,有什么样的作用大致和以上所举出的道理相同
先找到一个好的文件编写工具(译者按:推荐ULTRA EDIT,功能强大、性能优异,特点是能迅速打开一个庞大的文件,并且能在文件以被其他程序打开的情况下强制存盘),经常使用SEARCH功能。用它来打开现成的脚本文件,多看看已经存在的脚本,这将使得你在以后脚本学习、编写里受益匪浅。 本文来自织梦
熟悉16进制;如果可能,尽量不要使用10进制(一般只要不显示给玩家都可以不用)。这样能让你的脚本更加直观。SPHERE 里,16进制的数字前面要加上0,不加SPHERE就会认为这是个10进制的;因此10=10、16=010;这是因为SPHERE的数据是以16进制储存的,因此最后用16进制工作起来会轻松一些。之所以提到这些,是因为有人总是转换成10进制,Usually they will start making logic errors and the scripts end up on the help forum. The server takes care of any conversions needed.(译者按:抱歉,这段不知道改怎么翻译)。IF (0A=10) 是真,两边都是10进制的10,这儿就不需要转换了 本文来自织梦
在客户端上,有几个重要的用来调试的命令,它们是:
.info -> 得到并编辑一个物品、玩家、NPC的信息
.edit / .xedit -> 得到并编辑一个玩家、NPC身上装备的东西的信息
.show / .xshow -> 显示任何变量,只要这个变量存在
内容来自dedecms
在客户端上,在命令字符前面加上X,执行后将会出现一个选取目标的圆圈,选定目标后就对这个目标执行这个命令
.str 100 -> 把自己的str设成100
.xstr 100 -> 把选定目标的str设成100 织梦内容管理系统
再说说这些。试试用用这些特别是show命令,你熟练了以后,会体会到它的用处的 内容来自dedecms
.show str -> 显示我的str
.show tag.stored -> 显示储存在tag.stored(我的)的值
.xshow link -> 显示目标连接到的物品的UID 织梦内容管理系统
同样的还有: 织梦内容管理系统
.show eval (10+0a0)
.show region.flags
.show serv.archerymindist
.show isgm
.show act
SHOW能显示出任意一个存在的、符合使用者权限的值。PASSWORD只能显示给ADMIN权限的玩家,ADMIN可以用.XSHOW ACCOUNT.PASSWORD选择目标玩家,显示出他这个帐号的密码。GM就不能。
织梦好,好织梦
注意:在脚本里用命令,SPHERE会认为执行者是有ADMIN权限,所以写脚本时要小心。在开发一个教大的脚本的时候,你大半的时间其实将会用在安全性的确认上,否则就是留下了一个BUG隐患。
现在,你应该了解到了基本脚本编写,SPHERE对物品、玩家、NPC的寻址、指针,脚本文件分门别类的内容,用客户端命令查找到基本的信息
进阶篇: 织梦内容管理系统
使用AXIS;这是一个非常有用的工具,建站、管理必备。我很少用它,除非用用他的调色板(译者按:BELGAR是个高高手,大家别理这句),不过这和个人的偏好有关。
使用INSIDEUO:查看所有能显示出来的图象的ID,编写DIALOG脚本必备
本文来自织梦
强烈建议把你自己写的脚本加在一个新脚本文件里,譬如TEST.SCP。然后把这个文件放在和SPHERESERVER.EXE同一个的目录里,直接刷新就可以用了。或者放到一个子目录里,不过这样的话就必须先在spherestable.scp里面的[resources]下面加上这个相应的完整的目录名,再重启服务器才能生效
先学着写写物品脚本吧,因为这些很容易写的。如果你把另一个物品的ID赋给这个物品,基本上就得到了另外的那个物品的COPY,除非你自己加一些改动: 织梦好,好织梦
[itemdef I_my_bottle]
id=I_bottle_empty
这样得到的是一个一模一样的空瓶,有着和空瓶一样的属性 织梦好,好织梦
[itemdef I_my_bottle]
id=I_bottle_empty
weight=0.1 copyright dedecms
这样得到的是一个除了重量以外一模一样的空瓶
[itemdef I_my_bottle]
id=I_bottle_empty
weight=0.1
type=t_forge //find this in spheredefs
这样空瓶的TYPE也被改变了。但是不是所有的属性都是直接改在这个地方,象HITPOINTS、COLOR、ATTR等等需要改在ON=@CREATE里面
织梦内容管理系统
[itemdef I_my_bottle]
ID=I_bottle_empty
WEIGHT=0.1
NAME=my test object 内容来自dedecms
ON=@CREATE
ATTR=04 内容来自dedecms
得到了一个是新人属性的空瓶。
当然你会从一些有闪电、底火、中毒效果的武器写起,就在这样的乐趣当中建立信心吧。当然有的人也会猴子搬苞谷,早早就放弃了。我个人喜欢挑战,我所学的95%的知识是来自于看已有的脚本和命令解释(译者按:这是金玉良言呀!)。还有,除非你亲自动手试了,否者不要轻易相信别人说的。在不停的尝试当中,你的技艺将会得到飞速的提高。要是你有一个想法又不能马上实现,不要就放弃了,到论坛里提问去。 本文来自织梦
编写NPC脚本:
内容来自dedecms
最好的方法只有一个:打开已经有的NPC脚本,边看边学边试。我想我能完完整整的写出来,但有这个必要吗?不过我还是简单讲讲EVENTS(事件)。在SPHERE里,一个EVENTS是指发生在NPC、玩家身上的事件。可以是受到伤害、施展魔法、选取目标等等。可以通过触发来引发。一组事件可以加在一个EVENTS里面,就是TEVENTS或者ENEVTS(译者按:前者针对NPC,后者针对玩家)。一个非常著名的例子是TEVENTS=E_UNDEAD,他定义了不死系的怪物在阳光虚弱的被一击就致命。在SPHERE论坛里有很多这样的例子。通常你用它来设定一个(种)唯一的NPC。
dedecms.com
好了,现在的你应该有了相当的基础了。祝你早日成为脚本高手
copyright dedecms
1.76精品传奇_1.76天下毁灭_1.76复古传奇_英雄合击_中变靓装传奇_无忧传奇
传奇花屏补丁,花屏补丁,土城花屏补丁,盟重土城花屏补丁下载,土城花屏补丁下载,沙巴克花屏补丁,传奇土城花屏补丁下载
网站每天发布最新、最好的传奇版本下载和与传奇服务端配套开区传奇模版,网游技术教程全部免费下载!
无忧网络是目前唯一家所有的传奇服务端,传奇私服花屏补丁,盟重花屏补丁和传奇客户端下载都经过站长亲自测试并配有真实测试图!
所有的工具软件和传奇版本在发布之前,都会经过站长亲自测试,保证chuanqisf可以进入游戏,所有软件都无毒无插件!
本站声明:本站所有技术资料与下载资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信指出,本站将立即改正Copyright © 2002-2014 无忧网络 版权所有蜀ICP备09041899号