cgmsv引擎论坛

 找回密码
 注册/Sign up
搜索
查看: 2736|回复: 12

[英雄系統整合]英雄也能轉生

[复制链接]

Rank: 1

发表于 2023-4-3 10:39:14 | 显示全部楼层 |阅读模式
附上原作者跟整合,感謝論壇大大能寫出跟整合這些功能

【花哨哥】【亡命十八天】英雄系统2.0

[铃白瑞树]英雄系统整合cgmsv_21.2a

也請不吝搭配我之前發的英雄洗點啟用

[英雄系统整合]启用英雄洗点

原本想給英雄建album30來計算轉生次數,雖然可以轉生成功,但每次登出登入後次數都會歸0。

後來想圖方便,直接用英雄內建的魅力(因為所有數值中,魅力對英雄影響最小,幾乎沒用),
改成雇用英雄時魅力直接歸0,但魔力有些裝備會加魅力,可能會混淆計算,
多次測試後ˋ,發現聲望值可以建在英雄數值內,且登出入後不會歸0。

轉生腳本是模仿英雄洗點的方式,創建一個物品,雙擊運行LUA腳本,可以參考上面的文章。

如果想讓轉生設定更嚴謹,可以參考人、宠转生系统LUA,有兴趣的拿去

記得要在ModuleConfig內啟用腳本。

轉生葯ID.PNG 轉生藥.jpg
轉生視窗.PNG 轉生10.jpg
150.PNG













补充内容 (2023-4-3 11:16):
論壇一直說我的發帖包含攻擊指令,一直發不成功,有沒有大大可以解惑,如何解決???

补充内容 (2023-4-3 11:17):
警示為Your request has an illegal parameter and has been blocked by the webmaster settings!!!

补充内容 (2023-4-3 11:37):
補充一下轉生規則:查看原作者利用名子顏色來劃分英雄階級,當英雄等級顧用同步開啟時,會依照顏色來補點數。

补充内容 (2023-4-3 11:38):
以UR英雄轉生為例,一等時可分配120點數,每轉一次額外多30點,可以看上面圖片,1轉1等時有150點數分配。

补充内容 (2023-4-3 11:40):
轉生腳本啟用前的英雄,需要把英雄聲望歸零,才可轉生,可以在英雄洗點腳本內新增聲望歸零指令,完成後再刪除這條指令

补充内容 (2023-4-3 11:40):
Char.SetData(heroIndex,CONST.對象_聲望,0)

补充内容 (2023-4-3 12:06):
我還東西要補充可是論壇一直不給發,只能草草發這篇,補充內容在這
https://reurl.cc/OVQ2aR

补充内容 (2023-4-3 15:43):
整個gmsv檔 https://reurl.cc/6N920b

补充内容 (2023-4-7 21:40):
8樓-英雄優化

补充内容 (2023-4-13 17:40):
10樓-英雄升級修正

英雄转生及洗点.rar

14.93 KB, 下载次数: 82

Rank: 1

发表于 2023-4-3 11:25:35 | 显示全部楼层
大佬,能不能把你的端这个完整的上传到盘里分享一下啊? 特想玩,就是不会弄

Rank: 1

发表于 2023-4-3 12:54:29 | 显示全部楼层
牛逼少时诵诗书所所所所所所所所所所所

Rank: 1

发表于 2023-4-4 11:21:33 | 显示全部楼层
英雄系统,可以-加点。怎么解决?

Rank: 1

 楼主| 发表于 2023-4-4 12:06:31 来自手机 | 显示全部楼层
sd4936570 发表于 2023-4-4 11:21
英雄系统,可以-加点。怎么解决?

-加點是什麼意思?

Rank: 1

 楼主| 发表于 2023-4-4 19:21:52 | 显示全部楼层
UR英雄初始的声望值,忘了加上去,导致英雄AI无法保存,这边修正了,直接复盖,或自己加上去

heroesTpl.rar

1.45 KB, 下载次数: 29

Rank: 1

 楼主| 发表于 2023-4-6 01:06:38 | 显示全部楼层
本帖最后由 a26956311 于 2023-4-6 01:08 编辑

经过几天测试,找出会导致英雄AI储存消失的原因,
当技能栏位为空值的时候,如果你把技能储存到空值的后面,会导致技能无法正确储存
最简单解决的办法就是,设定一个技能名称为"请自行设定"或其他你想要的名子
自行設定.jpg
然后技能随意设定,我是设定为普通攻击,然后英雄预设技能没有设定的全部填满 填滿.jpg
这样就不用担心存到空值后面,导致无法储存技能 初始英雄技能設定.jpg 初始寵物技能設定.jpg


稍微修改了一下读取档名,把heroesAI.txt改成heroesAIsetting.lua一方面是原本就有一个heroesAI.lua了,避免重复再来lua档,比较好编辑 改檔名.jpg
然后我视觉优化了一下英雄AI设定的脚本,刚开始设定AI时,脚本一直无法运行,明明格式设都一样,怎么有些空格可以有些不行,这几天研究的一下lua,原作者的脚本写入AI时是用tab区分判定AIdata,然后改成用/(斜线)来判定AIdata,这样容易设定AI判定,不用为了是tab还空格烦恼  
將英雄AI設定判定改為斜線.jpg 視覺優化AI腳本,容易設定.jpg

