大渝传奇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

大渝传奇官方版本-一个登录器玩转多个版本
搜索
查看: 5932|回复: 10

关于武器升级运算公式代码详解

[复制链接]

75

主题

264

回帖

1752

积分

金牌会员

Rank: 6Rank: 6

注册时间
2022-10-6
最后登录
2025-3-23
在线时间
47 小时
积分
1752

最佳新人热心会员

发表于 2022-11-10 19:49:15 | 显示全部楼层 |阅读模式
本帖最后由 qtgpyjhwm 于 2022-11-10 19:50 编辑

从最早的1.70版本到现在的版本,盛大的武器升级系统大大小小的变化了有数10次之多,每次又有多少人因为版本的更新,武器系统的升级而退出沙武器店呢?为什么又有人能从1区一直砸到现在没间断过?那是因为一个游戏神经中枢-源代码不是那么容易就能改的!!就好比整容,你可以把脸皮换来换去,总不能那么容易的把脸型也换来换去把?除非你把源代码换了,但是你要知道,这得花多少的人力与财力?公司不会为那么少数的人做那么花钱不讨好的买卖!

步入正题,以下是1.90版武器系统的运算代码:
if ((UpgradeInfo.btDc >= UpgradeInfo.btMc) and (UpgradeInfo.btDc >= UpgradeInfo.btSc)) or (n1C = 0) then begin ;//如果((首饰的攻击值>=首饰的魔法值)并且(首饰的攻击值>=首饰的道术值))或者(n1C=0) 那么开始计算
  n90:=_MIN(11,UpgradeInfo.btDc);  //定义 n90
  n10:=_MIN(85,n90 shl 3 - n90 + 10 + UpgradeInfo.UserItem.btValue[3] - UpgradeInfo.UserItem.btValue[4] + User.m_nBodyLuckLevel); // 定义n10=(首饰的攻击 sh1 3-首饰攻击+10+btValue[3]- btValue[4]+用户的自身幸运值level   其中btValue[3][4]是变量,具体不解释

  if Random(g_Config.nUpgradeWeaponDCRate) < n10 then begin  //如果随即函数小于n10那么就成功
        UpgradeInfo.UserItem.btValue[10]:=10;  //升级成功
        if (n10 > 63) and (Random(g_Config.nUpgradeWeaponDCTwoPointRate) = 0) then
            UpgradeInfo.UserItem.btValue[10]:= 11; //如果n10大于63并且随即函数=0那么武器跳1点
if (n10 > 79) and (Random(g_Config.nUpgradeWeaponDCThreePointRate) = 0) then           
           UpgradeInfo.UserItem.btValue[10]:= 12;  //如果n10大于79并且随即函数=0那么武器跳2点

  end else UpgradeInfo.UserItem.btValue[10]:=1; //表示武器升级失败
end;

