浩克网 手游攻略 手游评测 石器时代宠物等级,石器时代宠物等级轮回好不好?

石器时代宠物等级,石器时代宠物等级轮回好不好?

时间:2023-01-05 11:02:06 来源:网络 浏览:3

有网友提问:石器时代转宠等级,今天小编来回答一下

,首先要把四大工程做完,不然进不了黑暗。

带MM去找刘金标(不要抓守护者,不然你就投胎了!),跟他说话,在弹出框里选择你要转的宠物就可以了。

最好121以上转宠物。转移宠物不需要算命。就算你够幸运,也不一定好。用现在流行的话来说就是“看你人品”

如果你对答案不满意,不妨看小编为你推送的这篇文章

最近石器M上线了,有不少新玩家加入了“石器时代”的大家庭!而“宠物转生”恰好是这个游戏本质中“重中之重”的基础!

Pk,刷副本,战队站!所有玩家都需要有一个好宠物!

所以我想分享一篇关于宠物转生“源代码”分析的文章!

2bf153cf3bb848a0bff35a23ef77cf4c~noop.image?_iz=58558&from=article.pc_detail&x-expires=1673492529&x-signature=nF7ojLnh82TpUaHha9pLMnkKuEk%3D

第一个功能:

int pet trans _ PetTransManStatus(int to index,int petindex1,int petindex2)

{

int petrank=0,I;

int total1,total2,total,petLV,ans

int petID,enemynum,ret=-1;

int work[4]={0,0,0,0 };

int base[4]={0,0,0,0 };

#定义RAND(x,y)((x-1)1(int)((double)(y-(x-1))* RAND()/(RAND _ MAX 1.0)))

total 1=pet trans _ getpet base(petindex 1,work,petrank);

total 2=pet trans _ getpet Base(petindex 2,base,petrank);

petLV=CHAR_getInt( petindex2,CHAR _ LV);

//=================第一部分===========================

#ifdef _PET_2TRANS

ans=NPC _ PetTransManGetAns(total 1,total2,petLV,petrank,CHAR_getInt( petindex2,CHAR _ TRANSMIGRATION));

#否则

ans=NPC _ PetTransManGetAns(total 1,total2,petLV,petrank);

#endif

//=========================================================

total=total 1(total 2 * 4);

total 2=0;

for(I=0;i4;i ) {

功=功* 4;

total2=工作;

}

total=total1 total2

for(I=0;i4;i ) {

base=(ans *(基准工时))/total;

}

ENEMY num=ENEMY _ getenemy num();

petID=CHAR_getInt( petindex2,CHAR _ petID);

for(I=0;ienemynumi ) {

if( ENEMY_getInt(i,ENEMY_TEMPNO)==petID)

打破;

}

if( i==enemynum)

return-1;

ret=GetNewPet( toindex,petindex2,I,base);if( ret 0)

return-1;

返回ret

}

这个功能应该大致是宠物转生的。。功能。从红队第一部就可以判断出来。这个代码判断是转还是不转。我们现在只研究一个转弯的情况。

ans=NPC _ PetTransManGetAns(total 1,total2,petLV,petrank);

这个ans就不用说了,是一个影响转折的系数,从后面的用法就能看出来,而total 1和total2大致。。了一个MM和pet转移的组合值,后面有分析。petLv不用说。。宠物的等级,petrank。。宠物成长的一些东西,rank。。成长的价值,这背后有分析。

接下来,我们来看后一段:

total=total 1(total 2 * 4);

total 2=0;

for(I=0;i4;i ) {

功=功* 4;

total2=工作;

}

total=total1 total2

for(I=0;i4;i ) {

base=(ans *(基准工时))/total;

}

这里有两个关键变量,一个是total1,另一个是total2,是从这段代码推测出来的:

total 1=pet trans _ getpet base(petindex 1,work,petrank);

total 2=pet trans _ getpet Base(petindex 2,base,petrank);

Total1和total2分别引入到petindex2.petindex中。不用说,两者都。。一个宠物的指针,也就是这个宠物的代号。所以至少,可以解释这两个总数,一个是人类宠物,一个是轮回宠物。

再看这句话:

for(I=0;i4;i ) {

功=功* 4;

total2=工作;

}

total=total1 total2

for(I=0;i4;i ) {

base=(ans *(基准工时))/total;

}

Base是一个int数组。经过我的研究,这个数组长4位,下标从0到3,分别。。:血、攻、防、敏。看看这段代码你就知道了:

//最终启动的车削功能

ret=GetNewPet( toindex,petindex2,I,base);

//=============

(这个base最后作为参数传递给GetNewPet。GetNewPet就不用说了,GetNewPet获得新宠物的功能。)看GetNewpet的定义。

int GetNewPet( int toindex,int petindex,int array,int *work)

