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

Project1

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

[有事请教] 插件在物品里加标签 怎么检测

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
跳转到指定楼层
1
发表于 2018-5-4 16:34:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎么在使用物品的时候  检测 物品备注里有标签<>  

Lv4.逐梦者

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
帖子
583
2
发表于 2018-5-4 16:59:40 | 只看该作者
备注里的内容默认是在读取游戏时一次性解析处理的,虽然也有办法用脚本代码在运行时实时访问、修改,但在运行时修改游戏底层数据库不见得是一个好主意。
最基础的设置,如果需要改来改去的话,不如多做几个副本按需调用了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
3
 楼主| 发表于 2018-5-4 17:13:09 | 只看该作者
梦想家大魔王 发表于 2018-5-4 16:59
备注里的内容默认是在读取游戏时一次性解析处理的,虽然也有办法用脚本代码在运行时实时访问、修改,但在运 ...

我是要做一个插件  在物品里添加一个标签   然后使用物品会调用函数

点评

难道系统自带的公共事件已经满足不了你了?  发表于 2018-5-4 17:31
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33679
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2018-5-4 18:08:04 | 只看该作者
要想能比较熟练使用备注,最起码要大致了解 正则表达式 。
这不是说怎么用就能怎么用的。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3424
在线时间
461 小时
注册时间
2013-12-7
帖子
333
5
发表于 2018-5-5 11:28:35 | 只看该作者
$dataItems[n].note 是备注
$dataItems[n].meta 是备注生成的对象 ,note写法如<key:value>。

例:
备注里写<cat:miaomiao>
$dataItems[n].meta.cat 返回miaomiao
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
6
 楼主| 发表于 2018-5-5 17:23:07 | 只看该作者
本帖最后由 风之竹 于 2018-5-5 17:42 编辑
ekmomo 发表于 2018-5-5 11:28
$dataItems[n].note 是备注
$dataItems[n].meta 是备注生成的对象 ,note写法如。


这个写法我知道  $dataItems[n]数组 需要知道是物品ID的。
我现在看了一些教程 通过重写 Scene_ItemBase.prototype.determineItem的方法
代码如下

Scene_ItemBase.prototype.determineItem = function () {

        var item = this.item();

        if (item.meta.jyd) {

            _Scene_ItemBase_determineItem.call(this);
           $gameActors.actor(2).gainExp(1000);
                       
        } else {

            _Scene_ItemBase_determineItem.call(this);

        }

    };
这段代码就用 角色使用一个物品的时候 如果标签里有<jyd>那么就给角色2增加经验

否者就用原始Scene_ItemBase.prototype.determineItem

这段代码用是可以用 但是有bug  玩家用完以后 物品窗口不会消失  接着再用 加经验效果就没有了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

7
发表于 2018-5-5 17:45:15 | 只看该作者
风之竹 发表于 2018-5-5 17:23
这个写法我知道  $dataItems[n]数组 需要知道是物品ID的。
我现在看了一些教程 通过重写 Scene_ItemBase ...

加经验值,你直接在Game_Action.prototype.apply里面添加就好了啊。
有必要重写什么什么吗。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
帖子
92
8
 楼主| 发表于 2018-5-5 17:53:18 | 只看该作者
yang1zhi 发表于 2018-5-5 17:45
加经验值,你直接在Game_Action.prototype.apply里面添加就好了啊。
有必要重写什么什么吗。 ...

JAVASCRIPT 代码复制
  1. function (target) {
  2.     var result = target.result();
  3.     this.subject().clearResult();
  4.     result.clear();
  5.     result.used = this.testApply(target);
  6.     result.missed = (result.used && Math.random() >= this.itemHit(target));
  7.     result.evaded = (!result.missed && Math.random() < this.itemEva(target));
  8.     result.physical = this.isPhysical();
  9.     result.drain = this.isDrain();
  10.     if (result.idear()) {
  11.         if (this.item().damage.type > 0) {
  12.             result.critical = (Math.random() < this.itemCri(target));
  13.             var value = this.makeDamageValue(target, result.critical);
  14.             this.executeDamage(target, value);
  15.         }
  16.         this.item().effects.forEach(function(effect) {
  17.             this.applyItemEffect(target, effect);
  18.         }, this);
  19.         this.applyItemUserEffect(target);
  20.     }
  21. }


看不懂哇  这个函数撒用的?

点评

不是要你用他。这是在你攻击啊,使用技能啊,使用物品啊,之后进行计算应用。包括非战斗时。  发表于 2018-5-5 17:55
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33679
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

9
发表于 2018-5-5 18:12:27 | 只看该作者
本帖最后由 芯☆淡茹水 于 2018-5-5 18:16 编辑

这样?

  1. var _Scene_ItemBase_determineItem = Scene_ItemBase.prototype.determineItem;
  2. Scene_ItemBase.prototype.determineItem = function () {
  3.     var item = this.item();
  4.     if (item && /<jyd>/.test(item.note)) {
  5.         this.useItem();
  6.         $gameActors.actor(2).gainExp(1000);
  7.         this.activateItemWindow();
  8.     }else _Scene_ItemBase_determineItem.call(this);
  9. };
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3424
在线时间
461 小时
注册时间
2013-12-7
帖子
333
10
发表于 2018-5-5 18:43:16 | 只看该作者
大哥……你另一个帖子不是给解决方案了么……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-9 22:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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