一:前言
这几天一直在肝某某rpg小游戏,没学习新知识,深感罪恶。到后来实在是肝不动了,只好对游戏数据开刀了。以下的内容比较新手,如果会js的大佬可以选择不看,反正你们也可以手撕(滑稽.jpg)。这几个思路有的是贴吧偷学的,有的是自己研究出来的,新手们改几个就好了,不要改太多,不然就会提前进入贤者模式了。
我试了几个游戏,发现是通用的,前提是游戏没有加密,所以你们可以尽情地去happy了。
二:思路
1.修改战斗奖励
找到assets/www/js/rpg_managers.js文件,手机用mt打开、电脑则可以用notepad3,搜索makeRewards方法,修改其中的gold金币奖励和exp经验奖励,修改如下:
BattleManager.makeRewards = function() {
this._rewards = {};
this._rewards.gold = $gameTroop.goldTotal()*1000;//1000倍金币掉落
this._rewards.exp = $gameTroop.expTotal()*500;//500倍经验
this._rewards.items = $gameTroop.makeDropItems();
};
基本上这么一改,随便打只小怪就可以在新手村横着走了,我玩的游戏在经验副本刷几次就满级了。
2.修改人物移动速度
一般来说,游戏自带的移动速度并不快,哪怕跑步开着也觉得慢,于是乎就得改移动速度,但是不要改太快哦改太快。找到assets/www/js/rpg_object.js文件,搜索Math.pow(2, this.realMoveSpeed()) / 256;,在前面加上2*,即可达到两倍速移动,修改如下:
Game_CharacterBase.prototype.distancePerFrame = function() {
return 2*Math.pow(2, this.realMoveSpeed()) / 256;
};
3.修改爆率
新的一年,别的小朋友都有神器仙衣,我不允许你没有。再肝的游戏,你都可以手撕屠龙宝刀,脚踏麻痹戒指,然后记得找达叔回收装备。找到assets/www/js/rpg_object.js文件,搜索hasDropItemDouble() ? 2 : 1;,把1改大即可提高爆率,修改如下:
Game_Enemy.prototype.dropItemRate = function() {
return $gameParty.hasDropItemDouble() ? 2 : 100;
};
4.修改只遇Boss
不得不说刷怪是一件很痛苦的事情,尤其是一些超稀有的boss,刷了几百只小怪也不见得能遇到。这个稍微麻烦点,需要添加一个开关,因为不能全是boss,小怪也有我们需要的材料。首先找到assets/www/js/rpg_window文件,搜索this.addCommand(TextManager.alwaysDash,'alwaysDash');,把下面的一行代码替换成
this.addCommand(‘只遇Boss’,‘boss’);修改如下:
Window_Options.prototype.addGeneralOptions = function() {
this.addCommand(TextManager.alwaysDash, 'alwaysDash');
this.addCommand('只遇Boss','boss'); //替换这行代码
};
接着在rpg_object.js,把var value = Math.randomInt(weightSum);替换为var value = ConfigManager.boss?weightSum-1:Math.randomInt(weightSum);完成我们修改的逻辑判断。修改如下:
if (weightSum > 0) {
var value = ConfigManager.boss?weightSum-1:Math.randomInt(weightSum); //由游戏开关传回只遇boss的逻辑
for (var i = 0; i < encounterList.length; i++) {
value -= encounterList[i].weight;
if (value < 0) {
return encounterList[i].troopId;
}
}
}
5.修改物品锁定
有时候,任务奖励了我们一个唯一的超稀有道具,但是我们又犹豫到底给哪个人物比较好。以下思路即可帮你解决这个烦恼,但是也会减少游戏的趣味性,加快进入贤者模式。同样在rpg_object.js里,搜索var newNumber = lastNumber + amount;,改成var newNumber = 99;
Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
var container = this.itemContainer(item);
if (container) {
var lastNumber = this.numItems(item);
var newNumber = 99; //锁定物品数量为99
container[item.id] = newNumber.clamp(0, this.maxItems(item));
if (container[item.id] === 0) {
delete container[item.id];
}
if (includeEquip && newNumber < 0) {
this.discardMembersEquip(item, -newNumber);
}
$gameMap.requestRefresh();
}
};
当然也可以在下面的loseItem方法里把-amount改成+amount形成购买反加的效果(不建议,因为会导致物品无法出售,当然也可以做两个安装包,需要的时候再覆盖安装即可。修改如下:
Game_Party.prototype.loseItem = function(item, amount, includeEquip) {
this.gainItem(item, +amount, includeEquip);
};
三:最后
以上便是我这几天玩出来的心得,写得很一般,欢迎大佬斧正。大伙乐乐就行,该肝还是得肝。
最后,新的一年,祝各位坛友健健康康、万事如意,也祝吾爱越来越好。
溜了溜了。
对了,再送一个好东西,可以不需要以上的步奏,直接修改存档数据:https://www.saveeditonline.com/
PS:不一定有人知道,但是如果知道我玩的是什么游戏的好兄弟,如果会改了,请不要到官方群装b,低调使用就好。