找回密码
 立即注册

[其他] 最新最全传奇3脚本程序语句与程序段

[复制链接]
goodscx 发表于 2022-11-5 03:47:11 | 显示全部楼层 |阅读模式
换一行  
换二行  
{图像类别图像定位} ;图像类别是说明动物或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 ;检验手持武器等级  

addnamelist添加玩家名到xx文本文件中  
checknamelist检查玩家名是否在xx文本文件中  
delnamelist从xx文本文件删除玩家名  

=================================================  
------------------------- 商 人 用 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  
$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 检验骑马  
CHECKSAVEDSHOOTER 检验存的攻城武器  
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 不能魔法  



=======================================  




第一节 npc的创建  
1、npc文件的位置  
所有NPC文件都是存在Mud3EnvirMarket_Def目录。  
比如:导游-0.txt 这个文件,就是npc导游,这里的"导游"就是npc设别码,"-0"代表是在比奇出现这个npc。  
2、npc刷新文件  
所有NPC刷新在Mud3Envirmerchant.txt文件中。  
我们打开merchant.txt,查找刚才导游-0.txt的这个npc的装载配置如下。  
==============================================================================  
导游 0 171 228 『导游』_英美 0 88  
==============================================================================  
各字段说明如下:  
导游——npc设别码  
0——比奇  
171——坐标x  
228——坐标y  
即在坐标171,228装载导游npc。  
『导游』_英美——在游戏中显示的npc名字  
0——含义未知  
88——npc的外形代码  

第二节 npc的代码编写  
打开导游-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://bbs.5uwl.net

第四节 脚本的调试  
你必须拥有GM权限。  
在你需要刷新的NPC面前输入 "@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 p2 ;完成乘法运算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 exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)  
drop 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_SAVEDITEM],[muddb].[dbo].[StdItems]  
WHERE [FLD_INDEX]-1=[Idx]  
GO  

--记录将要删除的复制装备  
if not exists (select * from dbo.sysobjects where id = object_id(N'[muddb].[dbo].[TBL__DELLOG]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)  
CREATE TABLE [muddb].[dbo].[TBL__DELLOG] (  
[删除日期] datetime not null,  
[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() as 删除日期,[FLD_MAKEINDEX] , [FLD_INDEX]-1 AS 装备代码,[Name] AS 装备名称,[FLD_CHARACTER] AS 角色名, [Place] AS 存放地点  
FROM [muddb].[dbo].[TBL_ALLITEM]  
WHERE ((([FLD_TID]) In  
(SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID] HAVING 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]) In  
(SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID]  
HAVING 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_SAVEDITEM] 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 exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBL_ALLITEM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)  
drop table [dbo].[TBL_ALLITEM]  

GO  
--------------------------------------------------------------  
--作者:口吃的男人  
--说明:此SQL脚本专为删除垃圾数据而写  
--思路:提取所有已删除或者级别小于21的角色名最后一次登陆在2003年7月30号以前的,  
并删除与此角色相关的装备及技能  
--最后修正日期:2003/05/20  
WHERE [FLD_DELETED]=1 AND FLD_UPDATEDATETIME < '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 < '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_SAVEDITEM] 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 < 21) AND (FLD_UPDATEDATETIME < '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_SAVEDITEM]  
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_SAVEDITEM]  
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_SAVEDITEM]  
--删除任务数据  
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_SAVEDITEM  
where FLD_DURA='41000'  

选择所有项目来自于表格TBL_SAVEDITEM(人物的仓库),列出符合条件为"41000"的持久度或纯度.  

SELECT *  
FROM TBL_ITEM  
where FLD_INDEX='286'  

选择所有项目来自于表格TBL_ITEM(人物包袱),列出符合条件为"286"的物品序号  

SELECT *  
FROM TBL_ITEM  
where FLD_MAKEINDEX='220076414'  

选择所有项目来自于表格TBL_ITEM(人物包袱),列出符合条件为"220076414"的制造时间戳.

dabiao2008 发表于 2022-11-5 05:28:45 | 显示全部楼层
无回帖,不论坛,这才是人道。
回复

使用道具 举报

?落雪、无痕 发表于 2022-11-5 14:18:54 | 显示全部楼层
楼主加油,我们都看好你哦。
回复

使用道具 举报

1449231467 发表于 2022-11-7 03:28:35 | 显示全部楼层
楼主加油,我们都看好你哦。
回复

使用道具 举报

mabel7777 发表于 2022-11-8 17:55:43 | 显示全部楼层
淡定,淡定,淡定……
回复

使用道具 举报

13541998866 发表于 2022-11-8 23:28:17 | 显示全部楼层
楼主加油,我们都看好你哦。
回复

使用道具 举报

bangat 发表于 2022-11-9 10:55:41 | 显示全部楼层
激动人心,无法言表!
回复

使用道具 举报

818bbb 发表于 2022-11-10 04:53:00 | 显示全部楼层
激动人心,无法言表!
回复

使用道具 举报

dfgfhfdh 发表于 2022-11-10 15:18:21 | 显示全部楼层
太生气了,无法HOLD啦 >_<......
回复

使用道具 举报

lapoleon 发表于 2022-11-10 19:01:07 | 显示全部楼层
楼主加油,我们都看好你哦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|游戏淘宝湾

GMT+8, 2024-11-23 16:01 , Processed in 0.072647 second(s), 54 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024, Oddpp Cloud.

快速回复 返回顶部 返回列表