传奇的意思 TimeRecall 什么意思

热门标签: 您当前的位置:
最新最全传奇3脚本程序语句与程序段
本站整理
发布时间:
2009-06-17
阅读次数:
换一行 换二行 {图像类别图像定位} 图像类别是说明动物或 c图像定位是指那一个具体图像 [@段] 段用英文或数字表示 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+ dec 变量 数值 让变量自动减指定数值到变量,相当于程序中的x=x- sum 变量a 变量 变量求和不要与int混淆,需要下面的组合语名才能实现 mov 变量x 0 变量x,初值 sum 变量a 变量 x=a+ sum 变量c x=x+c 最后在程序中得到的是x值,实际x=a+b+c ;如果只写中间一句是无意义的,只能导致错误 movr 变量 数值 定义随机变量,变量值为 0 到 数值 random 数值 当数值=随机数时则为1否则为0 $str(变量) 显示变量时用,可以将变量值显示在游戏里,用在 #say后面 ================================================= ------------------------- 程 序 中 的 逻 辑 判 断 语 句 ------------------------ ================================================= [n] 为任何正整数,是逻辑变量,有0值和1值,初始0值 #IF #ACT #SAY #ELSEACT #ELSESAY ===================== #IF not CheckItem 钢玉石 1 注意这里的not用法 or ot 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 checkjo warr(wizard、taos) 测试职业 是为1否则为0 checkgold 数值 拥有金币数=数值为1否则为0 checklevel 数值 人物等级=数值为1否则为0 checkitem 物品 数值 测试包裹物品的数量 checkitemw 物品 检测身上所带的物品 gender ma 测试性别为男,如果为男则为1否则为0 checkbaggage 测试背包是否已满,满时为1否则为0 checkpkpoint 数值 数值为pk值,pk值数值时为1否则为0 checkluckypoint 数值 测幸运值 checkmagic 技能名称 检测已经修炼的技能 chkmagiclevel 检测技能等级 checkduraeva (物品名) (数值) 一般测试矿物等物品的品质 checkduraeva 钢玉矿石 10 checkhum (地图名) (数值) 测试这个地图的人数 checkmonma (地图名) (数值) 测试这个地图的怪物数 checkmonrecall 检测宠物 checkhorse 检测是否有马 checkweaponlevel 检验手持武器等级 addnamelist添加玩家名到xx文本文件中 checknamelist检查玩家名是否在xx文本文件中 delnamelist从xx文本文件删除玩家名 ================================================= ------------------------- 商 人 用 c 开 头 解 释 部 分 ----------------------- ================================================= %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即可改变执行脚本的角色性别 Ma 地图名 移动到这个地图的随机坐标,地图名为地图的数字编码 Mapmove 地图名 坐标x 坐标y 移动到这个地图指定的坐标 Monclear 地图代码 清除这个地图上刷的怪物 MonGenP RUSH1,40,40,30 诺玛法老 16 刷怪物 MonGenP RUSH1,40,40,30 大法老 4 刷怪物 Timerecall 数值 数值为分钟,定义进入某地图的时间限制 Breaktimerecall 中断上面那个语句设定的时间 Hairstyle 数值 改变发型 Haircolor 红值 绿值 蓝值 值域为0 quot 255 设定头发颜色 Give 金币 (金币数) 给钱 Give (物品名) (数量) 给物及数量 Take 金币 (金币数) 拿走钱 Take (物品名) (数量) 拿走物及数量 Takew 物品 直接从身上回收物品 Exchangema (地图名) 与指定地图里的人交换位置 Daytime u et 一天时间 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 oitem,金币,100000 SendCmd Island02, 95, 135, 5 生存游戏场美眉 Show FormatStr oitem,金币,% 5000000 Addstr A3 %A2 SetAreaAttr 02, 400, 400, 500 NoLack MongenP 02,225,240,20 年兽 10 A lyMonMi io 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 u et 日落 daytime unraise 日出 daytime day 白天 daytime ight 夜晚 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 $OUTPUT(A3) ===== CHECKACCESSORY 检验附加值 CHECKARMOR 检验铠甲 CHECKBAGGAGE 检验装备 CHECKBONUS 检验奖金,红利 CHECKCASTLEDOOR 检验城门 CHECKCASTLEDOOROPEN 检验城门打开 CHECKDAILYQUEST 检验每日任务 CHECKDURA 检验 CHECKDURAEVA 检验 CHECKDURAW 检验 CHECKENTERGMEMAP 检验 CHECKFAME 检验声望 CHECKGMETERM 检验 CHECKGOLD 检验金币 CHECKGROUPCOUNT 检验组队数 CHECKHORSE 检验马匹 CHECKHUM 检验 CHECKITEM 检验物品 CHECKITEMW 检验 CHECKJOB 检验职业 CHECKLEVEL 检验等级 CHECKMAGIC 检验技能 CHECKMARRIAGE 检验结婚 CHECKMARRIAGERING 检验 CHECKMONMAP 检验 CHECKMONRECALL 检验怪物收回 CHECKNAMELIST 检验名字目录 CHECKOPEN 检验打开 CHECKOPENGME 检验 CHECKPKPOINT 检验PK值 CHECKPOS 检验 CHECKREFINEITEM 检验精练物品 CHECKREFINEWEAPON 检验精练武器 CHECKRIDING 检验骑马 CHECKS***EDSHOOTER 检验存的攻城武器 CHECKSERVER 检验服务器 CHECKSHOOTER 检验攻城武器 CHECKSOLDITEMSUSERMARKET 检验 CheckSum = 检验 CheckSum 检验 CHECKUNIT 检验个体小组 CHECKWEAPONATOM 检验武器原子,碎片 CHECKWEAPONLEVEL 检验武器等级 CHECKWEAPONMCTYPE 检验 NOCHAT 不能聊天 NODRUG 不能吃药 NOFLY 不能飞 NOFREEFLY 不能自由飞 noitem 不能物品 NOLACK None NOPOSITIONMOVE NORANDOMMOVE 不能随便移动 NORECALL 不能恢复 NORECONNECT NOREVIVAL 不能复活 NORFLY Normal Mode NOSPACEMOVE 不能地位移动 NOSPELL 不能魔法 ======================================= 第一节 c的创建 1、 c文件的位置 所有NPC文件都是存在\Mud3\Envir\Market_Def目录。 比如:导游-0.txt 这个文件,就是 c导游,这里的导游就是 c设别码,-0代表是在比奇出现这个 c。 2、 c刷新文件 所有NPC刷新在\Mud3\Envir\merchant.txt文件中。 我们打开merchant.txt,查找刚才导游-0.txt的这个 c的装载配置如下。 ============================================================================== 导游 0 171 228 『导游』_英美 0 88 ============================================================================== 各字段说明如下: 导游—— c设别码 0——比奇 171——坐标x 228——坐标y 即在坐标171,228装载导游 c。 『导游』_英美——在游戏中显示的 c名字 0——含义未知 88—— c的外形代码 第二节 c的代码编写 打开导游-0.txt,代码如下 ============================================================================== ;教程 [@main] #IF #SAY 欢迎来到
学院。\\ \ ============================================================================== 上面的NPC代码是最简单的一个脚本,当你点击这个NPC,它将显示“欢迎来到
学院。”这句话。按关闭按钮退出对话。 #IF这个就是脚本命令如果的意思,作判断的时候用。 #SAY这个就是脚本命令说的意思,有什么要告诉玩家的话,可以在这里写下。 \\这个符号是换行加空行命令 \这个符号是换行命令 这里的关闭后面的/@EXIT就是默认的关闭对话框命令写在符号中。 这样一个简单的NPC就做好了。 第三节 脚本的润色 打开导游-0.txt,代码如下 ============================================================================== ;教程 [@main] #IF #SAY {FCOLOR/10}欢迎来到{FCOLOR/12}{FCOLOR/1}
学院{FCOLOR/12}。\\ \ ============================================================================== 还是上面的NPC代码,我们在欢迎来到
学院这句话中加入了2组文本颜色代码。 {FCOLOR/10}欢迎来到{FCOLOR/12}这段文本,进入游戏将显示为绿色。 {FCOLOR/1}
学院{FCOLOR/12}这段文本, 进入游戏将显示为红色。 其他颜色可以参考这里http:// .5uwl.net 第四节 脚本的调试 你必须拥有GM权限。 在你需要刷新的NPC面前输入 quot;@RELOADNPC" GM命令来重新加载NPC。 这样做的好处是无需重启EISERVER了,特别在调试脚本的时候,非常有用。 〖浅谈脚本的编写和运用2-判断语句〗 IF...SAY...组合判断 ============================================== [@main] #IF 如果 ... 条件 #SAY 条件成立,显示文本 ... 文本 ---------------------------------------------- [@main] #IF 如果 CHECKLEVEL 60 检查等级是否达到60级条件 #SAY 条件成立,显示下面的文本 你的等级达到60级。 你的等级达到60级。 ============================================== IF...SAY...ELSESAY组合判断 ============================================== [@main] #IF 如果 ... 条件 #SAY 条件成立,显示文本1 ... 文本1 #ELSESAY 条件不成立,显示文本2 ... 文本2 ---------------------------------------------- [@main] #IF 如果 CHECKLEVEL 60 检查等级是否达到60级 #SAY 条件成立则显示文本1 你的等级达到60级。 你的等级达到60级。(显示文本1) #ELSESAY 条件不成立则显示文本2 你的等级还没有达到60级。 你的等级还没有达到60级。(显示文本2) ============================================== IF...ACT...组合判断 ============================================== [@main] #IF 如果 ... 条件 #ACT 条件成立,执行事件 ... 事件 ---------------------------------------------- [@main] #IF 如果 CHECKLEVEL 60 检查等级是否达到60级 #ACT 条件成立则执行下面的事件 GIVE 金币 100000 给你100000金币 ============================================== IF...ACT...ELSEACT组合判断 ============================================== [@main] #IF 如果 ... 条件 #ACT 条件成立,执行事件1 ... 事件1 #ELASEACT 条件不成立,执行事件2 ... 事件2 ---------------------------------------------- [@main] #IF 如果 CHECKLEVEL 60 检查等级是否达到60级 #ACT 条件成立则执行事件1 GIVE 金币 100000 给你100000金币 #ELSEACT 条件不成立则执行事件2 GIVE 金币 1000 给你1000金币 ====================================== 〖浅谈脚本的编写和运用3-变量〗 变量定义 =============================================== 变量用字母表示,在程序中可以赋任何数据 名称限于 A0-A9字符型 B0-B9字符型 D0-D9数字型 P0-P9数字型 S0-S9数字型 =============================================== 变量赋值 =============================================== mov D0 1000 mov A0 学院 这里将数字1000赋值给D0,将字符
学院赋值给A0。就这么简单。 变量输出 =============================================== $OUTPUT(D0) $OUTPUT(A0) 这里将D0的值显示。 这里将A0的值显示出来。 =============================================== 综合运用 =============================================== [@main] #IF CheckLevel 5 检查等级是否是5级 #ACT mov D0 1000 将1000金币数值赋值给DO变量 mov A0 学院 将字符
学院赋值给A0变量 take 金币 1000 条件成立,给玩家1000金币 #SAY 欢迎来到$OUTPUT(A0),您的等级达到了5级,奖励您$OUTPUT(D0)金币。 谢谢@exit #Elseact 条件不成立 goto [@main1] 跳转到[@main1]段 [@main1] #say 欢迎来到$OUTPUT(A0),您的等级还未达到了5级,继续努力。 知道了@exit ================================================ 这个简单的脚本实现判断玩家等级是否达到5级,如果条件成立,显示欢迎来到
学院,您的等级达到了5级,奖励您1000金币,同时玩家获得1000金币。如果条件不成立,显示欢迎来到
学院,您的等级还未达到了5级。 这里引入了goto语句,语法如下。达到脚本的扩展功能。 goto [@段名] 〖浅谈脚本的编写和运用4-运算〗 运算符定义 ================================================ inc 加法运算 dec 减法运算 mul 乘法运算 div 除法运算 ================================================ 运算语法 ================================================ inc 变量 数值 将变量值+数值,然后把他们的和再次赋值给变量 dec 变量 数值 将变量值-数值,然后把他们的差再次赋值给变量 mul 数值1 数值2 完成数值1x数值2,将乘积赋值给变量 %变量3 mov 变量4 %变量3 将运算结果 %变量3 赋值给变量4 div 变量1 数值2 完成数值1x数值2,将乘积赋值给变量 %变量3 mov 变量4 %变量3 将运算结果 %变量3 赋值给变量4 ================================================ 脚本运算实战 ================================================ [@main] #act mov D0 10 把数值10赋值给D0 inc D0 5 将D0加5后的值再次赋值给D0 goto @main1 跳转 [@main1] #act mov D1 20 把数值20赋值给D1 dec D1 4 将D1减4后的值再次赋值给D1 goto @main2 跳转 [@main2] #act mov P1 9 把数值9赋值给P1 mov P2 8 把数值9赋值给P2 mul P1 2 完成乘法运算P1XP2 mov D2 %P8 将P1XP2的值赋值给变量P8并且再赋值给D2 goto @main3 跳转 [@main3] #act mov P1 100 把数值100赋值给P1 mov P2 4 把数值4赋值给P2 div P1 P2 完成除法运算P1P2 mov D3 %P9 将P1P2的值赋值给变量P9并且再赋值给D3 goto @main4 跳转 [@main4] #say 这里演示的是脚本四则运算。 10+5=$OUTPUT(D0)。 10+5的运算结果显示。 20-4=$OUTPUT(D1)。 20-4的运算结果显示。 9x8=$OUTPUT(D2)。 9X8的运算结果显示。 1004=$OUTPUT(D3)。 1004的运算结果显示。 知道了@exit 在gam里面的TBL_ABILITY里面是人物等级(FLD_LEVEL),经验(FLD_EXP,FLD_MAXEXP),生命(FLD_HP,FLD_MAXHP),魔法(FLD_MP,FLD_MAXMP)等除了经验和等级...生命和魔法在这里是改不了的. gamel里的(TBL_CHARACTER)这个表就可以改生命,魔法,破坏什么的相当于银杏加点 FLD_CHARACTER--角色名称 FLD_USERID--角色帐号 FLD_DELETED--角色是否删除 FLD_UPDATEDATETIME--角色创建的时间 FLD_DBVERSION--也不知道干吗的 FLD_MAPNAME--角色所在地图 FLD_CX--角色所在地图X点 FLD_CY--角色所在地图Y点 FLD_DIR--不知道 FLD_HAIR--发型 FLD_HAIRCOLORR--头发颜色 FLD_HAIRCOLORG--头发颜色 FLD_HAIRCOLORB--头发颜色 这3个可以用画画里面找出象素 FLD_SEX--性别 0是男1是女 FLD_JOB--职业0-战士1-法师2-道士 FLD_LEVEL--登入游戏时显示的等级---修改这里没用要改等级在上面的表里 FLD_GOLD--金子哈哈钱 FLD_HOMEMAP--回城点 FLD_HOMEX---回城点坐标X FLD_HOMEY---回城点坐标Y FLD_PKPOINT--PK值 下面的好几个表不知道是干吗的知道的请写出来 到了修改人物的地方 FLD_LEVELBONUS--这个是你在银杏加过多少次点 FLD_EXTRAHP--加了多少血10为 FLD_EXTRAMP--加了多少MP FLD_EXTRAPWRS0--加了多少防御 FLD_EXTRAPWRS1--加了多少魔法防御 FLD_EXTRAPWRS2--加了多少破坏 FLD_EXTRAPWRS3--加了多少自然 FLD_EXTRAPWRS4--加了多少灵魂 FLD_EXTRAPWRS5-11--是加了多少元素5是火11是幻影 FLD_INDEX--是服务器创建的第几个角色 FLD_EXTRAPWRS5(后面简写) 0是物理防御 1是魔法防御 2是破坏 3是自然 4是灵魂 5 火 6 冰 7 电 8 风 9神 10 暗黑 11 幻影 武器: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 攻击 [FLD_Desc1] 魔法 [FLD_Desc2] 准确 [FLD_Desc3] 道术 [FLD_Desc4] 无 [FLD_Desc5] 幸运 [FLD_Desc6] 强度(最好不要加,不然...) [FLD_Desc7] 攻击速度(填1指攻击速度-1) [FLD_Desc8-13] 未知 手镯: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 防御 [FLD_Desc1] 魔御 [FLD_Desc2] 攻击 [FLD_Desc3] 魔法 [FLD_Desc4] 道术 [FLD_Desc5] 等级(在当前等级的情况下,再加一个N等级才能用) [FLD_Desc6-13] 未知(中间某项有值就不能将物品从身上取下来) 项链(指特殊的): [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 生命恢复(最后不要有值,我加了5后结果发现血每一秒钟减1) [FLD_Desc1] 魔法恢复(同上) [FLD_Desc2] 攻击 [FLD_Desc3] 魔法和道术 [FLD_Desc4] 未知 [FLD_Desc5] 等级 [FLD_Desc6-13] 未知(中间某项有值就不能将物品从身上取下来) 戒指: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 防御 [FLD_Desc1] 魔御 [FLD_Desc2] 攻击 [FLD_Desc3] 魔法和道术 [FLD_Desc4] 未知 [FLD_Desc5] 等级 [FLD_Desc6-13] 未知(中间某项有值就不能将物品从身上取下来) 衣服: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 防御 [FLD_Desc1] 魔御 [FLD_Desc2] 攻击 [FLD_Desc3] 魔法和道术 [FLD_Desc4-13] 未知 麻痹戒指: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 防御 [FLD_Desc1] 魔御 [FLD_Desc2] 攻击 [FLD_Desc3] 未知 [FLD_Desc4] 魔法和道术 [FLD_Desc5] 等级 [FLD_Desc6-13] 未知(中间某项有值就不能将物品从身上取下来) 头盔: [Durx][MaxDurx] -- 这是指物品的持久 [FLD_Desc0] 防御 [FLD_Desc1] 魔御 [FLD_Desc2] 攻击 [FLD_Desc3] 魔法和道术 [FLD_Desc4-13] 未知(中间某项有值就不能将物品从身上取下来) 在gam里面的TBL_ABILITY里面是人物等级(FLD_LEVEL),经验(FLD_EXP,FLD_MAXEXP),生命(FLD_HP,FLD_MAXHP),魔法(FLD_MP,FLD_MAXMP)等除了经验和等级...生命和魔法在这里是改不了的. gamel里的(TBL_CHARACTER)这个表就可以改生命,魔法,破坏什么的相当于银杏加点 FLD_CHARACTER--角色名称 FLD_USERID--角色帐号 FLD_DELETED--角色是否删除 FLD_UPDATEDATETIME--角色创建的时间 FLD_DBVERSION--也不知道干吗的 FLD_MAPNAME--角色所在地图 FLD_CX--角色所在地图X点 FLD_CY--角色所在地图Y点 FLD_DIR--不知道 FLD_HAIR--发型 FLD_HAIRCOLORR--头发颜色 FLD_HAIRCOLORG--头发颜色 FLD_HAIRCOLORB--头发颜色 这3个可以用画画里面找出象素 FLD_SEX--性别 0是男1是女 FLD_JOB--职业0-战士1-法师2-道士 FLD_LEVEL--登入游戏时显示的等级---修改这里没用要改等级在上面的表里 FLD_GOLD--金子哈哈钱 FLD_HOMEMAP--回城点 FLD_HOMEX---回城点坐标X FLD_HOMEY---回城点坐标Y FLD_PKPOINT--PK值 下面的好几个表不知道是干吗的知道的请写出来 到了修改人物的地方 FLD_LEVELBONUS--这个是你在银杏加过多少次点 FLD_EXTRAHP--加了多少血10为 FLD_EXTRAMP--加了多少MP FLD_EXTRAPWRS0--加了多少防御 FLD_EXTRAPWRS1--加了多少魔法防御 FLD_EXTRAPWRS2--加了多少破坏 FLD_EXTRAPWRS3--加了多少自然 FLD_EXTRAPWRS4--加了多少灵魂 FLD_EXTRAPWRS5-11--是加了多少元素5是火11是幻影 FLD_INDEX--是服务器创建的第几个角色 我就知道这么多了 SHAPE值:戒指136 手镯137 项链138的特殊属性是吸血,anicoun这个属性大家看到了吧,很多人不知道是什么用吧,这里你可以在0--100之间调整,数值越高,吸血越猛烈,调到100后,带两手镯,两戒指,一项链,基本是不死之身,只要你一挥出刀马上满HP,建议调为30,很明显的吸血装备. 补充:武器 204的特殊属性也是吸血的。但是要注意的是。如果武器也加入了会产生一些奇怪的效果。有的时候会挥不出来刀。不要怪偶没有提醒哦? # 4 2006-01-12 03:29 --思路:将所有玩家仓库/身上/包袱中的装备全部放入一个临时表,再从临时表中查询MAKEINDEX重复的装备并遂个删除 -- 删除的记录记在日志文件TBL__DELLOG中。 --日期:2003/04/29 --修正日期:2003/05/20 ---建立临时表 if exist (select * from dbo.sysobject where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) dro table [dbo].[TBL_ALLITEM] GO CREATE TABLE [dbo].[TBL_ALLITEM] ( [FLD_CHARACTER] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL , [FLD_TYPE] [tinyint] NULL , [FLD_MAKEINDEX] [int] NOT NULL , [FLD_TID] [varchar] (30) NOT NULL , [FLD_INDEX] [int] NOT NULL , [Name] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL, [Place] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO --从玩家身上/包袱获取数据 INSERT INTO [muddb].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Name],[Place]) SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],[Name],'身上' AS Place FROM [muddb].[dbo].[TBL_ITEM],[muddb].[dbo].[StdItems] WHERE [FLD_INDEX]-1=[Idx] GO --从仓库获取数据 INSERT INTO [muddb].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Name],[Place]) SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],[Name],'仓库' AS Place FROM [muddb].[dbo].[TBL_S***EDITEM],[muddb].[dbo].[StdItems] WHERE [FLD_INDEX]-1=[Idx] GO --记录将要删除的复制装备 if ot exist (select * from dbo.sysobject where id = object_id(N'[muddb].[dbo].[TBL__DELLOG]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) CREATE TABLE [muddb].[dbo].[TBL__DELLOG] ( [删除日期] datetime ot ull, [FLD_MAKEINDEX] [int] NOT NULL , [角色名] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL , [装备代码] [int] NULL , [装备名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL, [存放地点] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO INSERT INTO [muddb].[dbo].[TBL__DELLOG]([删除日期],[FLD_MAKEINDEX],[装备代码],[装备名称],[角色名],[存放地点]) SELECT getdate() a 删除日期,[FLD_MAKEINDEX] , [FLD_INDEX]-1 AS 装备代码,[Name] AS 装备名称,[FLD_CHARACTER] AS 角色名, [Place] AS 存放地点 FROM [muddb].[dbo].[TBL_ALLITEM] WHERE ((([FLD_TID]) I (SELECT [FLD_TID] FROM [TBL_ALLITEM] A Tm GROUP BY [FLD_TID] H***ING Count([FLD_TID])1 ))) ORDER BY [FLD_MAKEINDEX] GO --遂个删除复制装备 DECLARE @T_ID char (30),@I_MAKEINDEX int , @V_Place varchar (10) DECLARE D_ITEMS_cursor CURSOR FOR SELECT [FLD_TID],[FLD_MAKEINDEX],[Place] FROM [muddb].[dbo].[TBL_ALLITEM] WHERE ((([FLD_TID]) I (SELECT [FLD_TID] FROM [TBL_ALLITEM] A Tm GROUP BY [FLD_TID] H***ING Count([FLD_TID])1 ))) ORDER BY [FLD_MAKEINDEX] OPEN D_ITEMS_cursor FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place WHILE @@FETCH_STATUS = 0 BEGIN BEGIN IF @V_Place = '仓库' DELETE FROM [muddb].[dbo].[TBL_S***EDITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX ELSE DELETE FROM [muddb].[dbo].[TBL_ITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX END FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place END CLOSE D_ITEMS_cursor DEALLOCATE D_ITEMS_cursor GO if exist (select * from dbo.sysobject where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) dro table [dbo].[TBL_ALLITEM] GO -------------------------------------------------------------- --作者:口吃的男人 --说明:此SQL脚本专为删除垃圾数据而写 --思路:提取所有已删除或者级别小于21的角色名最后一次登陆在2003年7月30号以前的, 并删除与此角色相关的装备及技能 --最后修正日期:2003/05/20 WHERE [FLD_DELETED]=1 AND FLD_UPDATEDATETIME lt '2003 - 7 - 30' (删除7月30以前没有登陆的所有用户) ------------------------------------------------------------------ DECLARE @username char(15) DECLARE D_lj_cursor CURSOR FOR SELECT [FLD_CHARACTER] FROM [muddb].[dbo].[TBL_CHARACTER] WHERE [FLD_DELETED]=1 OR ([FLD_LEVEL]21 AND FLD_UPDATEDATETIME lt '2003 - 7 - 30') OPEN D_lj_cursor FETCH NEXT FROM D_lj_cursor INTO @username WHILE @@FETCH_STATUS = 0 BEGIN PRINT '正在删除 '+@username+' 的相关资料......' DELETE FROM [muddb].[dbo].[TBL_MAGIC] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_ITEM] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_S***EDITEM] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_QUEST] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_SKILL] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_CURRENTABILITY] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_ABILITY] WHERE [FLD_CHARACTER] = @username DELETE FROM [muddb].[dbo].[TBL_CHARACTER] WHERE [FLD_CHARACTER] = @username FETCH NEXT FROM D_lj_cursor INTO @username END CLOSE D_lj_cursor DEALLOCATE D_lj_cursor ------------------------------------------------------------------ SQL中查询自己定意级别,多久没登录的语句! SQL中执行上面命令就可以了 SELECT * FROM TBL_CHARACTER WHERE (FLD_LEVEL lt 21) AND (FLD_UPDATEDATETIME lt '2003 - 7 - 30') -------------------------------------------------------------- 查询人物 SELECT * FROM TBL_CHARACTER WHERE (FLD_INDEX = '34') -------------------------------------------------------------- --人身上的物品代码为34的物品全部删除掉,还有仓库的 DELETE FROM [muddb].[dbo].[TBL_ITEM] WHERE [FLD_INDEX]=34 DELETE FROM [muddb].[dbo].[TBL_S***EDITEM] WHERE [FLD_INDEX]=34 ------------------------------------------------------------- /*查找身上与箱子里的复制物品*/ SQL中执行上面命令就可以了 SELECT * FROM TBL_ITEM WHERE (FLD_MAKEINDEX IN (SELECT fld_makeindex FROM tbl_saveditem)) ORDER BY FLD_MAKEINDEX -------------------------------------------------------------- --角色改名,所有相关资料随同转移到新角色上面。 --@username 原名 --@username1 新角色名 DECLARE @username varchar(10),@username1 varchar(10) set @username='口吃的男人' set @username1='不再口吃' UPDATE [muddb].[dbo].[TBL_QUEST] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_MAGIC] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_ITEM] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_S***EDITEM] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_CHARACTER] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_ABILITY] SET [FLD_CHARACTER] = @username1 WHERE [FLD_CHARACTER] like @username ------------------------------------------------------------------ --调级 DECLARE @username varchar(10) set @username='口吃的男人' UPDATE [muddb].[dbo].[TBL_CHARACTER] SET [FLD_LEVEL]=40 WHERE [FLD_CHARACTER] like @username UPDATE [muddb].[dbo].[TBL_ABILITY] SET [FLD_LEVEL]=40 WHERE [FLD_CHARACTER] like @username ------------------------------------------------------------------ --删除技能 DELETE FROM [muddb].[dbo].[TBL_MAGIC] --删除包中的物品 DELETE FROM [muddb].[dbo].[TBL_ITEM] --删除仓库物品 DELETE FROM [muddb].[dbo].[TBL_S***EDITEM] --删除任务数据 DELETE FROM [muddb].[dbo].[TBL_QUEST] --调整所有玩家级别为七级,金钱为5000,经验为0 UPDATE [muddb].[dbo].[TBL_CHARACTER] SET [FLD_LEVEL]=7, [FLD_GOLD]=5000 UPDATE [muddb].[dbo].[TBL_ABILITY] SET [FLD_LEVEL]=7,[FLD_EXP] = 0 ---------------------------------------------------------------- SELECT * FROM TBL_CHARACTER where FLD_CHARACTER='非凡' 选择所有项目来自于表格TBL_CHARACTER,列出符合条件为非凡的人物名称. SELECT * FROM TBL_MAGIC where FLD_CHARACTER='xtwfgypm' SELECT * FROM TBL_CHARACTER where FLD_USERID='3680550' 选择所有项目来自于表格TBL_CHARACTER,列出符合条件为3680550的帐号id SELECT * FROM TBL_S***EDITEM where FLD_DURA='41000' 选择所有项目来自于表格TBL_S***EDITEM(人物的仓库),列出符合条件为41000的持久度或纯度. SELECT * FROM TBL_ITEM where FLD_INDEX='286' 选择所有项目来自于表格TBL_ITEM(人物包袱),列出符合条件为286的物品序号 SELECT * FROM TBL_ITEM where FLD_MAKEINDEX='220076414' 选择所有项目来自于表格TBL_ITEM(人物包袱),列出符合条件为220076414的制造时间戳.
热门文章
Copyright 2008-2010
. All Rights Reserved.
Powered by:52676.CoM
蜀ICP备08100477号《无忧网游咨询站》Www.5uwl.Net (免费资源,从无忧开始!)
您现在的位置: >> >> >> >> 正文
传奇3常用脚本命令整理
作者: 文章来源:本站原创 阅读:1 更新时间:2007-3-31 3:00:34} ====================********************************========================
-------------------- 程 序 语 句 与 程 序 段 狮王(xingbarking)整理--------
====================********************************========================
\ 换一行
{图像类别/图像dingwei} ;图像类别是说明动物或NPC图像dingwei是指那一个具体图像
[@段] ;段用英文或数字表示
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] 为任何正整数,是逻辑变量,有0值和1值,初始0值
条件--执行
#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 物品 数值 ;测试拥用物品的数量
genderma ;测试性别为男,如果为男则为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 su et ;一天时间
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脚本里的彩色文字控制 从上到下:
{FCOLOR/1}文字{FCOLOR/12}
{FCOLOR/2}文字{FCOLOR/12}
{FCOLOR/3}文字{FCOLOR/12}
{FCOLOR/4}文字{FCOLOR/12}
{FCOLOR/5}文字{FCOLOR/12}
{FCOLOR/6}文字{FCOLOR/12}
{FCOLOR/7}文字{FCOLOR/12}
{FCOLOR/8}文字{FCOLOR/12}
{FCOLOR/9}文字{FCOLOR/12}
{FCOLOR/10}文字{FCOLOR/12}
{FCOLOR/11}文字{FCOLOR/12}
{FCOLOR/12}文字{FCOLOR/12}
...........
不过一般常用比较好看的就有:
{FCOLOR/1}红色{FCOLOR/12}
{FCOLOR/10}绿色{FCOLOR/12}
{FCOLOR/11}蓝色{FCOLOR/12}
{FCOLOR/14}浅蓝色{FCOLOR/12}
{FCOLOR/15}huang色{FCOLOR/12}
[转帖]3.0GT版
脚本命令(已整理)+MapInfo条件解释
[转帖]3.0GT版
脚本命令(已整理)+MapInfo条件解释
======================****************************========================
-------------------- 程 序 语 句 与 程 序 段 -----------------------------
====================********************************======================
\ 换一行
\\换二行
{图像类别/图像dingwei} ;图像类别是说明动物或 c图像dingwei是指那一个具体图像
[@段] ;段用英文或数字表示
goto @段 ;跳转到指定段,开始执行相当于b中的goto语句
选择项目/@段选择项目后转称到指定段,相当于c中的case语句
#SAY 语句 ;语句设定为字符,不用加任何定界符
#ACT 执行命令 ;符合3.0规定的任何系统已定义命令
#ELSEACT
#ELSESAY
@exit ; 关闭对话框
close ;由程序执行@exit
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 变量 ;变量求和不要与int混淆,需要下面的组合语名才能实现
mov 变量x 0 ;变量x,初值
sum 变量a 变量 ;x=a+b
sum 变量c ;x=x+c 最后在程序中得到的是x值,实际x=a+b+c ;如果只写中间一句是无意义的,只能导致错误
movr 变量 数值 ;定义随机变量,变量值为 "0 到 数值"
random 数值 ;当数值=随机数时则为1否则为0
$str(变量)显示变量时用,可以将变量值显示在
里,用在 #say后面
=========================*******************************========================
------------------------- 程 序 中 的 逻 辑 判 断 语 句 ------------------------
=========================*******************************========================
[n] 为任何正整数,是逻辑变量,有0值和1值,初始0值
#ELSEACT
#ELSESAY
=====================
not CheckItem 钢玉石 1
or not CheckGold 10000
============
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 ma ;测试性别为男,如果为男则为1否则为0
checkbaggage ;测试背包是否已满,满时为1否则为0
checkpkpoint 数值 ;数值为pk值,pk值数值时为1否则为0
checkluckypoint 数值 ;测幸运值
checkmagic 技能名称 ;检测已经修炼的技能
chkmagiclevel ;检测技能等级
checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质 checkduraeva 钢玉矿石 10
checkhum (地图名) (数值) ;测试这个地图的人数
checkmonmap (地图名) (数值) ;测试这个地图的怪物数
checkmonrecall ;检测宠物
checkhorse ;检测是否有马
checkweaponlevel ;
GETMARRIED ;检测有否结婚
=========================*******************************========================
------------------------- 商 人 用 c 开 头 解 释 部 分 -----------------------
=========================*******************************========================
%100 代表买东西是原价格还是双倍价格
+40 买肉
+1 ***
+43 武器有关(修)
+15 头盔
+10 买衣服
+11 修衣服
+26 修手镯类
+0 买各种药水
+42 卖各种药水
+30 蜡烛等
+25 特殊水
+3 买卷轴,书类
+4 卖书类
+19 项链
+20 项链
+21 项链
+22 买戒指
+23 卖戒指
+24 买手镯
+26 卖手镯
+5 修炼武器或买武器
+6 修炼武器或卖武器
=================================================================================
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 su et ;一天时间
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 ;
A lyMonMi ion "02,225,240,9999" "年兽" "02,256,201"
SetAreaAttr "02, 400, 400, 500" "Clear"
=========================*******************************========================
------------------------- ========地图(MAPINFO)======== ------------------------
=========================*******************************========================
FIGHT ;战斗区域(如果设FIGHT3 ,就是行会地图常设定的可复活三次.)
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 su et ;日落
daytime sunraise ;日出
daytime day ;白天
daytime night ;夜晚
GETDATE ;获取日期
YEAR ;检测年份
MONTH ;检测月份
DATE ;检测日期
HOUR ;检测小时
MINUTE ;检测分钟
SECOND ;检测秒
===========
MONTH 4 5
DATE 15 20 ;如果在4月15日----5月20日(范围)满足条件
=====================================================
MapInfo文件条件解释
1.FIGHT 战斗区域(如果设FIGHT3 ,就是行会地图常设定的可复活三次.)
2.SAFE 区域
3.DARK 地图是黑暗的
4.NEEDHOLE 是否需要洞,配合mapinfo里 xx,xx - yy,yy使用 (任何怪物RACE代码设为95都可.xx,xx为进入洞口坐标,在刷怪文件里xx,xx坐标刷新一怪物即可)
5.NORECALL 不能用天地合一命令的地图
6.NORECONNECT(地图代号) 重新连线就被传送到()中指定的地图
7.NORANDOMMOVE 不能用随机的地图
8.NOPOSITIONMOVE 不能使用传送戒指的传送指令传送的地图
9.NODRUG 不能使用任何药物和卷轴等物品(可用来编不能补血等闯关脚本)
10.NEEDSET_ON(变量) 判断是否符合变量 =1 满足 =0 否
(配合mapinfo使用可扩展脚本内容.如增加某个条件,完成任务后才允许进入某地图.
11.CHECKQUEST(Q001) 上面的Q001其实就是放入MapQuest_def的文件.
=====================================================================================
NPC形象代码,解释的非常详细,都来看看人物代码 名称 小头像代码 注解
0 铁匠 0 手里拿着铁锤的人
1 长者 10 戴着帽子留着长胡子的老人,并且不停的整理自己的帽子
2 查询 20 手里拿着册子,留着长胡子的老人,躬着腰,不停地摆动着手好象要求你查看的样子
3 猎人 30 背上背着个huang色的斗笠,腰间挂着个绿色的布袋,双手插腰,不时的在额头上擦汗
4 厨师 40 头上扎着头巾,胸前挂着围裙象个厨师,身穿紫色长裙,不时摆弄自己的发型
5 妇人 50 黑色马尾辫,胸前挂着围裙象个厨师,身穿紫色长裙,不时伸懒腰
6 村姑 60 蓝色马尾辫,胸前挂着围裙象个厨师,身穿紫色长裙,不时摆弄自己扎头发的扎带
7 服装店女人 70 头上带了很多发钗,双手握住垂在下面,不时象在摆弄布料的姿势
8 比齐丞相 80 一身白褂,带帽子,手里拿把扇子,不时的扇动
9 老翁 90 双手放在胸前,略躬着腰,戴着长长的帽子,腰间有条围裙,不时的揉自己的眼睛
10 重量级的妇人 100 KG,比屠夫还胖,还举起小手,扭动自己肥大的身体
11 屠夫 110 不用介绍了吧
12 *** 121 就穿着肚兜的***,很性感,还不时摆动自己的小手
13 会计 130 一身红袍的妇女,带着个少数民族的帽子,手里拿着算盘,不时的在算帐
14 天尊 140 不用介绍了吧
15 武师 150 一身绿甲,扎着绿色长马尾辫,不时的擦拭着自己手上的剑
16 巡捕 160 手上拿着一跟木棍架在肩上,头上戴着个小帽子,举手遮阳眺望,好象在找人
17 茶楼老板 170 头戴白色小帽子,一手拿着茶壶,一手拿着竹扁,不时用两样相互敲打
18 读书人 180 一身绿衣,扎着绿色长马尾辫,不时的翻着手中的书,再躬下身探望
19 伤者 190 盘腿坐姿,胸口有红色血迹,不时做弯身动作
20 法师 200 手上拿着个东西,右手不停的晃动,好象在表演魔术一样
21 练武者 210 在白日门练功的人
22 毒药师 220 一手拿着册子,一手拿着药瓶,一边看瓶,一边看书
23 洗衣人 230 拿个木桶,在洗衣服的样子,应该是衣服的特修员
24 拿着木棍的天尊 240 跟天尊差不多,只是手上拿着个木棍
25 店小二 250 头上扎着huang色布巾,双手低垂在胸前,好象在服侍人一样
26 马商 260 肌肉很发达,不时在摆弄自己的肱二头肌
27 赤膊的铁匠 280 手上拿着铁锤,边上还有个火炉,最后还敲打一下火炉,应该是武器特修员
28 赤膊大肚男 280 头上扎着白布巾,手上拿着个罐子,不时敲打手中的罐子
29 迎宾男人 330 不时的躬身,双手伸出好象是在欢迎请进的意思
30 迎宾女人 300 身穿huang色上衣和大红色的长群,不时的鞠躬,好象是在欢迎请进的意思
31 博学长老 310 身穿绿色长袍,头戴尖帽子,手中拿着一本书在看,不时的擦汗
32 灰色伙计 320 身穿灰色衣服,头戴尖帽子,手中拿着一本书,不时的转身好象掂起脚在查阅什么,好象应该是盘点吧
33 橙色伙计 330 身穿橙色衣服,头戴尖帽子,手中拿着一本书不时的在查阅
34 红帽老人 340 头戴红色布巾,挺着大肚子,象个印度人
35 蒙古女人 350 看穿着象是蒙古人,
36 蒙古男人 360 看穿着象是蒙古人,还不时的举起双手伸懒腰
37 考生 370 拄着个拐杖,腰间挂着个布袋,还不时的打哈欠
38 女巫师 380 拿个法杖不停的举起来双手,好象在祈祷什么
39 扫地工 182 身边地上放了个水桶,自己拄着扫帚在扫地
40 酒店骚女人 290 做在酒缸上,还不时做出很骚的动作
42 船家 280 拿着个船浆在等客人
43 守卫 430 大刀守卫
44 眺望者男 270 一直背对你,不停在看远方
45 战士 270 一个身穿盔甲的战士
46 将军 140 一个身穿黄金盔甲的老将
47 战将 431 一个身穿黄金盔甲的光头
48 法神 140 拿着嗜血魔杖的老人
49 女战将 122 一个身穿白银盔甲的战士
50 眺望者女 70 一直背对你,不停在看远方
51 公告牌 象个小牌坊的公告栏
52 公告栏 象个用木条钉起来的公告栏
53 左侧书架 一个向右倾斜45度的书架
54 右侧书架 一个向右倾斜45度的书架
55 倒塌的城墙
56 传送石1
57 传送石2
58 骷髅
59 巨石
60 船夫 182 拿着一个很长的浆的船夫
61 猛男 31 一个光头,头上扎着布巾,肌肉很发达
62 路人 280 好象是赶路的人停下来歇脚,肩上挂了个大缸,手上还拿着一样东西
63 路人 280 好象是赶路的人停下来歇脚,肩上挂了个大缸,手上还拿着一样东西
64 雪人 没有两边插上树枝的雪人
65 树枝雪人 两边插上树枝的雪人
全服喊话人物显示
武士 男 42 女43
法师 52 53
道士 62 63
还有1个 72 83
文章录入:黑鹰 责任编辑:ceo 版权声明:严禁商业网站和媒体未经授权对本站内容进行转载、摘编、复制或建立镜像;非商业网站转载本站文章必须标注原作者和“转载自无忧网络网游技术网”字样。文章版权属原作者所有。
网友评论(只显示最新10条)
本站声明:本站所有技术资料与下载资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信指出,本站将立即改正
  版权所有:Copyright 2002-2010 中国·无忧网络 Www.5uwl.NET All Rights Reserved. 建议使用:1024*768 分辨率 Windows2000 Internet Explorer v5.0 or Higher 广告投放:[5uwl.net] QQ 267320050 TEL [移]013689532036 IP备案号: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
地图清除
关闭对话框
TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制
BreakTimeRecall ;中断设定时间
ExchangeMap (地图名) ;与指定地图里的人交换位置
daytime su et ;一天时间
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]
(随机数)
;一般用在#IF 语句中作为触发#IF 机率,有时随机数=并列#IF 语句数用于随
机多项选择,既:
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
Check [条件数] 1 ;测试[条件数]触发与否
1(触发)
SET [条件数] 1 ;设置[条件数]触发
batchDelay (暂停时间) ;一般为1
addbatch (地图名1)
addbatch (地图名2)
addbatch (地图名3)
addbatch (地图名4)
addbatch (地图名5)
batchmove ;一步步到下一个地图直到5
param1 01141 ;01141=(地图名)
param2 10
param3 10
火焰沃玛2(怪物名) 30 10
;玩骰子脚本解析
equal p9 1 ;测试
p9 是不是等于1
goto @cube ;是的,到@cube
BreakTimeRecall (中断设定时间)
equal p9 9 ;测试
p9 是不是等于9
goto @quit ;是的,到@quit
BreakTimeRecall (中断设定时间)
[@main-1]
mov p9 0 ;测试
p9 是不是等于0
say ;欢迎词
[@pre_cube]
checkitem
1 ;测试有没有筹码
mov p9 1 ;有,让p9=1
1 ;给出一个筹码
movr d0 6 随机把6 以下的数(正数)给d0
inc d0 1 ;让d0 自动加1 到d0
playdice 1 @cube ;玩骰子,点击到标签[@cube]
正在投骰子. \
#ELSESAY
#ELSEACT
mov p9 9 ;转到标签@quit 并让P9 等于9
[@Quit]
map B011 ;退出到B011 地图
[@cube]
骰子的点数
是变量,把D0 数值型转字符型
你可以前进
[@next_cube]
equal d0 1 ;如果
goto @posi1 ;到POSI1
equal d0 2
goto @posi2
equal d0 3
goto @posi3
equal d0 4
goto @posi4
equal d0 5
goto @posi5
equal d0 6
goto @posi6
[@Posi1]
batchDelay 1 ;一般为1(暂停时间)
addbatch B102 ;步进地图名1
batchmove ;移动到最后一个步进地图
[@Posi2]
batchDelay 1
addbatch B102
addbatch B103
batchmove
[@Posi3]
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
batchmove
[@Posi4]
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
batchmove
[@Posi5]
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
addbatch B106
batchmove
[@Posi6]
batchDelay 1 ;一般为1(暂停时间)
addbatch B102 ;步进地图名1
addbatch B103 ;步进地图名2
addbatch B104 ;步进地图名3
addbatch B105 ;步进地图名4
addbatch B106 ;步进地图名5
addbatch B107 ;步进地图名6
batchmove ;移动到最后一个步进地图(这里是6)
;结束
语句:
#ACT(SAY)
#ELSESAY(ACT) ;ELSE 的两句是并列的,都是IF
(条件)的动作
#ELSEACT(SAY)
goto (标签名)
break (中断)
\ ;换行
变量:
当前用户名
行会战金币数
沙巴克行会头名
沙巴克行会名
升级武器价格
放在对话框里的武器名字
把变量转换为字符型
check [ ] check [111] 1
检测111 是否为1
checkunit
checkopen
random random 6
产生一个小与6 的随机整数
检测性别
daytime
checklevel checklevel 10
检测等级是否大于10
checkjob checkjob wizard
检测职业
checkitem检测物品
checktiemw
checkgoldcheckgold 1000 检测身上的钱是否大于1000
istakeitem
checkdura
物品的持久
checkduraeve
dayofweek
游戏中的时间
checkpkpointcheckpkpoint 2 检测人物PK值是否大于2
checkluckpoint 检测人物幸运数
checkmonmap
checkmonarea
checkhum
检测地图是否有玩家
checkckbaggage
checknamelist
equalequal d1 2 检测变量d1 是否等于2
largelarge d1 2 检测变量d1 是否大于2
smallsmall d1 2 检测变量d1 是否小于2
set [ ]set [111] 1
setopen
setunit
resetunit
taketake
givegive
mapmove
breakbreak
timerecall
breaktimerecall
takecheckitem
monclear
movmov d1 1
incinc d1 1
dec dec d1 1
sumdec d1 1
movrmovr d1 6
exchangemap
recallmap
addbatch
batchdelay
batchmove
playdice 掷色子
addnamelist
delnamelist
goquest
endquest
#call []
#sethome
#define
#include
definestxt
#elseact
{quest **
{~quest [] **
[goods]
#elsesay
$pricerate
$upgradeweapenfee
$userweapon
@s_repair
@repair
@makedrag
@prices
@storage
@getback
@upgradenow
@getbackupgnow
@@buildguild
@@guildwar
@@donate
@requestcaselewarnow
$castlegold
$todayincome
$castledoorstale
$repairdoorgold
$repairwallgold
$guardfee
$guardrule
@@withdrawal
@@receipts
@openmaindoor
@closemaindoor
@repairdoornow
@repairwallnow1
@repairwallnow2
@repairwallnow3
@hireguardnow
@hireguards
@hirearchernow
感谢楼上的提供,给大家转个学习脚本的简单教程(转中箭的神仙)
第一节
很多人都或多或少的接触过传奇服务器端脚本文件,也很想自己制作一点脚本来试试,但又
不敢乱碰生怕改坏一点东西造成不能运行服务器端,其实“脚本语言“(我们暂且称他为一
种语言)和C 语言等等程序语言比起来那真是不值得一提。看完我给大家写的这篇文章后,
你就自己偷着乐吧...
可以说传奇服务器端所有的重点都集中在\mir200\envir\中,这里面记载着所有服务器要在游
戏中表现的东西。在游戏中的 c 信息也在其中, cs.txt 文件和merchant.txt 文件中记载着 c 的名称、出现的地图、坐标、范围和形象代码。你要问两个记载的 c 有什么不同?为
什么不和在一起算了?我来告诉你, cs.txt 中记载的 c 是对话型 c,在进入游戏后,不
能够使用@reload c 刷新信息的 c。而 merchant.txt 是交易型和任务型 c,可以使用
@reload c 刷新信息。但我也做过试验,两种 c 互换后也可以使用,好像没有太大的限
制。 cs.txt 对应的文件在.\ c_def\文件夹中,merchant.txt 对应的文件在.\market_def\文件夹中。
你如果要添加 c 的时候,要注意 c 的文件名,例如你要创建一个超级商人的 c 要他出
现在比奇省330:330 的坐标。首先你要在.\market_def\文件夹中创建一个文本文件命名为“超
级商人-0“(这里你可以使用英文,也可以使用中文,但后面的数字必须要是这个 c 出现
的地图代码!),然后把你写好的脚本粘贴在里面。再打开merchant.txt 文件,添加以下信息:
;调用的文件
坐标x
坐标y
人物代码
刷新时间
超级商人
0 330 330 0 5 0
相信大家可以看懂吧,这里面的空格不要紧,没有规定信息之间必须空几格。人物代码自己
换吧,现在的 c 有46 种模样。
和脚本的规则一样,这两个文件里面以;开头的行就当作注释部分不做编译。
第2 节
现在步入正题,谈谈脚本的制作。 c 脚本分为两种,一种是不做交易的 c,一种是与之交易的 c。我们先来讲不做交易
这类脚本的开头一般以[@main]开头,但并不是必须以他开头,main 的英文意思是“主体,
主要部分”的意思,所以用他这是个好习惯。
接着就是条件语句#if,和他对应的#act,就是说如果...那么...,我在之前的《脚本语言之不完
全公略》一文中提到了一系列的测试语句。#if 后面可以跟这个测试语句,比如测试金钱
checkgold,测试级别checklevel 等等,这些测试语句可以连用,挑选满足这所有值的人。如
果你想不要任何条件的话就把他留空,后面直接接#act.
接着就是#act,如果有人满足了上述条件,那么...我们可以使用一些命令应用于他,比如take
拿走他身上的什么东西,mapmove 把他移动到什么地图,set 赋予他什么函数值等等。这些
语句你也可以连着使用。后面也可以跟文字,那么就在传奇里面显示为对话。
下面是#ELSEACT,如果没有满足#if 条件的,就不再运行#act 后面的指令,直接运行
#ELSEACT 后面的指令。后面也可以跟文字,那么就在传奇里面显示为对话。
#say 和#elsesay 的用法和#act#elsesay 的用法相同。
范例:
----------------------------
;传送猪7 的 c 脚本
[@main]
checkgold 10000
checklevel 30
map d717
#elsesay
你有 10000 个金币吗?要不然就是你没有 30 级。我不能把你传送到猪 7 了!自己跑吧。
----------------------------
这就是一个极其简单的传送脚本。我们下一节讲稍微复杂的段落脚本。
第三节
这一节我们来讲段落脚本。
复杂的脚本需要有数个[@main][@main-1]等等组成,从[@main]到[@main-1]之间称为一个段
落,他们之间是由goto 命令来衔接的,#if 满足条件的话,#act 就执行goto @main-1 命令,
转向[@main-1]段落。值得一提的是goto 是脚本自动做出转换段落的命令,还有一种转换段
落的方式,那就是要玩家自己选择段落。
这部分将在游戏中显示为
**可以点选的信息,玩家鼠标选择后转向main-1 段落。
范例:
----------------------------
;赠送回城卷脚本
[@main]
checkpkpoint 2
goto @main-1
#elseact
回城卷
[@main-1]
你是红名啊!别想让我可怜你,你是个十足的恶魔!什么?怒视着我干吗?信不信我现在就
让你去死?
[@main-2]
Param1 t131
Param2 10
Param3 10
弓箭守卫
mapmove T131
;T131 这个地图是赌场的审判间,20*20 的房间内有10 个弓箭手。50 级的红名进去也是死...
-----------------------------
这个脚本如果不是红名的话就会得到一个回城卷,是红名的话就会有上述对话,选“相信”
就关闭窗口离开,选“不信”就被传送到t131 地图,受到10 个弓箭手的优待,HOHO~~~
这一节我们接触了“
”和“\”符号,
如果是“
”定义了要指向的段落,
在游戏中就显示**可点选的“选择”字样,如果“
”没有定义要指向的段落,在游
戏中就显示红色的“选择”字样。“\”是换行符号,文本文件和可以在游戏对话框中显示的
信息都可以用“\”符号来换行。不可以用回车来代替。
第四节
这一节我们来研究一下设置函数的属性和概率问题
我觉得脚本里面最难的也就是这个啦,其实我也没有真正搞清其中的奥秘,只知道其中的一
些使用的方法。
现在如果想制作脚本最主要的也就是做任务了吧,我看了盛大的命运之刃和制作炼狱的任
务,其中都要定义一些函数值,就拿肉店任务来说,check [301] 1 如果测试到某人[301]函数
的值是1 的话,那么#act
@Q301 否则#elseact
@normal,那么如何定义某人[301]
函数呢?用set [301] 1 命令。但是现在我还没有弄清楚[]中所能定义的数字到底都有多少个,
也不能乱定义数字的值,那样将会打乱原有任务。而且在盛大取消的赌场脚本里面有equal、
mov 好像也是检查函数定义函数的命令,但是只有在玩骰子的 c 里面出现,像是专么测试
骰子点数的函数,有待研究。
还有一种概率命令,那就是random,我们来看一个范例。
范例:
----------------
[@main]
random 2
goto @QUEST
#ELSEACT
goto @normal
[@normal]
你好,欢迎你来自由自在论坛
[@quest]
我们的网址是:www.uc758.com
----------------
这样一个脚本就牵扯一个概率问题,你在和这个 c 对话的时候,看到2 种信息的几率各有
百分之50,也就是说每次你看到的信息都是随机的其中一个。注意这里面是 2 选1 的时候,
random 的值就取2。
在显示文本的时候,还存在一些随服务器或不同玩家而自动变换的信息,这里我们就不得不
提起沙巴克城。我们知道,沙巴克的 c 总要显示“该城堡的主人是xxx,我们对xxx 行会
的成员提供20%的折扣”那么不可能在每次沙巴克换主人后更改 c 脚本,于是就有了这些
随服务器变换的文本信息,
显示为沙巴克城主的姓名,
显示为
占领沙巴克的行会名称,
显示沙巴克城堡的金钱,
显示为沙巴克今天的收入,
沙巴克城门的状态等等...另外还有现实
不同玩家信息的命令
,你手中的兵器
。这些都用于加载
在文本信息当中显示。
第五节
这一节我们来介绍交易类型 c
交易类型的 c 于普通 c 脚本大同小异,但是文件头部需要定义 c 的属性。拿土城武器
店 c 做例子。
开头有个%100 的字样,在石墓阵武器店的开头是%200,有什么区别呢?原来这是定义这个 c 物价的语句。%200 就是普通物价的 2 倍。那么接下来的+5、+6、+43 是什么意思呢?
这就定义了这个 c 只能和你交易武器,也就是说你在铁匠那里不能卖手镯。具体什么数字
的组合代表什么 c,我在先前的《脚本语言之不完全公略》一文中有详解。你要是想要 c
万能的话,可以在开头把要+的数字都给它+上好了。
接下来就是脚本正文,和我们前几讲的差不多,但其中用到了一些固定含义的语言,不能当
作他用。
@s_repair
特殊修理
购买东西
出售东西
@repair
普通修理
@makedrug
制作毒药
@storage
保管物品
@getback
取回物品
关闭窗口
@upgradenow
升级武器
@getbackupgnow
取回武器
交易型 c 的结尾会有[goods]段落,这就是 c 库存物品的显示栏,下面的写物品有一定的
规则:
;名称
;屠龙
还是那句话,不想显示的物品前面你就打上";"号。如果你想让武器店里面卖药,不改上面"+
数字"的情况下,强行在[goods]里面加强效金创药
反正我没有试过,刷不刷的出来你
自己试喽...
范例:
;武器店,带特修,带仓库
; -------------(这里必须空一行)
[@main]
hello,
,欢迎光临自由自在论坛我们将提供给你最优惠的服务。
您想买些什么武器?\ \
[@sell]
给我您要卖的武器.\ \
[@repair]
您要修理武器吗?给我您要修理的武器.\
;物品修理前的对话框
[~@repair]
看起来修好了,欢迎下次再来.\
;物品修理后的对话框,注意这里的[~@repair]
;特修不需要添加类似对应段落,只在开头有
就可以,其对应段落写在
m2server.exe 中。
[@storage]
需要保管什么东西?\ \
[@getback]
请看目录决定找什么东西。\ \
[goods]
;名称
无极棍
井中月
命运之刃
裁决之杖
龙纹剑
骨玉权杖
赤血魔剑
嗜魂法杖
超级银蛇
第六节
谈到交易类型 c 脚本,我们不得不提仓库捆东西的脚本,看了才知道如此简单,就是用到
了checkitem、take、give 这几个命令。先检查你的包裹里面是否有这类物品,有了就拿取它
们,给你一样东西。捆金条和现在很多人自己制作的"武器升级"脚本也是这种原理,我看过
一些"武器升级"的脚本,她和盛大的武器升级系统相比简直就是小儿科的玩艺,就是你拿一
些东西去换另一种东西的脚本。我们来看个范例。
范例:
------------------
[@main]
你好,欢迎光临自由自在论坛,我们会竭诚为您服务。您想
[@mbind]
你具体想捆什么东西?目前我能捆的就这些啦,捆一次手工费 100 块。
金创药
[@ch_bind1]
checkitem
强效金创药
goto @ch_bind1_1
#elsesay
你没有带齐东西啊,我没有办法帮你捆。
[@ch_bind1_1]
checkgold 100
checkitem
强效金创药
强效金创药
超级金创药
已经捆好了...
我的技术不错吧..
还有要捆的就拿给我吧..
#ELSESAY
你都没有钱捆东西,还捆什么?
快走吧....
[@main]
check [099] 1
如果你刚才已经下过线了,\那请到
监狱长那里重新登记吧!\要不你是出不去的!
我喜欢
#elseact
goto @cd
你是来看望你朋友的吗?你要回去
[@cxsz]
set [099] 0
mapmove 0128
mapmove 3 320 320
监狱长-0128.txt 内容如下:
[@main]
check [099] 0
你将被重新送往监狱!\时间将重新开
始计算!谁叫你中途下线的呀,活该!
我喜欢
[@cxsz]
set [099] 1
timerecall 120
mapmove 0162
#elseact
goto @cd
希望下次不要再见到你了哦
我还想
set [099] 0
mapmove 3 320 320
再在Npcs.txt 里加入两行:
监狱长
0 0128 3 5 0 8
地牢看管员
0 0162 6 15 0 15 gt 适合新人看的传奇私服脚本.doc
今日免费精品文档
原价:
0.50豆元
0豆元
转帖至
播放器加载中,请稍候...
相关文档
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
热度:
该用户其他文档
等级:
分享于 2010-07-08 15:48
文档数据
热度:
浏览:
评论:
文档介绍
适合新人看的传奇私服脚本
适合新人看的传奇私服脚本
文档分类 -- 如要提出意见建议,请到
发帖反馈。
校验码: 请输入左侧字符,
评论的时候,请遵纪守法并注意语言文明,多给文档分享人一些支持。
提交评论
Ctrl+Enter快速提交
评论加载中
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
(必填)
例: http://www.docin.com/p-44907311.html
推荐理由:
分享完整地址
文档地址:
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
html代码:
embed src='http://www.docin.com/DocinViewer-63219702-144.swf' width='650' height='490' type=a lication/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'/embed
支持嵌入HTML代码的网站使用
你使用的浏览器不支持自动复制功能,请按鼠标ctrl+c或鼠标右键~
分享给粉丝
分享标题:
推荐:适合新人看的传奇私服脚本
分享评论:
这篇文档很不错,推荐给你看看!
选择粉丝:
选择好友
您还没有豆单,请
豆单审核通过后,您会得到豆元奖励
适合新人看的传奇私服脚本
加入豆单
文档加入豆单成功
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
秒自动关闭窗口
2007-2011 DocIn.com Inc. All Rights Reserved 豆丁网
登录:
用户名/邮箱:
登录密码:
记住我
或者你也可以用以下网站登录
新用户?

参考资料

 

随机推荐