[ILLUSION] Honey♥Select (ハニーセレクト) - ID & list management

Aastaroth

花は桜木 人は武士
Jun 8, 2016
117
225
Findings on character related mods (face, body, clothes, accessories, tattoos etc):

Lists:

1) Separate lists for different mods are possible.

2) Each list can store more than one type of mods, in the form of different textassets.

IDs:

1) Textassets for different categories have different naming format, e.g. cf_f_swim_XX = swimsuits, ca_f_hand_XX = hand accessories.

2) Each category uses a unique 3-digit number as leading number of the 6-digit IDs, e.g. 209XXX = swimsuits, 360XXX = hand accessories.

3) Changing this 3-digit "category" number doesn't seem to affect loading. Only the name of textasset counts, e.g.

Mod A uses textasset cf_f_swim_07 and a ID 209456, the game loads it.
Mod B uses a textasset cf_f_swim_10 and a ID 9999456, the game also loads it.

4) Same last 3-digits used in the same category create conflicts, e.g. Mod A conflicts with Mod B if both of them are used, because their last 3-digits (456) are the same.

5) Rule 4) does not apply to items under different categories, e.g. Mod C which uses a textasset ca_f_hand_10 and a ID 360456 doesn't conflict with mod A or B.
 
Last edited:
Findings on studio related mods (items, maps):

Lists:

1) Separate item lists for different mods are NOT possible yet, the game reads only one list - 00.unity3d, under HoneySelect\abdata\studio\list\itemlist\honey.

2) Can't find any lists for maps yet. Workaround: making maps as items.

IDs:

1) The list - 00.unity3d contains two datasheets, ItemList_Honey_00_Sheet1 & ItemList_Honey_00_Sheet2.

2) ItemList_Honey_00_Sheet1 defines the range of ItemList_Honey_00_Sheet2.
(Left to right: starting row, starting column, ending row, ending column)

Code:
<Sheet2の範囲>
<開始行><開始列><終了行><終了列>
<2><2><293><6>

3) To add items, the ending row should be increased.

Code:
<Sheet2の範囲>
<開始行><開始列><終了行><終了列>
<2><2>[COLOR="#F37934"][B]<294>[/B][/COLOR]<6>

4) ItemList_Honey_00_Sheet2 contains information linking to the items.
(Left to right: row number, type name, ID, item type, item name, file name, prefab name)

Code:
<0><1><2><3><4><5><6>
<1><><識別番号><種類><名前><パッケージ名><ファイル名>
<2><家系><0><0><シンプルベッド><studio/itemobj/honey/00.unity3d><p_p_N_bed_01>
...
<293><><285><3><プレゼントボックス><studio/itemobj/honey/00.unity3d><p_Giftbox>

5) Adding rows at the end for new items.

Code:
<0><1><2><3><4><5><6>
<1><><識別番号><種類><名前><パッケージ名><ファイル名>
<2><家系><0><0><シンプルベッド><studio/itemobj/honey/00.unity3d><p_p_N_bed_01>
...
<293><><285><3><プレゼントボックス><studio/itemobj/honey/00.unity3d><p_Giftbox>
[COLOR="#F37934"][B]<294><><286><3><TEST><studio/itemobj/honey/test.unity3d><p_test>[/B][/COLOR]
 
YashiroAmamiya is working on something too

YashiroAmamiya said:
Hello! How do you do? It's for the first time that I come here.

I'm considering generation method of an item list and management practice.
Mechanism has been completed mostly. Practical use is being tested by some Japanese communities.

When this mechanism is also used here, maybe does it become easy? Because I thought so.
Mechanism will be written.
The reply which rises when the person who has your opinion runs, please.

◇ Mechanism
this↓


fetch



◇ merit
* It isn't necessary to consolidate an item list. (And, it's impossible to say or consolidate the item distributed respectively at HF and other places.)

◇ demerit
* The ID for the item is different every environment. Therefore scene data can't be shared.

----
It's defective with an advantage. Soon, I emphasized an advantage.
Because there are frequencies a lot more than sharing scene data to which an item is applied.

A tool isn't doing a difficult thing.
add list with new serial number to an original list.
This was probably performed by handwork respectively in SBPR.
This is just automated.

The person who doesn't understand how to use the SB3U in case of handwork can't use an item.
But everyone can use a tool approximately.


There is an example, so please try the person who takes an interest out.

◇resolver
HoneyselectItemResolver(HiR(はいあーる))
HiR_1.00.rar
※要SB3U 1.0.54-

◇item
dome item 1(「wall」category)
stage item 1(「other」category)
[HS]ドームアイテム1_20160919.rar
[HS]ステージアイテム1_20160919.rar

Request For Proposal!
 
Good to hear that we have such an automated tool :) Now, here is my opinion.

1. Adding increment ID is not good for sharing scene, as mentioned.

2. Instead, I prefer using a substitution method, by replacing dummy items with mod items.

3. This require a list with slots already filled with dummies. Let's say we reserved first 2000 for official items.
Another 10,000 slots should be more than sufficient.

User's list:
Code:
<0><1><2><3><4><5><6>
<1><><識別番号><種類><名前><パッケージ名><ファイル名>
<2><家系><0><0><シンプルベッド><studio/itemobj/honey/00.unity3d><p_p_N_bed_01>
<3><><1><0><洋風ベッド><studio/itemobj/honey/00.unity3d><p_p_N_bed_02>
<4><><2><0><女の子風ベッド><studio/itemobj/honey/00.unity3d><p_p_N_bed_04>
...
<2008><>[COLOR="#2C82C9"][B]<2000>[/B][/COLOR]<99>[COLOR="#41A85F"][B]<dummy-illusion>[/B][/COLOR]<studio/itemobj/honey/dummy.unity3d><p_p_dummy>
...
<12008><>[COLOR="#2C82C9"][B]<12000>[/B][/COLOR]<99>[COLOR="#41A85F"][B]<dummy-modding>[/B][/COLOR]<studio/itemobj/honey/dummy.unity3d><p_p_dummy>

4. Now, let's say modder A prepared a list, he have to define the starting ID he want to use. (Must be bigger than 2000, since 1-2000 are reserved for official items.)

Modder's list:
Code:
<><>[COLOR="#2C82C9"][B]<2001>[/B][/COLOR]<6><mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>
<><><><6><mod A-item 2><studio/itemobj/honey/modA.unity3d><p_p_item2>
<><><><6><mod A-item 3><studio/itemobj/honey/modA.unity3d><p_p_item3>

5. The script needs to:
First, search for the starting ID, i.e. 2001 on third column.
Second, return the value of type no. on fourth column.

User's list:
Code:
<2009><>[COLOR="#2C82C9"][B]<2001>[/B][/COLOR][COLOR="#F37934"][B]<99>[/B][/COLOR]<dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>
<2010><><2002><6><mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><><2003><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>
<2012><><2004><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>

6. Type no. returns a value of 99. Means this is an unused slot, so it can be replaced by modder's item 1.

User's list:
Code:
<2009><>[COLOR="#2C82C9"][B]<2001>[/B][/COLOR][COLOR="#F37934"][B]<6>[/B][/COLOR][B][COLOR="#41A85F"]<mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>[/COLOR][/B]
<2010><><2002><6><mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><><2003><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>
<2012><><2004><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>

7. Perform another search, using starting ID+1, i.e. 2002 for third column.
This time, the type no. returns a value not equal to 99. Means this is a used slot, so it can't be replaced.

User's list:
Code:
<2009><><2001><6><mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>
<2010><>[B][COLOR="#2C82C9"]<2002>[/COLOR][/B][B][COLOR="#F37934"]<6>[/COLOR][/B]<mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><><2003><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>
<2012><><2004><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>

8. Perform search on starting ID+2, i.e. 2003, type no.=99. Slot isn't used.

User's list:
Code:
<2009><><2001><6><mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>
<2010><><2002><6><mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><>[B][COLOR="#2C82C9"]<2003>[/COLOR][/B][B][COLOR="#F37934"]<99>[/COLOR][/B]<dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>
<2012><><2004><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>

9. So modder's item 2 can replace this row.

User's list:
Code:
<2009><><2001><6><mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>
<2010><><2002><6><mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><>[B][COLOR="#2C82C9"]<2003>[/COLOR][/B][B][COLOR="#F37934"]<6>[/COLOR][/B][B][COLOR="#41A85F"]<mod A-item 2><studio/itemobj/honey/modA.unity3d><p_p_item2>[/COLOR][/B]
<2012><><2004><99><dummy-modding><studio/itemobj/honey/dummy.unity3d><p_p_dummy>

10. Repeats the search, until every item is replaced in the user's list.

User's list:
Code:
<2009><><2001><6><mod A-item 1><studio/itemobj/honey/modA.unity3d><p_p_item1>
<2010><><2002><6><mod B-item 1><studio/itemobj/honey/modB.unity3d><p_p_item1>
<2011><><2003><6><mod A-item 2><studio/itemobj/honey/modA.unity3d><p_p_item2>
<2012><>[B][COLOR="#2C82C9"]<2004>[/COLOR][/B][B][COLOR="#F37934"]<6>[/COLOR][/B][B][COLOR="#41A85F"]<mod A-item 3><studio/itemobj/honey/modA.unity3d><p_p_item3>[/COLOR][/B]

Advantage:

1. Scenes can be shared if all the required mods are installed. Even if some mod conflicts with others, it only affects sharing, don't affect the original user.

2. Mod conflict should be minimal, given that row no. is large. (~10,000. Can also be increased if necessary) So practically, scene sharing won't be a big problem.

Disadvantage:

1. Not sure if SB3UGS can perform such a search-and-replace function (not only replace the same cell value, but also other columns in the same row). Any opinions, enimaroah?

2. Having a list in such a large row no. may affect game performance.

Anyways, many thanks! This is already a huge step forward for studio :)
 
Last edited:
so.. here it goes... these are my findings... geek stuff... don't mind...

akyryz said:
Category/Id | Type | Name | Manifest | ABPath | PrefabM | PrefabF | IsGet | Parent | SiruManifest | SiruABPath | SiruPrefab | BustNormal | Etc...

Note:
Category = value / 1000 // (int)#.###
Id = value % 1000 // (-)0~999

Also:
CurrentId = Category * 1000 + Id

Item Id Demo
 
Last edited:
@Aastaroth

thanks for your reply!
I'm happy because I can have your opinion!

In that case I'll do it this way?
hir2.png

I define 3 areas in the list of 15000 lines.
Illusion area, free area, reserved area.

1. Illusion area (1-2,000)
This is the same idea as you.

2. Free area (2,001-7,000)
This is the place used freely. The number is different depending on the environment.

This area is used by the following use.
* MODer who doesn't belong to a community
* For experiments of MODer
* MODer who unification of management of the number is troublesome
* Conflicted item

My idea is different from your idea in conflict.
If I permit shifting the number about the 1st of conflict, it makes the 2nd of conflict occur and more.
And when conflict occur in 2,001 in the worst case, the number of everything doesn't match any more.
In other words, it' should given up both at the stage competition generated.
I think it is little influence to other ones.

