 |
 |
 |
[Script] HVtoolBox 1.0.14, A comprehensive out-of-battle script - ISK support |
|
Sep 14 2017, 16:18
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE I know it's not good for playing HV, so I use it for item management and script compiler. Okay, will check, thanks =) // Firefox just so weird in terms of JavaScript. I dunno, maybe my inner google-fanboy is just cannot stand for firefox... This post has been edited by f4tal: Sep 14 2017, 16:20
|
|
|
|
 |
|
Sep 14 2017, 18:48
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
One thing that bother me since the beginning of this project. Every item/equip has ID. I need ID to work with item/equip - I cannot do anything without ID. I can find ID for equipment with no problem, but for items... For example, let's find ID for Mana Draugth. Pretty simple - open the page, find the the element, checking attributes - here we go 11291  Now let's find ID for Pot of Gold. Open the page, find the element, checking attributes - nothing. Absolutely nothing. You can find ID for Pot of Gold NOWHERE on this page.  But how do we can find ID for this item? You will be impressed! We need to visit MoogleMail page and check attributes of Pot of Gold here and here we go: 32015.  For what reasons game stores IDs for some items on the one page, and IDs for other items on another the is unknown for me, but possible there is a reason behind. In any case, if script cannot find ID for some item - it should go on MoogleMail page and check for them here. But they I have found that there is like 30 items that have IDs on Mooglemail page only, so I decided that instead of sending 30 requests for every item (or store one request in memory) - it is easier to send one request BEFORE the parsing of the page, get ALL IDs from MoogleMail page and work with that pool then. It is relevant to the question of the speed of he script - in one way or another - script SHOULD visit MoogleMail page to get IDs for all items and since it is here, it also gets amount of credits (to display them in corner) and mmtoken for sending messages. I had thought about it and saw no way to optimize that routine =( Anyone have any suggestions?
|
|
|
|
 |
|
Sep 14 2017, 19:11
|
Cleavs
Group: Gold Star Club
Posts: 24,313
Joined: 18-January 07

|
32015 is fine. i don't remember the exact values, but actually those numbers have a meaning: 1st digit: 2 for artifacts, 3 for trophies. 2nd digit: 2 for christmas, 3 for easter. etc etc.
something like that.
i have a certain amount of obsoletes laying around, do you need a few other IDs?
|
|
|
|
 |
|
Sep 14 2017, 19:14
|
Superlatanium
Group: Gold Star Club
Posts: 7,615
Joined: 27-November 13

|
Yep, that's what I did with HV Item Manager, in getItemIds(). It's true, it's a bit annoying the first time the script is loaded, but for many players it'll only have to be done once (or maybe a couple times). Obsolete/unique collectors are the only exception. The item IDs were stored in localStorage for instant access later. Script execution shouldn't be slowed down at all as a result of that, right?
The way I did it, getting item IDs was completely separate from getting the credits for the credits box and the mmtoken - that function had to be done on every page load, but it didn't slow down the (main) script UI, and wouldn't be an issue for anyone except those with high ping and high dexterity.
|
|
|
|
 |
|
Sep 14 2017, 19:16
|
Cleavs
Group: Gold Star Club
Posts: 24,313
Joined: 18-January 07

|
ps: CODE Health Draught / 11191 Health Potion / 11195 Health Elixir / 11199 Mana Draught / 11291 Mana Potion / 11295 Mana Elixir / 11299 Spirit Draught / 11391 Spirit Potion / 11395 Spirit Elixir / 11399 Energy Drink / 11401 Last Elixir / 11501 Infusion of Flames / 12101 Infusion of Frost / 12201 Infusion of Lightning / 12301 Infusion of Storms / 12401 Infusion of Divinity / 12501 Infusion of Darkness / 12601 Scroll of Swiftness / 13101 Scroll of Protection / 13111 Scroll of the Avatar / 13199 Scroll of Absorption / 13201 Scroll of Shadows / 13211 Scroll of Life / 13221 Scroll of the Gods / 13299 Flower Vase / 19111 Bubble-Gum / 19131
|
|
|
|
 |
|
Sep 14 2017, 19:26
|
morineko
Group: Gold Star Club
Posts: 2,347
Joined: 1-April 14

|
 The id of Pot of Gold exists in Item Shop page, but none in Item Inventory. So it may be no item id for non-usable items in Item Inventory.
|
|
|
Sep 14 2017, 19:31
|
Cleavs
Group: Gold Star Club
Posts: 24,313
Joined: 18-January 07

|
btw, would hardcoding a database into the script be quick enough of a solution? it would fail a bit with some obsoletes, but still... it should behave decently for new items, isn't it?
|
|
|
|
 |
|
Sep 14 2017, 19:40
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE i have a certain amount of obsoletes laying around, do you need a few other IDs? This is one of the thing that I thought about in past, but now... Originally I thought: "why should I bother with MoogleMail parsing, creating pool and such? Let's just create a map with format "name": "id", like this: "Health Draugth": "12121", "Mana Draugth": "12122", "Spirit Draugth": "12123", and so one... ...but soon I understood that creating of such map is bad idea, because people may have obsoletes and if obsolete is not presented in such map - script will fail. Also, parsing that map on every page is a pain. On MoogleMail page, on other hand, all IDs for EVERY items are presented, so parsing of it is relevant way to get all IDs safely, no matter obsoletes they are not. The only items that are not shown on MoogleMail page (and so I was forced to create map for them) are: CODE t.ids["9315"] = {t: "Chaos Token", c: "none"}; t.ids["9316"] = {t: "Token of Blood", c: "none"}; t.ids["48001"]= {t: "Soul Fragment", c: "none"}; t.ids["9317"] = {t: "Soul Fragment", c: "none"}; t.ids["9318"] = {t: "Caffeinated Candy", c: "none"}; t.ids["9319"] = {t: "Golden Lottery Ticket", c: "none"};
Yes, Soul Fragments is the only item in whole game that has TWO different IDs. Probably because at some points Tenboro changed their mechanics in one of the patches? Also, I made a mistake that I actually like. Because I used wrong element - toolBoxBar changes in this form at the pages where MoogleMail's message is presented.   I made it absolutely accidentally,but I kinda like that effect. Especially after ALL_MIGHT reported about his experienceThis post has been edited by f4tal: Sep 14 2017, 20:08
|
|
|
|
 |
|
Sep 14 2017, 20:04
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE Yep, that's what I did with HV Item Manager, in getItemIds(). It's true, it's a bit annoying the first time the script is loaded, but for many players it'll only have to be done once (or maybe a couple times). Obsolete/unique collectors are the only exception. The item IDs were stored in localStorage for instant access later. Script execution shouldn't be slowed down at all as a result of that, right? Yes, exactly. It is not that bad thing in terms of loading and overall experience, but still that little delay annoys me (and not only me). I am thinking about the way of dealing with it more effectively, but found no other solution, but the one I am (and you) are using. QUOTE The way I did it, getting item IDs was completely separate from getting the credits for the credits box and the mmtoken - that function had to be done on every page load, but it didn't slow down the (main) script UI, and wouldn't be an issue for anyone except those with high ping and high dexterity. Yeah, currently I put them all in single request, but for 1.0.0. version I want to separate them in two requests (first - get items' IDs, second - mmtoken and credits). First request is kinda synchronic (database with tags are creating), second is fully asynchronic as it should be. I think it would be better than current system. As for sending moogleMail - script may dispatch event when mmtoken is collected and prevent sending the message without mmtoken. QUOTE The id of Pot of Gold exists in Item Shop page, but none in Item Inventory. Yes. Maybe you remember, there was a bug in first day, when searching worked incorrectly in Item Inventory? IDs were the reason. =( QUOTE btw, would hardcoding a database into the script be quick enough of a solution? it would fail a bit with some obsoletes, but still... it should behave decently for new items, isn't it? Honestly I don't really know... Is there any sort of list of EVERY item even RELEASED for the game with their IDs? If no, then parsing MoogleMail is better way. =) This post has been edited by f4tal: Sep 14 2017, 20:05
|
|
|
|
 |
