 |
 |
 |
[Script] Monsterbation 1.4.1.2, A comprehensive hovering script for HentaiVerse and ISK. Including CrunkJuice 1.3.0, an out-of-battle script |
|
Nov 27 2019, 22:08
|
uareader
Group: Catgirl Camarilla
Posts: 5,592
Joined: 1-September 14

|
QUOTE(zeek17 @ Nov 22 2019, 07:32)  What do I need to chande in script to disable click-on-hover in random encounter and ring of blood - basically 1-round battles?
I just checked, and the very first line in the battle log (from the bottom) feature the name of the battle you're in (checked Arena, Grindfest and Item World, probably apply to Ring of Blood and Random Encounter too). In theory, it should be possible to set a variable based on that at beginning of fight, and clear it at end, then do stuff differently based on that. You may want to elaborate what kind of options you would want based on this to have a chance to see the feature being born in official script. Also if you close a battle and reopen it later, then it would definitely lose the information, possibly that being a reason this kind of feature don't exist already. edit: I found an use for myself, so here's what I did to detect battle type: around line 1050, in function Observe, before "return", add CODE currentBattleType = null; a bit later, between the "}" and "hovering = false;" add CODE else { if(currentBattleType == null) { if(!log.firstElementChild.lastElementChild.innerHTML.includes('Initializing')) { currentBattleType = "ongoing unknown battle type"; } else if(log.firstElementChild.lastElementChild.innerHTML.includes('random encounter')) { currentBattleType = "random encounter"; } else if(log.firstElementChild.lastElementChild.innerHTML.includes('Item World')) { currentBattleType = "item world"; } else if(log.firstElementChild.lastElementChild.innerHTML.includes('arena challenge')) { currentBattleType = "arena"; } else if(log.firstElementChild.lastElementChild.innerHTML.includes('Grindfest')) { currentBattleType = "grindfest"; } else { currentBattleType = "ring of blood"; } } } and finally, around line 676, after "csp = false" and before ";", add CODE , currentBattleType = null I didn't check the line for ring of blood, so it's the final possibility, would fail if new battle type was added. For the "disable click-on-hover" part, not sure what would be the good place in code to add this (not even 100% sure the Observe function was the best place to put all this code, since it's 1 useless check added every call) edit2: Actually, it may be the wrong place after all, as it may require 1 interaction to get the battle type from the log, and that's not really a good thing. This post has been edited by uareader: Nov 29 2019, 17:01
|
|
|
|
 |
|
Dec 5 2019, 17:53
|
Reliance
Newcomer
  Group: Members
Posts: 60
Joined: 7-December 11

|
How do I disable normal hover action while still being able to do ctrl, alt and shift hover? I tried putting hover action at false but it seems to disable everything. Alos I can guess what does Impulse mean in the mouse binding and hover settings?
|
|
|
Dec 5 2019, 18:44
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
QUOTE(Reliance @ Dec 5 2019, 16:53)  How do I disable normal hover action while still being able to do ctrl, alt and shift hover?
this seems like something that could be changed, but those settings are tied to the base hover system. you can, however, use the bindable HoverAction function to enable hover by keypress only QUOTE(Reliance @ Dec 5 2019, 16:53)  Alos I can guess what does Impulse mean in the mouse binding and hover settings?
Impulse performs an action exactly once
|
|
|
Dec 5 2019, 19:28
|
Reliance
Newcomer
  Group: Members
Posts: 60
Joined: 7-December 11

|
QUOTE(sickentide @ Dec 5 2019, 11:44)  you can, however, use the bindable HoverAction function to enable hover by keypress only
How do you do this?
|
|
|
Dec 5 2019, 20:44
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
QUOTE(Reliance @ Dec 5 2019, 18:28)  How do you do this?
you set hoverAction: false and use a binding of the form CODE Bind(KEY_A, HoverAction(Nothing, true));\ in the bindings section. this one will attack only while holding A
|
|
|
Dec 15 2019, 17:52
|
Kidays
Group: Members
Posts: 158
Joined: 10-December 09

|
Thank you for your commitment towards making an addicting little game even more addicting.
|
|
|
Dec 18 2019, 17:39
|
neogdoma
Group: Gold Star Club
Posts: 237
Joined: 21-January 14

