TA的每日心情 | 开心 2024-11-6 23:36 |
---|
签到天数: 319 天 [LV.8]以坛为家I
管理员
- 积分
- 85557
|
/*
ZXMS冒险岛(079)游戏服务端
脚 本:游戏赌博脚本,点券,金币,抵用券 3合1切换
可设置相关赌博信息
1.赌博类型
2.赌博赢的几率
3.赌博赢的赔率
4.赌博暴击几率
5.赌博暴击的赔率
6.赌注下注上下限
7.连败保护机制,增加赢的几率
8.连赢限制机制,减少赢的几率
9.欧洲人设置
10.非洲人设置
*/
//赌博类型,1金币,2点券,3抵用
var 赌博类型 = 1;
//赌博赌赢的百分率(%)
var 赌赢几率 = 30;
//赌博获胜后获得的赔率,本金x倍率(倍)
var 赌博赔率 = 2;
//赌博获胜后出现暴击几率(%)
var 赌博暴击 = 10;
//赌博暴击赔率,本金x倍率(倍)
var 暴击赔率 = 5;
//赌博最高下赌注
var 赌注上限 = 100 * 10000;
//赌博最低下赌注
var 赌注下限 = 1 * 10;
//连败增加赢的几率保护机制,1开启,2关闭
var 连败保护 = 1;
//连赢增加输的几率保护机制,1开启,2关闭
var 连赢限制 = 1;
//欧洲人增加赢的几率
var 欧洲人人品 = 5;
//欧洲人增加赢的几率【暴击】
var 欧洲人人品2 = 10;
//欧洲人名单设置
var 欧洲人 = [
["赏花人"],
["豆瓣鸡"],
["肥鸡"]
];
//非洲人减少赢的几率
var 非洲人人品 = 5;
//非洲人减少赢的几率【暴击】
var 非洲人人品2 = 5;
//非洲人名单设置
var 非洲人 = [
["花卷小妹"]
];
/**脚本调试信息**/
//脚本调试设置,1开启,2关闭,非调试请关闭,这里会输出所有赌博信息。
var 脚本调制 = 1;
importPackage(net.sf.odinms.client);
var status = 0;
var 赌注;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.对话结束();
} else {
if (mode == 0) {
//否定后显示的文字
cm.说明文字("你暂时还不想赌博?");
cm.对话结束();
return;
}
if (mode == 1) {
status++;
} else {
status--;
}
var 获胜值 = cm.getBossRank("赌博获胜值", 2);
var 失败值 = cm.getBossRank("赌博失败值", 2);
if (status == 0) {
//判断赌博类型
if (赌博类型 == 1) {
var 类型 = "金币";
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "赌博类型:金币");
}
} else if (赌博类型 == 2) {
var 类型 = "点券";
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "赌博类型:点券");
}
} else if (赌博类型 == 3) {
var 类型 = "抵用券";
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "赌博类型:抵用券");
}
}
//显示说明,输入框
cm.sendGetText(" Hi~#b#h ##k,你要来试试手气吗?输入你要下的赌注数量,然后放手一搏听天由命吧?搏一搏,单车变摩托哦。\r\n\r\n输入你要下的赌注#r(" + 类型 + ")#k:");
} else if (status == 1) {
赌注 = cm.getText();
//判断输入的赌注是否是正数
if (赌注 < 0) {
cm.说明文字("你输入的赌注不正确。");
cm.对话结束();
return;
}
//判断赌注最高
if (赌注 > 赌注上限) {
cm.说明文字("赌注超过限制上限。");
cm.对话结束();
return;
}
//判断赌注最低
if (赌注 < 赌注下限) {
cm.说明文字("赌注低于限制下限。");
cm.对话结束();
return;
}
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "赌赢几率:" + 赌赢几率 + "% (基础前)");
cm.getPlayer().dropMessage(5, "赌博暴击:" + 赌博暴击 + "% (基础前)");
}
//赌博保护机制
////连败保护机制
if (连败保护 == 1) {
//连败值大于或者等于10
if (失败值 >= 10) {
//增加10%赌赢的几率
赌赢几率 += 10;
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "连败保护:触发");
cm.getPlayer().dropMessage(5, "连败保护:增加10%赌赢");
}
} else {
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "连败保护:未触发");
}
}
}
////连赢限制机制
if (连赢限制 == 1) {
//连赢值大于或者等于10
if (获胜值 >= 10) {
//减少10%赌赢的几率
赌赢几率 -= 10;
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "连赢限制:触发");
cm.getPlayer().dropMessage(5, "连赢限制:减少10%赌赢");
}
} else {
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "连赢限制:未触发");
}
}
}
//欧洲人
for (var i = 0; i < 欧洲人.length; i++) {
if (cm.getChar().getName() == 欧洲人[0]) {
赌赢几率 += 欧洲人人品;
赌博暴击 += 欧洲人人品2;
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "欧 洲 人:" + 欧洲人[0] + "");
}
}
}
//非洲人
for (var i = 0; i < 非洲人.length; i++) {
if (cm.getChar().getName() == 非洲人[0]) {
赌赢几率 -= 非洲人人品;
赌博暴击 -= 非洲人人品2;
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "非 洲 人:" + 非洲人[0] + "");
}
}
}
/**调试输出信息**/
if (脚本调制 == 1) {
cm.getPlayer().dropMessage(5, "赌 注:" + 赌注 + "");
cm.getPlayer().dropMessage(5, "赌注上限:" + 赌注上限 + "");
cm.getPlayer().dropMessage(5, "赌注下限:" + 赌注下限 + "");
cm.getPlayer().dropMessage(5, "失 败 值:" + 失败值 + "");
cm.getPlayer().dropMessage(5, "获 胜 值:" + 获胜值 + "");
cm.getPlayer().dropMessage(5, "赌赢几率:" + 赌赢几率 + "% (计算后)");
cm.getPlayer().dropMessage(5, "赌博暴击:" + 赌博暴击 + "% (计算后)");
}
//判断赌博类型
////金币
if (赌博类型 == 1) {
if (cm.判断金币() < 赌注) {
cm.说明文字("你没有这么多金币哦。");
cm.对话结束();
return;
}
//开始计算赌博的结果
if (cm.百分率(赌赢几率)) {
//收取赌博下注本金
cm.收金币(赌注);
//赌博赢了的奖励
if (cm.百分率(赌博暴击)) {
cm.给金币(赌注 * 暴击赔率);
//个人公告
cm.说明文字("#r【暴击】#k 恭喜你赌赢了,获得 #b" + 赌注 * 暴击赔率 + "#k 金币。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " [暴击]赌赢了 " + 赌注 * 暴击赔率 + " 金币。");
} else {
cm.给金币(赌注 * 赌博赔率);
//个人公告
cm.说明文字("恭喜你赌赢了,获得 #b" + 赌注 * 赌博赔率 + "#k 金币。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " 赌赢了 " + 赌注 * 赌博赔率 + " 金币。");
}
//增加获胜值
cm.setBossRankCount("赌博获胜值", 1);
//清空失败值
cm.setBossRankCount("赌博失败值", -失败值);
cm.对话结束();
} else {
//收取赌博下注本金
cm.收金币(赌注);
cm.说明文字("很遗憾,你输了。");
//增加失败值
cm.setBossRankCount("赌博失败值", 1);
//清空获胜值
cm.setBossRankCount("赌博获胜值", -获胜值);
cm.对话结束();
}
////点券
} else if (赌博类型 == 2) {
if (cm.判断点券() < 赌注) {
cm.说明文字("你没有这么多点券哦。");
cm.对话结束();
return;
}
//开始计算赌博的结果
if (cm.百分率(赌赢几率)) {
//收取赌博下注本金
cm.收点券(赌注);
//赌博赢了的奖励
if (cm.百分率(赌博暴击)) {
cm.给点券(赌注 * 暴击赔率);
//个人公告
cm.说明文字("#r【暴击】#k 恭喜你赌赢了,获得 #b" + 赌注 * 暴击赔率 + "#k 点券。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " [暴击]赌赢了 " + 赌注 * 暴击赔率 + " 点券。");
} else {
cm.给点券(赌注 * 赌博赔率);
//个人公告
cm.说明文字("恭喜你赌赢了,获得 #b" + 赌注 * 赌博赔率 + "#k 点券。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " 赌赢了 " + 赌注 * 赌博赔率 + " 金币。");
}
//增加获胜值
cm.setBossRankCount("赌博获胜值", 1);
//清空失败值
cm.setBossRankCount("赌博失败值", -失败值);
cm.对话结束();
} else {
//收取赌博下注本金
cm.收点券(赌注);
cm.说明文字("很遗憾,你输了。");
//增加失败值
cm.setBossRankCount("赌博失败值", 1);
//清空获胜值
cm.setBossRankCount("赌博获胜值", -获胜值);
cm.对话结束();
}
////抵用
} else if (赌博类型 == 3) {
if (cm.判断抵用券() < 赌注) {
cm.说明文字("你没有这么多抵用哦。");
cm.对话结束();
return;
}
//开始计算赌博的结果
if (cm.百分率(赌赢几率)) {
//收取赌博下注本金
cm.收抵用券(赌注);
//赌博赢了的奖励
if (cm.百分率(赌博暴击)) {
cm.给抵用券(赌注 * 暴击赔率);
//个人公告
cm.说明文字("#r【暴击】#k 恭喜你赌赢了,获得 #b" + 赌注 * 暴击赔率 + "#k 抵用券。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " [暴击]赌赢了 " + 赌注 * 暴击赔率 + " 抵用券。");
} else {
cm.给抵用券(赌注 * 赌博赔率);
//个人公告
cm.说明文字("恭喜你赌赢了,获得 #b" + 赌注 * 赌博赔率 + "#k 抵用券。");
//全服公告
cm.全服公告("[赌博公告]:恭喜玩家 " + cm.getChar().getName() + " 赌赢了 " + 赌注 * 赌博赔率 + " 金币。");
}
//增加获胜值
cm.setBossRankCount("赌博获胜值", 1);
//清空失败值
cm.setBossRankCount("赌博失败值", -失败值);
cm.对话结束();
} else {
//收取赌博下注本金
cm.收抵用券(赌注);
cm.说明文字("很遗憾,你输了。");
//增加失败值
cm.setBossRankCount("赌博失败值", 1);
//清空获胜值
cm.setBossRankCount("赌博获胜值", -获胜值);
cm.对话结束();
}
} else {
cm.说明文字("脚本错误,判断赌博类型错误。");
cm.对话结束();
return;
}
}
}
}
|
|