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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: lbjqgm008
打印 上一主题 下一主题

[已经过期] 关于转职系统的请教,顺便悬赏

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2017-3-23
帖子
8
11
 楼主| 发表于 2017-3-31 20:32:02 | 只看该作者
qknight 发表于 2017-3-31 20:10
有能增加队伍总人数的插件,但我也不知道怎么增加游戏自带菜单里的组员位置。
如果你是因为无法得知队伍 ...

-。。还能这样。。不过要是能找个人做个类似这种转职的视窗插件就好了。。YANFLAY 那个职业转换,无法屏蔽本身角色的职业。也就是说我可以转成骑士,也可以转回勇士。而且他对限制转职的条件设置 无效。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
342
在线时间
377 小时
注册时间
2013-1-30
帖子
219
12
发表于 2017-3-31 20:37:15 | 只看该作者
lbjqgm008 发表于 2017-3-31 20:32
-。。还能这样。。不过要是能找个人做个类似这种转职的视窗插件就好了。。YANFLAY 那个职业转换,无法屏 ...

毕竟MV的年份还是比VA少多了,像VA里的宠物进化脚本都可以满足楼主的要求,而MV还有许多插件都没有或者还没传到国内
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2017-1-18
帖子
11
13
发表于 2017-4-19 17:41:08 | 只看该作者
{:2_260:}临时写了个简易的要么?事件自己写,Game_Party加了一个方法。调用的时候传队伍中第几个角色的数字就行了。
方法里实现了:
判断是否有职业可转,
等级是否够,
变量是否大于N(可多个),
物品、武器、防具是否有一定的数量(可多个),
更改职业保留经验,
学习指定的技能(可多个),
增加额外的属性。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2017-1-18
帖子
11
14
发表于 2017-5-15 14:28:38 | 只看该作者
//删除,到时候可以读取data
var changeList = [];
changeList[0] = {
    class: 2, //当前职业Id
    target: 3, //目标职业Id
    level: 0, //转职等级
    variable: ["1>4"], //变量1大于4
    item: [{ type: 0, id: 1, count: 5 }, { type: 1, id: 2, count: 5}], //物品类型,物品id,数量
    add: { skill: [], param: [5, 5, 5]}//增加的技能,属性
}



Game_Party.prototype.AdvancedClass = function (i) {
    var actor = this.members[i];
    var change = null;
    for (var j in changeList) {
        if (changeList[j].class == actor._classId) {
            change = changeList[j]; break;
        }
    }
    if (change != null) {
        if (actor._level >= change.level) {
            var okVariable = true;
            for (var k in change.variable) {
                var temp = change.variable[k].split('>');
                if (temp.length == 2 && $gameVariables[temp[0]] < temp[1]) {
                    okVariable = false; break;
                }
            }
            //变量条件不足!
            if (!okVariable) {
                $gameMessage.add(actor._name + "的机缘未到!"); return false;
            }
            var okItem = true;
            for (var l in change.item) {
                var item = null;
                switch (change.item[l].type) {
                    case 0: item = $dataItems[change.item[l].id]; break;
                    case 1: item = $dataWeapons[change.item[l].id]; break;
                    case 2: item = $dataArmors[change.item[l].id]; break;
                }
                if (this.numItems(item) < change.item[l].count) {
                    okItem = false; break;
                }
            }
            if (!okVariable) {
                $gameMessage.add("物品不够!"); return false;
            }
            //减少物品
            for (var l in change.item) {
                var item = null;
                switch (change.item[l].type) {
                    case 0: item = $dataItems[change.item[l].id]; break;
                    case 1: item = $dataWeapons[change.item[l].id]; break;
                    case 2: item = $dataArmors[change.item[l].id]; break;
                }
                this.gainItem(item, -change.item[l].count, true);
            }
            //更改职业保留经验
            actor.changeClass(change.target, true);
            //学习技能
            $.each(change.add.skill, function (idx, obj) {
                actor.learnSkill(obj);
            });
            //增加属性
            $.each(change.add.param, function (idx, obj) {
                actor.addParam(idx, obj);
            });
        }
        else {
            $gameMessage.add(actor._name + "等级不够!");
            return false;
        }
    }
    else {
        $gameMessage.add(actor._name + "没有职业可转!");
    }
}



未测试大概可以这样子
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 22:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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