sm

立即登录 | 账号注册

积分: 0 |用户组: 游客

搜索
服务器租用 传奇3一条龙 支付平台源码 无法下载点击此处反馈
查看: 718|回复: 2

[传奇3架设教程] 传奇3脚本命令及数据库代码全解-2023完整版

[复制链接]

826

主题

36

回帖

23万

积分

霸王教主

积分
235497
发表于 2023-7-22 00:29:21 | 显示全部楼层 |阅读模式
传奇3数据库代码全解,想成为高手的可以看看

程 序 语 句 与 程 序 段


{图像类别/图像定位} ;图像类别是说明动物或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脚本里的彩色文字控制

从上到下:
{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}黄色{FCOLOR/12}

程 序 语 句 与 程 序 段
\ 换一行
\\换二行

{图像类别/图像定位} ;图像类别是说明动物或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
or not CheckGold 10000
#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
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.TXT

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
***






上一篇:传奇3修改服务器常用的SQL脚本
下一篇:GOD引擎Delphi源码传奇引擎0基础入门视频教程系列
回复

使用道具 举报

0

主题

19

回帖

257

积分

旋风流星刀

积分
257
发表于 2023-8-14 09:02:25 | 显示全部楼层
又学习到了,谢谢
回复 支持 反对

使用道具 举报

1

主题

252

回帖

1070

积分

旋风流星刀

积分
1070
QQ
发表于 2024-1-12 14:13:16 | 显示全部楼层
积分任务
回复

使用道具 举报

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

本版积分规则

手机版|美林GM论坛 ( 蜀ICP备2020030293号-2 )|网站地图

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系

GMT+8, 2024-4-29 14:59 , Processed in 0.343323 second(s), 59 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024, Tencent Cloud.

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