查看: 4460|回复: 8

[已经解决] 求教怎样使得物品职业限定使用

[复制链接]
梦石
0
星屑
60
在线时间
35 小时
注册时间
2014-3-9
回帖
18
发表于 2016-10-5 21:03:30 | 显示全部楼层 |阅读模式

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

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

×
做了个技能书系统,想要实现法师的技能书只有法师能用而战士不能用,怎么能做到这点?求教。
梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
回帖
81
发表于 2016-10-6 14:47:07 | 显示全部楼层
本帖最后由 在野月光 于 2016-10-7 07:15 编辑

给技能书添加职业属性,
比如:
技能书1.可用职业范围内的职业id = 1;
然后,
var n = 技能书1.可用职业范围内的职业id;
var 指定角色的职业判断 = $gameActors.actor(角色id).isClass($dataClasses[n]);
或
var 队长的职业判断 = $gameParty.leader().isClass($dataClasses[n]);

aaa1.png

aaa2.png
回复

使用道具 举报

梦石
0
星屑
60
在线时间
35 小时
注册时间
2014-3-9
回帖
18
 楼主| 发表于 2016-10-6 19:55:43 | 显示全部楼层
在野月光 发表于 2016-10-6 14:47
给技能书添加职业属性,
比如:
技能书1.可用职业范围内的职业id = 1;

表示不是很懂,这个是写在技能书这个道具的注释里么?还是写一个公共事件,在技能书的效果里添加公共事件?求给范例
回复

使用道具 举报

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
回帖
81
发表于 2016-10-7 09:13:59 | 显示全部楼层
[pre lang="javascript" line="1"]
Scene_ItemBase.prototype.canUse = function() {
        /*检测道具库中是否有物品*/
        if(this.item() ){
               
                /*如果物品存在就提取物品(信息)*/
                var t = this.item();
               
                /*初始化自定义的职业ID*/
                var n = 0;
               
                /*提取并分割物品注释*/
                var c = t.note.split('\n')
               
                /*遍历注释*/
                for(var i = 0; i < c.length; i++){
                       
                        /*检查匹配条件*/
                        if(/^\d+$/.test(c) ){
                               
                                /*提取注释中的职业编号 n */
                                n = Number(c);
                               
                                /*跳出循环*/
                                break;
                        };
                };
               
                // alert('符合要求的职业ID是:  ' + String(n) );
               
                /*如果检测到注释中有职业id*/
                if(n){
                        /*提取当前菜单窗口中选中的角色*/
                        var actor = $gameParty.members()[this._actorWindow.index()];
                       
                        /*如果角色职业与物品的默许职业匹配*/
                        if(actor.isClass($dataClasses[n]) ){
                               
                                // alert('你学习了新的元素魔法!');
                       
                                /*调用原代码*/
                                return this.user().canUse(this.item()) && this.isItemEffectsValid();
                               
                         /*否则*/
                        }else{
                                // alert('你没有阅读魔法书的权限!');
                               
                                /*禁止使用*/
                                return false;
                        };
                       
                 /*否则*/
                }else{
                        /*调用原代码*/
                        return this.user().canUse(this.item()) && this.isItemEffectsValid();
                };

        };

};[/pre]

ddd.png


-----------------------------------------------------------
ps:
脚本重写了
Scene_ItemBase.prototype.canUse
如果楼主还用了其他插件,
那么可以F8搜索一下,是否有冲突。
dss.png

点评

好的,非常感谢  发表于 2016-10-9 12:50
回复 1 0

使用道具 举报