|
Sep 14 2017, 20:11
|
Cleavs
Group: Gold Star Club
Posts: 24,313
Joined: 18-January 07

|
QUOTE(f4tal @ Sep 14 2017, 20:04)  Honestly I don't really know... Is there any sort of list of EVERY item even RELEASED for the game with their IDs? If no, then parsing MoogleMail is better way. =)
of course (IMG:[ invalid] style_emoticons/default/rolleyes.gif) but that's not the problem. the problem is what we can retrieve without asking to the person who knows such an answer (IMG:[ invalid] style_emoticons/default/duck.gif) jokes apart, would hardcoding the database for current items and parsing only obsoletes any better? no because you would still need to create the algorithm, so at this point better to do only with that, right?
|
|
|
|
 |
|
Sep 14 2017, 20:45
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE person who knows such an answer I have mailed him twice this week. Let's say that my "ask-admin-per-week"-quota is expired xD QUOTE jokes apart, would hardcoding the database for current items and parsing only obsoletes any better? no because you would still need to create the algorithm, so at this point better to do only with that, right? It is better to stick with parsing algorithm (current system), however, we can give that hardcoded database method a try... we only need to collect as many names/IDs pairs as we can get. =)
|
|
|
|
 |
|
Sep 14 2017, 23:25
|
Maharid
Group: Catgirl Camarilla
Posts: 2,399
Joined: 27-April 10