{

.前面的先省略了。

work[0]=( RAND(0,4)-2);

work[1]=( RAND(0,4)-2);

work[2]=( RAND(0,4)-2);

work[3]=( RAND(0,4)-2);

///而参数work只是前面传入的基数组。

CHAR_setInt( petindex,CHAR_VITAL,(PARAM _ CAL(E _ T _ base VITAL)* work[0]);

CHAR_setInt( petindex,CHAR_STR,(PARAM _ CAL(E _ T _ BASESTR)* work[1]);

CHAR_setInt( petindex,CHAR_TOUGH,(PARAM _ CAL(E _ T _ BASETGH)* work[2]);

CHAR_setInt( petindex,CHAR_DEX,(PARAM _ CAL(E _ T _ base DEX)* work[3]);

//看,char_serInt,字面意思是character_setInital,也就是特性初始化,work[0]对应BASEVITAL,work[1]对应BASESTR,work[2]对应basetgh,work [3]对应BASEDEX。很明显,BASEVITAL就是基础血量。BASESTR是基础攻击力,BASEDEX是基础敏捷。虽然我不太明白TGH的意思,但BASETGH是防御的意思。

}

因此,base=(ans *(基功))/total;这是关键。按照这个公式,俺们越大越好,总数越小越好。为什么?再次查看获取ans的代码:

int NPC_PetTransManGetAns( int总计1,int总计2,int LV,int rank)

#endif

{

int ans=0,TransLV=100

浮动总数=0.00;

int Fx=1;

if(LV 130)LV=130;

total=((float)total 1/100);//total1=200

合计=合计*合计*合计*合计*合计*合计;

if(合计1)合计=0;

else total=total * 1.3//?总计?=41.6旅程?=0

FX=(int)((5-rank)* 1.2)5;//rank=0~6 ?程Fx?=11(秩=0)旅程?=4(排名=6)

ans=(int)total total 2((LV-TransLV)/Fx);//42 150 30/11=194

#ifdef _PET_2TRANS

if( tran==0 ){

如果(ans 150)

ans=150

}

否则{

如果(ans 200)

ans=200

}

#否则

如果(ans 150 ) {

ans=150

}

#endif

打印(' \n ans=%d 'ans);

返回ans

}

没错,等级大于130,按130计算,同时:

total=((float)total 1/100);//total1=200

合计=合计*合计*合计*合计*合计*合计;

if(合计1)合计=0;

else total=total * 1.3

这个总数=total1/100,然后=自己的4次方,就会判断是否<1。因此,如果total 1 > 100,则total=total*1.3,否则,total=0。从这里可以判断出total 1是关于人类宠物的,因为只有人类宠物的基数才会有这么明确的标准来决定转生的成败。(结合

ans=(int)total total 2((LV-TransLV)/Fx);

所以base=(ans *(基数功))/total这个公式的合计就没那么简单了,因为它同时影响分子和分母。这个我们暂时不研究,因为假设太多了。

可以肯定的是,作品[]和基数[]越大越好。基数组已经很清楚了,工作数组也是4位的,它影响total2,从下面的代码可以看出:

total 2=0;

for(I=0;i4;我)

{

功=功* 4;

total2=工作;

}

所以大胆推测,工作也。。了改变宠物四维的东西,可以结合起来确定基本宠物四维的条件。越高越好,

最后,我们再来回顾一下整个函数getnewpet (toindex,petindex2,I,base)。

int GetNewPet( int toindex,int petindex,int array,int *work)

{

int * p;

int TP[E _ T _ DATAINTNUM];

int tarray,I;

int level,workrank,petrank=0;

int LevelUpPoint

结构{

int num

浮动排名;

}ranktbl[]={

{ 130, 2.5},

{ 100, 2.0},

{ 95, 1.5},

{ 85, 1.0},

{ 80, 0.5},

{ 0, 0.0},

};

这是一个ranktbl数组。这个数组一眼就能看出是什么意思。。。的是各年级段转身时得到的排名系数。rank也是等级系数,或者能力系数,证明了前面的:

total 1=pet trans _ getpet base(petindex 1,work,petrank);

total 2=pet trans _ getpet Base(petindex 2,base,petrank);

petRank参数就是0转时的成长系数,充分证明了0转pet的成长率和MM的成长率对转弯的影响,虽然这个大家都知道。

同时也再次证明了130+的宠物在转身时最高可以得到2.5。接下来:

level=1;

#定义RAND(x,y)((x-1)1(int)((double)(y-(x-1))* RAND()/(RAND _ MAX 1.0)))

#定义E_PAR( a) (*(p (a)))

#define ET_PAR( a) (*(tp (a)))

# define PARAM _ CAL(l)((level-1)* ET _ PAR(E _ T _ LVUPPOINT)ET _ PAR(E _ T _ INITNUM))

work[0]=( RAND(0,4)-2);

work[1]=( RAND(0,4)-2);

work[2]=( RAND(0,4)-2);

work[3]=( RAND(0,4)-2);

这段代码的前半部分被注释掉了。我不知道这是什么意思。后半段讲的是一个性格问题。前面说过,工作数组,也就是基数组,。。宠物的四个周长。这里,最初的四个周长随机增加(0-4的随机数)-2。是的,可能是负面的。不然就是性格问题。这也说明了所谓的爆发式增长。

LevelUpPoint=( work[0] 24)

(工作[1] 16)

(工作[2] 8)

(作品[3]0);

CHAR_setInt( petindex,CHAR_ALLOCPOINT,level up point);

从字面上来看,变量levelUpPoint是增长的关键。我个人理解为成长。我对这个地方的理解是得到默认的增长系数。我为什么这么猜?因为接下来要做的第一件事就是把这个点给setInt,然后设置int的四个维度,下面会讲到。这里至少说明了一个问题。增长率是默认的,它在之前开始,当然是由四个维度决定的。这基本上是

这个系数怎么算?呵呵,我按照这个公式给你解释一下:

内力增长系数=(血量* 2的24次方)+(攻击* 2的16次方)+(防御* 2的8次方)+敏感度,(当然这里的血量攻防敏感度不是指纯血量攻防敏感度,否则数量极大)

所以,从这里大胆的得出一个结论,血是关键,攻是关键,防和敏是次要。这个结论其实相信大家都发现了,比如人龙。一般来说,蓝龙长得最好,红龙次之,这就是原因。然后:

for(I=0;i 10i ){

int rnt=RAND( 0,3);

if(rnt==0)work[0];

if(rnt==1)work[1];

if(rnt==2)work[2];

if(rnt==3)work[3];

}

不看又是性格问题。这段代码重复10次,然后四个圆中的一个加1,给我的感觉是在微调四个圆的分布。但是,如果我不做好这段代码,很容易造出一个很NB的物品的畸形宠物。

CHAR_setInt( petindex,CHAR_VITAL,(PARAM _ CAL(E _ T _ base VITAL)* work[0]);

CHAR_setInt( petindex,CHAR_STR,(PARAM _ CAL(E _ T _ BASESTR)* work[1]);

CHAR_setInt( petindex,CHAR_TOUGH,(PARAM _ CAL(E _ T _ BASETGH)* work[2]);

CHAR_setInt( petindex,CHAR_DEX,(PARAM _ CAL(E _ T _ base DEX)* work[3]);

这段代码就是结尾。如前所述,它初始化四个函数。因为petindex是常量,是针对同一个宠物的,而且是在getNewPet函数的末尾,就不解释了。

这基本上是整个宠物换码最关键的部分。让我总结一下:

第一个关键点,130级,在这个代码里说的很清楚。

第二个关键点是MM和pet 0的增长率,这个增长率决定了总值,虽然不清楚它们是如何工作的。

第三个关键点,字符,getNewPoint函数中的两个随机数字符码,说明了一切。当然这个性格不是算命决定的,很可惜。算命恐怕和换宠物没关系,因为我没看到有这种码。

第四个关键点,一个回合后的血量和攻击,最终代码中对周围数组的这种位移操作说明了这一点。

好啦!老铁们,如果想详细的了解!可以登录这个论坛!我是在这里找到的!

要尊重其他人的劳动成果哦!

d5873f477b904aa5b2a8344ba8c388a8~noop.image?_iz=58558&from=article.pc_detail&x-expires=1673492529&x-signature=9Hyy8cCd5M91f%2BG1FVXar47lmUI%3D

关于石器时代转宠等级更多网友观点如下

标题:石器时代宠物等级,石器时代宠物等级轮回好不好?
链接:https://www.52hkw.com/news/sypc/5173.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
海棠书屋 - 值得收藏的宝藏文学小说阅读,海棠线上文学城官方网站登录入口

海棠文学小说网站是一个非常知名的小说阅读网,但是这个网站经常会出现过期,打不开的现象,而且网址也会经常的换

2023-01-05
2022软件库合集资料网址大全

在当今数字化时代,软件已经成为人们工作、学习、生活中不可或缺的一部分。为了方便用户获取各种软件资源,许多

2023-01-05
原神二次元深夜奖励半夜史莱姆

原神是一款备受瞩目的开放世界游戏,深夜奖励和半夜史莱姆则是其中的两个元素。深夜奖励指的是在特定时间段内

2023-01-05
原神ちゃんが部下を腿法娴熟胡桃

原神中的角色胡桃是一个拥有腿法娴熟的角色,她的战斗风格主要依靠腿部攻击和闪避。在游戏中,胡桃可以通过不断

2023-01-05