也视觉优化了一下英雄创建的脚本,可以快速调整英雄细部素质
視覺優化英雄腳本,容易設定.jpg
再来要研究英雄重生时,怎么把使用跟储存的AI技能改成1等跟预设值感谢大家





补充内容 (2023-4-7 21:39):
劍士AI、騎士AI 有忘記加 / 的地方,再自行修正一下

英雄优化20230406.rar

10.99 KB, 下载次数: 42

Rank: 1

 楼主| 发表于 2023-4-10 23:46:58 | 显示全部楼层
發現英雄連續升級,只會計算最後一次BP加成,中間連續的等級只會給預設4點,導致有BP加成的英雄,拿點不完全。希望有大老能給出語法思路~!!!

Rank: 1

 楼主| 发表于 2023-4-13 00:35:09 | 显示全部楼层
本帖最后由 a26956311 于 2023-4-13 00:38 编辑
a26956311 发表于 2023-4-10 23:46
發現英雄連續升級,只會計算最後一次BP加成,中間連續的等級只會給預設4點,導致有BP加成的英雄,拿點不完 ...

Char.SetData(charIndex,CONST.CHAR_升级点,originPoint+n)
UR英雄为例n=2,每次升级得6点,
升一级当然是4+2
但连续升级的时候+n,只会计算最后1等,例如從1等连升到6等,应该要得到30点,但这个算法只会得到4*5+2=22

经过计算测试公式应该要改成
  1. local function moreBP(n)
  2.   return function(charIndex)
  3.         local vital = Char.GetData(charIndex,CONST.CHAR_体力)/100
  4.         local str = Char.GetData(charIndex,CONST.CHAR_力量)/100
  5.         local tgh = Char.GetData(charIndex,CONST.CHAR_强度)/100
  6.         local quick = Char.GetData(charIndex,CONST.CHAR_速度)/100
  7.         local magic = Char.GetData(charIndex,CONST.CHAR_魔法)/100
  8.         local added =vital+str+tgh+quick+magic
  9.     local lv = Char.GetData(charIndex,CONST.CHAR_等级)
  10.         local default = 30
  11.         local rare = Char.GetData(charIndex,CONST.对象_名色)
  12.         local originPoint = Char.GetData(charIndex,CONST.CHAR_升级点)
  13.                 if (rare==6) then --UR
  14.                         local rarepoint=90
  15.                         Char.SetData(charIndex,CONST.CHAR_升级点,originPoint+ (lv-1)*n-n*(added+originPoint-default-rarepoint)/(n+4))
  16.                 elseif rare==4 then --SSR
  17.                         local rarepoint=60
  18.                         Char.SetData(charIndex,CONST.CHAR_升级点,originPoint+ (lv-1)*n-n*(added+originPoint-default-rarepoint)/(n+4))
  19.                 elseif rare==2 then --SR
  20.                         local rarepoint=30
  21.                         Char.SetData(charIndex,CONST.CHAR_升级点,originPoint+ (lv-1)*n-n*(added+originPoint-default-rarepoint)/(n+4))
  22.                 else --R
  23.                         
  24.                
  25.                
  26.                         Char.SetData(charIndex,CONST.CHAR_升级点,originPoint+ (lv-1)*n-n*(added+originPoint-default-0)/(n+4))
  27.                 end
  28.         
  29.   end
  30. end
复制代码

UR英雄
等級1
初始30
加成90
1LVUR.jpg

等级6等时已有点数为
初始30
加成90
预设4*5=20
加成2*5=10
总共150(30+120)
6LVUR.jpg
14等时已有点数为
初始30
加成90
预设4*13=52
加成2*13=26
总共198(30+168)
14LVUR.jpg
公式originPoint+(lv-1)*n-n*(added+originPoint-default-rarepoint)/(n+4))代表當你升到某等級的時候,要扣掉自身已有點數,等於升級得到的點數

UR英雄6等一次升到14等,應該要多48
originPoint=是預設每次升等都會得到4點的計算=4*8=32

(lv-1)*n-n*(added+originPoint-default-rarepoint)/(n+4))BP加成算法,扣掉6級時已有的點數,除每次升級會得到6點,可得已獲得多少加成點數
added+originPoint=已分配點數+未分配點數
(14-1)*2-2*(150+0-30-90)/(2+4)=(13*2)-2*(30/6)=26-10=16

6等一次升到14等會得到32(預設)+16(加成)=48


  

附上LUA档里面的R等英雄,有被调整测试,再自行修改
有興趣的可以測試一下有沒有缺失錯誤

20230413英雄升级修正.rar

2.02 KB, 下载次数: 45

您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2024-11-21 22:17 , Processed in 0.156235 second(s), 8 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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