|
@f4tal: For the Setting Page you can reduce the spacing at maximum and increase readability.
To do this in the more viable wa in my opinion Setting Screen need a complete overhaul:
- Only one setting each line with the full name of the setting stright and the button at the end like this:
ToolBox width [Wide] Remember position of ToolBox [No] ... Hide Figurines from all pages, but Item Inventory [Yes] - Reduce the vertical spaceing by reducing the Selection box Height
This can also be done by replacing the selection box and all the setting as selectable options, the one you click is selected and highlighted like this:
ToolBox width - Slim - Wide Remember position of ToolBox - No - Yes ... Hide Figurines from all pages, but Item Inventory - No - Yes
This way is much easyer to chose the settings and much more can be placed on a single screen. If Boxes are used and the space is enough 2 settings can go on a singe line, 4 is a bit cluttered.
That are my two cent.
--------------------------------------------------------------------------------------------
And now a request that i think will make the life of a lot of player much more easy but i don't know how much is hard to implement (i have seen this in the unreleased HVUT).
It is fundamentally divided in 2 parts.
1) On Equipment Shop only the price of you're equip are parsed and shown on them (without the need to mouseover)
2) The script will automatically calculate how many material will be salvaged (with the minimum amount of 1 energy cell as default for any equipment that give them), do a math with the value you have gived to those materials in item inventory and show the salvaging value beside item price, maybe with some sort of customization to immediatly know if is lower\equal, higher, or if ther is the Energy Cell to keep in mind.
This will make the salvaging\selling of items much more easy and fast.
|
|
|
|
 |
|
Sep 14 2017, 23:51
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE 1) On Equipment Shop only the price of you're equip are parsed and shown on them (without the need to mouseover) Do not understand that part... QUOTE The script will automatically calculate how many material will be salvaged Is this a legal? I kinda doubt. What do you think? QUOTE Only one setting each line with the full name of the setting stright and the button at the end like this: I will do a draft to find out will or will not it make settings more presentable. Thanks =)
|
|
|
|
 |
|
Sep 15 2017, 00:04
|
Cleavs
Group: Gold Star Club
Posts: 24,313
Joined: 18-January 07

|
QUOTE(f4tal @ Sep 14 2017, 23:51)  Is this a legal? I kinda doubt. What do you think?
should be afaik. when it comes to bazaar, whatever doesn't auto-check (and even worst, auto-purchase) items is quite safe. but without even mentioning the fact that i don't know how accurate formulas for scraps and cells are, i don't really understand what improvement one could earn. this kind of micromanagement is comparable to focusing on-battle in order to save mana potions, and meanwhile losing mana to cast cure. net gain ranging from quite low to negative, surely not worth the effort to code it. if you want to do it as an exercise, feel free. but i doubt you don't have anything bigger to take care of
|
|
|
|
 |
|
Sep 15 2017, 00:09
|
Maharid
Group: Catgirl Camarilla
Posts: 2,399
Joined: 27-April 10

|
1) Sorry, i explained badly. When you click on an item the price for that item is shown in the sell box at the bottom of the screen. My idea is to have the price shown directly on each item without the need to click on them.
For the salvage part i don't think is illegal, it is only a matter of math cause you get a fixed amount of material when salvaging based on the quality and price of the item. After that the script calculate how much this equipment is worth for you (a thing that differ from player to player).
But if the implementation is possible maybe ask 10B first.
|
|
|
|
 |
|
Sep 15 2017, 00:15
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE when it comes to bazaar, whatever doesn't auto-check (and even worst, auto-purchase) items is quite safe. Sounds fair. In last time, like a paranoiac, I am looking for anything that might even a little be illegal and start debating on it xD It is better safe than sorry. Idea is good, but I don't know how I should calculate it all, like what I should check against what and what I should add/subtract in formula. If one will explain me the whole math process behind that feature, then I may try to implement it, but definitely not now =)
|
|
|
|
 |
|
Sep 15 2017, 00:20
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
QUOTE 1) Sorry, i explained badly. When you click on an item the price for that item is shown in the sell box at the bottom of the screen. My idea is to have the price shown directly on each item without the need to click on them. Script already parses bazaar prices of the equipment and stores them in $price tag. The only difference, that script do not display these prices near equip itself, but you may search through them ($price > 3000, for example). And it parses both player's equip and bazaar ones. The only downside is that this tag works ONLY on bazaar page (tge price field should be on the screen). QUOTE But if the implementation is possible maybe ask 10B first. I have already bother him too much with my "is it illegal/is it not" xD This post has been edited by f4tal: Sep 15 2017, 00:21
|
|
|
|
 |
|
Sep 15 2017, 00:40
|
lololo16
Group: Gold Star Club
Posts: 2,875
Joined: 5-March 12

|
QUOTE(f4tal @ Sep 14 2017, 05:44)  There is very little space at topbar =(
Not that I am against it or don't want to - create forth inline bar for changing the title is an easy task, but I just do not know how/where to put it correctly? If someone made a draft or give me a design idea, then I may do it. =)
Is it possible to make it like this in order to save space? (IMG:[ invalid] style_emoticons/default/smile.gif) [attachmentid=108575] This post has been edited by lololo16: Sep 15 2017, 00:43
|
|
|
Sep 15 2017, 00:45
|
f4tal
Group: Members
Posts: 2,662
Joined: 10-January 13

|
Neat! So, then: 1. Change difficulty 2. Change persona/set 3. Change title ? Any of three may be turned on/off separately, of cource
|
|
|
Sep 15 2017, 00:49
|
lololo16
Group: Gold Star Club
Posts: 2,875
Joined: 5-March 12

|
QUOTE(f4tal @ Sep 14 2017, 19:45)  Neat! So, then: 1. Change difficulty 2. Change persona/set 3. Change title ? Any of three may be turned on/off separately, of cource
yes, thank you!
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
|
 |
 |
 |
|