代码中的User.m_nBodyLuckLevel就是幸运级别,就是我说的幸运值,这个值与幸运周期无关。
Random(g_Config.nUpgradeWeaponDCRate)是随机函数,就是论坛高人称谓的伪随机函数,
在这里我的看法不同的是,我希望它越小越好,如果是0就可能跳点,如果不是0肯定不会跳点。
多说两句这里,传奇中的Random(g_Config.nUpgradeWeaponDCRate)是有死角的,不完全随机,可以摸出所谓的周期,即所谓的((((幸运周期))) !

武器成功的方法,从代码里分析可以解释为,让n10尽量的大  让随即函数Random尽可能的小
n10是可人为改变的 (常常被人理解为个人幸运值,其实个人幸运值只是其中一个参数)
Random随即函数 无法改变 系统赋予的(常被人理解为服务器幸运值,并且高手们已经掌握了发现其死角周期的方法

n10变大的方法 通过公式 n10:=_MIN(85,n90 shl 3 - n90 + 10 + UpgradeInfo.UserItem.btValue[3] - UpgradeInfo.UserItem.btValue[4] + User.m_nBodyLuckLevel)    在首饰正确的基础上,btValue[3]取大 btValue[4]取小 User.m_nBodyLuckLevel尽可能大
  这里只说一下User.m_nBodyLuckLevel 个人幸运值
首先个人幸运值和幸运值是两个概念,9套说的是幸运值,个人幸运值是人物隐藏属性,与总体经验 luckypoint成正比,与死亡次数 pk值成反比等等等等,40级以后User.m_nBodyLuckLevel增长速度减慢,并且具有循环性也就是说 是个变量,函数time参与其中运算
个人幸运值的提升最好的办法是升经验,到临界状态,并且尽量少死亡以及pk  ;死亡次数多了,luckypoint会出现负值 这种情况,User.m_nBodyLuckLevel相应总体质量下降
   分析那么多,希望对那些看的明白的人有些帮助把。

大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!

128

主题

211

回帖

1506

积分

金牌会员

Rank: 6Rank: 6

注册时间
2022-8-22
最后登录
2026-1-8
在线时间
231 小时
积分
1506
发表于 2022-11-10 20:50:17 | 显示全部楼层
这是游戏玩到最高境界了 搞代码了
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

17

主题

197

回帖

858

积分

高级会员

Rank: 4

注册时间
2020-10-9
最后登录
2023-2-17
在线时间
61 小时
积分
858
发表于 2022-11-11 10:50:41 | 显示全部楼层
阁下是用的C语言啊。 竟然看懂了一些。哈哈。佩服佩服

函数和参数都有了。
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

10

主题

423

回帖

2421

积分

金牌会员

Rank: 6Rank: 6

注册时间
2019-8-17
最后登录
2026-1-5
在线时间
645 小时
积分
2421
发表于 2022-11-11 11:26:19 | 显示全部楼层
对普通玩家来说,这是骨灰骨灰级的研究
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

113

主题

1359

回帖

1万

积分

一星主宰

Rank: 8Rank: 8

注册时间
2019-9-15
最后登录
2024-3-31
在线时间
1045 小时
积分
12889

永恒七夕

发表于 2022-11-11 11:42:04 来自手机 | 显示全部楼层
那里有官服的源码可以看?
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

95

主题

925

回帖

3083

积分

钻石会员

Rank: 7Rank: 7Rank: 7

注册时间
2020-3-16
最后登录
2025-11-6
在线时间
297 小时
积分
3083
发表于 2022-11-11 11:54:18 来自手机 | 显示全部楼层
开始玄学了??。听说是最高境界
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

4

主题

378

回帖

1万

积分

一星主宰

Rank: 8Rank: 8

注册时间
2019-8-7
最后登录
2026-2-1
在线时间
807 小时
积分
12898
发表于 2022-11-11 15:35:15 | 显示全部楼层
游戏都快跟科研一样了!!!
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

84

主题

602

回帖

1万

积分

一星主宰

Rank: 8Rank: 8

注册时间
2020-6-28
最后登录
2026-2-1
在线时间
1921 小时
积分
12353
发表于 2022-11-11 18:47:21 | 显示全部楼层
vilifone 发表于 2022-11-11 10:50
阁下是用的C语言啊。 竟然看懂了一些。哈哈。佩服佩服

函数和参数都有了。 ...

你c语言肯定是白学了  人家用的是Object Pascal 语言
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

84

主题

602

回帖

1万

积分

一星主宰

Rank: 8Rank: 8

注册时间
2020-6-28
最后登录
2026-2-1
在线时间
1921 小时
积分
12353
发表于 2022-11-11 19:15:25 | 显示全部楼层
确实 这个变量User.m_nBodyLuckLevel是幸运度等级,受AddBodyLuck函数影响,打怪得经验会增加幸运值   杀人或自己挂了就会掉幸运度等级。
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

27

主题

218

回帖

3267

积分

钻石会员

Rank: 7Rank: 7Rank: 7

注册时间
2020-6-6
最后登录
2026-2-1
在线时间
188 小时
积分
3267
发表于 2023-9-2 23:30:22 | 显示全部楼层
没本科看不懂吧?
大渝传奇论坛(原万宇论坛)欢迎您!大渝传奇176和185及心法版本同步开放中!
回复

使用道具 举报

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

本版积分规则

大渝传奇176非仿官方版本小极品

手机版|小黑屋|大渝分享 ( 渝ICP备2025065603号-1 )|网站地图

GMT+8, 2026-2-2 00:27 , Processed in 0.048283 second(s), 10 queries , Redis On.

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