设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2934|回复: 2
打印 上一主题 下一主题

[已经解决] 请问这个随机生成人物的脚本怎么用?

[复制链接]

Lv2.观梦者

梦石
0
星屑
327
在线时间
187 小时
注册时间
2016-4-12
帖子
35
跳转到指定楼层
1
发表于 2016-7-12 18:19:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 余烬之中 于 2017-6-16 19:58 编辑

JAVASCRIPT 代码复制
  1. //=============================================================================
  2. // SAN_ActorGenerator.js
  3. //=============================================================================
  4. // Copyright (c) 2015 Sanshiro
  5. // Released under the MIT license
  6. // [url]http://opensource.org/licenses/mit-license.php[/url]
  7. //=============================================================================
  8.  
  9. /*:
  10.  * @plugindesc SAN_ActorGenerator ver1.00
  11.  * Generate actor by script command.
  12.  * @author Sanshiro [url]https://twitter.com/rev2nym[/url]
  13.  *
  14.  * @help
  15.  * This plugin generate actor that specified actor ID by script command.
  16.  * To use each script command (function), show ActorGenerator class comment.
  17.  * To use other that isn't implemented on this plugin, please make up
  18.  * with event commands.
  19.  *
  20.  * There is no plugin parameters, no plugin commands.
  21.  *
  22.  * It's possible to commercial use, distribute, and modify under the MIT license.
  23.  * But, don't eliminate and don't alter a comment of the beginning.
  24.  * If it's good, please indicate an author name on credit.
  25.  *
  26.  * Author doesn't shoulder any responsibility in all kind of damage by using this.
  27.  * And please don't expect support. X(
  28.  */
  29.  
  30. /*:ja
  31.  * @plugindesc アクター生成 ver1.00
  32.  * スクリプトコマンドによりアクターを生成します。
  33.  * @author サンシロ [url]https://twitter.com/rev2nym[/url]
  34.  * @version 1.00 2015/12/27 公開
  35.  *
  36.  * @help
  37.  * スクリプトコマンドにより指定したアクターIDのアクターを生成します。
  38.  * 各スクリプトコマンド(関数)はActorGeneratorクラスのコメントを参照してください。
  39.  * このプラグインに実装されていない機能はイベントコマンドで補ってください。
  40.  *
  41.  * プラグインパラメータ、プラグインコマンドはありません。
  42.  *
  43.  * MITライセンスのもと、商用利用、改変、再配布が可能です。
  44.  * ただし冒頭のコメントは削除や改変をしないでください。
  45.  * よかったらクレジットに作者名を記載してください。
  46.  *
  47.  * これを利用したことによるいかなる損害にも作者は責任を負いません。
  48.  * サポートは期待しないでください><。
  49.  */
  50.  
  51. var Imported = Imported || {};
  52. Imported.SAN_ActorGenerator = true;
  53.  
  54. var Sanshiro = Sanshiro || {};
  55. Sanshiro.ActorGenerator = Sanshiro.ActorGenerator || {};
  56.  
  57. //-----------------------------------------------------------------------------
  58. // ActorGenerator
  59. //
  60. // アクター生成クラス
  61.  
  62. function ActorGenerator() {}
  63.  
  64. ActorGenerator._actorIdLastGenerated = undefined;
  65.  
  66. // Generate actor
  67. // アクター生成
  68. // baseActorId: Base actor's ID
  69. //              生成のベースになるアクターのアクターID
  70. // newActorId:  Generated actor's ID (can omission)
  71. //              生成されたアクターのアクターID(省略可)
  72. ActorGenerator.generateActor = function(baseActorId, newActorId) {
  73.         if(newActorId === undefined) {
  74.                 for (newActorId = $dataActors.length; !!$gameActors.data()[newActorId]; newActorId++);
  75.         }
  76.         if (!$gameActors.data()[newActorId]) {
  77.                 $gameActors.data()[newActorId] = new Game_Actor(baseActorId);
  78.                 $gameActors.data()[newActorId].setActorId(newActorId);
  79.                 this._actorIdLastGenerated = newActorId;
  80.         } else {
  81.                 this._actorIdLastGenerated = undefined;
  82.         }
  83. };
  84.  
  85. // Last generated actor's ID
  86. // 最後に生成されたアクターのアクターID
  87. ActorGenerator.actorIdLastGenerated = function() {
  88.         return this._actorIdLastGenerated;
  89. };
  90.  
  91. // Actor ID by party index
  92. // パーティ順番によるアクターIDの取得
  93. ActorGenerator.actorIdByPartyIndex = function(index) {
  94.         return $gameParty.allMembers()[index].actorId();
  95. };
  96.  
  97. // Add actor to party
  98. // アクターのパーティ加入
  99. ActorGenerator.changePartyMemberAdd = function(actorId) {
  100.         $gameParty.addActor(actorId);
  101. };
  102.  
  103. // Remove actor to party
  104. // アクターのパーティ除外
  105. ActorGenerator.changePartyMemberRemove = function(actorId) {
  106.         $gameParty.removeActor(actorId);
  107. };
  108.  
  109. // Change actor's equipment
  110. // アクターの装備変更
  111. ActorGenerator.changeEquipment = function(actorId, etypeId, itemId) {
  112.         $gameActors[actorId].changeEquipById(etypeId, itemId);
  113. };
  114.  
  115. // Change actor's name
  116. // アクターの名前変更
  117. ActorGenerator.changeName = function(actorId, name) {
  118.         $gameActors[actorId].setName(name);
  119. };
  120.  
  121. // Change actor's class
  122. // アクターの職業変更
  123. ActorGenerator.changeClass = function(actorId, classId, keepExp) {
  124.         $gameActors[actorId].changeClass(classId, keepExp);
  125. };
  126.  
  127. // Change actor's nickname
  128. // アクターのニックネーム変更
  129. ActorGenerator.changeNickname = function(actorId, nickname) {
  130.         $gameActors[actorId].setNickname(nickname);
  131. };
  132.  
  133. // Change actor's profile
  134. // アクターのプロフィール変更
  135. ActorGenerator.changeProfile = function(actorId, profile) {
  136.         $gameActors[actorId].setProfile(profile);
  137. };
  138.  
  139. // Change actor's face image
  140. // アクターの顔画像変更
  141. ActorGenerator.changeFaceImage = function(actorId, faceName, faceIndex) {
  142.         $gameActors[actorId].setFaceImage(faceName, faceIndex);
  143. };
  144.  
  145. // Change actor's walking character image
  146. // アクターの歩行キャラ画像変更
  147. ActorGenerator.changeCharacterImage = function(actorId, characterName, characterIndex) {
  148.         $gameActors[actorId].setCharacterImage(characterName, characterIndex);
  149. };
  150.  
  151. // Change actor's battler image
  152. // アクターの戦闘キャラ画像変更
  153. ActorGenerator.changeBattlerImage = function(actorId, battlerName) {
  154.         $gameActors[actorId].setBattlerImage(battlerName);
  155. };
  156.  
  157. //-----------------------------------------------------------------------------
  158. // Game_Actors
  159. //
  160. // アクターズクラス
  161.  
  162. // アクターズクラスのアクター(エイリアス元でアクターオブジェクト生成)
  163. Sanshiro.ActorGenerator.Game_Actors_actor = Game_Actors.prototype.actor;
  164. Game_Actors.prototype.actor = function(actorId) {
  165.         if (!!this._data[actorId]){
  166.                 return this._data[actorId];
  167.         }
  168.         return Sanshiro.ActorGenerator.Game_Actors_actor.call(this, actorId);
  169. };
  170.  
  171. // アクターズクラスのアクターのリスト
  172. Game_Actors.prototype.data = function() {
  173.         return this._data;
  174. };
  175.  
  176. //-----------------------------------------------------------------------------
  177. // Game_Actor
  178. //
  179. // アクタークラス
  180.  
  181. // アクタークラスの初期化
  182. Sanshiro.ActorGenerator.Game_Actor_initialize = Game_Actor.prototype.initialize;
  183. Game_Actor.prototype.initialize = function(actorId) {
  184.     this._dataActorId = actorId;
  185.         Sanshiro.ActorGenerator.Game_Actor_initialize.call(this, actorId);
  186. };
  187.  
  188. // アクタークラスのデータベースのデータ
  189. Game_Actor.prototype.actor = function() {
  190.     return $dataActors[this._dataActorId];
  191. };
  192.  
  193. // アクタークラスのアクターIDの設定
  194. Game_Actor.prototype.setActorId = function(actorId) {
  195.         this._actorId = actorId;
  196. };

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2016-7-12 23:24:46 | 只看该作者
使用这个就可以创建newactorid 的人物为 一个 基于 baseactorid 人物 的 人物
ActorGenerator.generateActor(baseActorId, newActorId)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
327
在线时间
187 小时
注册时间
2016-4-12
帖子
35
3
 楼主| 发表于 2016-7-13 00:15:39 | 只看该作者
汪汪 发表于 2016-7-12 23:24
使用这个就可以创建newactorid 的人物为 一个 基于 baseactorid 人物 的 人物
ActorGenerator.generateAct ...

{:2_263:} 为何用了没反应,复制baseactorid的角色完全没有复制,还是原本的数据
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-24 10:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表