TA的每日心情 | 开心 2024-11-6 23:36 |
---|
签到天数: 319 天 [LV.8]以坛为家I
管理员
- 积分
- 85583
|
/*
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.对话结束();
}
}
}
|
|