|
It actives and deactives randomly.
Newest Chrome, Newest Tampermonkey beta, fresh script without any change.
|
|
|
Dec 29 2019, 15:17
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
QUOTE(neogdoma @ Dec 18 2019, 16:39)  It actives and deactives randomly.
almost missed this... does the whole script with UI changes and everything deactivate, or is it just the hover function? could be that you are running into interrupt conditions, such as buffs expiring
|
|
|
Jan 19 2020, 08:58
|
mr_baka
Group: Catgirl Camarilla
Posts: 1,852
Joined: 5-August 13

|
Hello! Can I use "stop on spark or low vitals" for wheel down button somehow? I use wheel down button for Imperil spell, and sometimes it happens like this: 1. I cast Imperil on the first group of monsters 2. They hit me, Spark of life is activated 3. I do not notice, I cast Imperil on the second group of monsters 4. I'm dead
|
|
|
Feb 20 2020, 16:18
|
ikki.
Group: Gold Star Club
Posts: 2,990
Joined: 11-October 16

|
how about "clean clear time" option? timer that count only when you active in battle
|
|
|
Feb 20 2020, 18:38
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
QUOTE(Ikki Pop @ Feb 20 2020, 15:18)  how about "clean clear time" option? timer that count only when you active in battle
i've been rather busy with school on top of work lately so i haven't been doing much coding, but i do have plans for something like that: the option to pause the timer at will and resume it automatically with the next action
|
|
|
|
 |
|
Mar 4 2020, 10:17
|
kdasny
Group: Members
Posts: 107
Joined: 7-January 19

|
Everything except the monster database information (but not excepting their max hp display) stops working for a few turns whenever my Spark of Life gets activated. When it restarts, the round counter gets reset, so it seems like something is causing the script to crash. I've also occasionally noticed this while casting spells, except there isn't a problem with the round counter. This might be what neogdoma was mentioning. Any idea what may be causing this?
This post has been edited by kdasny: Mar 8 2020, 05:53
|
|
|
Mar 9 2020, 20:38
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
QUOTE(kdasny @ Mar 4 2020, 09:17)  Any idea what may be causing this?
you may have an invalid parameter somewhere in your settings. try going back to the defaults and reactivating your own settings a few at a time to see if it goes away/comes back
|
|
|
|
 |
|
Mar 15 2020, 19:21
|
KitsuneAbby
Group: Catgirl Camarilla
Posts: 7,571
Joined: 12-July 14

|
Hi sicken. Small question for you: is it really needed to have all the binds in a string? I'm still using 1.2.4.3, in which my binds look like this: CODE Bind(KEY_Z, ToggleHover); Bind(KEY_Z, Shift, ToggleHover); Bind(46, Shift, ToggleHover); // Suppr Bind(46, ToggleHover); // Toggle hoverplay. Bind(KEY_UP, Cast('Imperil')); // Bind(KEY_UP, HoverAction(Cast('Imperil'))); // Single cast of Imperil, respect alerts // Bind(KEY_I, HoverAction(Cast('Imperil'))); // Cast Imperil on selected monster, ignore alerts. // Bind(KEY_I, Shift, HoverAction(Strongest([Cast('Fimbulvetr'),Cast('Blizzard'),Cast('Freeze')]), true)); // Single cast of Imperil, respect alerts. Bind(KEY_LEFT, Cast('Regen')); Bind(KEY_DOWN, Cast('Arcane Focus')); Bind(96, Use('p')); // Numpad 0 Bind(97, Use(1)); // Numpad 1 - Health draught Bind(98, Use(2)); // Numpad 2 - Mana draught Bind(99, Use(3)); // Numpad 3 - Spirit draught Bind(100, Strongest([TargetMonster(1), Cast('Imperil')])); // Numpad 4 Bind(101, Strongest([TargetMonster(2), Cast('Imperil')])); // Numpad 5 Bind(102, Strongest([TargetMonster(6), Cast('Imperil')])); // Numpad 6 Bind(KEY_END, Use('p')); Bind(103, Strongest([TargetMonster(1), Cast('Imperil')])); // Numpad 7 Bind(104, Strongest([TargetMonster(4), Cast('Imperil')])); // Numpad 8 Bind(105, Strongest([TargetMonster(7), Cast('Imperil')])); // Numpad 9 Bind(106, Cast('MagNet')); // Numpad * Bind(109, ToggleHover); // Numpad - Bind(111,Use(11)); // Numpad Slash - Scroll of Absorption Bind(110,Strongest([Use('s5'),Use('s4'),Use('s2'),Use('s1'),Use('n1')])); // Numpad . - Infusion of Darkness, Scroll of Swiftness, Scroll of Protection, Scroll of Shadows, Scroll of Life Bind(107,Strongest([Use('s6'),Use('s3'),Use('n1')])); // Numpad + - Infusion of Darkness, Scroll of the Avatar, Scroll of the Gods My issue with the current version, is that I have no way to tell if I've written the binds correctly, since it's a damn string, and I have no way to add a comment in the end of the line either. Does it support that older formatting?
|
|
|
|
 |
