新增 ticketrafflesystem.cost 在購買彩券後直接提醒詳細資訊
首先到PhantomBot\scripts\systems內
用Notepad++打開systems-ticketraffleSystem.js
在約192行左右的地方程式碼如下
totalTickets += times;
$.inidb.decr('points', user, (times * cost));
incr(user.toLowerCase(), times);
for (var i = 0; i < times; i++) {
entries.push(user);
}
};
function incr(user, times) {
if (!$.inidb.exists('entered', user.toLowerCase())) {
$.inidb.set('entered', user.toLowerCase(), 'true');
$.inidb.incr('raffleresults', 'ticketRaffleEntries', 1);
}
$.inidb.incr('ticketsList', user.toLowerCase(), times);
}
而我們要在
for (var i = 0; i < times; i++) {
entries.push(user);
}
這段後面增加
if (msgToggle) {
$.say($.lang.get('ticketrafflesystem.cost', $.whisperPrefix(user), times, times * cost, getTickets(user)));
}所以程式碼將會長成
totalTickets += times;
$.inidb.decr('points', user, (times * cost));
incr(user.toLowerCase(), times);
for (var i = 0; i < times; i++) {
entries.push(user);
}
if (msgToggle) {
$.say($.lang.get('ticketrafflesystem.cost', $.whisperPrefix(user), times, times * cost, getTickets(user)));
}
};
function incr(user, times) {
if (!$.inidb.exists('entered', user.toLowerCase())) {
$.inidb.set('entered', user.toLowerCase(), 'true');
$.inidb.incr('raffleresults', 'ticketRaffleEntries', 1);
}
$.inidb.incr('ticketsList', user.toLowerCase(), times);
}
到這邊算是修改好規則
再來則是要增加文檔
到lang\xxx\systems
開啟systems-ticketraffleSystem
增加
$.lang.register('ticketrafflesystem.cost', '$1 花了 $3 枚金幣買了 $2 張票! 你已經有 $4 張票囉!');
$1為ID
$2為當次購買票數
$4為目前擁有的票數
或用Beta-panel新增lang ID: ticketrafflesystem.cost
並打上要的內容即可
新增輪放公告的變數 (totalTickets) 和 (totalEntries)
來公告出目前賣出幾張/有多少人購買
首先到PhantomBot\scripts\systems內
用Notepad++打開systems-ticketraffleSystem.js
在約89行左右的地方程式碼如下
if (messageInterval != 0) {
interval = setInterval(function() {
$.say(raffleMessage.replace('(entries)', String(totalEntries)));
}, messageInterval * 6e4);
}
要修正紅字變成
$.say(raffleMessage.replace('(totalTickets)', String(totalTickets)).replace('(totalEntries)', String(totalEntries)));
所以程式碼將會長成
if (messageInterval != 0) {
interval = setInterval(function() {
$.say(raffleMessage.replace('(totalTickets)',String(totalTickets)).replace('(totalEntries)', String(totalEntries)));
}, messageInterval * 6e4);
}
這樣在使用公告時就能加入變數(totalTickets) 和 (totalEntries)囉!
增加ticketrafflesystem.err.points的變數來更確切提醒不足多少
首先到PhantomBot\scripts\systems內
用Notepad++打開systems-ticketraffleSystem.js
在約169行左右的地方程式碼如下
if (cost > 0) {
if ((times * cost) > $.getUserPoints(user)) {
if (msgToggle) {
$.say($.whisperPrefix(user) + $.lang.get('ticketrafflesystem.err.points', $.pointNameMultiple));
}
return;
}
}
要修正紅字變成
$.say($.whisperPrefix(user) + $.lang.get('ticketrafflesystem.err.points', $.pointNameMultiple, $.getUserPoints(user), times , times * cost));
所以程式碼將會長成
if (cost > 0) {
if ((times * cost) > $.getUserPoints(user)) {
if (msgToggle) {
$.say($.whisperPrefix(user) + $.lang.get('ticketrafflesystem.err.points',$.pointNameMultiple, $.getUserPoints(user), times , times * cost));
}
return;
}
}
這樣就能更改lang的ticketrafflesystem.err.points那邊的更多變數囉!
$1是點數名稱
$2是使用者有的點數數量
$3是使用者這次買太多的票數
$4是如果要買這麼多票要花多少點數
舉例
$.lang.register('ticketrafflesystem.err.points', '你現在只有 $2$1 ,買 $3 張票至少需要 $4 枚金幣!');
實際上會像
God1bot:你現在只有 3 金幣 ,買 10 張票至少需要 20 枚金幣!