江湖梦网游戏服务平台

 找回密码
 免费注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 20736|回复: 42

[原创发布] 常用的一些全局变量操作与判断脚本

[复制链接]

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2018-12-20 16:16 | 显示全部楼层 |阅读模式

马上注册,享用更多精彩。

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

x
重置所有独立开关的脚本:

因为有开发者问到,翻了一下源生脚本,找到以下代码可实现,立帖记录。

$gameSelfSwitches.clear();
$gameMap.requestRefresh();

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2018-12-26 13:57 | 显示全部楼层
查询队伍中的最高等级:
先定义一个方法:

Game_Party.prototype.maxlevel=function(){
var maxlevel=$gameParty.members()[0].level;
for(j=1;j<$gameParty._actors.length;j++){
  if($gameParty.members()[j].level>maxlevel){
   maxlevel=$gameParty.members()[j].level;
  }
}
return maxlevel;
}
再用这个赋值给变量:
$gameParty.maxlevel()
捕获.JPG

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2018-12-26 14:01 | 显示全部楼层
获取某个角色所装备武器的ID:
$gameActors.actor(1).weapons()[0].id
获取某个角色所装备防具的ID:
$gameActors.actor(1).armors()[0].id
判断某个角色是否装备了某个ID的武器:
$gameActors.actor(1).equips().contains($dataWeapons[1])
或:

$gameActors.actor(1).isEquipped($dataWeapons[1])
判断某个角色是否装备了某个ID的防具:
$gameActors.actor(1).equips().contains($dataArmors[1])
或:

$gameActors.actor(1).isEquipped($dataArmors[1])



1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2018-12-27 10:17 | 显示全部楼层
随机获取物品:
使用一个变量,如变量16,先将变量赋值随机数,然后执行下面脚本,
$gameParty.gainItem($dataWeapons[$gameVariables.value(16)], $gameVariables.value(16), true); //随机数量的随机武器
$gameParty.gainItem($dataArmors[$gameVariables.value(16)], $gameVariables.value(16), true); //随机数量的随机防具
$gameParty.gainItem($dataItems[$gameVariables.value(16)], $gameVariables.value(16), true); //随机数量的随机物品

18

帖子

0

精华

0

贡献

江湖散人

Rank: 2Rank: 2

积分
174
发表于 2019-1-4 10:16 | 显示全部楼层
这个好~~~学习了~

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2019-1-4 11:30 | 显示全部楼层
还是有人用的,继续,更新个判断物品数量的:
if ($gameParty.numItems($dataWeapons[武器ID]) > 2) {...}
if ($gameParty.numItems($dataArmors[防具ID]) > 3) {...}
if ($gameParty.numItems($dataItems[物品ID]) > 4) {...}

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2019-1-4 11:32 | 显示全部楼层
获取角色当前总经验:
$gameActors.actor(角色库ID).currentExp()
$gameParty.members()[队伍ID].currentExp()
如果是要扣除前一等级经验的得自行减去,
下面是升级到当前等级所消耗的总经验:
$gameActors.actor(角色库ID).expForLevel($gameActors.actor(角色库ID).level)
$gameParty.members()[队伍ID].expForLevel($gameParty.members()[队伍ID].level)

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2019-1-8 22:35 | 显示全部楼层
我用了一年多的自动存档,突然取消不用了,记录一下吧:
$gameSystem.onBeforeSave();
DataManager.saveGame(1);  //括号里填写存档文件序号
捕获.JPG
不建议做定时自动存档,因为会当有并行事件在运行时会失败,还会增加内存拖慢游戏。
建议做定点存档,就是触发询问存不存档那种。

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2019-1-9 13:37 | 显示全部楼层
记录一下,启用计时器时不想显示数字的方法,在启用计时器前运行下面脚本:
Sprite_Timer.prototype.updateVisibility = function() {this.visible = false;};

1

帖子

13

精华

124

贡献

管理员

狮子王

Rank: 13Rank: 13Rank: 13

积分
105815

突出贡献荣誉管理论坛元老

QQ
发表于 2019-1-19 21:54 | 显示全部楼层
再记录一个返回持有数:
$gameParty.numItems($dataItems[id]);
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|手机版|Archiver|小黑屋|江湖梦网 ( 粤ICP备18126133号-1 )

GMT+8, 2024-12-5 10:14 , Processed in 0.281284 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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