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

Project1

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

[已经解决] 脚本中的默认属性

[复制链接]

Lv1.梦旅人

梦石
0
星屑
138
在线时间
304 小时
注册时间
2014-4-11
帖子
419
跳转到指定楼层
1
发表于 2016-6-19 11:05:28 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x

我想在一段代码里面加上这一段自定义内容
  1. * @param 称号变量
  2. * @desc 用来判断称号的过度变量
  3. * @default 1
复制代码
求解如何加进去
我在其他脚本里找到的是这样的语句 可是没有其他什么定义 一头雾水
  1.     var scrollXVariableId = Number(parameters['Scroll X Variable ID'] || 0);
  2.     var scrollYVariableId = Number(parameters['Scroll Y Variable ID'] || 0);
复制代码
附上需要加默认设置的代码部分
  1. var JH_ArrOfName=new Array("一","二","三","四","五","六","七","八","九","error")

  2. JH_Friendship = function(x){
  3.        
  4.         if ($gameVariables._data[x] == 0){
  5.                 $gameVariables._data[42] = JH_ArrOfName[0];
  6.         }else if($gameVariables._data[x] <25){
  7.                 $gameVariables._data[42] = JH_ArrOfName[1];
  8.         }else if($gameVariables._data[x] <50){
  9.                 $gameVariables._data[42] = JH_ArrOfName[2];
  10.         }else if($gameVariables._data[x] <100){
  11.                 $gameVariables._data[42] = JH_ArrOfName[3];
  12.         }else if($gameVariables._data[x] <200{
  13.                 $gameVariables._data[42] = JH_ArrOfName[4];
  14.         }else if($gameVariables._data[x] <400){
  15.                 $gameVariables._data[42] = JH_ArrOfName[5];
  16.         }else if($gameVariables._data[x] <800){
  17.                 $gameVariables._data[42] = JH_ArrOfName[6];
  18.         }else if($gameVariables._data[x] <1600){
  19.                 $gameVariables._data[42] = JH_ArrOfName[7];
  20.         }else if($gameVariables._data[x] <3200){
  21.                 $gameVariables._data[42] = JH_ArrOfName[8];
  22.         }else if($gameVariables._data[x] <6400){
  23.                 $gameVariables._data[42] = JH_ArrOfName[9];
  24.         }else if($gameVariables._data[x] <9999){
  25.                 $gameVariables._data[42] = JH_ArrOfName[10];
  26.         }else{
  27.                 $gameVariables._data[42] = JH_ArrOfName[11];
  28.         }
  29.        
  30.         if($gameVariables._data[x] >= 9999){
  31.                 $gameVariables._data[x] = 9999;
  32.                 $gameVariables._data[42] = arr[10];
  33.         }
  34. }
复制代码
另问:
1、这段代码是想判断一个变量显示出相应的文本
  我是想在message里显示 这样写的话要先调用方法 然后显示文章的时候写 \v[x]:\v[y] 才能显示出 变量值:对应文本
  有没有更好的思路可以用更少的事件输入来实现这个内容?

2、因为想要显示在文章中 所以文本内容也赋值给了游戏内的变量 有没有办法能在文章显示中显示出非游戏内变量 ?(这样可以省一个变量)

点评

补充一下 是42号变量想要变成自定义变量  发表于 2016-6-19 11:06
人生是一场漫长的自杀。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
帖子
81
4
发表于 2016-6-19 17:16:26 | 只看该作者

这....
好吧,我们来看看rpg_managers.js中相关的节选片段。

JAVASCRIPT 代码复制
  1. //-----------------------------------------------------------------------------
  2. // PluginManager
  3. //
  4. // The static class that manages the plugins.
  5.  
  6. function PluginManager() {
  7.     throw new Error('This is a static class');
  8. }
  9.  
  10. PluginManager._path         = 'js/plugins/';           /* 变量是 字符串 */
  11. PluginManager._scripts      = [];                            /* 变量是 数组 */
  12. PluginManager._errorUrls    = [];                          /* 变量是 数组 */
  13. PluginManager._parameters   = {};                      /* 变量是 obj (此处暂且看作一个哈希表吧) */
            

调用字符串变量直接用就是了。
调用数组变量要带数组编号。
要提取MV的这个“哈希表”中的某值,
以 PluginManager._parameters   = {};
为例,假设
PluginManager._parameters   = { 'abc' : 123 };

要提取出这个(对应 abc 的) 123,MV中提供了 2 种方式 :
1、var 变量 = PluginManager._parameters['abc'] ;
2、var 变量 = PluginManager._parameters.abc

当然,假如有生效的插件存在,
那么原 PluginManager._parameters   = {}
中会被压入的插件数据() 在
<script type="text/javascript" src="js/plugins.js"></script>
标签创建之后,就肯定不会是 abc : 123 这么客气了。
必定还内嵌其他,层层叠叠;
只是这剩下的事宜,
就只能留待楼主花点心思去调试、寻找答案了。
F8 凑合着看还是可以的,虽然断点和单步调试很不方便....

aaa.PNG (14.99 KB, 下载次数: 25)

aaa.PNG

点评

十分感谢  发表于 2016-6-20 09:55

评分

参与人数 1梦石 +2 收起 理由
余烬之中 + 2 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
138
在线时间
304 小时
注册时间
2014-4-11
帖子
419
3
 楼主| 发表于 2016-6-19 15:31:12 | 只看该作者
@在野月光
感谢回答 不知道我写的对不对 模仿了ItemBook
然后想问一下 “插件参数来自”和“用于插件内的变量”的书写方式和概念理解
  1. var JH_ArrOfName=new Array("一","二","三","四","五","六","七","八","九","error")

  2. var parameters = PluginManager.parameters('JH_Friendship');
  3. var NameVar = Number(parameters['称号变量'] || 1);
  4.        

  5. JH_Friendship = function(x){
  6.        
  7.         if ($gameVariables._data[x] == 0){
  8.                 $gameVariables._data[NameVar] = JH_ArrOfName[0];
  9.         }else if($gameVariables._data[x] <25){
  10.                 $gameVariables._data[NameVar] = JH_ArrOfName[1];
  11.         }else if($gameVariables._data[x] <50){
  12.                 $gameVariables._data[NameVar] = JH_ArrOfName[2];
  13.         }else if($gameVariables._data[x] <100){
  14.                 $gameVariables._data[NameVar] = JH_ArrOfName[3];
  15.         }else if($gameVariables._data[x] <200{
  16.                 $gameVariables._data[NameVar] = JH_ArrOfName[4];
  17.         }else if($gameVariables._data[x] <400){
  18.                 $gameVariables._data[NameVar] = JH_ArrOfName[5];
  19.         }else if($gameVariables._data[x] <800){
  20.                 $gameVariables._data[NameVar] = JH_ArrOfName[6];
  21.         }else if($gameVariables._data[x] <1600){
  22.                 $gameVariables._data[NameVar] = JH_ArrOfName[7];
  23.         }else if($gameVariables._data[x] <3200){
  24.                 $gameVariables._data[NameVar] = JH_ArrOfName[8];
  25.         }else if($gameVariables._data[x] <6400){
  26.                 $gameVariables._data[NameVar] = JH_ArrOfName[9];
  27.         }else if($gameVariables._data[x] <9999){
  28.                 $gameVariables._data[NameVar] = JH_ArrOfName[10];
  29.         }else{
  30.                 $gameVariables._data[NameVar] = JH_ArrOfName[11];
  31.         }
  32.        
  33.         if($gameVariables._data[x] >= 9999){
  34.                 $gameVariables._data[x] = 9999;
  35.                 $gameVariables._data[NameVar] = arr[10];
  36.         }
  37. }
复制代码
人生是一场漫长的自杀。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
帖子
81
2
发表于 2016-6-19 14:02:39 | 只看该作者


假设这些参数所在的插件名为: ABC . js
那么就有:
var 插件参数来自 = PluginManager.parameters('ABC');
var 用于插件内的变量 = Number(插件参数来自 . 称号变量) || 1 ;

上述代码中,请自行将 中文字改为英文字(自己能看明白的英文就可)。
关于 PluginManager.parameters 的描述请参阅 rpg_managers . js
由于原文中出现了  * @default 1 ,
所以后面调用了Number 将字符串转换为数字再赋给变量,
若原文并不需要用到数字,可去掉 Number( ) 。

点评

看了rpg_managers.js 没有看懂 =..=  发表于 2016-6-19 15:34
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 02:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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