当前位置: 首页 > news >正文

传奇996_19——龙岭总结

功能:

切割

切割属性:

即人物属性,可以设置临时属性或者永久属性,龙岭使用的是临时属性,所谓临时就是存在有效期,龙岭设置的有效期是123456789秒,即1428.89802天。
龙岭写法(倒叙):

  • 第一步:调用:QF中写一个配置表,表中配置即自定义属性值,表中我对切割和切割倍数属性进行了打印,这两个属性值分别是1000和0,因此我对1000感到好奇,在代码中并没有使用setbaseinfo函数对切割值进行设置,那是哪里进行设置的?原来调整人物的210对应属性值即可修改,即除了setbaseinfo函数还有其他办法,为修改人物临时属性函数hangehumnewvalue和修改人物永久属性函数gethumnewvalue.
----lua 属性表
local play_attr = {}
local attr_tab
function addatt(actor)attr_tab = nilif getbaseinfo(actor, ConstCfg.gbase.isplayer) thenattr_tab = {[4] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 4),[8] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 8),[75] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 75),[200] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 200),---技能格挡[201] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 201),---无视技能格挡[210] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 210),--人物属性(临时):210是切割1000,225是暴率100[211] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 211),[220] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 220), ---伤害吸收[221] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 221), ---致命一击几率[222] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 222), ---致命一击伤害[223] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 223), ---致命一击抵抗[224] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 224), ---致命一击伤害减免[233] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 233), ---最终伤害减免[236] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 236), ---最终伤害增加[237] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 237), ---无视伤害吸收[241] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 241), ---无视伤害吸收[246] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 246), ---烈火伤害减免[247] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 247), ---刺杀伤害减免[248] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 248), ---开天伤害减免[249] = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 249), ---逐日伤害减免}-- release_print("addatt",attr_tab[210])-- release_print("addatt2",attr_tab[211])play_attr[actor] = attr_tabendreturn attr_tab
end
  • 第二步:添加自定义属性表cfg_att_score.xls及数据
  • 第三步:使用修改人物属性函数修改切割值属性:龙岭写法:新人奖励中有个1000切割的奖励,这个1000切割值和”新人降生“称号是绑定的,但是不是新人降生的属性值,而是在称号赋予函数中,除了添加称号外,另外判断了称号是否是称号表的称号,这个称号表是个table,自定义的一个配置文件,如果存在表中,就调用附加属性函数和刷新属性事件。之后打出的伤害就叠加切割值了。
  • 代码流转:新手礼包.txt:myaddtitle 新人降生——>LuaFuncList.txt:myaddtitle——>LuaFunc-0.lua:callfunbynpc(actor, 999999999, 0, ‘AddTitle’, name)这个代码会直接在全部已加载文件总搜索AddTitle函数——>称号系统.lua:AddTitle函数:Player.updateSomeAddr(actor,{},_attr)——>Player.lua:changehumnewvalue(actor, attridx, attrvalue, ConstCfg.attrtime)

切割飘血:

当人物属性(临时和永久属性一样)切割值被修改后,打出的伤害包含切割值但是不动画展示(飘血)配置完以下三步即可!

  1. 配置cfg_damage_number.xls表
  2. 图片配置到客户端:\dev\res\private
  3. Ctrl+F6进行可视化iua配置,配置时选择第一个选项,并且需要要与代码对应,如果选择了第二个选项数值不会变,是显示的固定数字
  • 而且如果选第一个选项,同时也要写文字长度,一般写4即可,如果不写,则只显示数字,不显示切割字样

状态信息