梦石
0
星屑
230
在线时间
174 小时
注册时间
2016-2-24
回帖
83
发表于 2016-10-8 17:23:36 | 显示全部楼层
在野月光 发表于 2016-10-7 09:13
Scene_ItemBase.prototype.canUse = function() {
        /*检测道具库中是否有物品*/
        if(this.item() ){

这位大神能不能把那个弹窗换成显示文章啊?突然弹出个窗口我还以为死机了

点评

- -! 那个只是调试用的,屏蔽掉就好了。  发表于 2016-10-9 13:27
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2020-3-5 23:25:22 | 显示全部楼层
Yana(やな)的条件付系列
https://w.atwiki.jp/pokotan/pages/3.html

[条件付きシリーズ]

条件を付けていろいろできるプラグインです。
以下のプラグインを同梱しています。
個別でURLがあるものは、同梱されているものよりも、そちらの方が新しいバージョンとなります。


└[条件付き○○ベース ver1.07 >https://rpg.mitukasa.jp/src/ogrpg1640.zip]

条件部分を定義したコアプラグインです。以下の6つを動作させるのに必要です。


└[条件付き追加効果 ver1.04 >https://rpg.mitukasa.jp/src/ogrpg1480.zip]

スキルやアイテム発動後に条件付きで追加スキルやアイテムを発動します。


└[条件付きスキル&アイテム変化 ver1.04 >https://rpg.mitukasa.jp/src/ogrpg1546.zip]

スキルやアイテムを条件付きで別のスキルやアイテムに変更します。閃きのようなこともできます。


└[条件付きドロップ ver1.04 >https://rpg.mitukasa.jp/src/ogrpg1641.zip]

条件を満たすと追加されるドロップアイテムや経験値、お金などを設定できます。


└[フェイズスキル特徴 ver1.06 >https://rpg.mitukasa.jp/src/ogrpg1430.zip]

バトル開始時やターン開始時、ターン終了時などの特定のフェイズでスキルを発動する特徴を
設定できるようになります。


└[スキル使用条件 ver1.03 >https://rpg.mitukasa.jp/src/ogrpg1660.zip]

スキルやアイテムに細かい使用条件を設定できるようにします。


└[行動決定前及びイベント判定前スイッチオン ver1.01 >https://rpg.mitukasa.jp/src/ogrpg1542.zip]

行動決定前やイベント判定前に条件に従ってスイッチを操作します。
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2020-3-5 23:26:24 | 显示全部楼层
* 条件の設定方法
*
* ○○××
*
* というように組み合わせて設定します。
*
* ○○=対象
* ××=基本条件
* ◇◇=条件設定
*
* となります。
*
* ======================================================
* ○○で設定可能な対象
* 対象
* 味方
* 敵
* 討伐者
* (何もなし)
* ・対象=行動の対象が条件を満たすか判定します。
* ・味方=仲間全体のうちいずれかが条件を満たすか判定します。
* ・敵=敵全体のうちいずれかが条件を満たすか判定します。
* ・討伐者=トドメを刺した者が条件を満たすか判定します。(条件ドロップ用)
* ・(何もなし)=使用者または倒された対象が条件を満たすか判定します。
* ------------------------------------------------------
* ××で設定可能な条件
* ターン条件:○以上
* ターン条件:○以下
* ・現在(または倒した時)のターン数が○以上(以下)の時、条件を満たします。
* ターン条件:○-○以内
* ターン条件:○-○以外
* ・現在(または倒した時)のターン数が○-○以内(以外)の時、条件を満たします。
* ターン条件:○,○,○,○・・・・
* ・現在(または倒した時)のターン数が○,○,○,○・・・のいずれかの時、条件を満たします。
*
* 例:
* ターン条件:5以上
* ターン条件:5以下
* ターン条件:5-7以内
* ターン条件:5-8以外
* ターン条件:5,6,7,8,9,10
* ------------------------------------------------------
* ステート条件:×:○,○,○,○・・・・
* ・現在(または倒した時)にステート○,○,○,○・・・のうち×個にかかっている時、条件を満たします。
*
* 例:
* ステート条件:×:○,○,○,○・・・・
* 対象ステート条件:×:○,○,○,○・・・・
* 討伐者ステート条件:×:○,○,○,○・・・・
* 敵ステート条件:×:○,○,○,○・・・・
* 味方ステート条件:×:○,○,○,○・・・・
* -----------------------------------------------------
* ID条件
* ID条件:○,○,○,○・・・
* ・対象のIDが○のいずれかの時に条件を満たします。
*
* 例:
* ID条件:4,5,6,7,8
* 対象ID条件:4,5,6,7,8
* 討伐者ID条件:4,5,6,7,8
* 敵ID条件:4,5,6,7,8
* 味方ID条件:4,5,6,7,8
* ------------------------------------------------------
* ステータス条件:××○以上
* ステータス条件:××○%以上
* ステータス条件:××○以下
* ステータス条件:××○%以下
* ・現在(または倒した時)に××のステータスが○(%)以上(以下)の時、条件を満たします。
* ステータス条件:××○-○以内
* ステータス条件:××○%-○%以内
* ステータス条件:××○-以外
* ステータス条件:××○%-○%以外
* ・現在(または倒した時)に××のステータスが○(%)-○(%)以内(以外)の時、条件を満たします。
* ステータス条件:××○の倍数
* ・現在(または倒した時)に××のステータスが○の倍数の時、条件を満たします。
*
* 例:
* ステータス条件:HP40%以上
* ステータス条件:HP40%-80%以内
* 対象ステータス条件:攻撃力30以上
* 敵ステータス条件:運4の倍数
* 味方ステータス条件:回避率100%以上
* 討伐者ステータス条件:HP再生率10%以下
* ------------------------------------------------------
* 属性有効度条件:×,○:◇%以上,○:◇%以下,○:◇%以上・・・
* ・現在(または倒した時)に○の属性の有効度が◇%以上(以下)のうちx個を満たす時、条件を満たします。
*
* 例:
* 属性有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 対象属性有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 討伐者属性有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 敵属性有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 味方属性有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* ------------------------------------------------------
* ステート有効度条件:×,○:◇%以上,○:◇%以下,○:◇%以上・・・
* ・現在(または倒した時)に○番のステートの有効度が◇%以上(以下)のうちx個を満たす時、条件を満たします。
*
* 例:
* ステート有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 対象ステート有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 討伐者ステート有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 敵ステート有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* 味方ステート有効度条件:2,1:40%以上,2:60%以上,3:70%以下
* ------------------------------------------------------
* 人数条件:○以上
* 人数条件:○以下
* ・現在(または倒した時)の戦闘参加人数が○以上(以下)の時、条件を満たします。
* 人数条件:○-○以内
* 人数条件:○-○以外
* ・現在(または倒した時)の戦闘参加人数が○-○以内(以外)の時、条件を満たします。
* 人数条件:○,○,○,○・・・・
* ・現在(または倒した時)の戦闘参加人数が○,○,○,○・・・のいずれかの時、条件を満たします。
*
* 例:
* 人数条件:5以上
* 人数条件:5以下
* 人数条件:5-7以内
* 人数条件:5-8以外
* 人数条件:5,6,7,8,9,10
* 対象人数条件:5以上
* 対象人数条件:5以下
* 対象人数条件:5-7以内
* 対象人数条件:5-8以外
* 対象人数条件:5,6,7,8,9,10
* ------------------------------------------------------
* ××で設定可能な条件
* 生存人数条件:○以上
* 生存人数条件:○以下
* ・現在の生存人数が○以上(以下)の時、条件を満たします。
* 生存人数条件:○-○以内
* 生存人数条件:○-○以外
* ・現在の生存人数が○-○以内(以外)の時、条件を満たします。
* 生存人数条件:○,○,○,○・・・・
* ・現在の生存人数が○,○,○,○・・・のいずれかの時、条件を満たします。
*
* 例:
* 生存人数条件:5以上
* 生存人数条件:5以下
* 生存人数条件:5-7以内
* 生存人数条件:5-8以外
* 生存人数条件:5,6,7,8,9,10
* 対象生存人数条件:5以上
* 対象生存人数条件:5以下
* 対象生存人数条件:5-7以内
* 対象生存人数条件:5-8以外
* 対象生存人数条件:5,6,7,8,9,10
* ------------------------------------------------------
* 変数条件:×が○以上
* 変数条件:×が○以下
* ・変数×の値が○以上(以下)の時、条件を満たします。
*
* 例:
* 変数条件:5が10以上
* 変数条件:5が10以下
* ------------------------------------------------------
* スイッチ条件:×がON
* スイッチ条件:×がOFF
* ・スイッチ×の値がON(OFF)の時、条件を満たします。
*
* 例:
* スイッチ条件:5がON
* スイッチ条件:5がOFF
* ------------------------------------------------------
* 装備条件:×:○◇,○◇,○◇・・・
* ・対象がW(A)◇番の装備を×個装備している時、条件を満たします。
*
* 例:
* 装備条件:2:W1,A2,W3,A1
* ------------------------------------------------------
* 装備タイプ条件:×:○◇,○◇,○◇・・・
* ・対象がW(A)◇番の装備タイプの装備をぞれぞれ×個装備している時、条件を満たします。
*
* 例:
* 装備タイプ条件:2:W1,A2,W3,A1
* ------------------------------------------------------
* クラス条件:○,○,○,○・・・
* ・対象のクラスが○,○,○,○・・・のいずれかの時、条件を満たします。対象がエネミーの場合条件を満たしません。
*
* 例:
* クラス条件:1,2,3,4,5
* ------------------------------------------------------
* 特徴メモ条件:○○
* ・対象の持っている特徴に○○をメモに含むものがある時、条件を満たします。
*
* 例:
* 特徴メモ条件:<テスト>
* ------------------------------------------------------
* メンバー条件:×:○,○,○・・・
* ・待機メンバーを含むパーティメンバーの中にIDが○のメンバーがx人以上いる場合、条件を満たします。
* 敵を対象とした場合、隠れているエネミーを含む敵メンバーで判定されます。
*
* 例:
* メンバー条件:2:1,2,3,4
* ------------------------------------------------------
* 戦闘メンバー条件:x:○,○,○・・・
* ・戦闘メンバーの中にIDが○のメンバーがx人以上いる場合、条件を満たします。
* 敵を対象とした場合、隠れているエネミーを含まない敵メンバーで判定されます。
*
* 例:
* 戦闘メンバー条件:2:1,2,3,4
* ------------------------------------------------------
* スクリプト条件:○
* ・○をevalで判定します。
* スクリプト条件は、複数行にわたって記述することができます。
*
* 例:
* スクリプト条件:$gameVairbales.value[10] === 10
* ------------------------------------------------------
* 以下は基本的に条件ドロップ専用です
* ------------------------------------------------------
* 属性条件:○,○,○,○・・・
* ・トドメに使用した属性が○,○,○,○のうちいずれかの時、条件を満たします。
*
* 例:
* 属性条件:1,2,3,4,5
* ------------------------------------------------------
* ダメージ条件:○以上
* ダメージ条件:○以下
* ・トドメを刺した時に与えたダメージが、○以上(以下)の時、条件を満たします。
* ダメージ条件:○-○以内
* ダメージ条件:○-○以外
* ・トドメを刺した時に与えたダメージが、○-○以内(以外)の時、条件を満たします。
*
* 例:
* ダメージ条件:120以上
* ダメージ条件:120-240以内
* ------------------------------------------------------
* レベル条件:最大○以上
* レベル条件:最低○以上
* レベル条件:平均○以下
* レベル条件:討伐者○以上
* ・(パーティの)レベルが最大(最低、平均または討伐者)○以上(以下)の時、条件を満たします。
* レベル条件:最大○-○以内
* レベル条件:最低○-○以外
* レベル条件:平均○-○以内
* レベル条件:討伐者○-○以外
* ・(パーティの)レベルが最大(最低、平均または討伐者)○-○以内(以外)の時、条件を満たします。
*
* 例:
* レベル条件:最大5以上
* レベル条件:最低3以下
* レベル条件:平均4-8以内
* レベル条件:討伐者5-10以外
* ------------------------------------------------------
* 通常攻撃
* スキル攻撃
* アイテム攻撃
* 通常攻撃以外
* スキル攻撃以外
* アイテム攻撃以外
* ・トドメを刺した攻撃が上記いずれかの時、条件を満たします。
*
* 例:
* 通常攻撃
* 通常攻撃以外
* スキル攻撃
* スキル攻撃以外
* アイテム攻撃
* アイテム攻撃以外
* ------------------------------------------------------
* スキル条件:○,○,○,○・・・
* アイテム条件:○,○,○,○・・・
* ・トドメを刺した攻撃が○,○,○,○番のいずれかのスキル(アイテム)の時、条件を満たします。
*
* 例:
* スキル条件:1,2,3,4,5
* アイテム条件:1,2,3,4,5
*

评分

参与人数 1赞 +1 收起 理由
237274783 + 1 大哥看不懂啊!我想通过职业设定物品使用条.

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部