AFT假人版本源代码最终备份
首发
更新至2019年10月
此AFT3代引擎源码,不是老AFT0330版本
本引擎基于AFT0330
1、完全兼容AFT3 0330的所有版本,不支持各路分支AFT版本,主要修复对老客户端的支持,优化复古细节,例如支持1.8的老客户端等等。
2、修复已知漏洞
3、兼容AFT3引擎可用的所有登陆器(如凤凰登陆器等)
包含引擎、网关、工具、合区、引擎注册机等全套源码源码
以下更新为建立于AFT3 0330基础上的更新,100%兼容以往引擎功能
=================================================
2020年6月更新:
1、增加写配置信息:
SETTXTLIST ..\文件.txt 10
READTXTLIST ..\文件.txt 10 S1??
命令/路径/行数,注意行数从零开始,0表示第一行,最多可以读取10000行,用法比较多,可以制作一些非常用的人物变量信息
也可以写配置信息,如根据条件随机生成假人的装备配置并保存,配合脚本可实现假人自动更换装备等功能,假人更换的装备可保存于配置中
2、完善假人变量脚本,假人可以使用所有人物变量脚本,假人反击,假人技能等,完善假人拾取设置。假人默认拾取金币及金额大于500的装备,
增加新物品类型,
10.超级天山雪莲,深海灵礁 ?(此物品不按时间计算,而是按照恢复生命和魔法总量计算)
StdMode:0;
Shape:199;
Weight:3;
Looks:798;
DuraMax:10; 使用次数
AC:10; ? ?累计加血量=AC*100
=================================================
2020年5月更新:
消除机器人报错,优化系统流畅性
增加新物品类型,
10.超级天山雪莲,深海灵礁 ?(此物品不按时间计算,而是按照恢复生命和魔法总量计算)
StdMode:0;
Shape:199;
Weight:3;
Looks:798;
DuraMax:10; 使用次数
AC:10; ? ?累计加血量=AC*100
=================================================
2019年8月更新:
1、优化假人AI,使得假人更为流畅
2、更新登录时提示剩余时间的错误显示,优化mysql自动重连
3、更新web账号数据库,使用此网关可直接使用discuz账号登录,网关自带账号合区功能,既可以当做一个账号所有区通用,也可一个区一个账号。
游戏里面可直接使用以下命令进行论坛积分调用及操作
[@金币消费]
#SAY
<$STR(S1)>\
<$DISCUZ.1> <+/@++&1> <-/@--&1>\
<$DISCUZ.2> <+/@++&2> <-/@--&2>\
<$DISCUZ.3> <+/@++&3> <-/@--&3>\
<$DISCUZ.4> <+/@++&4> <-/@--&4>\
[@++]
#ACT
DISCUZ $PARAM(0) + 1
goto @金币消费
[@--]
#ACT
DISCUZ $PARAM(0) - 1
goto @金币消费
==================================================
2019年7月30日引擎更新信息如下:
增加假人系统,假人支持装备配置,脚本执行器,脚本配置。自动寻怪,自动技能,自动打怪
已经经历了800假人打怪24小时压力测试。
1、AICharNameList.txt 是机器人名单,创建机器人会自动从名单里面抽取名字
2、不攻击.txt 为机器人不攻击的怪物
3、机器人脚本:$AI.地图名 判断地图的机器人数量
#IF
SMALL $AI.L005 500
#ACT
SENDMSG 1 落霞有:<$AI.L005>个机器人
AILOGON L005 40 40 1 1.TXT //AILOGON 地图 X坐标 Y坐标 数量 配置(装备穿戴)
机器人登录之后会自动执行[@AILOGIN],其中 AISTART开启自定打怪,AISTOP停止自动打怪
[@AILOGIN]
#IF
true
#ACT
AISTART
SENDMSG 1 玩家【%s】在(%m)上线了..
==================================================
2019年7月10日引擎更新信息如下:
1\在套装页面,每个套装增加两个技能加成选项,技能可以加成两类技能威力,引擎魔法技能新增技能加成页面,可以开关技能加成的文字提示和自定义提示的内容!
2\增加人物基准经验倍率KILLMONEXPMULTIPLE 参数1 ,参数1默认100,此经验倍率可以和炼狱双倍,双倍经验卡等叠加!
3\开发了MySQL账号数据库,计划开发MySQL人物数据库,持续中!
5\完善技能加成系统,技能ID在80以前的技能加成作用于相应技能,主动技能才有效。80之后的技能加成为特殊加成:
(完美解决复古服中道士或者法师宝宝不会随着道术法术增加而变强的情况!)
81-86,分别代表着对于宝宝的加成
81加成:血量;
82加成:防御;
83加成:魔防;
84加成:攻击;
85加成:智力(行走间隔);
86加成:攻击速度;
支持套装面板的技能加成设置和脚本设置(SETSKILLRATE + - =),脚本设置和套装设置可叠加,当本命令使用=时,其他所有增减均无效
==================================================
2019年5月引擎更新信息如下:
1\增加SETSKILLRATE 命令 ,支持= + - 本属性于引擎面板的技能加成属性可叠加,当本命令使用=时,其他所有增减均无效
技能魔法界面新增技能加成属性提示,可在线开关,并可以自定义提示文字
2\增加对于1.6,1.7,1.80 ,1.83 ,1.89,1.991,等一些老客户端的兼容
3\增加人物Custom变量100组,变量随人物数据自动保存,支持 = - + 命令 可以$Custom直接调用
增加怪物数据库字段:
//NO1=1 //禁止被玩家秒杀
//NO2=1 //禁止被玩家重击
//NO3=1 //禁止被玩家中毒
//NO4=1 //禁止被玩家诅咒
//NO5=1 //禁止被玩家麻痹
//NO6=1 //禁止被玩家隐身躲避,就是忽视玩家的隐身术功能!
NO7:复活次数
NO8:召唤型怪物,死亡后召唤出另外的怪物的名字
5\优化怪物AI,在性能参数增加一个AI增强选项,可提升怪物AI,,0-100,当为0时为A3默认,100时为AI极限,同时新增怪物字段,实现AI控制
AIMode
Broadrange
Broadcondition
Homerange
Eaccondition
[以上字段实际效果正在完善中]
6\、增加一个脚本命令HCALLEX用于对周围的角色的发起提问脚本
HCALLEX 参数1 参数2 参数3 参数4
参数A:坐标范围
参数B:玩家指定的QF中的脚本
参数c:中心点坐标X
参数A:中心点坐标Y
#ACT
HCALLEX 2 @传奇世界 $X $Y //(参数3和参数4为执行点中心坐标,不能为空,如果想作用于自己周围,那么用$X $Y表示,
被执行提问的玩家传递了发起提问玩家的以下变量。
名字<$PARAM[31]>,等级<$PARAM[34]>: 坐标(<$PARAM[32]>,<$PARAM[33]>)
//当释放技能的时候,可以直接用玩家自己的坐标,或使用施法点的坐标<$PARAM(88)><$PARAM(89)>(分别代替)
增加
SHOWEFFECT 参数1 参数2 参数3 参数4 参数5 参数6 脚本,配合自定义技能触发动画效果(可作用于鼠标指向区域)
例如:
;SHOWEFFECT 21300 3 $PARAM(88) $PARAM(89) 1 雷电
;SHOWEFFECT 21300 2 $PARAM(88) $PARAM(89) 1 漩涡
;SHOWEFFECT 22009 3 $PARAM(88) $PARAM(89) 1 落火
;SHOWEFFECT 21297 0 1 0 61 收妖怪瓶子
;SHOWEFFECT 21297 0 $PARAM(88) $PARAM(89) 5 一个区域冰雪攻击
;SHOWEFFECT 21297 0 $PARAM(88) $PARAM(89) 109/115 冰
;参数1为21297时可产生人物动画,效果包含了SHOWHUMEFFWCT的动画效果
;128, 地面裂开133,雷球135强化光环139风暴142鲨群145大治疗164大光球175冰电181龙王攻击185龙王盾牌
其他更多可自行尝试
[@传奇世界] //触发的是Qfunction的标签
#if
true
#act
SENDMSG 5 施法者:坐标 :<$PARAM(26)>,等级<$PARAM(27)> 施法目标坐标: <$PARAM(88)><$PARAM(89)>
7、增加 升级玩法 附加数据,在引擎目录下的mysql.ini设置好mysql连接之后即可连接附加数据库(数据表中的值要求为字符型)
主要有以下命令
$MYSQLVALUE.参数1.参数2.参数3.参数4
获取数据表(参数1)参数2字段的值等于参数3,参数4字段的值。
CHECKMYSQL 参数1 参数2 参数3 //参数1 :表名 参数2:字段 参数3:值 ,检查数数据表(参数1)是否包含了参数2等于参数3的记录
INSERTMYSQL 参数1 参数2 参数3 参数4 参数5 //参数1 :表名 参数2:字段 参数3:值 ,插入新的记录参数1:表名 参数2 :字段 参数3 :值 参数4 :字段 参数5:值
DELMYSQL 参数1 参数2 参数3 //参数1:表名 参数2 :字段 参数3 :值 删除参数2字段 =参数3 的记录
此数据库独立于游戏数据库之外,其作用是可以直接对外部mysql数据库操作,比如,调用论坛积分操作,游戏网页同步,玩家信息和网页同步等。
同时此功能也可作为外部数据库,存储游戏变量等信息。
[@ceshi]
#if
CHECKMYSQL TEST ID $USERNAME
#act
mov p1 $MYSQLVALUE.TEST.ID.$USERNAME.VALUE
#if
LARGE p1 100
#ACT
DELMYSQL TEST ID $USERNAME
#if
CHECKMYSQL TEST ID $USERNAME
#act
mov p1 $MYSQLVALUE.TEST.ID.$USERNAME.VALUE
inc p1 40
SENDMSG 6 1
UPMYSQL TEST ID $USERNAME VALUE $str(P1)
#elseact
INSERTMYSQL TEST ID $USERNAME VALUE 20
8\增加爆率控制方法,同一个怪物通过地图参数调整不同爆率。可以调整全服爆率,可以单独设置个人爆率,几种爆率计算方法属于独立加成的,同时生效
MULTBURSTRATE(100) 地图参数爆率
MULTBURSTRATE 150 30000 全服多倍爆率
HUMMULTBURSTRATE 150 30000 个人多倍爆率
<$HUMMULTBURSTRATE> 个人当前爆率
<$MULTBURSTRATE> 全服当前爆率
9、新增区域控制,主要用于写技能写BUFF
SETMAPZONEBUFF 参数1 参数2 参数3 参数4 参数5
指定区域产生属性加成:
参数1是变量的集合:地图编号(X坐标|Y坐标|区域)
参数2 属性位置标签(参照USEREXID)
参数3 + - =
参数4 数值
参数5 播放动画效果(和人物)
参数6 1表示作用点有人才会触发,0表示有没有人都触发
例如:
SETMAPZONEBUFF $M($X|$Y|2) 1 + 11 1 1
10、指定区域产生伤害:
SETMAPZONEDEC 参数1 参数2 参数3 参数4 参数5
参数1是变量的集合:地图编号(X坐标|Y坐标|区域)
参数2 伤害形式 符号代表直接扣除血量比例,不带负号表示掉血点数,
参数3 被作用的个体显示的动画
参数4 规则,0作用于人和怪物,1只作用于怪物
参数5 1表示地图参数点有怪物或者人才会触发,0表示有没有人都触发
例如:
SETMAPZONEDEC $M($X|$Y|2) -10 11 1 1
11、新增一个专用于discuz 论坛的自动发帖脚本(DISCUZADD 板块ID 发布者ID 发布者UID 标题 内容),例如
以前的写法:
[@2222]
#IF
TRUE
#ACT
MOV S2 [<$USERNAME>]在<$MAPNAME>获取了一件高级装备<$PARAM(22)>
MOV S3?<$USERNAME>\n等级:<$LEVEL>\n血量:<$MAXHP>\n所在地图:<$MAPNAME>(<$X,$Y>)\n
;下面三个是设置,每次发帖只需要让上面的生成就行了,下面都不用管
MOV S8 2 //板块id
MOV S9 admin //论坛发布者账号
MOV S10 1 //论坛发布者uid
;$MYSQLVALUE.pre_common_member_count.$USERACCOUNT.extcredits2
;只需要修改上面的就行了,S8-S10设置好
INSERTMYSQL pre_forum_thread tid|S1 fid|<$str(S8)> subject|<$str(S2)> author|<$str(S9)> authorid|<$str(S10)> dateline|<$TIME> lastpost|<$TIME>
MOV P0 $MYSQLMAXVALUE.pre_forum_thread.tid
MOV P1 $MYSQLMAXVALUE.pre_forum_post_tableid.pid
INC P1 1
INSERTMYSQL pre_forum_post_tableid uuu|1111 pid|<$str(P1)>
INSERTMYSQL pre_forum_post pid|S4 pid|<$str(P1)> tid|<$str(P0)> fid|<$str(S8)> subject|<$str(S2)> message|<$str(S3)> author|<$str(S9)> authorid|<$str(S10)> first|1 dateline|<$TIME>
MOV P2 $MYSQLVALUE.pre_forum_forum.fid.$str(S8).threads
inc P2 1
MOV P3 $MYSQLVALUE.pre_forum_forum.fid.$str(S8).todayposts
inc P3 1
UPMYSQL pre_forum_forum fid|<$str(S8)> lastpost|<$str(S2)> threads|<$str(P2)> todayposts|<$str(P3)>
以上执行虽然非常灵活,但是写法复杂,针对discuz论坛,只需要下面这一句就可以实现,而且效率非常高,不会出现卡顿之类的
#IF
TRUE
#ACT
MOV S2 [<$USERNAME>]在<$MAPNAME>获取了一件高级装备<$PARAM(22)>
MOV S3?<$USERNAME>\n等级:<$LEVEL>\n血量:<$MAXHP>\n所在地图:<$MAPNAME>(<$X,$Y>)\n
DISCUZADD 2 admin 1 $str(S2) $str(S3)
提供一次免费远程环境配置与编译服务(仅限于原价购买的)
这假人是心魔模拟的吗?