Jump to content

angelwraith

Members
  • Posts

    246
  • Joined

  • Last visited

Everything posted by angelwraith

  1. ambient sounds use playsound. locational sounds use playsound3d if you mess this part up it wont work in game. however, to get out of this; easiest way to deal with sounds in my experience is to actually add them as references in the game. that way you dont have to code them thus closing opportunities for them to not work as expected. remember if you need the reference to be enabled to play to set the reference to disabled on start and if you need control over whether or not they're playing use enable and disable to control the reference.. still really simple code. and no worrying about how to stop a looping sound ;)
  2. it affects all actors in cell or however many cells you specify with the getfirstref and getnextref commands. and yes that is including dead ones. if you need the script to ignore them use ActorREF.GetDead != 1 i actually have a pretty awesome example script thatll distinguish between actors and their current states, i tried to make it as legible as possible as i pass this script on to help people often: this should have everything you need to deduce how to use ref-walking on actors. this is not a cut and paste script thatll have you up an running, just a guideline so you can read it and try things based on the methods there.
  3. when your activating things the activation button also causes the player to get up. go sit in a chair and hit activate... ok, so how to get around it. im working from theory here as i have not tested this but i have similar functions that i know work so in practice it shouldnt be a big deal. id skype it all out to you but its bed time. you should attach a script that uses getcrosshairref to check if the player is currently looking at one of the activators or references and if so fires a 'return' in the onactivate block which will prevent the chairs activation from firing and keep you seated. attach the script to a custom chair. this requires NVSE but honestly if your not already scripting with NVSE your missing out big time.. and so are your fans. there are tons of things possible that go way beyond what the game was originally intended for.. mostly possible through the amazing functions added through NVSE. check it out. and good luck. tomorrow evening i may be able to lend a hand after work but its le bed time for me now.
  4. i assume your refwalking are you suing the commands getfirstref or getnextref with loops? thats refwalking, if so use 200 instead. it deals with all actors. also if you need item refs through refwalking 201 is the best way to go.
  5. these are all DUH! type problems that got me stuck at some point or another: dont divide by 0 sounds simple enough but ive found on multiple occasions broken scripts because a variable was being used as a divisor and it somehow get set to 0 for instance i had a script that was dividing by the players xangle.. but when moveto was called on the player xangle shows as 0 for a split second. crashy crashy. if you move something with script you have to give the game a second to update its 3d before attempting any further script having to do with its new location. that one had me stuck for a week and a half in FO3 if you need multiple unique references that are all copies of 1; its is MUCH easier setting multiple objects to persistant and named if you set the first one to persistant, make your copies off of that one and do the name work in the cell object window rather than the render window. select the object, use F2 paste your name edit the number and hit enterpress down to do the next reference you need in that sequence and repeat. if variables reach astronomical numbers the game starts to have problems this is especially the case of location variables.. if a location variable is huge it can actually cause player lockup in game. onequip block does not work when equip caused by script (hate that one, lead to MANY headaches) ill try to think of more...
  6. i did this script to check hostility but it also checks for allies you should be able to deduse what you need for what your doing (sounds like your trying to find a solution to the moveto problem that excludes companions that adapts to mod companions as well... only reason i think that is because i was thinking about doing it myself for my teleporter. but refwalking is awesome!! i use it all the time to find and highlight enemies (the script attached) or to lock on enemies for weapon tracking also partially the code found in this script. there are tons of uses! OOOH 1 more VERY important thing refwalking for me is notoriously buggy when not used in a quest script and controlled with startquest and stopquest oh yeah your probabbly also gonna need to use creatureREF.getcurrentAIpackage == 1 to check if they are in a follow package curently.
  7. are you using FOMM and FNVedit to make and enable a merged patch? sounds like there is some interaction NV doesnt like.. this is usually the best way to make sure it all works. also did you install them correctly? FOOK will for sure cause a CTD if its files arent in the data folder structure not sure if the other has custom objects but fook for sure does. when installing most modders will have you extract their archives to the data folder in NV however some modders have FOMOD method and i think FOOK is one of those.. be sure to go through the readme of any new file to get it all working properly.
  8. i would love to try to help you with this, in fact i try to help wherever there is a problem i may be able to help with. but seeing how apparently you hate me and my fellow citizens without knowing anything about me, respectfully, i cant do it.. on principal. lets try again with the SN eh?
  9. if there is a stair case that alternatively links the levels so the NPCs can route that'll work perfectly... was actually thinking of suggesting it but i figured that the levels were not connected as for them not knowing theyre moving: player.playgroup Stagger playsound AMBElevatorBell no wait or put the bell sound then a 1 second timer, then this code
  10. i hate when that happens.. could be a lot of things from mod interaction, to location issues (if your position variables reach a certain number they will cause problems like this) to a fatal script error.. usually i find somewhere there was a divide by 0 set through script or something stupid like that.. try running the game without the mod enabled and see if that remedies the issue. also you are going to have to load a save prior to installing the mod because script variables can get saved regardless of whether the mod is still there or not and cause the issue to continue. just last night i fixed one of these annoying ass bugs in my mod.. there is a script that constantly calls the x angle of the player and numbers are divided by that. what was happening though was when a moveto was being called on the player there was a split second where the script was still running but there was no x angle hence divide by 0 equals no beuno i hope you find your culprit soon, i wish i could have been more help.
  11. man ive typed this like 3 times now, soo to be sure i post it this time im gonna make it short. use doors elevator cell will have overlapping doors that you will disable with script with the exception of the one leading to the floor the player selects.. this should fix the companion issue as its related to the inability of the companions to route through a navmesh because there are no with doors finalized into it. you can use moveto but then you will need to use a script similar to the lucky38 script above to move the listed companions..however this will not work with mods that add companions sooo best be is to go the door route. i DO have a refwalking solution to the moveto issue that works with all followers by checking the cell for followers and adding them all to a moveto list to work with other companions outside of the original vanilla companions BUT this will absolutely require NVSE and is a LOT more complicated in the way of script than anything discussed here. also it deals with several scripts working together in tandem.. so if these scripts are any bit confusing to you that most certainly is not the best route.
  12. awesome, thanks! yeah this is the very last thing i need to make my holorifle work properly. just bear in mind i really have only 3 requirements out of the model im trying to get. [*] its a sphere. [*] its mostly see-through [*] there is NO collision geometry. the color would be great if it were #CC99FF a little background on what it is for: its a reticle for a gun but its actually in game. as you move around the object will stay at the crosshair with its distance changing based on player angle. right now the object i am using as the reticle is a flagpole so to the player positions it near their enemy and then fires the weapon if their is an enemy within a certain range of the object a special scipt is run that fakes the firing of the gun and places its projectile/explosion at the enemy. the guns projectile speed is already near instant so to the player when these conditions are satisfied nothing looks different but the weapon now spawns the explosion at the source so I.E. the weapons projectile will lock on target. kinda like the gun in 5th element just without the neat animation of curving projectiles. also this makes 1 more thing possible that really is the entire goal to the weapon.. it shoots through walls, boulders, mountains, crowds of innocents ... theres no more in between sooo... yeah thats why. anyway i know this sounds like a lot but its all already done. the only thing i need is a decent reticle for the player oh yeah 1 more thing. this sphere is always hanging directly in front of your face when this weapon is out so it is very important that is has a relativity low opacity. also because the weapon still fires like normal if there is no target lock it is also very important there is NO collision geometry. so the projectiles dont hit the bubble/sphere and airburst. the xmarker model is perfect in those attributes, which is why i used it as an example, it has a low opacity and does not allow premature projectile impact. im trying to install skype right now. if you have any questions ill be available on there soon.
  13. hey i appreciate it!

    sorry i forgot to get that xmarker nif to you.

  14. eh there really are plenty.. but everyone is busy with their own ventures.. ill try to get that xmarker model to you tomorrow but for now, bed.
  15. as stated while geck is ope items are marked for delete but not removed from the editor. the editor must be restarted to remedy this issue.
  16. look at the pinned subjects in the fallout 3 mod talk forum the first five topics are comprehensive guides to getting started.
  17. ooooook.... or not? please? everything else is completed for the weapon im working on.. scripts and everything are perfect this is the only thing i need still.. your work will not be wasted i promise.. its going into a pretty well developed mod and will actually end up being a very big part of how people use the main weapon.
  18. great! glad i could help
  19. ok well the script provided will keep the door locked unless the player enters that activator and has the key in possession. if you want however for the door to lock ONLY for the player use the following script. and make that activator box large enough around the door to where they dont have enough time to get to it before the closing animation in done. what it does: locks the door ONLY when the player enters the activator box without the key. opens the door when they leave the activator box so everyone else can get through again. Note* in this script as well, you will need to make 1 change to get it to work, replace "THENAMEOFTHEKEYTOTHISDOOR" with the ObjectID name of the key you want to control it.
  20. why must the npc lock the door? is it acceptable to you for the door to automatically unlock when you approach it based on whether or not you have that key and then automatically lock when you walk away? if so make a cubic activator (its the cube with the "T" on the menu bar in geck) and apply the attached script to it your door must be persistent, with the activator placed in world double click the activator to edit the reference then use right arrow at the top to navigate to linked reference. hit the button that lets you select the reference in the window and select your door. the reticle will change colors when its over the door so you know its lined up so double click it to select it. it should now say your door is the linked ref so click ok and position the activator around the door and armory. when the player enters this activator box the door will unlock if they have your key when the player leaves this box the door will automatically close and once its closed itlll automatically lock to a must have key state again. so the idea with the activator positioning is to have the armory in there completely so the door stays unlocked while your in there, but to have it go beyond the door on the outside of the armory so your all the way out of the way of the door before it starts to close behind you. also by having it go a little past the door that means when you enter the edge of the activator to enter the armory the enterblock commands fire to open it up. Note* you will need to make 1 change to this script to get it to work, replace "THENAMEOFTHEKEYTOTHISDOOR" with the ObjectID name of the key you want to control it.
  21. i need the xmarker 'x' shape replaced with a sphere, 400 radius. if you can do color, use: #CC99FF i need all other properties to be exactly the same as the xmarker model!! i am currently using the xmarker for what i need and it is perfect save for the changes i need made. a big red x isnt working for me aesthetically (the activator i am using this for actually needs to be visible ingame) but a seethrough sphere with these specs and the same type texture would be PERFECT. for anyone that knows there way around nifscope, they could probably get this done quicker than its taking me to type this post i just dont have time to figure out nifscope to do 1 model, so pleeease help!!
  22. ref.variable: this is what ive been trying to describe to you!! you MUST have the ref before the variable otherwise it will access the variable from THAT REFERENCE rather than the variable in the script attached to the reference being activated. if it were all run from 1 script this wouldnt be an issue but because were using 5 scripts this is the way its gotta be done. its like someone asking you what my favorite color is ... wouldnt know would you? now if they asked the question to me, the person it pertains to i would probabbly be able to answer the question. now heres the fun part..you should def know this. by having this script attached to all 5 references and each RUNNUNG ITS SCRIPT INDEPENDANTLY that means that when the condition is satisified the functions are actually running 5 times because each script will fire independently. now if your using enable and disable as i suggested.. this doesnt matter because you cant enable something thats already enabled or disable something thats diabled.. however if you start to add new functions to the gamemode block keep in mind that it will run 5 times. there is a better way to do all this.. but im trying not to confuse you any more... when you get this working and understand what is going on ill help you fix it all the way if you like so that you dont have to worry about referencing the variables in external scripts or have to worry about things running 5 times.. and youll need just one script to do it all. (the switches involved wouldnt actually need ANY SCRIPT AT ALL. ALSO lose the setopenstate stuff if you want to hear the switch, and like i showed you add the 'ACTIVATE' at the end of the onactivate block. this will make it do everything its supposed to do normally.
  23. your script didnt fire because as i stated you are calling variables in a local script and you need to be calling variables as per reference. i did this for you. the sound issue.. use enable and disable if you want control over how long the buzzer goes, and as suggested a timer if you want it to play for a certain amount of time. so if you want the player to control when its on and off through whether or not all switches are on this is really simple: use this instead after adding the sound AS A REFERENCE IN THE WORLD where you want it to play from (will automatically play 3d from wherever you put it) if aaaSTCell4fRlSwch1Ref.aaaSTBunkerCityCell4fRelayShrt1 && aaSTCell4fRlSwch2Ref.aaaSTBunkerCityCell4fRelayShrt2 && aaaSTCell4fRlSwch3Ref.aaaSTBunkerCityCell4fRelayShrt3 && aaaSTCell4fRlSwch4Ref.aaaSTBunkerCityCell4fRelayShrt4 && aaaSTCell4fRlSwch5Ref.aaaSTBunkerCityCell4fRelayShrt5 OBJBuzzerBellREF.enable else OBJBuzzerBellREF.disable endif btw see the reference name in front of the variables??? thats why your isnt working. you have to call the variable from the reference your pointing to because separate scripts have separate variables!!!!
  24. this should reset the DT to the DT as it was when equipped when you unequip the armor: *note you can condense this a bit i just set it up the way i did for readability. int initialDTvar int currentDTvar int DTdifferenceVAR begin onequip player set initialDTvar to player.getAV DamageThreshold End begin onunequip player set currentDTvar to player.getAV DamageThreshold set DTdifferenceVAR to ( initialDTvar - currentDTvar ) player modAV DamageThreshold DTdifferenceVAR End BTW this may not work if anything else modifies the DT while you have it equipped though because as youve realized DT changes, change DT overall as a whole.. so on unequip this will still set it all back to whaterer it was when you equipped it. the best thing to do would be tracking the overall changes to DT that your armor does in a separate variable and then always applying the negative of that number to the player upon unequipping the armor. for example if when you equipped the armor your dt was 12, and while you had the armor equipped modified your dt by an initial +20 then over time a -5 and -7 and -3 your overall change would be 5 leaving the character with a DT of 17 so to negate the effect caused by the armor apply the negative of the variable that tracked those changes: -5. if you track these changes in a variable, because it only applies to the changes made by your armor, other items that affect DT should be unaffected
×
×
  • Create New...