|
|
|
HV Script Thread, Discuss your creations. Includes guidelines and infos for script creation (2020-02-28 upd) |
|
Feb 2 2014, 12:00
|
Owyn
Group: Members
Posts: 692
Joined: 12-May 10
|
QUOTE(Lement @ Feb 2 2014, 05:16) Owyn: My concern is more about updating, really.
I kinda lost the conversation chain (and can't find it now), could you elaborate? QUOTE(Ichy @ Feb 2 2014, 13:57) does not work for my SWR Iron User.
is SWR Iron a Firefox? If yes - it should work, if no - it should not. This post has been edited by Owyn: Feb 2 2014, 12:01
|
|
|
Feb 2 2014, 12:12
|
Owyn
Group: Members
Posts: 692
Joined: 12-May 10
|
My main browser is Chrome also but it just doesn't behave when it's cooming to playing HV, nor normally neither with scripts. So I got myself a firefox for just HV and I'm pretty happy about it now (IMG:[ invalid] style_emoticons/default/happy.gif)
|
|
|
Feb 2 2014, 12:13
|
Ichy
Group: Catgirl Camarilla
Posts: 13,061
Joined: 19-February 09
|
But Firefox is so slow!
|
|
|
Feb 2 2014, 12:34
|
Owyn
Group: Members
Posts: 692
Joined: 12-May 10
|
QUOTE But Firefox is so slow! you mean the Chrome is? O_o It's kinda reversed for me, Firefox hits monsters nicely every 250ms and Chrome hits, waits few secs then hits again the either stops displaying images and shows forever loading page or some other brain damage result of Chrome. pshh, wanna have some Chrome? here's a secret link for fixed\workarounded script for it (added more code there for it) so you could test yourself (even if it does I don't think I would announce its supporte whilte it doesn't work for myself(so there is no way I can guarantee it to work for others)
for_stupid_Chrome_test_fastest_mouse_melee.user.js.zip ( 1019bytes )
Number of downloads: 63
|
|
|
|
|
|
Feb 2 2014, 12:44
|
Ichy
Group: Catgirl Camarilla
Posts: 13,061
Joined: 19-February 09
|
QUOTE(Owyn @ Feb 2 2014, 12:34) you mean the Chrome is? O_o It's kinda reversed for me, Firefox hits monsters nicely every 250ms and Chrome hits, waits few secs then hits again the either stops displaying images and shows forever loading page or some other brain damage result of Chrome. pshh, wanna have some Chrome? here's a secret link for fixed\workarounded script for it (added more code there for it) so you could test yourself (even if it does I don't think I would announce its supporte whilte it doesn't work for myself(so there is no way I can guarantee it to work for others)
for_stupid_Chrome_test_fastest_mouse_melee.user.js.zip ( 1019bytes )
Number of downloads: 63For HV you want to use an older version of Chrome. Some update pretty much broke it (IMG:[ invalid] style_emoticons/default/laugh.gif) /edit: Script still does not work (IMG:[ invalid] style_emoticons/default/anime_cry.gif) This post has been edited by Ichy: Feb 2 2014, 13:45
|
|
|
|
|
|
Feb 2 2014, 23:16
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(Ichy @ Feb 2 2014, 21:44) For HV you want to use an older version of Chrome. Some update pretty much broke it (IMG:[ invalid] style_emoticons/default/laugh.gif) /edit: Script still does not work (IMG:[ invalid] style_emoticons/default/anime_cry.gif) I'm surprised that the script actually works with Grease Monkey, seeing as the script doesn't even use unsafeWindow to access battle. The script won't work on any 27+ Chromium, since there's no known method to get unsafeWindow. For Chromium below 27, you'll need to run it with TamperMonkey, and do some editing
|
|
|
|
|
|
Feb 2 2014, 23:41
|
Owyn
Group: Members
Posts: 692
Joined: 12-May 10
|
QUOTE TamperMonkey, and do some editing Chrome 32 + TM beta, replaces function fine and works as it as. Same with latest stabe FF + stable GM. If it works - don't touch it - I follow that rule (IMG:[ invalid] style_emoticons/default/happy.gif) This post has been edited by Owyn: Feb 2 2014, 23:57
|
|
|
|
|
|
Feb 3 2014, 06:20
|
Lement
Group: Members
Posts: 2,977
Joined: 28-February 12
|
@Ichy: I have not read Owyn's code but iirc it was adapted from Dan's code which cuts out a bit that isn't truly necessary in firefox due them being different browsers.
It not working in chrome is ...expected behavior.
@holy_demon: Not really all that surprised, since it loaded before page as loader in the page. Cool though.
@Owyn: 10b releases new patch. New patch has new js features or something. Code bugged to high heaven.
Also, wasn't your issue with chrome adblock?
This post has been edited by Lement: Feb 3 2014, 06:21
|
|
|
|
|
|
Feb 3 2014, 06:42
|
Colman
Group: Gold Star Club
Posts: 7,319
Joined: 15-November 10
|
QUOTE(holy_demon @ Feb 2 2014, 09:44) when I worked with AJAX, I have this idea of using ajax to send battle action, instead of simulating click. Basically what I have in mind is like this: - every 250ms, raise "action" flag - if mouse/keyboard event is fired, and "action" is true, send an AJAX to initiate an action, "action" flag becomes false. - every 1s, reload current page with the most recent AJAX response. Basically you just keep attacking without waiting for the server to response, therefore eliminating any ping disadvantage, and maintaining the 4 action/s The downside is that you might "beat the dead horse" at most 3 times before page reload and tells you that the target is already dead, and any sort of emergency situation will be known to you 3 turns later (IMG:[ invalid] style_emoticons/default/tongue.gif) Of course you can increase the 250ms interval to make it safer I did a small test and it pretty much works, I can do ~4 action/s with my shitty ping of 500ms Illegal? Too OP and shouldn't be made public? Legal? Too risky I think. I will just wait for official 4 actions/s patch.
|
|
|
|
|
|
Feb 3 2014, 06:48
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(Colman @ Feb 3 2014, 15:42) Too risky I think. I will just wait for official 4 actions/s patch.
Wait, so that future patch will let you play at 4 action/s regardless of ping? Or you still need Godly ping to get that fast? This post has been edited by holy_demon: Feb 3 2014, 06:48
|
|
|
|
|
|
Feb 3 2014, 09:54
|
Usagi =
Group: Gold Star Club
Posts: 2,923
Joined: 29-October 13
|
QUOTE(holy_demon @ Feb 2 2014, 09:44) when I worked with AJAX, I have this idea of using ajax to send battle action, instead of simulating click. Basically what I have in mind is like this: - every 250ms, raise "action" flag - if mouse/keyboard event is fired, and "action" is true, send an AJAX to initiate an action, "action" flag becomes false. - every 1s, reload current page with the most recent AJAX response. Basically you just keep attacking without waiting for the server to response, therefore eliminating any ping disadvantage, and maintaining the 4 action/s The downside is that you might "beat the dead horse" at most 3 times before page reload and tells you that the target is already dead, and any sort of emergency situation will be known to you 3 turns later (IMG:[ invalid] style_emoticons/default/tongue.gif) Of course you can increase the 250ms interval to make it safer I did a small test and it pretty much works, I can do ~4 action/s with my shitty ping of 500ms Illegal? Too OP and shouldn't be made public? Legal? Oh this would be great especially on lower difficulty, as for beating dead horses, you can rotate between 4 targets to avoid it. Can you link to some stuff about this?
|
|
|
|
|
|
Feb 3 2014, 10:31
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(LOL50015 @ Feb 3 2014, 18:54) Oh this would be great especially on lower difficulty, as for beating dead horses, you can rotate between 4 targets to avoid it.
Can you link to some stuff about this?
Well I just have to keep moving the mouse or faceroll the number key to prevent beating the deadhorse The functions I tested was this (I'm not putting in the interval and flag part because I'm still unclear about the legality of this) CODE function postAJAX(values) { var xmlhttp = new XMLHttpRequest(); xmlhttp.open("POST", "http://hentaiverse.org/", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.responseType = "document"; xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState >= 2) { xmlhttp.abort(); } } xmlhttp.send(values); }
function postAttack(target) { postAJAX("battleaction=1&battle_targetmode=attack&battle_target=" + target + "&battle_subattack=0"); }
That's only normal attack. for magic and skill, I haven't properly implemented yet, but the gist of it should be like this CODE function postAttack(target, spellId) { postAJAX("battleaction=1&battle_targetmode=magic&battle_target=" + target + "&battle_subattack="+ spellId); }
you can get the spellId value from the spell's onmouseover attribute This post has been edited by holy_demon: Feb 3 2014, 10:32
|
|
|
|
|
|
Feb 3 2014, 10:44
|
Razor320
Group: Members
Posts: 220
Joined: 17-October 13
|
holy_demon, that is from my script (inline difficulty changer, based on XMLHttpRequest), it is better to send all form elements, instead of specifying hardcoded string with parameters. CODE function misc_construct_request_line(mf){ var line = ""; for (var i = 0; i<mf.length; i++){ if (mf[i].type == "radio"){ if (mf[i].checked) line += ((line.length > 1) ? "&":"") + mf[i].name + "=" + encodeURIComponent(mf[i].value); } else { line += ((line.length > 1) ? "&":"") + mf[i].name + "=" + encodeURIComponent(mf[i].value); } } return line; }
Just pass form element to this function.
|
|
|
|
|
|
Feb 3 2014, 14:53
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(Razor320 @ Feb 3 2014, 19:44) holy_demon, that is from my script (inline difficulty changer, based on XMLHttpRequest), it is better to send all form elements, instead of specifying hardcoded string with parameters. CODE function misc_construct_request_line(mf){ var line = ""; for (var i = 0; i<mf.length; i++){ if (mf[i].type == "radio"){ if (mf[i].checked) line += ((line.length > 1) ? "&":"") + mf[i].name + "=" + encodeURIComponent(mf[i].value); } else { line += ((line.length > 1) ? "&":"") + mf[i].name + "=" + encodeURIComponent(mf[i].value); } } return line; }
Just pass form element to this function. Why don't you just use FormData? And parse the form element, instead of its children
|
|
|
|
|
|
Feb 3 2014, 15:01
|
Razor320
Group: Members
Posts: 220
Joined: 17-October 13
|
I've tried. No luck, seems, that hv doesn't respect requests with multipart data. QUOTE ... And parse the form element, instead of its children I would appreciate, if you show me how. This post has been edited by Razor320: Feb 3 2014, 15:03
|
|
|
Feb 3 2014, 15:49
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(Razor320 @ Feb 4 2014, 00:01) I've tried. No luck, seems, that hv doesn't respect requests with multipart data.
I would appreciate, if you show me how.
Yeah, just tried it, it doesn't work on HV. Anyway, I just discovered that Form element can be used as both numbered array and associative array. So, screw FormData :/ EDIT: just realise another issue, directly messing with the battleform element makes interacting with interaction on the actual page :/ This post has been edited by holy_demon: Feb 3 2014, 15:56
|
|
|
|
|
|
Feb 3 2014, 16:06
|
Colman
Group: Gold Star Club
Posts: 7,319
Joined: 15-November 10
|
QUOTE(holy_demon @ Feb 3 2014, 12:48) Wait, so that future patch will let you play at 4 action/s regardless of ping? Or you still need Godly ping to get that fast?
I think 10B is working on something like make HV only refresh part of page which can make the reload faster. Not sure can it make the action per load stacked yet.
|
|
|
|
|
|
Feb 3 2014, 16:31
|
holy_demon
Group: Gold Star Club
Posts: 5,417
Joined: 2-April 10
|
QUOTE(Colman @ Feb 4 2014, 01:06) I think 10B is working on something like make HV only refresh part of page which can make the reload faster. Not sure can it make the action per load stacked yet.
Well, that means he is going to implement asynchronous request, ie. AJAX. And, unless he changes the logic of his back-end script, it'd pretty much accomplish the same thing I'm trying to do Can you link me to that post so I can clarify on it? This post has been edited by holy_demon: Feb 3 2014, 16:32
|
|
|
|
|
|
Feb 3 2014, 16:55
|
Dan31
Group: Members
Posts: 4,399
Joined: 26-March 12
|
QUOTE(Colman @ Feb 3 2014, 15:06) I think 10B is working on something like make HV only refresh part of page which can make the reload faster. Not sure can it make the action per load stacked yet.
Yeah, he said something about planning to use some Ajax for HV battles. Imagine: no reload necessary, and only what changed between two actions is transmitted to the player and updated by the interface. Since there is much less info transmitted, I bet Derpy will be taking a looooong vacation away from the HV servers when that happens (not that I see him often since the throttling). It's only just planned though. No tell about when that will happen. And it's not that easy to do in the first place.
|
|
|
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:
|
|
|
|
|