3. reserved area (7,001-15,000)
(It's same as your opinion for the most part)
This area designates the number by MODer.
I thought the range specification in your idea isn't performed.
This is also the same reason as conflict by "2.".

this area is being divided by community.
The reach of the number is paid to a community because it's difficult to manage the number of everything by 1 point.
The number of its reach should be managed by community.
It isn't necessary to synchronize during some community.

----

A balance is going to have often adopted a possibility of the scene data sharing and freedom.
How is it?

I think the customization of SB3U is unnecessary.
Because I should merge by a text file and just import it by SB3UScript.
(It's done actually.)

I think SB3U should be a general-purpose tool, so it's felt that the function for a specific game shouldn't be incorporated.

There are little photography location and screen effect for honey selection.
I think the studio user should be able to take a picture happily by such try now.

----
@akyryz
Thank you for posting!
 
@Aastaroth

Thank you for your reply!
I'm happy because I can have your opinion!

In that case isn't it done this way?
View attachment 12430

I define 3 areas in the list of 15,000 lines.
An area in Illusion and a free area are already reserved, it's an area.

1. Illusion area (1-2,000)
This is the same idea as you.

2. Free area (2,001-7,000)
This is the place used freely. The number is different depending on the environment.

This area is used by the following use.
* MODer who doesn't belong to a community
* For experiments of MODer
* MODer where unification of management of the number is troublesome
* Item who conflicted.

My idea is different from your idea in conflict.
If I permit shifting the number about the 1st of conflict, it's make the 2nd of conflict occur and more.
In other words, I'm given up both at the stage conflict generated.

3. Reserved area (7,001-15,000)
I designate the number by MODer and am used here.
I thought the range specification in your idea isn't performed.
This is also the same reason as conflict by "2.".

An area is being divided every community.
The reach of the number is paid to a community because it's difficult to manage the number of everything by 1 point.
The number of its reach should be managed by a community.
It isn't necessary to synchronize during a community.

----

A balance is going to have often adopted a possibility of the scene data sharing and free for MODer.
How is it?


There are little photography location and screen effect for honey selection.
I think the studio user should be able to take a picture happily by such try now.

Thank you very much for your consideration!
I was happy!
 
!!!!
I think that I delete 1 of writing in by mistake!
sorry!
It was rushed and similar sentences were rewritten!

@akyryz
Thank you for posting!
 
  • Like
Reactions: fguelffstan
One addition to my statement above. Sb3UGS has plugin interfaces. It would be thinkable to make one per each game.
 
  • Like
Reactions: fguelffstan
YashiroAmamiya you are welcome!


One addition to my statement above. Sb3UGS has plugin interfaces. It would be thinkable to make one per each game.

:aloprosen:well i don't think anyone is willing to make plugins,
especially one for each game... you and Aastaroth tell me
but Aastaroth also said that if it is easy enough, this may become an option, right?
:goodtea:
 
  • Like
Reactions: fguelffstan
@YashiroAmamiya

Thanks for your feedback :)

Yes, that's good we have 2. Free area for testing.
About 3. Reserved area, I have another idea - how about we define this area into "slots"?
We can also make a 4. Conflict resolve area, when there are conflicts in 3.

Example:

3. Reserved area:

slot 1: {ID 7001-7050}
slot 2: {ID 7051-7100}
...
slot 159: {ID 14901-14950}
slot 160: {ID 14951-15000}

4. Conflict resolve area:

slot 161: {ID 15001-15050}
slot 162: {ID 15051-15100}
...
slot 259: {ID 19901-19950}
slot 260: {ID 19951-20000}

Modder: defines the slot they used (only in reserved area, i.e. slots 1-160).
e.g.

mod A: slot 1
mod B: slot 15
mod C: slot 83
mod D: slot 15

User: choose which slot to use, when they are in conflict.
e.g.
User can install mod B/mod D to conflict resolve area (slot 161-260).

mod A: slot 1
mod B: slot 15
mod C: slot 83
mod D: slot 161

or

mod A: slot 1
mod B: slot 161
mod C: slot 83
mod D: slot 15

160 slots should be enough for different communities.
I think in HF we had less than 10 SBPR studio mods. In Chinese forum, there isn't any (at least I can't find them out).
Unless Japan/Korea/other active community can create 150 mods, we are safe :P

Putting conflict mods in Conflict resolve area will avoid it conflict with another mod.
Non-conflict mod should have the same IDs, so people can share the scene freely.
Let me know what you think about this :)
 
  • Like
Reactions: fguelffstan
:aloprosen:well i don't think anyone is willing to make plugins,
especially one for each game... you and Aastaroth tell me
but Aastaroth also said that if it is easy enough, this may become an option, right?
:goodtea:

No, it isn't easy to make a plugin but it isn't very hard either. But let me say it like this: it is easier to make a standalone program and use SB3UtilityScript.exe than making a plugin. Additional advantage the user doesn't have to start that plugin. Your gui is immediately present.
 
  • Like
Reactions: fguelffstan
@Aastaroth

Give an opinion to me, and thank you very much!
I thought the way of thinking as slot was good.

I "should manage every community", then in a broad way you embodied that I was here. Thank you very much!

I'd like to think 1 file only as the expenditure unit to MODDER, not 1slot. (Placing as information on the management)

there are 2 reasons.

1.
An item was added in quantities by several communities in a play club.
By a lot of users, what and, 1500 items of 400 file! amazing!
400 slots were exceeded.

When I'll put multiitem in 1 file of course, I enter 30 slots.
But I think MODDER I'd like to make and distribute each 1 is also here.
It may be sometimes necessary to divide a file among a technical problem.

2.
When conflict occurred, there is no material which can be judged.
The user doesn't know what MOD conflicted and I don't know it's a correct answer to choose which.
For example conflict may occur by the item which is already taken a picture of already. (No one will understand this any more.)
I think something to have that first is good by priority here.

Please don't compete under management of a slot in MODDER which uses a reservation area.
That's difficult or please use a free area for MODDER you don't like.

When I say the inside affair, there is also a thought that I don't want to do logic complicatedly so much.


I think it's good to introduce the thing which shares an area with 4 and a concept of a slot.
I need the place where expenditure of a slot is consolidated and think that becomes certain in HF.
Because it's the center of the information.
It should be paid, so I think MODDER, the user and an administrator of the number become easier than a case of SBPR.

If that isn't made, all the MODDER use free area.

----

It's gathered.

○ A list of o 1-20,000 is shared with 4 areas.
* 1-2,000:illusion area
* 2,001-5,000: Free area
* 5,001-8,000: conflict solved area
* 8,001-20,000: Reserved area (It consists of a slot of 240.)
(I considered the scalability, and replaced order)

