Thread Tools Display Modes
10/31/16, 12:06 PM   #1
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Housing APIs

I wanted to get an idea of what kind of APIs you folks are looking for with the housing system. What kind of things would you like the be able to do with an addon?
  Reply With Quote
10/31/16, 12:13 PM   #2
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
Originally Posted by ZOS_ChipHilseberg View Post
I wanted to get an idea of what kind of APIs you folks are looking for with the housing system. What kind of things would you like the be able to do with an addon?
I don't know yet. It depends on what housing will be like.
Besides "there will be houses" and "you can craft furniture" I don't really know much about them yet.

Maybe you can give us a short list of features which are planned for the UI?

One thing I know for sure is that I would like to see less blackboxes. Tooltips, compass, nameplates, SCT etc are all things we cannot influence much, so putting more stuff into the Lua code is always welcome.
  Reply With Quote
10/31/16, 12:14 PM   #3
manavortex
 
manavortex's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 138
We don't know much about it, but - I'd definitely need several presets. Like Room tidy - Room messy.
Also, make those room-dependent, or maybe even prop-dependent. I'd want my desk tidy or cluttered without moving five hundred different ritual props around by hand while the rest of the room is spared.

I would also love to group things - such as, put a soul gem on a table and then move the table with everything else attached instead of moving the table and having everything else hover in the air.

Last edited by manavortex : 10/31/16 at 12:22 PM.
  Reply With Quote
10/31/16, 12:54 PM   #4
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
i want to see how many and which one house my friends and guildmates have
  Reply With Quote
10/31/16, 03:37 PM   #5
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
i hope houses will not have bid system like guild traders?
  Reply With Quote
10/31/16, 05:28 PM   #6
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
+1 for fewer black boxes (tooltips are killing me ). Since we don't know any details at all, I'd say the more information the better. If we can't get any more details before PTS rolls around it would be nice to have a wide but shallow sampler available. Then once we have all the details we might be able to help focus on where to build some depth into the system.

I do like mana's modular suggestion. It would be quite the boon to role players and might make it easier for others to begin to engage in some role play activities.
  Reply With Quote
11/01/16, 03:51 AM   #7
Shinni
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 167
Will 3d textures be visible in the housing instances?
The 3d textures aren't rendered in solo/group instances and I wonder if the housing instance system counts as one of those.

I would like 3d textures to be visible in housing instances.
The house instances will be great location for RP sessions because in the open world other players tend to bother RPers. If we are able to display 3d textures in the house instances, we could add our own content for the RP sessions.
  Reply With Quote
11/01/16, 04:01 AM   #8
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
I have tons of ideas but they're behind a "will you do this" ?

I'll try to post some thing this afternoon.
  Reply With Quote
11/01/16, 08:50 AM   #9
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
Okay. so

What we know :

https://forums.elderscrollsonline.co...afting-more/p1

So..


Okay, they're a bit too technical; but it's a bit easier for me to write them here as every contributor understand what I say.


API to get House name, address, desc, numfurnitures, total.
API to get for each furniture its emplacement (x, y, z, rotationangle) and its itemlink.
API to get for the house the name of visitors (including player).
API to get for the house the special furnitures (tapestry, floor, music, etc).
API to check if an item is a furniture.
API to interact with EVERY furniture <- very complicated but very asked
API to recommend the house / get house reputation
API to get the best house reputation (leaderboards). with their owners and address. <- Please Hype +++++
API to visit a house "as a guest" : Visiting "nice houses without disturbing owner". <- A very thank you if this is doable


