Jump to content

DragonDude1029

Members
  • Posts

    148
  • Joined

  • Last visited

Nexus Mods Profile

About DragonDude1029

Profile Fields

  • Website URL
    http://dragondudemods.forumotion.ca/
  • Country
    Canada
  • Currently Playing
    Fallout: New Vegas
  • Favourite Game
    Golden Sun, Skyrim, Legend of Zelda

DragonDude1029's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. The is because containers are form types, not properties of form types. To identify the type of a form you can either use the Form.GetType() function or cast it to that type. When casting, it will become null if it cannot be cast to that type. So you could either do ; This is preferable if you need to use the object as a container ObjectReference Ref ; this is the object reference passed by the OnCrosshairRefChange() Container ContainerRef = Ref as Container If containerRef ; do stuff on Ref or containerRef EndIf OR ; This is preferable if you want to cast but don't need it as a container ObjectReference Ref ; this is the object reference passed by the OnCrosshairRefChange() If (Ref as Container) ; do stuff on Ref EndIf OR ; This is preferable if you don't need to use the object as a container, and can get any form type easily ObjectReference Ref ; this is the object reference passed by the OnCrosshairRefChange() Int RefType = Ref.GetType() ; or do (Ref as Form).GetType(), but it should auto cast If (RefType == 28) ; it's a container ; do stuff on Ref ElseIf (RefType == 29) ; can be used for other types too, this checks if it's a door ; do stuff on Ref EndIf Types can be gotten here. Hope this helps!
  2. Place them in the root directory, the same folder containing "falloutlauncher.exe".
  3. This function would be hardcoded into the game and would be difficult, if not impossible, to alter. It's not as simple as changing the formula, because nobody has access to the game's code nor the ability to change it. Just thought I'd throw in that your formulas seem a bit excessive. Not sure what you are trying to achieve, but you could easily make a function that is similar but has an asymptote at y=0. Something like (came up with this on the spot as an example, it would obviously need some refinement): 2^(-x/50) EDIT: Nevermind, now that I graph it y= (e-x/200)/(1+sqrt(x/200)) looks pretty good.
  4. FSS - No pause between lines: http://www.nexusmods.com/skyrim/mods/6333 EDIT: Alternatively, FSS - Better Bards comes with that as well: http://www.nexusmods.com/skyrim/mods/6496
  5. Ignore the last posts entirely. I've been working on this and the system has changed, for the better. Same basic concept, player can send/receive letters, trades, and barters. Trade and barters work with items (for sending) and gold (for request). No formIDs needed either, just give the courier the item(s). Everything for the mod will occur in a special (post office) location where you can send your packages or receive your packages (special surprises for post office, very lore-friendly/immersive!!!). When starting each player (save specific) is assigned a unique (numeric) ID It's looking spectacular, very optimized, clean, and capable of handling a lot of connections server-side. Honestly, it's the real deal. Full-fledge SQL database with php scripts. Want to here something cool? No requirements other than SKSE. Simple installation too, it's just an ESP (with loose script .pex files of course) and a SKSE plugin. No python, no external programs. It's looking really good! In case it wasn't obvious, I'm quite excited!! Still a bunch of things to finish, but it's all simple stuff. I'm also going to need (a) voice actor(s). Lol, I think I know a few.
  6. Oh, I never go directly from the script list. I go by heading to the form script pages, like http://www.creationkit.com/Armor_Script or http://www.creationkit.com/ObjectReference_Script. Woops, I forgot to throw a 1 in there, my bad. It's a Nth basis, not a list, so it would be 1 not 0. Same as GetNthForm() and all the other GetNth stuff (I'm pretty sure). I still think you can get it to work by setting the slot, I know I've done it before. I'll dig around and see if I can find my old scripts to do it!
  7. They have to follow a hex chain so you can use bit logic to figure out what slot masks compose the armour mask. Using GetSlotMask() == x isn't enough to figure out if a piece of armour occupies a slot, because GetSlotMask() returns the total of all the slots used (the armour mask). What I means is, if I want to find out if a piece of armour occupies the hand slot I would need to do: Math.LogicalAnd(TheObject.GetSlotMask(), 0x00000008) It's a very common thing to do in programming, bit masks that is: http://en.wikipedia.org/wiki/Mask_(computing) It means the masks must follow the geometric pattern to be derivable. So the first is 1 (binary: 1), the second is 2 (binary: 10), the third is 4 (binary: 100), so on and so forth. Naming the nodes (biped slots) along the geometric pattern is a very disorganized thing to do, especially when mapping them out for placement on a skeleton. It also has to follow the same index convention as the rest of the non-'slot mask' nodes and such. The CKWiki has most of the functions now, not including the alpha stuff. It's been updated a fair bit. http://www.creationkit.com/GetNthArmorAddon_-_Armor Glad I could be of service! If you ever need help with scripting feel free to contact me :D
  8. There are SetSlotMask() functions for both armour and armour addons. They work the exact same, but if you change the amour slot mask, the armour addon's slot mask needs to be changed to match it. This is probably the issue. To get the armour addon use: ArmorAddon TheObjectAA = TheObject.GetNthArmorAddon(0) That's because the decimal version of 0x00000008 is 8, not 33. The node index of the biped slot is not the decimal version, you have to take the hex version and convert it to decimal.
  9. Simple as transferring any data files to the new computer. That includes ESPs (and/or ESMs), BSAs, and/or loose data files (meshes, textures, scripts, etc.) associated to your mod. It's the same process as 'installing' any other mod. Make sure all the files are present and it should work perfectly fine!
  10. So you tried using SetSlotMask() on both the armour and armour addon? In which order? The engine does funny things when moving stuff around in the named nodes, but usually the invisible object stuff is caused by a discrepancy between the biped slots for the armour and its addon(s). Also, I have noticed a lot of unreliability in Queuing NiNode updates for this stuff. You may want to try unequip and equipping the piece of armour to reset it on the player. Lastly, you don't need to use the hexadecimal numbers for these functions, decimal should be fine. Thought I might mention it just in case you didn't know.
  11. Alternatively, what you could do is make a new Door form (in the Object Window). Give it a unique editor id, uncheck all the flags, and set the model to whatever piece of clutter you like. It could be any piece of clutter really, whatever suits what you are trying to do. Doesn't have to be a door model either. Also, there does not need to be any scripts attached to the new Door object. You can also set sounds that play when you teleport by setting the Open field. Drag the Door into the render window and start editing the reference (not the base form, the reference in the Render Window). Go to the Teleport tab and check the Teleport box. Set it up exactly as you would a normal door. Voila! NPCs should follow you through them as well!
  12. Simple as: Scriptname ExampleTeleporter extends ObjectReference ObjectReference property TeleportMarker auto Event OnActivate(ObjectReference akActivator) akActivator.MoveTo(TeleportMarker) EndEvent Attach the script to your object that is activated. Place a marker where you want the player to go and set the property TeleportMarker to that. This above script will make anything that activates the object teleport to TeleportMarker. If you want to limit it to the player put an if condition around the MoveTo line that checks to see if akActivator is the player.
  13. Here's the new way it operates: All players are assigned a user ID via a courier like NPC. Players can go to a 'post office' to send mail and check received mail. To receive mail the player must speak to a certain NPC. To send mail the player must speak with a different NPC, who through dialogue will allow the player to send different types of mail. There are three types of mail, each requiring a user ID to be sent to: 1. Messages. Simple text based messages in which the player enters the message into a text field (which I can make look like a letter, fancy GUI, similar to Take Notes' GUI). 2. Fixed trades. The player gives the NPC an item to trade and also specifies an amount of gold. They can also attach a message (type 1) to the fixed trade. The user specified by the user ID can accept or deny this trade. Accepting will give them the item sent and remove the amount of gold, followed by sending the gold to the first player. Denying will cause the item to be returned to the first player. 3. Barters. They operate the exact same as fixed trade, but in addition to accepting and denying, the second player can specify a new amount of gold. Specifying a new amount that is higher or equal to the original amount of gold will immediately accept the trade and send the first player the newly specified amount of gold. Specifying a lower amount will send the first player a counter-barter message stating the item and new amount of gold. The first player then restarts the barter process by accepting, denying, or specifying a new amount of gold for the counter-barter. Notably, the first player's counter-counter-barter will be the exact same (code wise) as an original barter. Sending a fixed trade with a gold value of 0 would be a gift. Sending a barter with a gold value of 0 would be a 'choose your price' trade. Negative numbers cannot be inputted. In the future there will be possibility to construct an auction house. This will be more difficult to do, but still possible. I won't work on the auction house until after a stable release of the other stuff.
  14. There has been a little progress, but I've mainly been working on Equipping Overhaul. Here's something exciting: I've developed a way that should make the mod work without an external program or executable. It is all done on-runtime in the game! I'm now looking into a bunch of ways to make it save/character specific, which is going well. Here's how the mod operates (note: bunches of this stuff is proofed-concepts and not-yet-functional code, it is all doable though): After installing the mod, starting Skyrim (via SKSE), and entering your save, a man runs up to you. He tells you a number, which is your character's user ID. You can then go to a location (post office basically) and send messages to other people using their user ID. Alternatively, you can initialize two types of trade: Fixed or Barter. When starting a fixed trade you place the item you are trading in a chest. You then enter the FormID of the item you want. The player with the user ID that you started the trade with will be approached by a courier and presented with the message. They can accept if they have the requested item and get the item you sent, or they can deny the trade. When the trade is denied/accepted you are approached by a courier who gives you the traded item or your original item. A barter works similarly, but additionally to accepting/denying the receiver can give any item to the courier to start a new barter trade where they want the item you originally sent and they are offering the item they gave the courier. The things that still need to be designed are: 1. Amounts of items. This is simple but I haven't bothered designing it yet. 2. A different method of specifying the requested item instead of using Form IDs. This will be designed along with item amounts. I may end up having to fallback to you only being able to request an amount of gold, not items (items can be sent for the trade, just not requested). Now that I think about it I almost certainly will go back to money, because it will simplify stuff for when I make an auction house and it will simplify the barter process too. 3. A method of pausing the courier dialogue, so you could go get the trade item. I may end up removing my courier entirely and making it so they have to go to the post office instead of being approached. 4. A method of cancelling the trade from the sender's end. Currently, if you start a trade with someone and the other person never goes on that save/never replies to the trade, you can never get your item back. 5. A method of keeping user ID cleanliness when saves are deleted. The database currently will remember the IDs of every user ever ID'd, even once that save is deleted. Not really an issue, because the ID's are a stack basis and take no server space. The actual issue is that people can still send messages/stuff to dead IDs/deleted users. I have no clue how I will fix this. In the end it probably won't matter at all anyways. 6. Enter your username rather than being given a number. This is last on the list of stuff to do. After that I'm going to need to spend a while adding security, as well as fallback procedures to prevent data loss or corruption in the server.
×
×
  • Create New...