石器技术教程 第2页

让四大魔兽的技能恢复使用次数限制

在石器时代SF里魔兽在一场战斗限制使用次数的这部分代码是有的,但最后出于一些考虑最后修改成效果三回合。但可以无限次的使用。那么我们就尝试修改源码改成限次的好了,虽然没什么卵用,但可以作为参考写给其他技能。1、打开pet_skill.c2、找到intPETSKILL_SetMagicPet(intcharaindex,inttoNo,intarray,char*data)3、然后...

修改pet_skill.c源码禁止精工叠加物品

  在石器时代里老版本没有叠加功能,所以没问题,但在高版本里有了物品叠加功能,在精工的时候可以对着叠加的物品进行精工,这样就存在这BUG。那么我们就修复一下。1、打开pet_skill.c2、搜索intPETSKILL_Inslay(intindex,inttoNo,intarray,char*data)3、往下拉找到“精工每次只能选择四个物品。“字样在上面...

battle_event.c代码里增加禁止逃跑的地图

从09石器的代码里禁止逃跑是从battle_command.c的voidBattleCommandDispach(intfd,char*command)函数里加禁止逃跑的代码,但这样做很容易出现卡在战斗中不动,我们应该从逃跑函数中入手,下面我教大家1、打开battle_event.c2、搜索BOOLBATTLE_Escape(intbattleindex,intattackN...

用石器LUA生成的随机数

无论在任何应用当中都会使用随机数,就算在石器时代SF里也不例外,很多我们用到比如随机坐标点,随机奖励,随机怪物,随机属性等。但是通过使用math.random(x)函数出来的随机数会有规律,非常不理想,视作为伪随机数。因此我们可以在lua里加入math.randomseed(os.time())这个随机种子。但还是存在着问题,也不是很不理想,为什么这么说呢?因为随机种子是以秒的单位来随机,要知道石...

让石器的LUA支持中文变量

目前石器时代SF的服务端和客户端都用的是LUA5.1.4的引擎,但LUA并不支持中文变量,这里只需要稍微修改一下,即可让LUA支持中文变量,同时再把接口加入中文支持,完完全全可以像E语言那样进行LUA脚本编写,非常方便。同时可以让新手易学。1、搜索下列代码:        else if (isal...

让石器会丢弃消失的物品显示不同颜色

在石器时代默认的情况下,丢弃消失的道具和普通道具颜色都是白色的,这样就无法分辨道具是否可丢弃,为此需要修改下代码即可实现丢弃消失的道具为不同颜色。1、打开item.c2、搜索char* ITEM_makeItemStatusString(inthaveitemindex,intitemindex)在这个函数内往下拉3、看到if(ITEM_getInt(itemindex,...

写一个战后获得石币的ABLUA功能

这里必须要说明一下,早期的战后LUA接口是可以判断PVE和PVP的,后期有开发者把这个接口直接改成了PVP的战后接口,这样就导致了没办法判断PVE了。这里只是教大家如何在战后如何处理。1、打开battlefinishfunction.lua,这个是必要LUA2、在BattleFinishFunction函数内添加如下代码:[functionBattleFinishFunction(charai...

石器enemy1.txt文件详解

萨登,at:2;4;4|gu:0|es:0|rn:|wa:3;2;1;2;0;0;0;,tn:2|wp:60307;15;18,(略)红字部分是该怪物在战斗时的AI设定(任务中的战斗AI、野外遇敌时的AI)绿字部分是该怪物在战斗"进行中"的传送设定,目前只有看到萨登使用 "at"/*普通攻击设定,有3个数字可以设定,at:[0];[1];[2]...

石器encount.txt说明

1indexencount中的编号2floor地图编号3x1遭遇范围起始的X座标4y1遭遇范围起始的Y座标5x2遭遇范围结束的X座标6y2遭遇范围结束的Y座标7encountprob_min遭遇的最小机率8encountprob_max遭遇的最大机率9enemymaxnum遇敌的数量(1~10)10zorder同一地图上如果有多个encount设定,本项越大...