石器道具修复之石源码上如何实现的呢

在石器时代私服里有一个道具叫修复之石,可以修复任何具有耐久度的物品。道具代码如下:

修复之石,修复之石,可修复任何可修复之道具,FIXITEMALL,,,,,,,,,,,,,1638,24063,0,16,0,0,0,-1,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1,1,1,0,石,205,,0,,0,,0,,0

在这个道具代码里有个字段参数为:FIXITEMALL。然后我们看下item_gem.c的代码看看这个修复之石的原理。


在修复这个技能的函数里:int PETSKILL_ITEM_FixItem( int charindex, int fixindex, int *itemindex)

如图所示:

1.png

我们可以看到是在材料不符这个提示上面加了一个比较是否包含FIXITEMALL的字段,如果包含该字段则会跳过修复材料不符这句话直接执行下面的语句。这样就实现了修复之石可以修复任何可修复的道具。非常简单。

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。