诸:请在加入本程序以前先确认是否已经编译了限制进扎次数的那个编译
本程序是在那个功能的基础上添加的
增加以下语句到文件MapleCharacter.java 末尾最后一个}前面
后面添加
public int getActive(String bossid) {
Connection con2 = DatabaseConnection.getConnection();
try {
int ret_count = 0;
PreparedStatement ps;
ps = con2.prepareStatement("select count(*) from bosslog where bossid = ? and lastattempt >= subtime(current_timestamp, '1 0:0:0.0')");
//ps.setInt(1, id);
ps.setString(1, bossid);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
ret_count = rs.getInt(1);
} else {
ret_count = -1;
}
rs.close();
ps.close();
return ret_count;
} catch (Exception Ex) {
log.error("Error while read bosslog.", Ex);
return -1;
}
}
3. 添加以下语句到文件NPCConversationManager.java
最后一个}前面
public int getActive(String bossid)
{
return getPlayer().getActive(bossid);
}
----------------------------------------------------------------------------------
/*
* 活动脚本
* 根据活动自动判断是第几个到达,并且显示出来
* 加入了是否领取过判断,防止重复领取
* 加入了前三名全服公告
* 本js只是提供了一个框架而已,要什么奖品自己添加
* Kevin 编写 功能NPC定做 QQ :2696541
*
*/
var status = 0;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 0) {
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendSimple("#h #,新年快乐!非常感谢您参于本次活动! \r\n#L1#返回射手村#l \r\n#L2##r前三名幸运者领取奖品!#l");
} else if (status == 1) {
if (selection == 1) {
cm.warp(100000000, 0);
cm.dispose();
} else if (status == 2) {
} else if (selection == 2 && cm.getLevel() >= 10) {
if (cm.getBossLog('active') == 0)
{
if (cm.getActive('active') == 0){
cm.setBossLog('active');
cm.sendOk("#r第一名#l恭喜您,你是第一个到达目的地的! ");
cm.serverNotice("『活动公告』:恭喜"+ cm.getChar().getName() +",在XXX活动中,第一个到达终点!");
cm.dispose();
}
else if (cm.getActive('active') == 1){
cm.setBossLog('active');
cm.sendOk("#r第二名#l恭喜您,你是第二个到达目的地的! ");
cm.serverNotice("『活动公告』:恭喜"+ cm.getChar().getName() +",在XXX活动中,第二个到达终点!");
cm.dispose();
}
else if (cm.getActive('active') == 2){
cm.setBossLog('active');
cm.sendOk("#r第三名#l恭喜您,你是第三个到达目的地的! ");
cm.serverNotice("『活动公告』:恭喜"+ cm.getChar().getName() +",在XXX活动中,第三个到达终点!");
cm.dispose();
} else {
var count = 0
count = cm.getActive('active')+1;
cm.sendOk("#r呵呵,你落后了,前三名已经名花有主了,你是第"+count+"到达的,请继续努力哦!");
cm.setBossLog('active');
cm.dispose();
}
}
else {
cm.sendOk("#r你已经领取过奖品了!请不要重复领取!#l");
cm.dispose();
}
} else{
cm.sendOk("你的等级不足10级,所以不能参于本次活动 !");
mode = 1;
status = -1;
}
}
}
本文来源于心动冒险岛(www.leyoucx.com),如需转载[发活动NPC加入自动识别功能的脚本],请写明出处
上一篇:冒险岛中我差点被骗的一种骗术