鍐掗櫓宀涜鍧

 找回密码
 立即注册
查看: 72607|回复: 6

冒险岛自己如何做一个简单装备的脚本

[复制链接]
  • TA的每日心情
    难过
    2022-7-5 11:34
  • 签到天数: 317 天

    [LV.8]以坛为家I

    384

    主题

    788

    帖子

    8万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    83843
    发表于 2020-3-8 20:57:37 | 显示全部楼层 |阅读模式
    /*
    ZXMS冒险岛(079)游戏服务端
    脚  本:游戏装备鉴定脚本
    出现鉴定的概率在前面设置,每种鉴定的属性值在后面设置,
    欧洲人非洲人名单在前面设置,概率在中间设置。

    */

    //鉴定费用 (点券)
    var 鉴定费用 = 1000;

    //出现SSS鉴定概率(%)
    var SSS = 1;

    //出现SS鉴定概率(%)
    var SS = 5;

    //出现S鉴定概率(%)
    var S = 10;

    //出现A鉴定概率(%)
    var A = 20;

    //出现B鉴定概率(%)
    var B = 30;

    //出现C鉴定概率(%)
    var C = 40;

    //出现D鉴定概率(%)
    var D = 50;

    //欧洲人名单设置
    var 欧洲人 = [
        ["小Z"],
        ["老康"],
        ["帅康无敌"]
    ];

    //非洲人名单设置
    var 非洲人 = [
        ["枫之念"]
    ];



    importPackage(java.lang);
    importPackage(Packages.tools);
    importPackage(Packages.client);
    importPackage(Packages.server);
    var 箭头 = "#fUI/Basic/BtHide3/mouseOver/0#";
    var status;
    var text;
    var itemid, item;
    var selstatus = -1;
    var itemList = new Array();
    var deleteSlot;
    var 力量, 敏捷, itemFlag, 运气, 智力, 生命值, 法力值, 物理攻击力, 魔法攻击力, 物理防御力, 魔法防御力, 回避率, 命中率, 跳跃力, 移动速度;
    var Flag_random = 1;
    function start() {
        status = -1;
        action(1, 0, 0);
    }

    function action(mode, type, selection) {
        if (mode <= 0) {
            cm.dispose();
            return;
        } else {
            if (mode == 1) {
                status++;
            } else {
                status--;

            }
            if (status == 0) {
                text = "   Hi~#b#h ##k,你有装备需要鉴定一下吗?鉴定后装备会发生很奇妙的变化哦。不过在此之前,你需要给我一些费用。#k#n\r\n\r\n";
                text += " \t\t\t\t#L0#" + 箭头 + "#b装备强化#k#l  ";
                cm.sendSimple(text);
            } else {
                if (selstatus == -1) {
                    selstatus = selection;
                }
                switch (selstatus) {
                    case 0:
                        deleteItemBySlot(selection);
                        break;

                }
            }
        }
    }

    function deleteItemBySlot(selection) {
        if (status == 1) {
            itemList = cm.getInventory(1).list().iterator();
            text = "选择你要鉴定的装备:#k#n\r\n\r\n";
            var indexof = 1;
            while (itemList.hasNext()) {
                var item = itemList.next();
                text += "\t\t\t#L" + item.getPosition() + "##v" + item.getItemId() + "##b#t" + item.getItemId() + "##l\r\n";
                if (indexof > 1 && indexof % 5 == 0) {
                    text += "\r\n";
                }
                indexof++;
            }
            cm.sendSimple(text);
        } else if (status == 2) {
                    //装备各种属性初始化
            item = cm.getInventory(1).getItem(selection);
            itemgetOwner = item.getOwner();
            itemid = item.getItemId();
            itemFlag = item.getFlag();
            力量 = item.getStr();
            敏捷 = item.getDex();
            运气 = item.getLuk();
            智力 = item.getInt();
            生命值 = item.getHp();
            法力值 = item.getMp();
            物理攻击力 = item.getWatk();
            魔法攻击力 = item.getMatk();
            物理防御力 = item.getWdef();
            魔法防御力 = item.getMdef();
            回避率 = item.getAvoid();
            命中率 = item.getAcc();
            跳跃力 = item.getJump();
            移动速度 = item.getSpeed();
            itemsj = item.getUpgradeSlots();
            deleteSlot = selection;
            if (itemgetOwner != "") {
                cm.说明文字("该装备已经鉴定过了。");
                cm.对话结束();
                return;
            }
            if (itemsj <= 0) {
                cm.说明文字("该装备没有升级次数,无法鉴定。");
                cm.对话结束();
                return;
            }
                    if(cm.判断点券()<鉴定费用){
                            cm.说明文字("你不够鉴定的费用,需要 #r"+鉴定费用+"#k 点券。");
                cm.对话结束();
                return;
                    }
                    ////欧洲人和非洲人设置
            //欧洲人
            for (var i = 0; i < 欧洲人.length; i++) {
                if (cm.getChar().getName() == 欧洲人[0]) {

                    SSS += 1;
                                    SS += 2;
                                    S += 3;
                }
            }
            //非洲人
            for (var i = 0; i < 非洲人.length; i++) {
                if (cm.getChar().getName() == 非洲人[0]) {

                    SSS -= 3;
                                    SS -= 2;
                                    S -= 1;
                }
            }
            //出现SSS级别鉴定
            if (cm.百分率(SSS)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("SSS级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 50,
                        敏捷 + 50,
                        运气 + 50,
                        智力 + 50,
                        生命值 + 500,
                        法力值 + 500,
                        物理攻击力 + 50,
                        魔法攻击力 + 50,
                        物理防御力 + 500,
                        魔法防御力 + 500,
                        回避率 + 50,
                        命中率 + 50,
                        跳跃力 + 50,
                        移动速度 + 50
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rSSS#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 SSS 级别的 " + cm.getItemName(itemid) + "");
                //出现SS级别鉴定
            } else if (cm.百分率(SS)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("SS级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 30,
                        敏捷 + 30,
                        运气 + 30,
                        智力 + 30,
                        生命值 + 300,
                        法力值 + 300,
                        物理攻击力 + 30,
                        魔法攻击力 + 30,
                        物理防御力 + 300,
                        魔法防御力 + 300,
                        回避率 + 30,
                        命中率 + 30,
                        跳跃力 + 30,
                        移动速度 + 30
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rSS#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 SS 级别的 " + cm.getItemName(itemid) + "");
                //出现S级别鉴定
            } else if (cm.百分率(S)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("S级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 20,
                        敏捷 + 20,
                        运气 + 20,
                        智力 + 20,
                        生命值 + 200,
                        法力值 + 200,
                        物理攻击力 + 20,
                        魔法攻击力 + 20,
                        物理防御力 + 200,
                        魔法防御力 + 200,
                        回避率 + 20,
                        命中率 + 20,
                        跳跃力 + 20,
                        移动速度 + 20
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rS#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 S 级别的 " + cm.getItemName(itemid) + "");
                //出现A级别鉴定
            } else if (cm.百分率(A)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("A级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 10,
                        敏捷 + 10,
                        运气 + 10,
                        智力 + 10,
                        生命值 + 100,
                        法力值 + 100,
                        物理攻击力 + 10,
                        魔法攻击力 + 10,
                        物理防御力 + 100,
                        魔法防御力 + 100,
                        回避率 + 10,
                        命中率 + 10,
                        跳跃力 + 10,
                        移动速度 + 10
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rA#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 A 级别的 " + cm.getItemName(itemid) + "");
                //出现B级别鉴定
            } else if (cm.百分率(B)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("B级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 10,
                        敏捷 + 10,
                        运气 + 10,
                        智力 + 10,
                        生命值 + 0,
                        法力值 + 0,
                        物理攻击力 + 10,
                        魔法攻击力 + 10,
                        物理防御力 + 0,
                        魔法防御力 + 0,
                        回避率 + 10,
                        命中率 + 10,
                        跳跃力 + 10,
                        移动速度 + 10
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rB#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 B 级别的 " + cm.getItemName(itemid) + "");
                //出现C级别鉴定
            } else if (cm.百分率(C)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("C级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 10,
                        敏捷 + 10,
                        运气 + 10,
                        智力 + 10,
                        生命值 + 0,
                        法力值 + 0,
                        物理攻击力 + 10,
                        魔法攻击力 + 10,
                        物理防御力 + 0,
                        魔法防御力 + 0,
                        回避率 + 0,
                        命中率 + 0,
                        跳跃力 + 0,
                        移动速度 + 0
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rC#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 C 级别的 " + cm.getItemName(itemid) + "");
                //出现D级别鉴定
            } else if (cm.百分率(D)) {
                //回收掉鉴定的装备
                cm.removeSlot(1, deleteSlot, 1);
                //给予新的鉴定装备
                cm.gainItem("C级别",
                        itemid,
                        itemsj,
                        itemFlag,
                        力量 + 10,
                        敏捷 + 10,
                        运气 + 10,
                        智力 + 10,
                        生命值 + 0,
                        法力值 + 0,
                        物理攻击力 + 0,
                        魔法攻击力 + 0,
                        物理防御力 + 0,
                        魔法防御力 + 0,
                        回避率 + 0,
                        命中率 + 0,
                        跳跃力 + 0,
                        移动速度 + 0
                        );
                //个人公告
                cm.说明文字(" 恭喜你鉴定出 #rD#k 级别的 " + cm.显示物品(itemid) + "");
                //全服公告
                cm.全服公告("恭喜玩家 " + cm.getChar().getName() + " 鉴定出 D 级别的 " + cm.getItemName(itemid) + "");
            } else {
                cm.说明文字("鉴定失败了。");
                cm.对话结束();
            }
        }
    }

    哎...今天够累的,签到来了4...
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    29

    帖子

    99

    积分

    注册会员

    Rank: 2

    积分
    99
    发表于 2020-3-16 14:17:12 | 显示全部楼层
    能不能做成文件啊?直接复制有乱码的。。大大
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2022-7-5 11:34
  • 签到天数: 317 天

    [LV.8]以坛为家I

    384

    主题

    788

    帖子

    8万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    83843
     楼主| 发表于 2020-3-16 14:41:29 | 显示全部楼层
    凤求凰 发表于 2020-3-16 14:17
    能不能做成文件啊?直接复制有乱码的。。大大

    好的,等我测试游戏时我弄好传这里
    哎...今天够累的,签到来了4...
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    29

    帖子

    99

    积分

    注册会员

    Rank: 2

    积分
    99
    发表于 2020-3-16 14:46:19 | 显示全部楼层
    本帖最后由 凤求凰 于 2020-3-16 14:50 编辑
    m1n9 发表于 2020-3-16 14:41
    好的,等我测试游戏时我弄好传这里

    可以再帮忙做个用点券或者金币增加属性 比如四维 血蓝这些的脚本吗?随机给属性和固定给属性
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    167

    帖子

    334

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    334
    发表于 2020-10-11 22:18:00 | 显示全部楼层
    没看完~~~~~~ 先顶,好同志
    回复

    使用道具 举报

    匿名  发表于 2021-7-26 13:25:43
    这不就是js么....
    回复

    使用道具

  • TA的每日心情

    2022-1-10 00:16
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    1

    主题

    92

    帖子

    3464

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    3464
    发表于 2021-11-2 06:49:39 | 显示全部楼层
    刚 看了一下;物品出等级鉴定;也能让物品指定某人是欧洲人或者是非洲人鉴定出指定等级吗
    哎...今天够累的,签到来了6...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    |网站地图

    免责声明:论坛资源来源网络公开渠道,如有侵权,请及时告知,联系删除! 邮箱: 2927653759@qq.com

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