Last active
January 7, 2017 22:48
-
-
Save namikiri/59808e5082ab331e297e7a16d3fd7c04 to your computer and use it in GitHub Desktop.
Модули для m0ssion
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Автоматическая добыча алмазов в Золотой Лихорадке | |
// Чтобы начать добывать, ударь любую шахту киркой | |
// Как только кирки кончатся, скрипт остановится. | |
var doingItNow = false, | |
objectId = '', | |
doerTimer = null; | |
function detect_doit (cmd) | |
{ | |
var cmds = cmd.split(' '); | |
if (cmds[0] == 'OBJ_ACT' && cmds[4] == 'doit') | |
{ | |
if (!doingItNow) | |
{ | |
m0s.log('Starting DOING IT HAЯD!', 'info', 'klondike'); | |
m0s.sendToClient(':srv PRIVMSG 0 :Автоигра запущена. Автоматические удары киркой будут остановлены, если закончатся кирки, или если Вы ещё раз нажмёте «Ударить киркой»'); | |
objectId = cmds[2]; | |
doerTimer = setInterval(function() {m0s.sendToServer ('OBJ_ACT 22 '+objectId+' 1 doit')}, | |
Math.floor(Math.random() * 1000 + 1000)); | |
doingItNow = true; | |
} | |
else | |
{ | |
clearInterval(doerTimer); | |
doingItNow = false; | |
m0s.log('Klondike autoplay is stopped.', 'info', 'klondike'); | |
m0s.sendToClient(':srv PRIVMSG 0 :Автоигра остановлена. Чтобы перезапустить, ещё раз ударьте шахту киркой.'); | |
} | |
return false; | |
} | |
return cmd; | |
} | |
function detect_end(cmd) | |
{ // :srv PRIVMSG 0 :Чтобы начать добывать | |
var cmds = cmd.split(' '); | |
if (cmds[0] == ':srv' && cmds[1] == 'PRIVMSG' && cmd.indexOf('Чтобы начать добывать') > -1) | |
{ | |
clearInterval(doerTimer); | |
doingItNow = false; | |
m0s.log('Klondike autoplay is stopped.', 'info', 'klondike'); | |
m0s.sendToClient(':srv PRIVMSG 0 :Автоигра остановлена, потому что у вас закончились кирки.'); | |
} | |
return cmd; | |
} | |
m0s.addEvent('send', detect_doit); | |
m0s.addEvent('receive', detect_end); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Отключает погоду на планете, из-за неё Гала может сильно лагать | |
function no_weather (command) | |
{ | |
if (command.indexOf('WEATHER') > -1) | |
return false; | |
else | |
return command; | |
} | |
m0s.addEvent ('receive', no_weather); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Отключает смайлы ВЕЗДЕ. Ибо заебали. | |
UI.replaceSmiles = function(h, u, j) { return h; } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Самострел: автоматическая игра в Галатир | |
// Чтобы запустить, выполни действие "Начать игру" | |
// Как только жетоны кончатся, скрипт остановится. | |
var shots = 0, | |
nowShooting = false, | |
objectId = ''; | |
function shoot() | |
{ | |
if (shots >= 5) | |
{ | |
m0s.sendToClient(':srv PRIVMSG 0 1 :Отстреляли, пытаемся использовать новый жетон...'); | |
m0s.log ('Used all the bullets, reloading the gun', 'info', 'jewtone'); | |
shots = 0; | |
m0s.sendToServer('ACTION 781 '+objectId); | |
} | |
else | |
{ | |
m0s.sendToServer('ACTION 780 '+objectId); | |
shots++; | |
} | |
if (nowShooting) | |
setTimeout(shoot, Math.floor(Math.random()*2000 + 1000)); | |
} | |
function detect_shoot_start(cmd) | |
{ | |
var cmds = cmd.split(' '); | |
if (cmds[0] == 'ACTION' && cmds[1] == '781') | |
{ | |
if (nowShooting) | |
{ | |
nowShooting = false; | |
m0s.sendToClient (':srv PRIVMSG 0 1 :Самострел выключен пользователем.'); | |
m0s.log ('Autoshooting is stopped by user', 'info', 'jewtone'); | |
return false; | |
} | |
else | |
{ | |
nowShooting = true; | |
objectId = cmds[2]; | |
setTimeout(shoot, Math.floor(Math.random()*2000 + 1000)); | |
m0s.sendToClient (':srv PRIVMSG 0 1 :Самострел запущен. Выстрелы будут производиться автоматически до остановки пользователем или пока не закончатся жетоны.'); | |
m0s.log ('Autoshooting is started!', 'info', 'jewtone'); | |
return cmd; | |
} | |
} | |
return cmd; | |
} | |
function shoot_result(cmd) | |
{ | |
var cmds = cmd.split(' '); | |
if (nowShooting) | |
{ | |
if (cmds[0] == ':srv' && cmds[1] == 'PRIVMSG') | |
{ | |
if (cmd.indexOf('У вас нет жетона') > -1) | |
{ | |
m0s.sendToClient (':srv PRIVMSG 0 1 :Жетоны закончились, самострел выключен.'); | |
m0s.log ('No coins left, stopping the game.', 'info', 'jewtone'); | |
nowShooting = false; | |
} | |
} | |
} | |
return cmd; | |
} | |
m0s.addEvent('receive', shoot_result); | |
m0s.addEvent('send', detect_shoot_start); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment