Difference between revisions of "User talk:Ashileedo"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Ashileedo
imported>Mrflippy
Line 63: Line 63:
I would like a little more information on the [[Disable]] command. (or other ways of removing objects from the world) Mainly I'm worried whether creating objects with [[PlaceAtMe]] and then removing them with Disable is a bad thing or not. Will this use up resources because the disabled object is still hanging around somewhere, and is there another way of destroying objects? Thanks. [[User:Mrflippy|Mrflippy]] 14:34, 7 April 2006 (EDT)
I would like a little more information on the [[Disable]] command. (or other ways of removing objects from the world) Mainly I'm worried whether creating objects with [[PlaceAtMe]] and then removing them with Disable is a bad thing or not. Will this use up resources because the disabled object is still hanging around somewhere, and is there another way of destroying objects? Thanks. [[User:Mrflippy|Mrflippy]] 14:34, 7 April 2006 (EDT)
::We use disable a lot on environment that is already there (it may start enabled and be disabled later, or some variation of this) - but the art is already loaded in the scene, you just can't always see it right away until there is change of state. We don't use it with placeatme very often, I can't think of any example off hand. Need to be careful if you are allowing player to call objects that aren't loaded already, esp if you are calling actors (npcs or creatures) as they are very expensive. If player is in middle of memory intensive scene, summoning more art could adversely affect framerate.
::We use disable a lot on environment that is already there (it may start enabled and be disabled later, or some variation of this) - but the art is already loaded in the scene, you just can't always see it right away until there is change of state. We don't use it with placeatme very often, I can't think of any example off hand. Need to be careful if you are allowing player to call objects that aren't loaded already, esp if you are calling actors (npcs or creatures) as they are very expensive. If player is in middle of memory intensive scene, summoning more art could adversely affect framerate.
:::So the real danger is actually the summoning and not the disabling? Or am I misunderstanding? If I summon and disable 50 iron shortswords, will there be 50 disabled instances floating around? [[User:Mrflippy|Mrflippy]] 15:01, 7 April 2006 (EDT)

Revision as of 14:01, 7 April 2006

PLEASE PUT NEW COMMENTS AT BOTTOM WITH ITS OWN HEADING. THANKS.


Comments

It really is a good idea. If everyone uses this wiki to share their hard-earned knowledge about the Construction Set, it will become a valuable community resource.--Mozz 22:11, 26 March 2006 (EST)

Documentation Requests

User:Doppelganger 20:29, 3 April 2006 (EDT): The reason for my experimentation with ModActorValue and erronous conclusion was a lack of documentation. I had tried posting a couple of threads on the TES CS forum, but they quickly get buried with no response. With this in mind, there is no outlet (that I know of) to get even the kernel of the truth, and I resorted to simply being more accusational to draw fire. Can there be some sort of way to address this ad hoc means of obtaining information?

I also wrote here because I requested in the ModActorValue about how I could access the various script/magic modifiers.

I understand your frustration but please ask for your patience. The community is still learning about the Construction Set and the game, and we ourselves have other commitments internally that will take priority over this wiki. Which is why we made it a wiki - so that it could grow along with the modding community. I only ask that we keep the information posted on the site as factual and unbiased as possible. We will try to provide as much information as quickly as we can, but it will never be as fast as you or the fans will like, and I apologize for that. I will say that keeping your tone and attitude accusational to "draw fire" is not the best way to ask developers to put in extra time to answer questions. --Ashileedo]] 23:45, 3 April 2006

(EDT)

Doppelganger 07:13, 6 April 2006 (EDT): Best, relative to what, however? It did get me results quickly, and that was my honest assessment of what I was seeing, the main thorn in my understanding being that functions called via console don't have the same side effects as when they are called from a script. I appreciate that in the wiki page that there was an attempt to explain why this was, even though I still think it's a little insane, and a warning should certainly be plastered on the function list about functions that have this exceptional (I hope) property. There was not really much frustration, but unnecessary experimentation. I was skeptical of my own analysis given the fact that I was operating on no information, but perhaps you find it understandable why I came to this conclusion when the console's behavior seemed correct and a contrived script that, if run via console, exhibited the "bug." The other thorn was that there was no procedure for what to do to request information. I would have been content to wait for a while IF I knew precisely what I should do.
Again, we're not going to be able to provide you answers fast enough. Your best bet is to ask on forums or on Talk pages on here. You can disagree with our decisions, but please keep the info on the WIKI factual and unbiased, and keep opinions to the Talk pages.--Ashileedo 11:25, 6 April 2006 (EDT)