在这里插入图片描述

  • 龙岭状态信息同样是在后端写的,但是他没有和“主界面按钮写在一起”,有可能是因为这段悬浮窗代码他是用lua写的,但是主界面按钮代码是txt写的。文件名叫“状态图标.lua”,写完之后下面把这个函数当做事件给注册了,然后他在启动钩子函数startup()中进行了调用,但是他是直接调用的该函数,没有使用事件
  • 另外,龙岭同时也提供了txt的方式,文件名叫做Envir\QuestDiary\游戏登陆\图标按钮.txt
  • 龙岭把神力倍数,打怪爆率,真实伤害这三个属性放在了物品表item中,方便于调用,使用了如下操作
        <Text|ay=0.5|x=]]..(90+x)..[[|y=]]..(-87+y)..[[|text=$STM(ITEMCOUNT_23)%|size=14|outline=1|outlinecolor=0|color=255><Text|ay=0.5|x=]]..(90+x)..[[|y=]]..(-67+y)..[[|text=$STM(ITEMCOUNT_24)%|size=14|outline=1|outlinecolor=0|color=255><Text|ay=0.5|x=]]..(90+x)..[[|y=]]..(-47+y)..[[|text=$STM(ITEMCOUNT_26)|size=14|outline=1|outlinecolor=0|color=255>

$STM(ITEMCOUNT_23),这种操作叫做客户端常量,其中23,24,26都是物品表的id,然后使用登录事件触发调用一下调整这几个数值的函数,之后还要在一个属性变化的钩子函数中对爆率,神力倍数,暴击伤害,切割数值进行修改,没什么问题的就会正常回显,碰到的问题就是物品id应该在前100号

bug:
这其中遇到个bug,就是$STM(ITEMCOUNT_26)无论怎样都是显示的0,后来才知道changemoney函数只能修改前100号id的物品表信息,而且前100号的物品表信息是货币。

bug:

任务:

设置任务后,任务奖励没有显示?
这个是在后端写的。

  • QF文件:
--- PickTask 领取任务触发
function picktask(actor)callscript(actor, "../QuestDiary/任务系统/触发_接受", "@接受任务处理")
end
  • 触发_接受.txt文件:
#if
equal u200 2
#act
set [23] 1
SET [24] 0
mov u201 20
mov s$任务奖励 <Img|x=39.0|y=72.0|img=public/newbutton/rwjl.png>
inc s$任务奖励 <Img|x=70.0|y=110.0|img=public/newbutton/bjg.png|esc=0>
inc s$任务奖励 <ItemShow|x=66.0|y=103.0|width=70|height=70|itemid=10435|itemcount=5|showtips=1>
ADDBUTTON  110 1 <$str(s$任务奖励)>
Navigation 110 <$STR(U200)> 点击任务继续

遗留问题:

飘血

设置飘血时cfg_damage_number表后面的属性值什么意思,如何配置???

任务

txt中ADDBUTTON 110 1 <$str(s$任务奖励)>中的第二个参数——1是什么意思?

斗笠碎片的背包显示代码是1188,这个代码在item文件夹中找不到对应的png文件

找到了,直接在文件夹右上角搜索栏搜索001188即可,原来位置在D:\chuanqi\newLongLing\客户端\cache\mod_fgcq\stab\res\item\item_0,而不是在D:\chuanqi\newLongLing\客户端\dev\res\item中


http://www.mrgr.cn/news/76440.html

相关文章:

  • 如何在Debian系统里使用Redhat(CentOS)的方式配置网络
  • 探秘Spring Boot中的@Conditional注解
  • spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索
  • 【ACM独立出版|高校主办】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • 将大型语言模型(如GPT-4)微调用于文本续写任务
  • 微信小程序=》基础=》常见问题=》性能总结
  • RHCE的学习(17)
  • Linux设置静态IP
  • Emacs进阶之插入时间信息(一百六十三)
  • Android笔记(三十七):封装一个RecyclerView Item曝光工具——用于埋点上报
  • 微服务即时通讯系统的实现(客户端)----(1)
  • TCP连接秘籍:三次握手建立连接,四次挥手优雅告别
  • 8 软件项目管理
  • 狼蛛F87Pro键盘常用快捷键的使用说明
  • 麒麟kysec安全
  • 数据仓库面试题集离线实时
  • [JAVA]MyBatis环境配置介绍
  • 将已有的MySQL8.0单机架构变成主从复制架构
  • 【AI图像生成网站Golang】项目介绍
  • 2024数证杯电子取证比赛题目(初赛)
  • 1链式有序表的合并
  • 【提高篇】3.4 GPIO(四,工作模式详解 下)
  • [Linux]:Reactor模式
  • 牛客题库 21738 牛牛与数组
  • C语言数据结构与算法--简单实现队列的入队和出队
  • AVL树了解并简单实现