|
|
|
HV Script Thread, Discuss your creations. Includes guidelines and infos for script creation (2020-02-28 upd) |
|
Dec 17 2013, 06:59
|
kuro009
Group: Members
Posts: 747
Joined: 8-May 10
|
QUOTE(kuro009 @ Dec 16 2013, 20:10) Pardon me for the intrusion: HV Random Encounter Notification 1.3.3 [updated for 0.78]:
hvren.user.zip ( 3.2k )
Number of downloads: 301- Now the gap is 30 minutes between two Random Encounters, instead of 1 hour. P.S. - I have NO credit in creating this script. I just adjusted it for the 0.78 patch. OOps, I forgot to mention that it's only for Firefox. This post has been edited by kuro009: Dec 17 2013, 07:00
|
|
|
|
|
|
Dec 17 2013, 14:27
|
ctxl
Group: Members
Posts: 425
Joined: 20-May 12
|
HV - Item Menu for 0.78
itemmenu_mod078.user.js.zip ( 2.23k )
Number of downloads: 297- Rewrote type matching to use equipment item data, rather than equipment names - Now hides Salvage, Upgrade, Enchant, and Item World on MoogleMail pages - Fixed the ability to hide the Salvage option on locked equips As always, middle-click any equipment item to use.
|
|
|
Dec 17 2013, 16:35
|
Kiorika
Group: Members
Posts: 4,792
Joined: 19-September 12
|
I did not know where it is possible to write and decided to write here. (IMG:[ invalid] style_emoticons/default/unsure.gif) Who knows, or can create a widget for Windows that will notify and receive a "new day" (exp, credits)? Do not know how the others but i have a laptop is always on, even when i do not use it. So it would be very convenient if there was a widget. (IMG:[ invalid] style_emoticons/default/rolleyes.gif)
|
|
|
Dec 17 2013, 16:42
|
varst
Group: Gold Star Club
Posts: 11,561
Joined: 30-March 10
|
QUOTE(Kiorika @ Dec 17 2013, 22:35) Who knows, or can create a widget for Windows that will notify and receive a "new day" (exp, credits)?
It's always at 0:00 UTC.
|
|
|
Dec 17 2013, 16:51
|
Kiorika
Group: Members
Posts: 4,792
Joined: 19-September 12
|
QUOTE(varst @ Dec 17 2013, 23:42) It's always at 0:00 UTC.
know it. i meant that without visiting the site. That is, the widget executes the script if i went to the site. This post has been edited by Kiorika: Dec 17 2013, 16:54
|
|
|
|
|
|
Dec 18 2013, 05:19
|
lunadance
Group: Members
Posts: 116
Joined: 2-January 11
|
Hi, It seems all the second quickbar scripts are not being maintained. I modified a bit of the original multi-quickbar script (from [ tiap.github.io] http://tiap.github.io/), which now works for 0cd spells. I only tested it in chrome, you can just save the script into .js and drag into the extension page then it should appear when you enter a battle. Currently it's not convenient to change the spells on the second quickbar (well you have to modify the js script and find the spellid from the spellbook)... anyway, it's a bit useful for me as a lazy guy who just refuse to open the spellbook..... Honor to the original authors ! EDIT: Uh, if posting the script like this violated some kind of forum rules, please tell me, I'll just remove it. EDIT2: Added spell cooldown detection(done by checking the spellbook), 2 or more quickbars supported (IMG:[ i.imgur.com] http://i.imgur.com/OTKXpLWh.jpg) CODE // ==UserScript== // @name HentaiVerse - Extra Quickbars // @version 0.0 // @namespace HVEQ // @match http://hentaiverse.org/* // @run-at document-end // ==/UserScript==
if (!document.getElementById('togpane_log')) return;
// ---------- SETTINGS ---------- var arr_skillbar = [ ['Regen','empty','Spark of Life', 'Spirit Shield','Absorb','empty', 'Drain','Confuse','Blind', 'empty','Corruption','empty','Freeze','Fiery Blast','Shockblast','Gale'], ['empty','empty','Heartseeker','Arcane Focus', 'empty', 'empty', 'Weaken','Slow','empty', 'empty','empty','empty','Sleep','Silence','Cure','Imperil'] ];
// ---------- END SETTINGS ----------
const imageBase = 'http://ehgt.org/v/a/';
var spellMap = { 'empty' : [0, '0', '0'], //place holder 'Regen': [312,'1030','friendly'], 'Cure' : [311,'0530','friendly'],
'Haste': [412,'0533','friendly'], 'Absorb': [421, '1033', 'friendly'], 'Arcane Focus': [432, 'm4020', 'friendly'], 'Heartseeker':[431, 'm4021', 'friendly'], 'Spirit Shield': [423, 'm4040', 'friendly'], 'Protection': [411,'0532','friendly'], 'Shadow Veil': [413,'0633','friendly'], 'Spark of Life': [422,'1133','friendly'], 'Silence' : [232, '0833','hostile'], 'Imperil' : [213, 'm_imperil','hostile'], 'Sleep': [222,'0433','hostile'], 'Confuse': [223,'0733','hostile'], 'Blind': [231,'0933','hostile'], 'Drain': [211,'0133','hostile'], 'Weaken': [212,'0333','hostile'], 'Slow': [221,'0233','hostile'],
'Corruption': [161, '1230', 'hostile'], 'Smite' : [151, '1130', 'hostile'], 'Fiery Blast' : [111, '0130','hostile'], 'Freeze': [121,'0730','hostile'], 'Shockblast': [131,'0330','hostile'], 'Gale': [141,'0430','hostile'], 'Inferno': [112,'0132','hostile'], 'Blizzard': [122,'0732','hostile'], 'Chain Lightning': [132,'0832','hostile'], 'Downburst': [142,'0930','hostile'], };
// ---------- generate arr_skillbar ----------
var Quickbar = document.getElementById('quickbar'), hiddenQuickbars = [ ]; var end_QuickBar = Quickbar.nextSibling; arr_skillbar.forEach(function(skillbar) { var div_skillbar = document.createElement('div'), spellAdded = 0; Quickbar.parentNode.insertBefore(div_skillbar, end_QuickBar);
div_skillbar.className = 'quickbar_extra'; skillbar.forEach(function(action) { if (!spellMap.hasOwnProperty(action)) return; var item = div_skillbar.appendChild(document.createElement('div')); if (action == 'empty') { item.className = 'btqd'; } else { item.className = 'btqs'; var div_if_spell_on_cd = document.getElementById( spellMap[action][0].toString() ).getAttribute('style'); if(div_if_spell_on_cd == null || div_if_spell_on_cd == 'opacity:0.5') item.setAttribute('style', div_if_spell_on_cd); if(spellMap[action][2] == 'friendly') { item.setAttribute('onclick','battle.lock_action(this, 1, \'magic\',' + spellMap[action][0] + ' ); battle.set_' + spellMap[action][2] + '_subattack(' + spellMap[action][0] + '); battle.touch_and_go()');
} else { item.setAttribute('onclick','battle.lock_action(this, 1, \'magic\',' + spellMap[action][0] + ' ); battle.set_' + spellMap[action][2] + '_subattack(' + spellMap[action][0] + ')'); }
var itemicon = item.appendChild(document.createElement('img')); itemicon.setAttribute('src', imageBase + spellMap[action][1] + '.png'); itemicon.className = 'btqi'; } var itemiconbg = item.appendChild(document.createElement('img')); itemiconbg.setAttribute('src','http://ehgt.org/v/ab/b.png'); itemiconbg.className = 'btqb'; spellAdded++; }); });
// ---------- global style ---------- var style = document.createElement('style'); style.innerHTML = 'div.quickbar_extra { width:641px;height:34px;clear:both;padding-left:13px }'+'div.btqd {opacity:0}'; document.head.appendChild(style);
This post has been edited by lunadance: Dec 18 2013, 09:48
|
|
|
|
|
|
Dec 18 2013, 13:56
|
atest1
Group: Gold Star Club
Posts: 2,689
Joined: 5-October 12
|
QUOTE(ctxl @ Dec 17 2013, 20:27) HV - Item Menu for 0.78
itemmenu_mod078.user.js.zip ( 2.23k )
Number of downloads: 297- Rewrote type matching to use equipment item data, rather than equipment names - Now hides Salvage, Upgrade, Enchant, and Item World on MoogleMail pages - Fixed the ability to hide the Salvage option on locked equips As always, middle-click any equipment item to use. Thanks a lot (IMG:[ invalid] style_emoticons/default/laugh.gif)
|
|
|
|
|
|
Dec 19 2013, 11:20
|
Pillowgirl
Group: Gold Star Club
Posts: 5,398
Joined: 2-December 12
|
Could someone competent update this script for the new 30 min change. I use it on Iron btw. Widescreen-timer-hvren.user.js CODE // ==UserScript== // @name HV Random Encounter Notification // @namespace sigo8@e-hentai.org // @author sigo8, LangTuTaiHoa, GaryMcNabb // @version 1.3.2 // @match http://hentaiverse.org/* // @exclude http://hentaiverse.org/pages/showequip* // @run-at document-end // ==/UserScript==
var battleLog = document.getElementById("togpane_log"), rawDate, timeToDawn = {}, logRows, timerDiv, timerLink, resetLink, time, timerID, minute, second;
function updateTimeToDawn() { rawDate = new Date(); timeToDawn = { hour: rawDate.getUTCHours(), minute: rawDate.getUTCMinutes(), second: rawDate.getUTCSeconds() } } function timerUpdate() { if (--second < 0) { second = 59; if (--minute < 0) { timerLink.href = "http://e-hentai.org/"; timerLink.onclick = timerReset; timerLink.style.setProperty("color", "red"); timerLink.innerHTML = "Ready"; clearInterval(timerID); return; } } timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; } function timerReset() { updateTimeToDawn(); if (timeToDawn.hour === 23) { localStorage.lastRandomEncounter = Date.now() - ((timeToDawn.minute * 60000) + (timeToDawn.second * 1000)); minute = 59 - timeToDawn.minute; second = 60 - timeToDawn.second; } else { localStorage.lastRandomEncounter = Date.now(); minute = 60; second = 0; } timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; timerLink.style.color = "#5C0C11"; if (timerID) clearInterval(timerID); timerID = setInterval(timerUpdate, 1000); } if (battleLog) { logRows = battleLog.firstElementChild.firstElementChild.children; if (logRows[0].firstElementChild.textContent === "0" && logRows[logRows.length-2].lastElementChild.textContent[13] === "r") { updateTimeToDawn(); localStorage.lastRandomEncounter = (timeToDawn.hour !== 23 ? Date.now() : Date.now() - ((timeToDawn.minute * 60000) + (timeToDawn.second * 1000)) ); } } else { timerDiv = document.createElement("div"); timerLink = document.createElement("a"); resetLink = document.createElement("a"); if (!localStorage.lastRandomEncounter) timerReset(); time = localStorage.lastRandomEncounter - (Date.now() - 3600000); minute = second = 0;
timerDiv.style.cssText = "display:block; position: absolute; top:5px; left:980px;"; timerLink.style.cssText = "text-decoration:none; font-size:17px; font-weight:bold; color:#5C0C11;"; resetLink.style.cssText = "text-decoration:none; color:red; top:-3px; position:relative; left:3px;"; resetLink.innerHTML = "RESET"; resetLink.onclick = timerReset; resetLink.href = "#";
timerDiv.appendChild(timerLink); timerDiv.appendChild(resetLink); if (time < 0) { timerLink.href = "http://e-hentai.org/"; timerLink.onclick = timerReset; timerLink.style.color="red"; timerLink.innerHTML="Ready"; } else { time = Math.round(time / 1000); minute = Math.floor(time / 60); second = time - (minute * 60); timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; timerID = setInterval(timerUpdate, 1000); } document.body.appendChild(timerDiv); }
This post has been edited by Pillowgirl: Dec 19 2013, 11:21
|
|
|
|
|
|
Dec 19 2013, 14:01
|
yobi00
Group: Members
Posts: 700
Joined: 13-August 13
|
QUOTE(Pillowgirl @ Dec 19 2013, 18:20) Could someone competent update this script for the new 30 min change. I use it on Iron btw. Widescreen-timer-hvren.user.js
This should fix it, but I can't fully test it ATM. It's same as kuro009 version but with new dawn event check fixed in two places and fonts and positions left as they used to be. And I don't think there's anything browser specific in the code, as it works for me on both chrome and firefox. CODE // ==UserScript== // @name HV Random Encounter Notification // @namespace sigo8@e-hentai.org // @author sigo8, LangTuTaiHoa, GaryMcNabb // @version 1.3.3 // @match http://hentaiverse.org/* // @exclude http://hentaiverse.org/pages/showequip* // @run-at document-end // ==/UserScript==
var battleLog = document.getElementById("togpane_log"), rawDate, timeToDawn = {}, logRows, timerDiv, timerLink, resetLink, time, timerID, minute, second;
function updateTimeToDawn() { rawDate = new Date(); timeToDawn = { hour: rawDate.getUTCHours(), minute: rawDate.getUTCMinutes(), second: rawDate.getUTCSeconds() } } function timerUpdate() { if (--second < 0) { second = 59; if (--minute < 0) { timerLink.href = "http://e-hentai.org/"; timerLink.onclick = timerReset; timerLink.style.setProperty("color", "red"); timerLink.innerHTML = "Ready"; clearInterval(timerID); return; } } timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; } function timerReset() { updateTimeToDawn(); if (timeToDawn.hour === 23 && timeToDawn.minute > 29) { localStorage.lastRandomEncounter = Date.now() - ((timeToDawn.minute * 60000) + (timeToDawn.second * 1000)); minute = 59 - timeToDawn.minute; second = 60 - timeToDawn.second; } else { localStorage.lastRandomEncounter = Date.now(); minute = 30; second = 0; } timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; timerLink.style.color = "#5C0C11"; if (timerID) clearInterval(timerID); timerID = setInterval(timerUpdate, 1000); } if (battleLog) { logRows = battleLog.firstElementChild.firstElementChild.children; if (logRows[0].firstElementChild.textContent === "0" && logRows[logRows.length-2].lastElementChild.textContent[13] === "r") { updateTimeToDawn(); localStorage.lastRandomEncounter = (timeToDawn.hour === 23 && timeToDawn.minute > 29 ? Date.now() - ((timeToDawn.minute * 60000) + (timeToDawn.second * 1000)) : Date.now()); } } else { timerDiv = document.createElement("div"); timerLink = document.createElement("a"); resetLink = document.createElement("a"); if (!localStorage.lastRandomEncounter) timerReset(); time = localStorage.lastRandomEncounter - (Date.now() - 1800000); minute = second = 0;
timerDiv.style.cssText = "display:block; position: absolute; top:5px; left:980px;"; timerLink.style.cssText = "text-decoration:none; font-size:17px; font-weight:bold; color:#5C0C11;"; resetLink.style.cssText = "text-decoration:none; color:red; top:-3px; position:relative; left:3px;"; resetLink.innerHTML = "RESET"; resetLink.onclick = timerReset; resetLink.href = "#";
timerDiv.appendChild(timerLink); timerDiv.appendChild(resetLink); if (time < 0) { timerLink.href = "http://e-hentai.org/"; timerLink.onclick = timerReset; timerLink.style.color="red"; timerLink.innerHTML="Ready"; } else { time = Math.round(time / 1000); minute = Math.floor(time / 60); second = time - (minute * 60); timerLink.innerHTML = minute + ":" + (second < 10 ? "0" : "") + second; timerID = setInterval(timerUpdate, 1000); } document.body.appendChild(timerDiv); }
|
|
|
|
|
|
Dec 19 2013, 14:17
|
ctxl
Group: Members
Posts: 425
Joined: 20-May 12
|
HV - Random Encounter Doge for 0.78
HVRED_mod078.zip ( 2.29k )
Number of downloads: 454On the EH main page: - Reminds you of your last HV difficulty - Saves the last Random Encounter URL - Tells you when the next dawn is going to occur In HV: - Only active outside of combat - Displays the same information in the sidebar Uses a background page to pass localStorage across domains. Chrome only.
|
|
|
Dec 19 2013, 22:01
|
Pillowgirl
Group: Gold Star Club
Posts: 5,398
Joined: 2-December 12
|
Rofl ctxl.
+1
This post has been edited by Pillowgirl: Dec 19 2013, 22:02
|
|
|
Dec 20 2013, 03:07
|
treesloth
Group: Catgirl Camarilla
Posts: 3,524
Joined: 6-January 13
|
Anyone know if the latest HV stat tracker records various resists of player's offensive spell? I want to test how good Penetrator is at different # of potency levels. I have 5.6.5.1, and it does not record any resist. Thanks
|
|
|
Dec 20 2013, 06:11
|
Pillowgirl
Group: Gold Star Club
Posts: 5,398
Joined: 2-December 12
|
I spoke too soon, the timer script from ctxl isn't working in my Iron 28.
|
|
|
Dec 20 2013, 12:29
|
ctxl
Group: Members
Posts: 425
Joined: 20-May 12
|
What does this do? See the original post.HV - Random Encounter Doge for 0.78 update 1
HVRED_mod078_2.crx.zip ( 2.53k )
Number of downloads: 125- Google Chrome version. - Time since last RE now increments every minute. Accurate to the second, assuming your system clock is synchronized. - Hours until next DotD now decrements every hour.
HVRED_Firefox_mod078.user.js.zip ( 1.61k )
Number of downloads: 101- Firefox version. Tested with Scriptish. Same features. And no, doge will not track how close you are to the limit of 24 random encounters per day.
|
|
|
|
|
|
Dec 20 2013, 14:07
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(FiniteA @ Sep 21 2013, 11:50) [ pastie.org] HV Keybind 2.5.0This one should work now. It now correctly disables and reenables the default onkeydown, as suggested by greentea039. Just thought to share my finding with everyone, especially mages, who uses HV Keybind copy this at the top of the source code (below all the variable declaration) CODE Bind(KEY_1, function() { Cast("Weaken")(); TargetMonster(1)(); });
What it does is that pressing 1 will now cast Weaken on monster 1, instead of just hitting it like normal. Replace "Weaken" with any spell of your choosing (preferably T1 spells with no cooldown), and do the same to KEY_2, KEY_3, etc... Now you can play mage exactly like melee (which made mage even more superior than melee, darn I need to switch...) xD EDIT: 2nd code removed This post has been edited by holy_demon: Dec 20 2013, 14:41
|
|
|
|
|
|
Dec 20 2013, 14:39
|
varst
Group: Gold Star Club
Posts: 11,561
Joined: 30-March 10
|
The second one would violate the 'Any automation or semi-automation of gameplay beyond a single "action" ' so no.
|
|
|
Dec 20 2013, 14:43
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(varst @ Dec 20 2013, 23:39) The second one would violate the 'Any automation or semi-automation of gameplay beyond a single "action" ' so no.
Well I removed that code. It wouldn't work anyway, unless you modify other some functions. This post has been edited by holy_demon: Dec 20 2013, 14:44
|
|
|
|
|
|
Dec 20 2013, 18:37
|
Amaduyu Mitsumi
Group: Gold Star Club
Posts: 1,609
Joined: 2-October 11
|
QUOTE(ctxl @ Dec 20 2013, 17:29) HV - Random Encounter Doge for 0.78 update 1
Apparently hourlies must be triggered on the exact e-hentai.org page for the script to do its tracking functions. I just went into an hourly from the User Control Panel page (https://e-hentai.org/?spg=usercp) and the script didn't detect that. My guess is that the script only works on the main page because it modifies the yellowish frame below the ad, which does not show up on other sub pages. (IMG:[ invalid] style_emoticons/default/ph34r.gif) Other than my little nitpick, your script is working fine. Much thanks your Doge. Such meme. (IMG:[ invalid] style_emoticons/default/tongue.gif)
|
|
|
|
|
|
Dec 20 2013, 21:25
|
Gasior
Group: Members
Posts: 2,667
Joined: 20-October 10
|
HV Equipment Comparison 0.6.3.0
HVEquipCompare_0.6.3.0.user.zip ( 19.41k )
Number of downloads: 137[ userscripts.org] HV Equipment Comparison 0.6.3.0- Updated to HV 0.78; - Added calculation PXP1EXP and IW rounds in 'W' view, e.g. '320 (51)' -- calculation script taken from "HV Equipment Attribute Viewer 1.0" by greentea039 (I hope he will not be angry. (IMG:[ invalid] style_emoticons/default/unsure.gif)) - 'W' will show base values on MouseOver PopUp when PXP10
|
|
|
|
|
|
Dec 21 2013, 00:10
|
ctxl
Group: Members
Posts: 425
Joined: 20-May 12
|
QUOTE(Kagoromo @ Dec 20 2013, 08:37) Apparently hourlies must be triggered on the exact e-hentai.org page for the script to do its tracking functions.
Change: if (document.location.href === 'https://e-hentai.org/') {to: if (document.location.href.indexOf('https://e-hentai.org/') != -1) {If you want it to detect encounters throughout the site. It's not default behavior because doing so fouls up HV performance something fierce for me. No idea why. Chrome users: unzip .CRX, edit contentscript.js, enable developer mode, load unpacked extension. QUOTE(Kagoromo @ Dec 20 2013, 08:37) Other than my little nitpick, your script is working fine. Much thanks your Doge. Such meme. :P
Many welcome.
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
|
|
|
|
|