dev.4
chat room handlers instead of a function hook, this fixes communication breakdown
This commit is contained in:
parent
f911c05073
commit
41b2029efd
|
@ -1,6 +1,6 @@
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name MBCHC
|
// @name MBCHC
|
||||||
// @version dev.3
|
// @version dev.4
|
||||||
// @description Mute's Bondage Club Hacks Collection
|
// @description Mute's Bondage Club Hacks Collection
|
||||||
// @author codename.mute@proton.me
|
// @author codename.mute@proton.me
|
||||||
// @namespace https://code.fleshless.org/mute/
|
// @namespace https://code.fleshless.org/mute/
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
if (!window.AsylumGGTSSAddItems) throw "AsylumGGTSSAddItems() not found, aborting MBCHC loading"
|
if (!window.AsylumGGTSSAddItems) throw "AsylumGGTSSAddItems() not found, aborting MBCHC loading"
|
||||||
if (window.MBCHC) throw "MBCHC found, aborting loading"
|
if (window.MBCHC) throw "MBCHC found, aborting loading"
|
||||||
window.MBCHC = {
|
window.MBCHC = {
|
||||||
VERSION: "dev.3",
|
VERSION: "dev.4",
|
||||||
TARGET_VERSION: "R85",
|
TARGET_VERSION: "R85",
|
||||||
NEXT_MESSAGE: 1,
|
NEXT_MESSAGE: 1,
|
||||||
LOG_MESSAGES: false,
|
LOG_MESSAGES: false,
|
||||||
|
@ -314,7 +314,7 @@
|
||||||
},
|
},
|
||||||
receive: function(data) {
|
receive: function(data) {
|
||||||
let char = this.cid2char(data.Sender)
|
let char = this.cid2char(data.Sender)
|
||||||
if (char.IsPlayer()) return // this is our own message, sent back to us
|
if (char.IsPlayer()) return true // this is our own message, sent back to us
|
||||||
let payload = this.ensure("Empty message", () => data.Dictionary[0])
|
let payload = this.ensure("Empty message", () => data.Dictionary[0])
|
||||||
switch (payload.type) {
|
switch (payload.type) {
|
||||||
case "greetings": case "hello":
|
case "greetings": case "hello":
|
||||||
|
@ -323,6 +323,7 @@
|
||||||
break
|
break
|
||||||
default: // if we don't know the type it may be from a newer version
|
default: // if we don't know the type it may be from a newer version
|
||||||
}
|
}
|
||||||
|
return true
|
||||||
},
|
},
|
||||||
hello: function(char = null) {
|
hello: function(char = null) {
|
||||||
let payload = {type: "greetings", value: window.Player.MBCHC}
|
let payload = {type: "greetings", value: window.Player.MBCHC}
|
||||||
|
@ -594,18 +595,6 @@
|
||||||
window.MBCHC.update_char(nextargs[0])
|
window.MBCHC.update_char(nextargs[0])
|
||||||
return(result)
|
return(result)
|
||||||
})
|
})
|
||||||
window.MBCHC.sdk.hookFunction("ChatRoomMessageInvolvesPlayer", 0, (nextargs, next) => {
|
|
||||||
let data = nextargs[0]
|
|
||||||
if (!data.MBCHC_ID) {
|
|
||||||
data.MBCHC_ID = window.MBCHC.NEXT_MESSAGE
|
|
||||||
window.MBCHC.NEXT_MESSAGE += 1
|
|
||||||
if (window.MBCHC.LOG_MESSAGES) console.debug(data)
|
|
||||||
if (("ReceiveSuitcaseMoney" === data.Content) && ("Hidden" === data.Type)) { window.MBCHC.LAST_HACKED = data.Sender }
|
|
||||||
if (("ServerEnter" === data.Content) && ("Action" === data.Type) && (data.Sender === window.Player.cid)) { window.MBCHC.player_enters_room() }
|
|
||||||
if (("MBCHC" === data.Content) && ("Hidden" === data.Type)) { window.MBCHC.receive(data) }
|
|
||||||
}
|
|
||||||
return(next(nextargs))
|
|
||||||
})
|
|
||||||
window.MBCHC.sdk.hookFunction("ChatRoomReceiveSuitcaseMoney", 0, (nextargs, next) => {
|
window.MBCHC.sdk.hookFunction("ChatRoomReceiveSuitcaseMoney", 0, (nextargs, next) => {
|
||||||
let result = next(nextargs)
|
let result = next(nextargs)
|
||||||
if (window.MBCHC.AUTOHACK_ENABLED && window.MBCHC.LAST_HACKED) {
|
if (window.MBCHC.AUTOHACK_ENABLED && window.MBCHC.LAST_HACKED) {
|
||||||
|
@ -695,6 +684,24 @@
|
||||||
return(next(nextargs))
|
return(next(nextargs))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Chat room handlers
|
||||||
|
window.ChatRoomRegisterMessageHandler({ Priority: -220, Description: "MBCHC preprocessor",
|
||||||
|
Callback: (data, sender, msg, metadata) => {
|
||||||
|
data.MBCHC_ID = window.MBCHC.NEXT_MESSAGE
|
||||||
|
window.MBCHC.NEXT_MESSAGE += 1
|
||||||
|
if (window.MBCHC.LOG_MESSAGES) console.debug({data, sender, msg, metadata})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
window.ChatRoomRegisterMessageHandler({ Priority: -219, Description: "MBCHC room enter hook",
|
||||||
|
Callback: (data, sender, msg, metadata) => { if (("Action" === data.Type) && ("ServerEnter" === data.Content) && (data.Sender === window.Player.cid)) window.MBCHC.player_enters_room() }
|
||||||
|
})
|
||||||
|
window.ChatRoomRegisterMessageHandler({ Priority: -219, Description: "MBCHC specific consumer",
|
||||||
|
Callback: (data, sender, msg, metadata) => { if (("Hidden" === data.Type) && ("MBCHC" === data.Content)) return window.MBCHC.receive(data) }
|
||||||
|
})
|
||||||
|
window.ChatRoomRegisterMessageHandler({ Priority: -219, Description: "MBCHC autohack lookup",
|
||||||
|
Callback: (data, sender, msg, metadata) => { if (("Hidden" === data.Type) && ("ReceiveSuitcaseMoney" === data.Content)) window.MBCHC.LAST_HACKED = data.Sender }
|
||||||
|
})
|
||||||
|
|
||||||
// MAIN SCREEN TURN ON
|
// MAIN SCREEN TURN ON
|
||||||
if (window.MBCHC.need_load_hook(window.CurrentModule, window.CurrentScreen)) {
|
if (window.MBCHC.need_load_hook(window.CurrentModule, window.CurrentScreen)) {
|
||||||
window.MBCHC.remove_load_hook = window.MBCHC.sdk.hookFunction("AsylumGGTSSAddItems", 0, (nextargs, next) => {window.MBCHC.loader(); return(next(nextargs))})
|
window.MBCHC.remove_load_hook = window.MBCHC.sdk.hookFunction("AsylumGGTSSAddItems", 0, (nextargs, next) => {window.MBCHC.loader(); return(next(nextargs))})
|
||||||
|
|
Loading…
Reference in New Issue
Block a user