|
Mar 15 2020, 21:08
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
i changed it to a string in order to read/write it via the interface, but if you don't use the interface (be sure to hit Reset if you have), you can revert the change. around line 947: CODE eval(cfg.bind); change it to: CODE cfg.bind(); now, in your settings, you can define bind as a function again: CODE bind: function() { Bind(KEY_Z, ToggleHover); // ... },
|
|
|
|
 |
|
Mar 16 2020, 01:29
|
KitsuneAbby
Group: Catgirl Camarilla
Posts: 7,571
Joined: 12-July 14

|
I give up. The binds isn't the only place that seems to use strings: it's the same for the mouse settings and all. The inability to have Tampermonkey checking for errors and the inability to use comments are simply a turn-off for me. I wanted to check this 1.3 to see what things like Impulse were, but this kind of doodad won't cut it.
I'll stick to my good old 1.2.4.3. It may not have Impulse, but I know what does what in it. I'll consider upgrading if I can use comments again, at least.
|
|
|
|
 |
|
Mar 30 2020, 05:10
|
3534
Group: Gold Star Club
Posts: 1,859
Joined: 14-March 11

|
Excuse me, a small question with using Bind() in numpad, I'm not sure that it is legal or not, can I add these : CODE KEY_numpad0 = 96, KEY_numpad1 = 97, KEY_numpad2 = 98, KEY_numpad3 = 99, KEY_numpad4 = 100, KEY_numpad5 = 101, KEY_numpad6 = 102, KEY_numpad7 = 103, KEY_numpad8 = 104, KEY_numpad9 = 105, KEY_numpad_del = 110, KEY_numpad_add = 107, between line 677~678, make it like here: CODE KEY_1 = 49, KEY_2 = 50, KEY_3 = 51, KEY_4 = 52, KEY_5 = 53, KEY_6 = 54, KEY_7 = 55, KEY_8 = 56, KEY_9 = 57, KEY_0 = 48, KEY_numpad0 = 96, KEY_numpad1 = 97, KEY_numpad2 = 98, KEY_numpad3 = 99, KEY_numpad4 = 100, KEY_numpad5 = 101, KEY_numpad6 = 102, KEY_numpad7 = 103, KEY_numpad8 = 104, KEY_numpad9 = 105, KEY_numpad_del = 110, KEY_numpad_add = 107, KEY_SPACE = 32, KEY_ENTER = 13, KEY_PAGEUP = 33, KEY_PAGEDOWN = 34, KEY_END = 35, KEY_HOME = 36, KEY_LEFT = 37, KEY_UP = 38, KEY_RIGHT = 39, KEY_DOWN = 40, and use them in bind(), like that: CODE Bind(KEY_numpad1, Strongest([TargetMonster(0), Cast('Imperil')]));\ Bind(KEY_numpad2, Strongest([TargetMonster(1), Cast('Imperil')]));\ Bind(KEY_numpad3, Strongest([TargetMonster(2), Cast('Imperil')]));\ Bind(KEY_numpad4, Strongest([TargetMonster(3), Cast('Imperil')]));\ Bind(KEY_numpad5, Strongest([TargetMonster(4), Cast('Imperil')]));\ Bind(KEY_numpad6, Strongest([TargetMonster(5), Cast('Imperil')]));\ Bind(KEY_numpad7, Strongest([TargetMonster(6), Cast('Imperil')]));\ Bind(KEY_numpad8, Strongest([TargetMonster(7), Cast('Imperil')]));\ Bind(KEY_numpad9, Strongest([TargetMonster(8), Cast('Imperil')]));\ Bind(KEY_numpad0, Strongest([TargetMonster(9), Cast('Imperil')]));\ *********** *********** add edit: question +1, and I try to edit here, line 1702~1719, @ver1.3.2.0: CODE function MaxVitals() { if ( !cfg.maxVitals ) return; var hpd, mpd, spd, changed = false; if ( (hpd = document.getElementById('dvrhd') || document.getElementById('dvrhb')) ) { mpd = document.getElementById('dvrm'); spd = document.getElementById('dvrs'); } else { hpd = document.getElementById('vrhd') || document.getElementById('vrhb'); mpd = document.getElementById('vrm'); spd = document.getElementById('vrs'); } var hpv = parseInt(hpd.innerHTML), mpv = parseInt(mpd.innerHTML), spv = parseInt(spd.innerHTML); if ( hpv > vitals.hp ) { vitals.hp = hpv; changed = true; } if ( mpv > vitals.mp ) { vitals.mp = mpv; changed = true; } if ( spv > vitals.sp ) { vitals.sp = spv; changed = true; } hpd.innerHTML = hpv + '/' + vitals.hp; mpd.innerHTML = mpv + '/' + vitals.mp; spd.innerHTML = spv + '/' + vitals.sp; if ( !cfg.ssd && changed ) localStorage.HVvitals = JSON.stringify(vitals); } make it display percent: QUOTE function MaxVitals() { if ( !cfg.maxVitals ) return; var hpd, mpd, spd, changed = false; if ( (hpd = document.getElementById('dvrhd') || document.getElementById('dvrhb')) ) { mpd = document.getElementById('dvrm'); spd = document.getElementById('dvrs'); } else { hpd = document.getElementById('vrhd') || document.getElementById('vrhb'); mpd = document.getElementById('vrm'); spd = document.getElementById('vrs'); } var hpv = parseInt(hpd.innerHTML), mpv = parseInt(mpd.innerHTML), spv = parseInt(spd.innerHTML); if ( hpv > vitals.hp ) { vitals.hp = hpv; changed = true; } if ( mpv > vitals.mp ) { vitals.mp = mpv; changed = true; } if ( spv > vitals.sp ) { vitals.sp = spv; changed = true; } hpd.innerHTML = ( hpv * 100 / vitals.hp ).toFixed(1) + '%/' + hpv + '/' + vitals.hp; mpd.innerHTML = ( mpv * 100 / vitals.mp ).toFixed(1) + '%/' + mpv + '/' + vitals.mp; spd.innerHTML = ( spv * 100 / vitals.sp ).toFixed(1) + '%/' + spv + '/' + vitals.sp; if ( !cfg.ssd && changed ) localStorage.HVvitals = JSON.stringify(vitals); } is it allowed? ----------------------------------------------------------------------------------------------------- QUOTE(sickentide @ Mar 31 2020, 00:49)  these are both perfectly legal
thank you!~ This post has been edited by 3534: Mar 31 2020, 14:40
|
|
|
|
 |
|
Mar 30 2020, 18:49
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
these are both perfectly legal
|
|
|
Apr 4 2020, 12:57
|
red_x_king
Newcomer
 Group: Gold Star Club
Posts: 43
Joined: 28-March 20

|
Hi, thanks for your excellent scripts. It is very helpful for me.
But i meet a problem when i use it. some times after I had choosen a correct (or false) pony (I do not know how to discribe it, just chose a corret pony with a vague picture in a jumped web page),the script did not work.I use the chrome.
No matter i fresh the battle page or turn on and off the script,the script is still stop working. I don't why this happen. Help me please. Thank you very much.
Sorry for my poor English if i make some inconviniences to you.
This post has been edited by red_x_king: Apr 4 2020, 13:59
|
|
|
Apr 5 2020, 14:21
|
sickentide
Group: Catgirl Camarilla
Posts: 1,355
Joined: 31-August 10

|
haven't seen that one before. next time this happens, can you Right Click > Inspect > Console and post the output here?
|
|
|
6 User(s) are reading this topic (6 Guests and 0 Anonymous Users)
0 Members:
|
 |
 |
 |
|