楓之谷私服 - 自由泡點 腳本+改法
這個是參考對岸了其他腳本隨便改的,所以就直接放出來了。
應該適用於113,118,120...等版本,更新的我就不曉得了。
預設是掛機3分鐘得EXP、10分鐘得點數,你可以自由更改。
如果只需要泡點不需要經驗的話,可以自行省略一些步驟。
SRC
- 打開
ChannelServer.java
,在最後一個}前加上:
//泡點
public void AutoGain(int jsexp) {
this.mapFactory.getMap(910000000).AutoGain(jsexp);
}
public void AutoNx(int jsNx) {
this.mapFactory.getMap(910000000).AutoNx(jsNx);
}
public void AutoPaoDian() {
for (MapleCharacter chr : this.players.getAllCharacters()) {
chr.setBossLog("在線泡點");
}
}
- 打開
MapleMap.java
在最後一個}前加上:
//泡點
public void AutoNx(int jsNx) { //cash
if (this.mapid != 999999992) { //這裡改你想泡點的地圖
return;
}
for (MapleCharacter chr : this.characters) {
int givNx = chr.getLevel() / 10 + jsNx;
chr.modifyCSPoints(1, givNx);
chr.dropMessage(5, new StringBuilder().append("[系統獎勵] 在線時間獎勵獲得 [").append(givNx).append("] 點CASH.").toString());
}
}
public void AutoGain(int jsexp) {
if (this.mapid != 999999992) { //這裡改你想泡點的地圖
return;
}
for (MapleCharacter chr : this.characters) {
if (chr.getLevel() >= 200) {
return;
}
int givExp = jsexp * chr.getLevel() + chr.getClient().getChannelServer().getExpRate();
givExp *= 3;
chr.gainExp(givExp, true, false, true);
chr.dropMessage(5, new StringBuilder().append("[系統獎勵] 在線時間獎勵獲得 [").append(givExp).append("] 點經驗.").toString());
}
}
Event
新增3個js分別為AutoGain.js、AutoNx.js、AutoPaoDian.js
- AutoGain.js
var setupTask;
function init() {
scheduleNew();
}
function scheduleNew() {
var cal = java.util.Calendar.getInstance();
cal.set(java.util.Calendar.HOUR, 3);
cal.set(java.util.Calendar.MINUTE, 50);
cal.set(java.util.Calendar.SECOND, 0);
var nextTime = cal.getTimeInMillis();
while (nextTime <= java.lang.System.currentTimeMillis()) {
nextTime += 1000 * 60 * 3;
}
setupTask = em.scheduleAtTimestamp("start", nextTime);
}
function cancelSchedule() {
setupTask.cancel(true);
}
function start() {
scheduleNew();
em.getChannelServer().AutoGain(10);
}
- AutoNx.js
var setupTask;
function init() {
scheduleNew();
}
function scheduleNew() {
var cal = java.util.Calendar.getInstance();
cal.set(java.util.Calendar.HOUR, 3);
cal.set(java.util.Calendar.MINUTE, 50);
cal.set(java.util.Calendar.SECOND, 0);
var nextTime = cal.getTimeInMillis();
while (nextTime <= java.lang.System.currentTimeMillis()) {
nextTime += 1000 * 60 * 10;
}
setupTask = em.scheduleAtTimestamp("start", nextTime);
}
function cancelSchedule() {
setupTask.cancel(true);
}
function start() {
scheduleNew();
em.getChannelServer().AutoNx(10);
}
- AutoPaoDian.js
var setupTask;
function init() {
scheduleNew();
}
function scheduleNew() {
var cal = java.util.Calendar.getInstance();
cal.set(java.util.Calendar.HOUR, 0);
cal.set(java.util.Calendar.MINUTE, 0);
cal.set(java.util.Calendar.SECOND, 0);
var nextTime = cal.getTimeInMillis();
while (nextTime <= java.lang.System.currentTimeMillis()) {
nextTime += 1000 * 60 * 1;
}
setupTask = em.scheduleAtTimestamp("start", nextTime);
}
function cancelSchedule() {
setupTask.cancel(true);
}
function start() {
scheduleNew();
em.getChannelServer().AutoPaoDian();
var iter = em.getInstances().iterator();
while (iter.hasNext()) {
var eim = iter.next();
}
}
以上三個js都寫好後放到端口的Event裡,打開端口設定檔(一般都是Settings
或者world.properties
之類的)在tms.Events:
後方加上AutoGain,AutoNx,AutoPaoDian
記得要用逗號隔開,就這樣。
📢3個泡點Event下載:Download
補充
我有看到對岸的另一種寫法 也提供給各位參考 MapleMap.java
/**
* 计算方法暂时如下.
*
* @试运行: 一天24小时 1小时:41点 1小时等于60分钟 60分钟划分为6份 每份10分钟 每10分钟1次 每次7点
* @按等级计算公式: int givNx = ((jsNx * chr.getLevel()/2) + Nx);
* @备注信息: 以上计算方法结果如下: 100级玩家/每天最多獲得1000点券。
*/
public void AutoNx(int jsNx, boolean isAutoPoints) {
if (mapid != 910000000) {
return;
}
for (MapleCharacter chr : characters) {
if (chr != null) {
// if (chr.getClient().getLastPing() <= 0) {
// chr.getClient().sendPing();
// }
if (isAutoPoints) {
chr.gainPlayerPoints(jsNx);
chr.dropMessage(5, "[系統獎勵] 在線獎勵獲得 [" + jsNx + "] 點積分.");
} else {
int givNx = ((chr.getLevel() / 10) + jsNx);
chr.modifyCSPoints(2, givNx);
chr.dropMessage(5, "[系統獎勵] 在線獎勵獲得 [" + givNx + "] 點抵用券.");
}
}
}
}
/*
* 市场泡点
*/
public void AutoGain(int jsexp, int expRate) {
if (mapid != 910000000) {
return;
}
for (MapleCharacter chr : characters) {
if (chr == null || chr.getLevel() >= 250) {
return;
}
int givExp = ((jsexp * chr.getLevel()) + expRate);
givExp *= 3;
chr.gainExp(givExp, true, false, true);
chr.dropMessage(5, "[系統獎勵] 在線獎勵獲得 [" + givExp + "] 點經驗.");
}
}