============================================ -------------------- 程 序 语 句 与 程 序 段 ------------------------ ============================================ 换一行 {图像类别图像定位} ;图像类别是说明动物或NPC图像定位是指那一个具体图像 [@段] ;段用英文或数字表示 goto @段 ;跳转到指定段,开始执行相当于B中的goto语句 选择项目@段 ;选择项目后转称到指定段,相当于C中的case语句 #say 语句 ;语句设定为字符,不用加任何定界符 #act 执行命令 ;符合3.0规定的任何系统已定义命令 give 物品 数量 ;给多少东西,除了物器数据库中有的物品,还有金币, ;在大多数汉化版3.0中都汉化为“金” take 物品 数量 ;同上,只是与上面相反,一个是给东西,一个是收回东西 map 地图名 ;移动到这个地图的随机坐标,地图名为地图的数字人码 mapmove 地图名 坐标A 坐标B ;同上,只是指定了坐标 monclear 地图名 ;清除这个地图上刷的怪物 MonGen 怪物名称 数量 时间 ;刷怪物,与刷怪角本用法相同 TimeRecall 数值 ;数值为分钟,定义进入某地的时间限制。 BreakTimeRecall ;中断上面那个语句设定的时间 hairstyle 数值 ;改变头发类型 haircolor 红值 绿值 蓝值 ;值域为0 ~ 255 设定头发颜色 close ; 关闭对话框 ============================================== ---------------------- 程 序 中 的 变 量 与 常 量 ------------------------ ============================================== 变量 ;变量用字母表示,在程序中可以赋任何数据 名称只限于P0-P9,D0-D9 mov 变量 数值 ;给变量赋值 inc 变量 数值 ;让变量自动加指定数值到变量,相当于程序中的x=x+n sum 变量A 变量B ;变量求和不要与int混淆,需要下面的组合语名才能实现 MOV 变量X 0 ;变量X,初值。 sum 变量A 变量B ;X=A+B sum 变量C ;X=X+C 最后在程序中得到的是X值,实际X=A+B+C ;如果只写中间一句是无意义的,只能导致错误 movr 变量 数值 ;定义随机变量,变量值为 “0 到 数值” random 数值 ;当数值=随机数时则为1否则为0 $STR(变量) ;显示变量时用,可以将变量值显示在游戏里,用在 #say后面。 ================================================= ------------------------- 程 序 中 的 逻 辑 判 断 语 句 ------------------------ ================================================= [n] ;n为任何正整数,是逻辑变量,有0值和1值,初始0值 #IF 条件--执行 #elsesay 或者 #elseact 否定--执行 ;相当于程序中的条件判断 SET [n] 1 ;设置逻辑变量为真 Check [n] 1 ;测试逻辑变量是否为真,可以测试是否已经完成了任务 small 变量 数值 ;如果“变量 数值”则为1否则为0 large 变量 数值 ;如果“变量 数值”则为1否则为0 equal 变量 数值 ;如果“变量 = 数据”则为1否则为0 checkjob Warr(Wizard、Taos) ;测试职业 成功为1否则为0 checkgold 数值 ;拥有金币数=数值为1否则为0 checklevel 数值 ;人物等级=数值为1否则为0 checkitem 物品 数值 ;测试拥用物品的数量 genderman ;测试性别为男,如果为男则为1否则为0 checkbaggage ;测试背包是否已满,满时为1否则为0 checkpkpoint 数值 ;数值为PK值,PK值数值时为1否则为0 checkluckypoint 数值 ;同上,只是测的是幸运值 checkmonmap 地图名 数值 ;同上,只是测的是怪物数量 checkduraeva 物品名 数值 ;同上,只是测试有品质的物品的品质 checkhum 地图名 数值 ;同上,测试这个地图的人数 checkitemw 物品 检测身上所带的物品 takew 物品 直接从身上回收物品 checkmagic 技能名称 检测已经修炼的技能 脚本大全 [喜欢脚本的来] 传奇商用NPC开头解释(部分,补足请补足) %100 代表买东西是原价格还是双倍价格 +40 买肉 +1 卖肉 +43 武器有关(修) +15 头盔 +10 买衣服 +11 修衣服 +26 修手镯类 +0 买各种药水 +42 卖各种药水 +30 蜡烛等. +25 特殊水 +3 买卷轴,书类 +4 卖书类 +19 项链 +20 项链 +21 项链 +22 买戒指 +23 卖戒指 +24 买手镯 +26 卖手镯 +5 修炼武器或买武器 +6 修炼武器或卖武器 ================================ checkjob (Warr, Wizard, Taos) ;测试职业 checkgold (金币数) ;测试金币 checklevel (等级) ;测试等级 checkitem (物品名) (数量) ;测试物品及数量 give gold (金币数) ;给钱 give (物品名) (数量) ;给物及数量 take gold (金币数) ;拿走钱 take (物品名) (数量) ;拿走物及数量 checkpkpoint (pk值) ;测试PK值 checkluckypoint (幸运值) ;幸运值正值为好,负值为差 checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质 checkhum (地图名) (数值) ;测试这个地图的人数 checkmonmap (地图名) (数值) ;测试这个地图的怪物数 map (地图名) ;移动到这个地图 mapmove (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标 monclear 地图清除 close 关闭对话框 TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制 BreakTimeRecall ;中断设定时间 ExchangeMap (地图名) ;与指定地图里的人交换位置 daytime sunset ;一天时间 checkbaggage ;测试背包满没 small (变量) (数值) ;测试变量是不是小于指定数值 large (变量) (数值) ;测试变量是不是大于指定数值 equal (变量) (数值) ;测试变量是不是等于指定数值 mov (变量) (数值) ;让变量等于指定数值 sum (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写sum (变量C) 注关于SUM的详解 首先有MOV (变量X) 0 ;(变量X)清0 sum (变量A) (变量B) ;X=A+B sum (变量C) ;X=X+C movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量 inc (变量) (数值) ;让变量自动加指定数值到变量 playdice (骰子数) @xxx ;玩骰子,跳转到标签[@xxx] random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语句数用 于随机多项选择,例如 #IF RANDOM 3 #SAY() #ELSEACT Check [条件数] 1 ;测试[条件数]触发与否 1(触发) SET [条件数] 1 ;设置[条件数]触发 Monclear 地图 清理这个地图! Param1 地图 地图名 Param2 横坐标 坐标 Param3 纵坐标 坐标 MonGen 怪物名称 数量 时间 TimeRecall 时间 时间限制 二。脚本变量: $USERNAME 当前用户名 $GUILDWARFEE行会战金币数 $LORD沙巴克行会头名 $OWNERGUILD沙巴克行会名 $UPGRADEWEAPONFEE升级武器价格 $USERWEAPON 放在对话框里的武器名字 $STR(变量) 把变量转换为字符型 ======================****************************======================== -------------------- 程 序 语 句 与 程 序 段 ----------------------------- ====================********************************====================== \ 换一行 \\换二行 {图像类别/图像定位} ;图像类别是说明动物或npc图像定位是指那一个具体图像 [@段] ;段用英文或数字表示 goto @段 ;跳转到指定段,开始执行相当于b中的goto语句 <选择项目/@段> ;选择项目后转称到指定段,相当于c中的case语句 #IF #SAY 语句 ;语句设定为字符,不用加任何定界符 #ACT 执行命令 ;符合3.0规定的任何系统已定义命令 #ELSEACT #ELSESAY @exit ; 关闭对话框 close ;由程序执行@exit break Delaygoto [Grobal] 120 @段 ;120秒后进入@段 ======================****************************======================== ---------------------- 程 序 中 的 变 量 与 常 量 ------------------------ ======================****************************======================== 变量 ;变量用字母表示,在程序中可以赋任何数据 名称只限于A0-A9字符型 B0-B9字符型 D0-D9数字型 P0-P9数字型 S0-S9数字型 服务器共享变量 N0-N9 数字型 B1-B9 字符型 #Define N0{START} N0 #Define N1{WEDDING} N1 #Define N3{TIME} N3 #Define N4{TRY} N4 #Define N5{WAITINGTIMEOUT} N5 #Define N6{MAN} N6 #Define N7{GIRL} N7 #Define B1{MANNAME} B1 #Define B2{GIRLNAME} B2 #Define B3{INPUTGIRLNAME} B3 mov 变量 数值 ;给变量赋值 A0-A9字符型 B0-B9字符型 D0-D9数字型 mov A0 字符 mov D0 数字 inc 变量 数值 ;让变量自动加指定数值到变量,相当于程序中的x=x+n dec 变量 数值 ;让变量自动减指定数值到变量,相当于程序中的x=x-n sum 变量a 变量b ;变量求和不要与int混淆,需要下面的组合语名才能实现 mov 变量x 0 ;变量x,初值 sum 变量a 变量b ;x=a+b sum 变量c ;x=x+c 最后在程序中得到的是x值,实际x=a+b+c ;如果只写中间一句是无意义的,只能导致错误 movr 变量 数值 ;定义随机变量,变量值为 0 到 数值 random 数值 ;当数值=随机数时则为1否则为0 <$str(变量)> ;显示变量时用,可以将变量值显示在游戏里,用在 #say后面 =========================*******************************======================== ------------------------- 程 序 中 的 逻 辑 判 断 语 句 ------------------------ =========================*******************************======================== [n] ;n为任何正整数,是逻辑变量,有0值和1值,初始0值 #IF *** #ACT *** #SAY *** #ELSEACT *** #ELSESAY *** ===================== #IF not CheckItem 钢玉石 1 ;注意这里的not用法 or not CheckGold 10000 ;注意这里or 的用法 还有 and #ACT *** ============ set [n] 1 ;设置逻辑变量为真 check [n] 1 ;测试逻辑变量是否为真,可以测试是否已经完成了任务 small 变量 数值 ;如果“变量 < 数值”则为1否则为0 数值比较 esmall 变量 数值 ;如果“变量 <=数值”则为1否则为0 字符比较 large 变量 数值 ;如果“变量 > 数值”则为1否则为0 数值比较 elarge 变量 数值 ;如果“变量 >= 数值”则为1否则为0 字符比较 equal 变量 数值 ;如果“变量 = 数据”则为1否则为0 checkjob warr(wizard、taos) ;测试职业 是为1否则为0 checkgold 数值 ;拥有金币数>=数值为1否则为0 checklevel 数值 ;人物等级>=数值为1否则为0 checkitem 物品 数值 ;测试包裹物品的数量 checkitemw 物品 ;检测身上所带的物品 gender man ;测试性别为男,如果为男则为1否则为0 checkbaggage ;测试背包是否已满,满时为1否则为0 checkpkpoint 数值 ;数值为pk值,pk值数>值时为1否则为0 checkluckypoint 数值 ;测幸运值 checkmagic 技能名称 ;检测已经修炼的技能 chkmagiclevel ;检测技能等级 checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质 checkduraeva 钢玉矿石 10 checkhum (地图名) (数值) ;测试这个地图的人数 checkmonmap (地图名) (数值) ;测试这个地图的怪物数 checkmonrecall ;检测宠物 checkhorse ;检测是否有马 checkweaponlevel ; GETMARRIED ;检测有否结婚 =========================*******************************======================== ------------------------- 商 人 用 npc 开 头 解 释 部 分 ----------------------- =========================*******************************======================== %100 代表买东西是原价格还是双倍价格 +40 买肉 +1 卖肉 +43 武器有关(修) +15 头盔 +10 买衣服 +11 修衣服 +26 修手镯类 +0 买各种药水 +42 卖各种药水 +30 蜡烛等 +25 特殊水 +3 买卷轴,书类 +4 卖书类 +19 项链 +20 项链 +21 项链 +22 买戒指 +23 卖戒指 +24 买手镯 +26 卖手镯 +5 修炼武器或买武器 +6 修炼武器或卖武器 ================================================================================= changegender ;改变性别 后面不用跟任何字符使用changegender即可改变执行脚本的角色性别 Map 地图名 ;移动到这个地图的随机坐标,地图名为地图的数字编码 Mapmove 地图名 坐标x 坐标y ;移动到这个地图指定的坐标 Monclear 地图代码 ;清除这个地图上刷的怪物 MonGenP RUSH1,40,40,30 诺玛法老 16 ;刷怪物 MonGenP RUSH1,40,40,30 大法老 4 ;刷怪物 Timerecall 数值 ;数值为分钟,定义进入某地图的时间限制 Breaktimerecall ;中断上面那个语句设定的时间 Hairstyle 数值 ;改变发型 Haircolor 红值 绿值 蓝值 ;值域为0 ~ 255 设定头发颜色 Give 金币 (金币数) ;给钱 Give (物品名) (数量) ;给物及数量 Take 金币 (金币数) ;拿走钱 Take (物品名) (数量) ;拿走物及数量 Takew 物品 ;直接从身上回收物品 Exchangemap (地图名) ;与指定地图里的人交换位置 Daytime sunset ;一天时间 Speak %A0 ;白色字全服讲话 lineMsg [Grobal] %A0 ;红色字全服讲话 LineMsg Grobal %A0 ; LineMsg Island02 %A0 ; LineMsg Island02 内容 ; ChangeMapAttr 3 SAFE ; SetAreaAttr 3, 206, 159, 6 NoFly ; SetAreaAttr 3, 206, 159, 10 NoLack ; CheckHum Island02 100 125 125 1 ; Delaygoto [Grobal] 120 @段 ;120秒后进入@段 MonClear Island02 猿猴战士 ; MapTing Island02 01 100 130 ; MapTing Island02 Island02 100 133 ; MonGenP Island02,100,130,5 聚宝箱4 1 noitem,金币,100000 SendCmd Island02, 95, 135, 5 生存游戏场美眉 Show FormatStr noitem,金币,%s 5000000 ; Addstr A3 %A2 ; SetAreaAttr 02, 400, 400, 500 NoLack MongenP 02,225,240,20 年兽 10 ; ApplyMonMission 02,225,240,9999 年兽 02,256,201 SetAreaAttr 02, 400, 400, 500 Clear =========================*******************************======================== ------------------------- ========地图(MAPINFO)======== ------------------------ =========================*******************************======================== FIGHT ;战斗区域(如果设FIGHT3 ,就是行会地图常设定的可复活三次.) SAFE ;安全区域 DARK ;地图是黑暗的 NEEDHOLE ;是否需要洞,配合mapinfo里 xx,xx -> yy,yy使用 ;(MONSTER 任何怪物RACE代码设为95都可 ;xx,xx为进入洞口坐标,在Mongen.txt里xx坐标刷新一怪物即可) NORECALL ;不能用天地合一命令的地图 NORECONNECT(D1601) ;重新连线就被传送到(D1601)中指定的地图 NORANDOMMOVE ;不能用随机的地图 NOPOSITIONMOVE ;不能使用传送戒指的传送指令传送的地图 NODRUG ;不能使用任何药物和卷轴等物品(可用来编不能补血等闯关脚本) NEEDSET_ON(变量) ;判断是否符合变量 =1 满足 =0 否(配合mapinfo使用可扩展脚本内容. ;如增加某个条件,完成任务后才允许进入某地图. MINE ;金属矿 MINE2 ;石矿 HORSE ;可骑马 DAY ;地图全亮 FOG ;起雾 NOSPACEMOVE ;不能用回城卷 =========================*******************************======================== -------------------------------------时间--------------------------------------- =========================*******************************======================== daytime sunset ;日落 daytime sunraise ;日出 daytime day ;白天 daytime night ;夜晚 GETDATE ;获取日期 YEAR ;检测年份 MONTH ;检测月份 DATE ;检测日期 HOUR ;检测小时 MINUTE ;检测分钟 SECOND ;检测秒 =========== #IF MONTH 4 5 DATE 15 20 ;如果在4月15日----5月20日(范围)满足条件 #ACT *** =========== #ACT MOV P1 9 MOV P2 8 MUL P1 P2 MOV D1 %P9 上面完成的是乘法运算,结果给P9然后给D1 #ACT MOV P1 10 MOV P2 2 DIV P1 P2 MOV D1 %P9 上面完成的是除法运算,结果给P9然后给D1 #ACT MOV A0 某某 SYSMSG (!) 获得10000经验 GIVEEXP %A0 10000 ;个人给经验 GIVEEXPMAP Z010 100 ;地图全体给经验无武器修炼值 ======== %USERGOLD 获得玩家金钱 %USERID 获得玩家ID %USERMAP 获得玩家所在地图 %USERNAME 获得玩家名字 %USERX 获得玩家所在地图X坐标 %USERY 获得玩家所在地图Y坐标 #ACT mov A3 %USERGOLD #SAY |