简易藏宝图插件
将代码复制粘贴到txt文本中,然后改成Treasure.js就可以了。这个插件可以设置多个藏宝图,为每一个藏宝图设置对应的地图坐标。
奖励和概率之类的就在公共事件里自己设置,弄好之后在物品的效果那把这个公共事件添加上就行,物品记得设置成非消耗品。
最后说一句AI牛逼,有时间继续让AI完善这个插件,比如把奖励的概率啥的都弄在插件里。
JAVASCRIPT 代码
//=============================================================================
// RPG Maker MZ -
//=============================================================================
/*:
* @target MZ
* @plugindesc 简单的藏宝图插件,检查队伍与指定坐标是否重叠,重叠则获得奖励,奖励需要在公共事件中添加对应的事件即可。
* @author A.I
* @url
* @orderAfter
* @plugindesc 检查队伍与指定坐标是否重叠
* @param treasures
* @text 藏宝图信息
* @type struct[]
* @desc 指定藏宝图的信息(地图ID、X轴和Y轴,以及物品ID)。
* @default ["{\"mapID\": \"1\",\"x\": \"5\",\"y\": \"10\",\"itemID\": \"1\"}","{\"mapID\": \"2\",\"x\": \"20\",\"y\": \"15\",\"itemID\": \"2\"}","{\"mapID\": \"3\",\"x\": \"10\",\"y\": \"5\",\"itemID\": \"3\"}","{\"mapID\": \"4\",\"x\": \"15\",\"y\": \"20\",\"itemID\": \"4\"}","{\"mapID\": \"5\",\"x\": \"25\",\"y\": \"30\",\"itemID\": \"5\"}"]
*
* @help Treasure.js
*
* 简易藏宝图插件
* 检查队伍与指定坐标是否重叠,如果是则获得奖励。
* 奖励内容和概率在公共事件中设置,物品设置为非消耗品。
*
*/
(function(){
var parameters = PluginManager.parameters('Treasure');
var treasures = JSON.parse(parameters['treasures'] || "[]");
var _Scene_Item_useItem = Scene_Item.prototype.useItem;
Scene_Item.prototype.useItem = function(){
_Scene_Item_useItem.call(this);
for(var i = 0; i < treasures.length; i++){
var treasure = JSON.parse(treasures);
if(this.item() === $dataItems && $gameMap.mapId() === Number(treasure.mapID)){
if($gamePlayer.x === Number(treasure.x) && $gamePlayer.y === Number(treasure.y)){
//$gameParty.gainGold(100);
$gameParty.gainItem($dataItems, -1);
$gameMessage.add('你发现了宝藏!');
}elseif($gamePlayer.x < Number(treasure.x) && $gamePlayer.y < Number(treasure.y)){
$gameMessage.add('向右下一些');
}elseif($gamePlayer.x < Number(treasure.x) && $gamePlayer.y > Number(treasure.y)){
$gameMessage.add('向右上一些');
}elseif($gamePlayer.x > Number(treasure.x) && $gamePlayer.y < Number(treasure.y)){
$gameMessage.add('向左下一些');
}elseif($gamePlayer.x > Number(treasure.x) && $gamePlayer.y > Number(treasure.y)){
$gameMessage.add('向左上一些');
}elseif($gamePlayer.x === Number(treasure.x) && $gamePlayer.y < Number(treasure.y)){
$gameMessage.add('向下一些');
}elseif($gamePlayer.x === Number(treasure.x) && $gamePlayer.y > Number(treasure.y)){
$gameMessage.add('向上一些');
}elseif($gamePlayer.y === Number(treasure.y) && $gamePlayer.x < Number(treasure.x)){
$gameMessage.add('向右一些');
}elseif($gamePlayer.y === Number(treasure.y) && $gamePlayer.x > Number(treasure.x)){
$gameMessage.add('向左一些');
}
return;
}
}
$gameMessage.add('宝藏不在这个地图');
};
})();
本帖来自P1论坛作者中二幻者,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=493335若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]