Just a heads up, you might want to post something prominent on the front page explaining that you are adding as much data as you can as time permits. That should help head off the flame fest. A lot of us developed things for morrowind and we got virtually no support, a lot of people still have the mindset that "the game developers don't care about us, they already have our money." It's little things, like telling us what's going on, that let the community know you're engaged. --Halo112358 02:02, 4 April 2006 (EDT)

Just wondering why there is no script method to expose generic references. I would like to be able to increment through the actor or object references in my local area, and I know a lot of people would also like that ability, it would allow all kinds of new options for modding. I was just wondering why this wasn't made available to modders as it seems so necessary for non-quest mods. --Tegid 10:52, 4 April 2006 (EDT)

There were discussions about this but we never had a need for it. What specific functionality are you trying to do? We may already have a model you can use as reference. --Ashileedo 13:27, 4 April 2006 (EDT)
A lot of people (myself included) would like to be able to determine which actors are in the area when we are IsInCombat so that we can make determinations about the people we are fighting. Also of interest would be a way to determine the weapon we are holding currently. Another mod I've seen is the Auto Harvesting mod, which currently has to add a script to all the plants so that they auto activate when the player is within a distance of 500 from them. If we could cycle through the Refs around us, instead of every plant running a script, a ring or spell could check for nearby plants and harvest them. I can see why it wouldn't be useful when you are generally setting up actions in regards to the player since you exposed the player ref. An NPC or Creature can tell their distance to me, if they are in combat with me, all kinds of things. I as a player cannot do any of those things. So if I want to, for instance, tell what range I was at when my arrow hit an enemy, I have to enchant the arrow. If I do that, the enchantment is run on the Actor I hit, and since HE knows how to refer to me (player) I can do what I need, but I have to add that enchantment to every arrow in the game. --Tegid 16:27, 4 April 2006 (EDT)
Another example: currently, there's no way to loop through an actor's inventory that I can tell, which is too bad: for instance, if I want a spell that unequips somebody's armor, I currently have to do something like:
AddItem SomeShirt, 1
EquipItem SomeShirt
UnequipItem SomeShirt
RemoveItem SomeShirt, 1
Problem is, I don't know if or what I just unequipped by replacing it with the shirt, so I can't easily re-equip the item (I hacked this by creating a dummy package with the unequip armor set to true, which, when it ends, usually causes them to reequip the armor. This solution is inconsistant at best. It also means they walk around naked, when it would be cooler to replace the armor with whatever clothing they have in their inventory, which would mean I'd need to iterate through their clothing. --lbeefus


I also want to loop through all actors/enemies in a cell. I want to make something that shows up if I'm in a LOS with an enemy, rather than the enemy has a LOS with me (kinda like sneaking). I've explained it in more detail [here]. --decswxaqz
--Kkuhlmann 07:38, 5 April 2006 (EDT): There's no looping of any kind in the scripting system. It would have required a complete paradigm shift that wasn't necessary (we didn't need any of the functionality you're talking about to build the game). If you're ever wondering why the script system doesn't do something, the short answer is always "Because we didn't need it to do that." We had many demands on our time just to get the game out; we didn't have time to add features (and test them, which is not insignificant) which we were not planning on using.
Tegid 08:50, 5 April 2006 (EDT): Even if we had a fixed set of "Reference Registers" that we had to check explicitly it would be really helpful. As I said in my previous note, I can completely see why you didn't need it, since you were doing everything in relation to the player for whom you made an external reference available. At the least it would be useful to have some number of registers that contained for instance the Actors currently in combat with you. Oh, and it appears you can construct a rudimentary looping mechanism with ScriptEffectUpdate.
Tegid 09:20, 6 April 2006 (EDT): Heads up, I have some preliminary "Actor Reference Registers" that I've scripted and will be releasing in the next few days I hope. There are still some lingering issues that I need to work out, but I have proven that I can gain access to the References of nearby Actors/Creatures (I have no way to get objects that I'm aware of). I may end up releasing a proof of concept, but I hope to have it slightly more full featured before I release it. Just for my own edification, is there a way to print a reference value in a Message or MessageBox. I can see why it wouldn't be too valuable to do normally (for game mechanics) but it seems it would be valuable for debug purposes.

