石器时代从石器时代源码分析告诉你石器时代宠物成长,转宠成长的真谛

2018-11-2311:27石器时代私服石器时代

从图宠物数据可以看出:
宠物的数据很多,其中int petID1, char *PetName1, int petLV, int petrank, int vital1, int str1, int tgh1, int 
dex1, int total1,
分别对应了宠物ID,宠物名字,宠物级别,宠物排名,宠物生命值,宠物力量,宠物耐力,宠物敏捷,
以及宠物的总值
但是,主函数里面居然没有关于宠物成长的函数。石器时代的程序是通过一个object.C函数连接PET.h这个库函数进行对宠物数据的编译和改写。


下面,经过反复的研究,以及单步运行和测试,我发现pet.H这个函数主要连接了2个大家最关心的函数


先说明第一个,CHAR_CheckPetDoLimitlevel( int petindex , int toindex, int level) 这个函数。
首先这个函数并不是生成数据的函数(生成函数的数据后面我会讲)我这里只讲明大家最关心的问题:这个函数用整数定义了宠物的4围,并且写出了如何判断一个宠物4围的成长。这里得出一个很恶心的结论就是整数化4围函数会将原本产生的浮点数4围数据整数化,并且会在等级整除20的情况下将某些增长性数据归0,就是比如拿蓝人龙攻击来说,有时候加3,有时候加2,加2还是加3就是这个函数定(这是成长不好的原因之一)。

第二个函数式宠物成长最重要的函数:叫做CHAR_PetTakeLevelUp函数,具体功能不累述,重点如下:
1  宠物的4围,生命值,攻击,防御,敏捷。分别由初始值,固定数组(就是说生命值加多少,攻击加多少,分类的作用),以及一个fRand随机函数控制,这个随机函数就是真正的所谓成长不同的来源。
2  这个随机函数真是尼玛的坑爹,是在随机宠物排名(宠物排名其实就是宠物分类的排名)最大值与与最小值之前取随机乘以0.01
3 回归玩家的心声,你写这篇文章有什么用?
作用如下:经过对源程序的分析得出如下结论:
     3.1 宠物成长是随机的(其实是和服务器内存有关系,这也应该叫完全随机吧),转宠物就是要运气和MM。(这不是所谓的对个别宠物测试得出的结果,岛国程序员就这么编的!)
     3.2 宠物的4围靠初始值加成长值得出最后值,这里我把石器时代转宠的真谛分享给大家吧,让大家明白,自己玩的到底是个什么游戏。
            3.2.1:在宠物没转生前,初始值越高越好,成长越高越高,原因是宠物的4围的成长靠初始值*随机函数和固定数组*随机函数而定。所以练到140才是王道,保证初始值最大,但是如果你frand随机函数值小,宠物成长还是悲剧。所以玩家你能够做的只能保证乘法中一个因子最大。这里要提醒的是运气啊什么的,都尼玛扯蛋的,算命不如看程序!
            3.2.2:MM有什么用,用来转生的MM是用来改变固定数组的。意思也就是固定数组值越大成长就越高,但是小心爆掉哦!   
    3,3转宠结论:要想得出极品宠物需要以下条件:
            3. 3.1 神级: 初始值高,没转前成长高,转后运气好成长高,MM选择正确
            3. 3.2 极品:初始值高,没转前成长高,转后成长一般,MM选择正确
           所谓的垃圾转出神级的宠物,这尼玛概率太小,只能说明RAND函数随机到了最大值。

后记:我从stoneage1.82开始玩,到现在,石器时代当年真是火,连网吧老板都跟着玩。如今随着时光的流逝,玩的人也是凤毛麟角了,希望还是玩石器时代的朋友们从这里找到当初的那份回忆。写这篇文章完全是因为出于对石器时代的好奇以及第一个网络游戏的怀恋,希望大家看了之后对大家有启迪。

石器时代历史 PC端石器任务 石器时代俱乐部 石器cc 石器时代7.5