○ About a reservation area.
* It's paid by the slot unit to MODDER.
* It's paid in HF to MODDER (I think it's troublesome, so, I think it should be taken big first every community.)

* When MODDER uses a reservation area, item list files for tools are designated by the number.


I feel necessary to hurry this relatively.
Therefore I think you may acquiesce even if there are lack of a little consideration and inconvenience.
Because it's when the studio user is coming to want an item by and by.
Because I'm so.lololol


@enimaroah
@akyryz
Thank you very much for your comment!

Your information is considered and I'm made as the outside tool this time.

I think the plug-in is also very good.
I thought I'd like the outside tool from several reasons this time.
* The operation of SB3U is difficult for the general user.
* Plug-in development is (only a little) difficult.

----

I'm talking about selfishness a little.
So the person who can't be a little convinced was here, I'm sorry.
I'm going to have done the balance adjustment which can just be done.
 
Oh, writing in is missing!:yawn:
I'll preserve it by a text!

@Aastaroth
Thank you very much for your opinion!

If possible, I'd like to decide with this.

I think the concept of a slot is good.
But, I'd like to use for only expenditure of the number to MODDER.

There are 2 reason.

1.
An item was made in quantities by several communities in playclub.
I don't grasp what, but it's 400 files of more than 1,500 items.
What thing is it! lol

There is also a possibility that I make an item in quantities this time.
Only 1 item is sometimes put in 1 file because of a technical problem.

2.
Even if user finds out that conflicted, the user doesn't know how to judge.
(A tool isn't also understood. It may be used for scene data already.)

It's difficult to happen to conflict besides the artificial mistake in the time when this mechanism is used.
I thought an appropriate announcement was realistic more than the mechanism that that was considered was made.

I think it's better to pay slot at HF or AS.
Because it's the center of the information.
To a community, roughness, when it's done and the back is preferred freely such as paying 1,000.
If it can't be paid at HF or AS, it'll be that all the members use a free area.

----

It's gathered.

1. Area separation
An item list in 20,000 lines is shared with 4 areas.

* 1-2,000 :illusion area
* 2,001-5000 :free area
* 5,001-8,000 :resolve area
* 8,001-20,000 :reserved area
(I changed order for the scalability.)

2. Slot separation in a reserved area
* 50 lines are separated as a slot. (240 slots)
* It's paid by the slot unit.

3. Appropriate use in an area (for MODDER)
* Please use a free area for MODDER you don't want to do slot acquisition where .
The item in this case and the scene data is different depending on the environment.
* MODDER which assumes sharing of scene data acquire a slot, and please designate the number and use a reserved area.

4. How to use the general user
* Downloaded item MOD is copied and a tool is used.


I think I'll go with this.
I'm a little selfish. I'm sorry.
Because it may be when I'm in a hurry a little, and because the studio user is being tired by and by.
Because I'm so.


@akyryz
@enimaroah
Hello! I'm happy because I can meet you!

Thank you very much for your comment!

There is also a way to make sure that you'll be talked about in a plug-in, right?
It's made as a different tool this time.
A reason is 2.

* It's (only a little) difficult to make a plug-in.
* It's difficult that the general user handles SB3U.
 
@Modders :
i made a excel list all conflict mods i have (reported by HSslotID)
it also contains the name, ID and description about where i downloaded them from ,i think i should report so that the modders know and make an update
you may view/download here
https://drive.google.com/file/d/0BwnDqxkkpUIabkxib3dpaFJoR3M/view?usp=sharing

There are some mods does not conflict if you use moreslotID ,so i made a note (using MORESLOT ID **) on their rows
Thanks alot
 

Users who are viewing this thread

Latest profile posts

telstar0906 wrote on Otokonoko's profile.
Could you reupload RJ01047185, RJ01072827?
telstar0906 wrote on Ryzen111's profile.
hope you can reupload this RJ01180671 and its bonus
telstar0906 wrote on Shine's profile.
hope you can reupload this RJ01180671 and its bonus
telstar0906 wrote on Otokonoko's profile.
hope you can reupload this RJ01180671 and its bonus
Dr. Suguna Lokesh, a General Physician and Diabetologist with more than 6 years of expertise, provides comprehensive gastrointestinal disease treatment at Ortho Med Clinic in Nagarbhavi, Bengaluru. Dr. Suguna Lokesh, is also available for consultations on Practo.