SDK

Doppelganger 07:59, 6 April 2006 (EDT): I'm pessimistic, but this has to be asked. To stave off the inevitable slaving over the Oblivion binaries, will there be at some time a SDK that will give us additional power? Such a thing would break from what TES3 did to be sure, but the ability to compile our own libraries to supplant our modification power would be truly awesome, if a large task to be made possible. Even if the API is hard to use, it's going to be easier than what eventually happened for Morrowind anyway, which was some completely masochistic reverse engineering. The fact of the matter is that as it stands I can't even (or so I've been lead to believe) access basic information like the magnitude of the player's fortified health without whining enough to get it turned into a script-accessible function. How about the ability to create new UI elements? There has been efforts to improve the UI for PC, but many things are beyond us, and I fully understand that BethSoft would want to have no part in the maintenance nightmare of forking more code than absolutely necessary...so let us do it instead, if possible. Given the proliferation of some extensive and painfully written modifications in the very short time since release, in my layman judgment there seems to be a considerable amount of momentum.

I also realize that there is a lot of copyright issues exposed since not all of what you have compiled is your own, so that may make this whole thing intractable regardless. But I guess hopes may well be dashed thoroughly and completely upfront with clarity. Any justification as to why such a thing is an impossibility, even including the usual suspects such as it being too time consuming, difficult, and prickled with legal barbs would be appreciated, and probably prevent any future questions. (Or future questions could probably just be deflected to the response given at this time)

You could even preempt some conspiracy theories that some may inclined to think, such as "BethSoft doesn't want to give us power so that they can sell their next expansion/micromod with a killer app that we cannot replicate such as a better UI for X” A similar such vein runs with the no-show NIF exporter, apparently causing some of the more visually oriented community considerable angst, even though barely any time has passed since launch. Regular and brief explanation of intention, difficulties, and possible futures will sow empathy among much of the community and may be appropriate if placating us concerns you in the slightest.

We will release more information about future downloads for modders as soon as we can, but right now I have no information that I can tell you. This isn't what you want to here, but its all I can say. If you must flame, we ask that you do it on the forums to maintain the factual integrity of the wiki;)--Ashileedo 10:30, 6 April 2006 (EDT)
Doppelganger 16:21, 6 April 2006 (EDT): Not much of a flamer, I'm afraid. Never quite had the flair for it. Well, I guess that beats "no."

Mods intercompatibility

I originally posted this on category discussion: data files, but that page doesn't seem to get much traffic. Is it true that there is absolutely no way to reference objects added in one plugin from another plugin? This seem extraordinarily restrictive, and seems to me that it would cause a great amount of mod incompatibility solvable only by merging mods. Which has its own problems, including the legality of merging with the official mods and the problems that arise if you only want the effects of one of several mods that had to be merged together. --JHunz 16:11, 6 April 2006 (EDT)

We don't have an easy solution for this issue at this time. It would require major reworking of how the system works. We did not have any need for this functionality during development. We are looking into workarounds and will let you guys know if we come up with anything. --Ashileedo 16:16, 6 April 2006 (EDT)
I don't know if there's anything inherently preventing this, but would it be possible to release the official DLC as master files instead of plugin files? That would at least solve a lot of the compatibility problems with officially released content --JHunz 23:27, 6 April 2006 (EDT)
That won't work due to technical issues. --Ashileedo 10:07, 7 April 2006 (EDT)

disable

I would like a little more information on the Disable command. (or other ways of removing objects from the world) Mainly I'm worried whether creating objects with PlaceAtMe and then removing them with Disable is a bad thing or not. Will this use up resources because the disabled object is still hanging around somewhere, and is there another way of destroying objects? Thanks. Mrflippy 14:34, 7 April 2006 (EDT)

We use disable a lot on environment that is already there (it may start enabled and be disabled later, or some variation of this) - but the art is already loaded in the scene, you just can't always see it right away until there is change of state. We don't use it with placeatme very often, I can't think of any example off hand. Need to be careful if you are allowing player to call objects that aren't loaded already, esp if you are calling actors (npcs or creatures) as they are very expensive. If player is in middle of memory intensive scene, summoning more art could adversely affect framerate.
So the real danger is actually the summoning and not the disabling? Or am I misunderstanding? If I summon and disable 50 iron shortswords, will there be 50 disabled instances floating around? Mrflippy 15:01, 7 April 2006 (EDT)