Events:
When a house is bought
When a house is sold (and know if it's sold by game itself).
When you rent a house (if there is rentings) and how much and with which currency.
When you place a furniture
When you remove a furniture
When you change a special furniture.
When someone enters in your house.
















functions

local name, description, address, houseType = GetHouseDescription(houseId)
-- name is the name of the house "A little bosmer house". It could be rennammed by player : "My House"
-- description is its description, if needed (not very important)
-- address is the textual address of the house : "32 Main Street, Wayrest"
-- houseType is a houseType constant : basic, small, big, mansion, castle, etc.


local actualFurniture, maxFurnitures = GetHouseFurnitureCount(houseId)
-- actualFurnitures is the number of furnitures we put on the house
-- maxFurnitures is the max furnitures we can put in this house

Note: If you consider that 1 furniture = 1 point, it's okay, but if you consider that 1 small furniture is 1 point and 1 big furniture is 3 points, I would enjoy a classification per points. (I also saw this in other games).


local itemLink, normalizedX, normalizedY, normalizedZ, rotationAngle = GetHouseFurnitureInfo(houseId, furnitureIndex)
-- houseId can be avoided, but it should be cool to have it.
-- this function could only work while being in the house, but it would be cool it works everywhere.

-- itemLink is the itemLink of the furniture.
-- normalizedX, normalizedY, normalizedZ are the coordinates of the item placed in da house.
-- rotationAngle : it's the angle of rotation of the furniture. 0-360. I'm not good in geometry, so any system which can do this is good. If you allow rotation in 3 dimensions.. 2 values? But I don't think you'll allow this ..

local isFurniture = IsItemLinkFurniture(itemLink)
--return true if itemLink is a furniture (can be placed inworld).

local furnitureType = GetItemLinkFurnitureType(itemLink)
-- return a furnitureType constant

InteractWithTargettedFurniture(furnitureInteractionType)
-- will interact with the furniture targetted by reticle.
Each furniture will have X possible interactions.
A chair per example will accept FURNITURE_INTERACTION_SIT. Character will automove to the chair then sit on it.

If you add this :
local musicIndex = GetMusicPlayedInHouse(houseId)
if houseId is not given, it will return the music played in the actual house (if we are in a house). to know the music played by a friend.

If you add this :
local itemLink = GetFurnitureForHouse(specialFurniture)
-- In some games, you can add "special furnitures", they're unique to the house. per example the tapestry will be "Dwemer" and all walls of the house will have this tapestry. Same for music, player choose to play one of the music of the game in its house. I've listed few examples in constants.
In case you add unique Maid (or gardener, or any "NPC", the itemLink should be the itemLink of the NPC (they should be added as "item" or "collectible" if you add NPC "maids").


If you add this:
EnterInHouse(ownerDisplayName, asGuest)
-- will enter in the house of ownerDisplayName. this function only works while interacting with the main door of the house.
If asGuest is true, you'll enter in the hous as a guest, you'll be in an alternate instance of the owner house. If he enters, you won't see him. If another enter as guest, another instance will be created. this is mainly to visit nice houses.


If you add this:
GiveRecommendationToHouse()
-- it will give a recommandation to the house (+1). It's basically a count used for housing leaderboard.
local numRecommandations = GetRecommendation(houseId)
-- it will return the count of recommendation you received for your house.
local gratifierDisplayName = GetGratifierDisplayName(houseId, recommendationIndex)
-- will return the displayName of the people who recommended your house.
local houseId, displayName = GetTopHouseForType(houseType, leaderboardIndex)
-- will return the houseId (address) and name of the owner for a type of house (big, small) at position X (1-100 per ex)
local displayName = GetTopHouseForAddress(leaderboardIndex)
-- will return the name of the owner for an address (a houseId) at position X (1-10 per ex)


Placement/Recuperation of furnitures:
I didn't looked at it, but we should be able to set an item in world throught the your editor (or ours). Here would only like to be able to grab any furniture were ever I am in da house (I can be a bit far from the furniture but should be able to grab it anyways).









Events :

EVENT_HOUSE_BOUGHT(eventId, houseid)
--houseId is the houseId Constant
-- if we can buy a house with gold or crowns, I would like currencyType in event too. (CURT_GOLD, etc).

EVENT_HOUSE_SOLD(eventId, houseid, autoSell)
--houseId is the houseId Constant
-- autoSell is a boolean which indicate if it's the game which sell the house (because you did not played for a certain time, I already saw it in other games).

If we need to pay a rent :
EVENT_HOUSE_RENT_PAYED(eventId, houseid, amount)
-- amount parameter could be replaced by the date of when the rent will expire. But I would prefer amount.
-- If we can pay in crowns, I would like currencyType in event too. (CURT_GOLD, etc).
-- if a house can only be rentd throught crowns, no need. we'll deduct it with houseId.


EVENT_FURNITURE_ADDED(event)
-- will trigger for every player present in the house.
-- itemLink is the itemLink of the item added.

EVENT_FURNITURE_REMOVED(event)
-- will trigger for every player present in the house.
-- itemLink is the itemLink of the item removed.

Those 2 events.. I still don't know. Maybe we could have it only for owner. I don't really know.
A note: When adding an item the world, it should be cool if furnitureIndex of item added was equal to actualFurniture of function GetHouseFurnitureCount(houseId)

So when we put an item into the world, we listen
EVENT_FURNITURE_ADDED and get its desc with GetHouseFurnitureInfo(houseId, GetHouseFurnitureCount(houseId))
like when you join a guild, index is always the last one.
After, it's more your internal way of code.

EVENT_VISITOR_ENTERED(event, displayName, characterName)
-- When somenone enter in your house. trigger only when you're in the house.

EVENT_VISITOR_LEFT(event, displayName, characterName)
-- When somenone exits your house. trigger only when you're in the house.

EVENT_HOUSE_RECOMMENDED(eventId, houseId, displayName)
-- When someone recommend your houseId. (so you can say thank you).




Constants :

houseType
HOUSE_TYPE_SMALL
HOUSE_TYPE_BASIC
HOUSE_TYPE_MANSION
HOUSE_TYPE_BIGCASTLE

houseId =
The HouseId of the House at a certain location. For now, we have 32 addresses.

HOUSE_TYPE_BOSMER_SMALL
HOUSE_TYPE_BOSMER_MEDIUM
HOUSE_TYPE_BOSMER_LARGE
HOUSE_TYPE_BRETON_MEDIUM
HOUSE_TYPE_CROWNSTORE_BRETON <-
etc.


furnitureType
A type of furniture - Each furnitureType will have its set of furnitureInteractionType linked with.
FURNITURE_TYPE_CHAIR
FURNITURE_TYPE_TABLE
FURNITURE_TYPE_BED
FURNITURE_TYPE_PAINTING
etc.

furnitureInteractionType
An interaction played and broadcasted to every people in the house (or at least nearby).

FURNITURE_INTERACTION_SIT <- player will sit on the furniture
FURNITURE_INTERACTION_LAY <- player will lay on the furniture
FURNITURE_INTERACTION_JUMP <- player will jump on the furniture
FURNITURE_INTERACTION_OPEN <- player will open the furniture
FURNITURE_INTERACTION_CLOSE <- player will close on the furniture
etc. (there is a lot, ask roleplayers).


if you add this music played in da house :
HOUSE_MUSIC_RAGNAR_THE_RED
HOUSE_MUSIC_HEAVY_METAL
HOUSE_MUSIC_CLASSIC
HOUSE_MUSIC_BIEBER

if you add "special furnitures" :
FURNITURE_SPECIAL_FLOORING
FURNITURE_SPECIAL_TAPESTRY
FURNITURE_SPECIAL_MUSIC
FURNITURE_SPECIAL_MAID
FURNITURE_SPECIAL_SHUTTERS



Housing visits and leaderboards


Per address :

When you approch house, you'll have at choice :
- Enter in the house of your friends if they live here
- Visit a nice house : Will list the X top house at the specified address.

Per type :

In J panel
we'll have per type (small, big) the top houses.
we'll have per address (houseId) the top houses.

Leaderboards are resetted at each major patch (DLC or API bump).




I didn't finished.


It was a quick 1 hour brainstorm.
  Reply With Quote
11/01/16, 11:29 AM   #10
manavortex
 
manavortex's Avatar
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 138
Mark houses as private - so no one gets to see what's inside. Before anyone but the player can enter the house, it needs to be un-marked as private first.
  Reply With Quote
11/01/16, 12:12 PM   #11
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
Originally Posted by manavortex View Post
Mark houses as private - so no one gets to see what's inside. Before anyone but the player can enter the house, it needs to be un-marked as private first.
Or more generally a permission system with options for public/private/invite only houses and whitelist/blacklist of players.
  Reply With Quote
11/02/16, 01:39 AM   #12
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
2nd part of my blabla..


So yes, permission system !


First, different types of permissions :

- HOUSING_PERMISSION_TYPE_ENTRANCE <- person will be able to enter in da house
- HOUSING_PERMISSION_TYPE_INTERACT <- person will be able to interact with items in da house
- HOUSING_PERMISSION_TYPE_FURNITURES <- person will be able to move and take furnitures in da house
- HOUSING_PERMISSION_TYPE_PAYEMENTS <- perso will be able to pay your rent

We could split furniture in 2 parts. HOUSING_PERMISSION_TYPE_PLACE_FURNITURES & HOUSING_PERMISSION_TYPE_TAKE_FURNITURES. 1st one will only be able to repositionate your furnitures, 2nd to take (then sell, destroy, etc) your furnitures.

Then how to manage those levels :

- HOUSING_PERMISSION_SCOPE_OWNER : Only owner will be allowed. (ex : 1)
- HOUSING_PERMISSION_SCOPE_FRIENDS : his friendlist will be allowed. (ex : 2)
- HOUSING_PERMISSION_SCOPE_GUILDS : his guildmates will be allowed. (ex : 4)
- HOUSING_PERMISSION_SCOPE_PERDISPLAYNAME : displayname defined list will be allowed. (ex : 8)

Nota: We should be able to choose multiple value.
Ex: If permission scope = 3 it will be OWNER + FRIENDS. If it's 7, it'll be GUILDS+FRIENDS+OWNER . it's it's 11, it'll be OWNER +FRIENDS+DISPLAYNAME list.

Each value will be rattached to a permissionType. per ex, if we set 3 (owner+friends) Owner will have access to everything, friends will have access to HOUSING_PERMISSION_TYPE_ENTRANCE + HOUSING_PERMISSION_TYPE_INTERACT per example.

Default values : Player : everything, others: nothing. A tutorial popup will be nice!

so

local result = GrantHousingPermission(houseId, permissionType, permisionScope, concernedDisplayName)
--houseId is the houseId
--permissionType is the permissionType listed above
--permisionScope is the permissionScope listed above
--concernedDisplayName is a mandatory arg if permisionScope == HOUSING_PERMISSION_SCOPE_PERDISPLAYNAME.
--result will be a resultCode. (basically a boolean).
local isAllowed = GetHousingPermission(houseId, permissionType, permisionScope, concernedDisplayName)
isAllowed will be a boolean which will indicate if the permission is granted.
local result = RevokeHousingPermission(houseId, permissionType, permisionScope, concernedDisplayName)




If you add this:
Social data about housing.
local numHouses = GetNumHousesOwned(displayName)
-- returns the numbers of house the displayName owns.
Nota: If displayName don't allow HOUSING_PERMISSION_TYPE_ENTRANCE to his house to the requester, the function hides the house.
Ex: "@Bob" have 2 houses, 1 big and 1 small, he allow me in its big, but not me in its small. The function returns 1.
local houseId, reputationScore = GetHouseInfo(displayName, ownedHouseIndex)
-- returns the houseId (the address!) of the specified house for a displayName. It also returns the reputationScore of the house.



if you add this:
Rent pay:
local newDateBeforeExpulsion = PayRentForHouse(houseId, currencyType, amount)
-- it will pay the house. User can use different currencies (pay in alliance points, think pvp players ).
If you allow payement in Crowns, I would enjoy the function PayRentForHouseInCrowns(houseId, amount) being private.
-- this function will only be available while being in house (or everywhere ?..) or interacting with the House Seller NPC (see below).
newDateBeforeExpulsion will be a number, the new date before expulsion, it can also return nil if user don't have enought gold, etc.; it'll generate an event EVENT_HOUSE_RENT_PAYED(eventId, houseid, amount) (or EVENT_HOUSE_RENT_PAYEMENT_FAILED(eventId, houseid, reason) per ex.



If you add this:
Mannequins :
You'll be able to craft a mannequin and place your items on your manequin, it'll accept all ITEMTYPE_ARMOR & WEAPONS (excepted jewels). The mannequin will be with your armor dyed. It'll be a nice thing to store armors/weapons. You'll maybe want to allow only 1 mannequin (or 3..5) per house.

PlaceItemOnMannequin(bagId, slotId)
-- will place the item on the mannequin.
GrabItemFromMannequin(slotId)
-- will grab the item from mannequin.
slotId will be a EquipSlot constant.



If you add this :
Fireplaces should logically be present in Housing. I would love that the interaction starts an INTERACTION_CRAFT. Cooking is a craft which does not generate a lot of activities in cities and moving this craft (and only this) won't affect cities a lot. (I understand the consequences of having a craft station in da house -> emptying cities and think that others crafts should not be able in houses for this reason).


If you add this:
In big mansions I would enjoy a maid. The maid will be racial dependant of the house or crown store ++ (I know you are able to sell a sexy maid in crown store). We could interact with her. She'll hang in the house, clean it, etc, maybe tell stories.
The level of the maid could be defined with house level or maid level. We could have :

- Merchant as base. it'll open the merchant UI. I'm not fan of the repair cause of city need. (You want to repair : go in a city)
Nota: If user own a merchant (the ones you can buy in Crown store), I would enjoy this NPC as being permanently summonned in the house. Same for banker.


If you add this:
- Special furnitures
With One Tamriel you added a TON of items as being BoP. Resulting the explosion of need in bag space.
The Maid with a level allowing special furnitures will accept in an unlimited storage Items not eligible to crafting bag except quest items -> weapons/armors/consummables/misc.
Users will be able to unlock this with a crown store bought or an eso+ perk. The "Chest" will only be accessible throught the maid npc (and maybe the house npc seller). Chest will have exact same behavior than crafting bag.


If you add this:
- Musician : You'll be able to hire a musician. You'll be able to interact with him and choose what song you wanna hear.


If you add this:
House Seller NPC: If houses are not lifetime garanted (need to pay a rent, need to be logged last 6 months). the House seller NPC (1 per alliance, or 1 per zone) will :
- accept interaction for paying your rent.
- allow you to recover your furnitures previously set in your ex-house
- allow you to recover to your items previously deposed in your special furniture chest (only withdraw, if you want to deposit again, buy a house!)
This NPC will also guide you to the location of the house, little tutorial, etc. (where are the houses ??!!!)


If you add this:
Kittens and mounts:
For each type of mansions, I'd like to see my vanity pets & my mounts hanging here and there.
A HOUSE_TYPE_SMALL could accept 1 random vanity pet I have unlocked while a HOUSE_TYPE_BIGCASTLE would accept more (ex: 3 pets, 1 mount). All randomly generated from the vanity pet & mounts I own. They'll have their path defined or don't move at all but they'll be here.


If you add this:
Housing steal:
If you visit a house "as guest", you'll be able to steal items. You'll be able to interact with wardrobes, chest, etc. They'll generate a basic item to steal. (like the ones in npc houses).


If you add this:
Housing steal plus:
If there is a maid/musician, she'll maybe spot you and raise your infamy. You should be able to kill her (or steal her). Her presence could also generate a locked chest with a better reward. (or chest defined depending of the type of house). Big house could have some guards too.


If you add this:
Housing steal dailies:
With Thieves Guild DLC bought, you'll be able to take a daily quest, the NPC will send you in one of the houseId to steal the treasure (the locked chest) of the house. User will have to go to this place, select a house, enter as guest and steal the chest. You'll maybe need to enter in the 1st ("best") house of the ranking at this address. So basically, you'll steal top players. Rewards will be the ones of a thieves guild daily per ex.


If you add this:
Selling unpaid furnitures:
With rentals, houses will disappear with time (because player did not payed, did not connected). His furnitures if not "protected" (by maybe an eso perk) could be taken by game and so .. resell to other players maybe 3 months after. (A user come, pay his house for 4 months in gold, he leave game after the 2nd month, so he'll still have his items 5 months after).
A NPC poppping maybe once a week on week-end, selling in limited quantities items lost by players who did not paid their rentals could be done. It'll be a nice way to get items without having to search in guild stores or craft them. This npc will be unique and could pop randomly in some main cities (maybe starter ones, like daggerfall!). the npc could only be here for few minutes then go and then system will destroy those items.
Nota: Items bought in Crown store or unlocked as collectibles won't be sold, only "items".

If you add this:
Furniture dying ?.. a pink chair, a blue table. It would be cool if we could personalize the layers of our furnitures, maybe like armors, 3 colors, for beds it would be really nice. And you could sell *humhum* dyestamps for furnitures aswell. Of course, like armours , item will be bound after being dyed.

The future Crafting revamp :
You said you'll allow player to craft their furnitures, so I guess in the "creation" tab, you'll add a new tab "furnitures". (or revamp everything ).
Here I still don't know what I want. I hope we'll have style, after for mats, it's your choices and we don't really care.
Just the possibility to preview items like in crown store (same for weapons/armors , i asked few weeks ago..). That's all. After same things than all other crafts but it's not housing specific.



Ok, it's not all very API related, but I only talk about what I've in mind.

Last edited by Ayantir : 11/02/16 at 05:11 AM.
  Reply With Quote
11/02/16, 09:21 AM   #13
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Thanks for all of the feedback. As you can probably guess our hands are tied about releasing any new housing system information, but it is still useful to learn what is desired as early as possible. So for now we'll take this thread into account as we work through the API and discuss more when we can share more about the housing system.

HOUSE_MUSIC_BIEBER
This one we can confirm now though.
  Reply With Quote
11/10/16, 05:13 AM   #14
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
I have another suggestion. Over the last few days I tried a few things related to npc locations and several attempts to do what I want failed because there is no proper way to uniquely identify them independently of the language.

For housing I would thus like to have ids for everything. HouseId, roomId, furnitureId, critterId, dustParticleId etc. which allows us to identify parts regardless of the client language and between game updates.
  Reply With Quote
11/10/16, 10:17 AM   #15
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
All of the furniture will be uniquely identified.
  Reply With Quote
12/01/16, 02:30 PM   #16
Elmseeker
 
Elmseeker's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2016
Posts: 5
Originally Posted by ZOS_ChipHilseberg View Post
Thanks for all of the feedback. As you can probably guess our hands are tied about releasing any new housing system information, but it is still useful to learn what is desired as early as possible. So for now we'll take this thread into account as we work through the API and discuss more when we can share more about the housing system.



This one we can confirm now though.
if(HOUSE_MUSIC_BIEBER) then hangSelf = true

  Reply With Quote
12/06/16, 05:36 PM   #17
dorrino
AddOn Author - Click to view addons
Join Date: Mar 2015
Posts: 50
Since now we know there will be permissions for different groups of players to visit/decorate a house i think we will need some functions to manage the permissions.

I'm thinking about:

1. White and black lists of people for each house on the account separately for visiting and decorating the house. API to add/remove people from both lists using account and char names (some people will definitely want to rp and prevent entrance to a certain character instead of the player account).

2. API to white/black list groups of players (friends, guilds, everybody) with the ability to include/exclude a specific guild.

3. If the info is correct only one house (referred as the 'primary house') out of all houses on the account will be available for guesting. If this is correct some API to set/change this primary house would be awesome.

4. Should be mentioned before me, but having unique HouseIds for houses on the account and unique HouseLocationIds to refer to the entrances to the instanced houses is also very welcomed.

5. Functions to work with HouseIds and provide the lists of FurnitureId/ItemIds/PlayerIds inside each house.

Thank you.
  Reply With Quote
12/07/16, 08:24 AM   #18
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
I know this is probably beyond the scope of what you can add right now, but I think it would be great if we could somehow share the decoration setup with other users ingame.
I imagine something like the collection interface, but with user generated decoration setups. The data is uploaded to your servers and then others can view, apply and rate them.

For now we can probably manage to dump all the decals into the savedata, run some script to upload it to some server and then update the repository, but it would require at least one UI reload which is bad imo. I think it would be great if you could add some API to allow us to directly dump the raw house data into a file on the disk and also read a list of available files and import one without reloading. Maybe add a new subfolder in the user folder called "housing" where you read and write the files from.

Of course some evil devs could misuse that to transfer other data, but I think if you limit the import and export to work only within houses, it should be fine.
  Reply With Quote
12/07/16, 08:34 AM   #19
AssemblerManiac
AddOn Author - Click to view addons
Join Date: Jun 2014
Posts: 51
I think you're making an invalid assumption. I think ALL of the data will have reside on the ZoS servers, not just bits and pieces. Otherwise, there's no easy way for them to sync up changes from your primary PC, to a different PC signing on to the same account. It would also make it much harder for them to sync to a visitor, or allow a decorator to do their design work and have it available to you.

Makes sense, yes?

Originally Posted by sirinsidiator View Post
I know this is probably beyond the scope of what you can add right now, but I think it would be great if we could somehow share the decoration setup with other users ingame.
I imagine something like the collection interface, but with user generated decoration setups. The data is uploaded to your servers and then others can view, apply and rate them.

For now we can probably manage to dump all the decals into the savedata, run some script to upload it to some server and then update the repository, but it would require at least one UI reload which is bad imo. I think it would be great if you could add some API to allow us to directly dump the raw house data into a file on the disk and also read a list of available files and import one without reloading. Maybe add a new subfolder in the user folder called "housing" where you read and write the files from.

Of course some evil devs could misuse that to transfer other data, but I think if you limit the import and export to work only within houses, it should be fine.
  Reply With Quote
12/07/16, 08:45 AM   #20
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,568
I know that the current decoration of the house is on their server. What I am talking about are snapshots that can be shared with others so they can apply the same decoration to theirs.
I think if someone invests 20 hours to make a perfect home, it is certainly worth sharing with others.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Housing APIs

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off