ハードコア001 2024/05/15 15:40

誰でも簡単にchatGPTで、RPGツクールMZのプラグインが作れるようになった

はじめに

前にもchatGPTで、RPGツクールのプラグインのソースコードを書いてもらおうとしていたのですが、RPGツクールに適応した形で書いてくれなくて、プラグインとして使うことが出来ませんでした。

ですが、この前GPT4oになって、ちゃんとRPGツクールMZでプラグインとして使える形でソースコードを書いてくれるようになりました。

しかもやり方までちゃんと説明してくれて、あれを追加して、ああして、とお願いをすれば、文句を言わずに、せっせとコードを書いてくれます。



戦闘を一瞬で終わらせるプラグインを作ってもらう

ここには映っていませんが、一番はじめに「RPGツクールMZのプラグインのソースコードを書いて」と書いています。



/:
@target MZ
@plugindesc 戦闘を自動で行い、すぐに終わらせるプラグインです。
@help
このプラグインは戦闘を開始すると自動で敵を全滅させ、戦闘を終了します。

使用方法:
プラグイン管理でこのプラグインを有効にするだけで機能します。
*/

(() => {

// BattleManagerのstartBattleメソッドをオーバーライド
const _BattleManager_startBattle = BattleManager.startBattle;
BattleManager.startBattle = function() {
    _BattleManager_startBattle.call(this);
    this.autoEndBattle();
};

// 戦闘を自動で終了するメソッド
BattleManager.autoEndBattle = function() {
    // 全ての敵のHPを0に設定
    $gameTroop.members().forEach(enemy => {
        enemy.setHp(0);
    });

    // 戦闘終了処理を呼び出す
    this.processVictory();
};

})();



こんな感じで、一瞬でソースコードを書いてくれて、説明をしてくれます。



プラグインの改良をお願いする

このままだと、いつも戦闘が自動で終了してしまうので、プラグインコマンドで管理できるようにしてもらいます。


/:
@target MZ
@plugindesc 戦闘を自動で行い、すぐに終わらせる機能をプラグインコマンドで管理できるプラグインです。
@command enableAutoEndBattle
@text 自動戦闘終了を有効にする
@desc 戦闘を自動で終了する機能を有効にします。

@command disableAutoEndBattle
@text 自動戦闘終了を無効にする
@desc 戦闘を自動で終了する機能を無効にします。

@help
このプラグインは戦闘を開始すると自動で敵を全滅させ、戦闘を終了する機能を提供します。
プラグインコマンドを使って、この機能を有効/無効にできます。

プラグインコマンド:
- enableAutoEndBattle: 自動戦闘終了を有効にします。
- disableAutoEndBattle: 自動戦闘終了を無効にします。
*/

(() => {

let autoEndBattleEnabled = false;

PluginManager.registerCommand('AutoEndBattleWithCommand', 'enableAutoEndBattle', () => {
    autoEndBattleEnabled = true;
});

PluginManager.registerCommand('AutoEndBattleWithCommand', 'disableAutoEndBattle', () => {
    autoEndBattleEnabled = false;
});

const _BattleManager_startBattle = BattleManager.startBattle;
BattleManager.startBattle = function() {
    _BattleManager_startBattle.call(this);
    if (autoEndBattleEnabled) {
        this.autoEndBattle();
    }
};

BattleManager.autoEndBattle = function() {
    $gameTroop.members().forEach(enemy => {
        enemy.setHp(0);
    });
    this.processVictory();
};

})();



実装してみた



ちゃんと実行されています。



注意事項

無料プランだと、GPT4oは回数制限があって、すぐに使えなくなってしまいます。
※今は有料プランでも回数制限があります。

時間が経てば使用回数が回復するみたいですが、プラグインに機能を色々追加したり、色々試したりする余裕はありません。

本格的に使うには、有料プランじゃないとキツイと思います。



さらに近付く凡人が才能ある人と同じことが出来る時代

なんの努力もせず、礼儀も遠慮もなく、chatGPTに命令するだけで、簡単にRPGツクールMZのプラグインが作れました。

今はまだお金が必要ですが、たぶん、どんどん新しいバージョンが出てくるので、gpt4oが古くなって無料で提供されるようになると思います。

技術革新のおかげで、何度もプログラムに挑戦しては挫折してきた凡人が、才能のある人たちと同じように、自分で考えたプラグインを作れる時代になりました。

この調子で、どんどん技術が進歩し、誰でも自分の作りたいモノが作れる時代が来るんじゃないかと思います。



追記

今のプラグインだと、戦闘が始まると同時に敵のHPが0になって、戦闘に勝利したことになってしまっています。

戦闘を自動で行ってもらって、強い敵には負けてもらいたいので、確実に戦闘に勝利するのは、僕が思っていたのとは違います。

修正が必要ですが、使用制限でもうgpt4oが使えません。

詳細まで条件を指定しないと、こういうことになるようです。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索