Jump to content

TummaSuklaa

Account closed
  • Posts

    122
  • Joined

  • Last visited

Everything posted by TummaSuklaa

  1. Knew that was going to be the case, and it makes me believe that since Oblivion came out where getting SI to the PS3 was difficult, that it was Sony all the long, and not because of MS favoritism like I Initially believed. They had a hard time with Skyrim for the PS3 too :/. Basically, Sony probably wants total control over the mods, which goes against Beth's intentions for it.
  2. I don't mind the writing.. what I don't like is the unsettling feeling as I progress through a faction/storyline that I have no choice on the outcome of things, and that these "choices" presented are just to prevent you from realizing this. (Well I want to say "fact")
  3. Scriptname Dam_FacCheck extends ObjectReference Const ; This is missing a function/event body.. will not work unless placed in an event or in a function. ; The player is added to this faction at some point in the game. So use IsInFaction. if (GetPlayer().IsInFaction(InstituteFaction)) Debug.Trace("Relay access has been revoked") endIf Faction Property InstituteFaction Auto Const
  4. Well they should have had it like Morrowind where if you kill an important character, it gives you a doomsday message :P
  5. I already explained assignment in my other posts, but a quick run down on what else I did: There is no "HasEverBeenCleared" though I think you wrote that in frustration :P. isCleared() when checking if a location is cleared. FindAllReferencesOfType() returns an array, and will take formlists as the thing to fill an array with. Then you can do stuff with the array, like get its length(how many were found or added to the array). From there I was able to call IsDead on the array variable and cast the array as actor, since all the forms in the formlist were actors. You never needed to get the size of the formlist and do additional stuff. A breakdown of the While loop: It checks every actor if any of them are dead, skipping those that are, and changing the race of those that aren't. Each one that is dead or not dead, i increases by 1, thereby going to the next index in the array, starting from index 0.
  6. There are papyrus commands.. just a very small few. He simply didn't list "what's new" in the OP like usual and instead said check the scripts.
  7. See if this works out. As all the actors you say are human.. no need to check for the race. Took out the messagebox functions because they would pause your script, the waits are already pauses to begin with.
  8. Ok that helps. Ok so your formlist is actually a list of race forms. Alright, will see what I can do. But there is only one form that is a Human Race. So maybe you want to check against rather or not the actors are of the human race in the area, and then change their race. I can see what kind of mod this will be, sounds like a zombie apocalypse :D
  9. I don't believe it can..without F4SE. in Skryim it was only possible through SKSE's GetName() function which returns the name of the form(not the EditorID name but the name in the name column in the CK). And right now, there's no GetName() function. If you try casting the form to string, it will only show name of its type and the form ID.
  10. I'm wanting to help, but I need to know a few things. You have a line that checks for the nearest actor but then you are also checking for the race of forms in a list and if any of them are dead. I feel you're wanting to know the race of the actor FOUND from FindAllReferencesOfType() and check its race and if it's dead, and if all check out, change its race. The makes the formlist not needed. Just wanting to know because I'm re-writing your script and this is confusing me as I don't know what you're really wanting to do there. But for the few things wrong with that script, one is this: MyLocation == When you are assigning something to a variable, it's always just one equal sign. Double is the comparison operator. Edit: OK I see what the real issue is here. FindAllReferencesOfType returns an array, not a formlist, and you did not assign to an array variable. This answers my question. I can do everything with just arrays, but again, what do you need to formlist for? Are you wanting to check for actors in the area, or from the formlist?
  11. I think you don't have to call the player or any object on AddInventoryEventFilter. I've never seen it used that way. It should always work only for the object that the script is attached to. It could be or not be the source of the issue.
  12. The only thing the CK seemingly "remembers" on startup is how you have your windows sized/positioned. I never found a way to make it well, personalize in this case, on other things.
  13. Whats amazes me in this thread is the amount of turn around of feelings on this... most of you flipped out over beth allowing that. And now... :/ ?
  14. Of everything in the game, I personally feel Beth did papyrus right. Just.. some functions that aren't there doesn't make sense not to be there. Anyway, if you need help just ask here. Papyrus gets easier the MORE you use it.
  15. Ignores the sarcasm. Anyway, as long as I can do what I came there to do, I'm fine with it.
  16. From the wiki: If one is a Railroad agent but is Banished from the Institute then this also ends the Railroad quest line as the player character remaining undercover was vital to the plan. Desdemona encourages the player character to stop the Institute with the Commonwealth Minutemen as she sees it as the best remaining option for protecting the synths. So, let me get this straight. I also have to join the institute and keep playing nice?
  17. Ohhh sorry about that. Common error on my part. Change myAliases.isDead() to (myAliases[i].GetReference() as Actor).isDead()
  18. Change the string variable type to Location. Location MyLocationBut it's not necessary unless you're calling GetCurrentLocation more than once. For all Get functions, if you need to call them more than once, and if you know the value you are looking for isn't going to change, you want to store their result to a variable and use it throughout the script.
  19. I don't know. I think it's just one guy now. Or something. They aren't very big on communication.
  20. This is because Bethesda doesn't give a s*** about world building in Fallout. What was campy in Fallout 3 got more campy and pathetic. They wasted so many opportunities with this game and this setting it's inexcusable for a company renowned for their world building. Maybe they're only competent at Elder Scrolls? They certainly didn't give a s*** Fallout and now are using the franchise to beta test every stupid idea under the sun. That's the thing about FO4 and New Vegas: New Vegas didn't need a savior; everyone was fighting for their piece of the pie but the world was going forward according to someone's vision. FO4 is designed to be a setting so pathetic it plays to the most simple minded power fantasies. I agree with most of this, but this also gave me a ton of mod ideas, so there's an upside to it. I think Bethesda went a little backwards with the "feels like post American Revolution, instead of post nuclear detonation" theme. But then I like that for once I can play a good guy saving the world, and minutemen is good for that. But then, the Railroad(and its reference to the Underground Railroad), which I ultimately joined - yeah ending slavery, I wanted a crack at that.
  21. Alright, this one is a little more complicating. You need to add a ReferenceAlias array property to a quest script. If your quest doesn't have one, create it. Make sure it's not "const". Once you set up the property make sure to fill the array with your 12 aliases, and be sure to remove the last element after the 12th. You'll need a way to call a quest stage that calls one function I've made(out of three). You can use the script above for that but put it on ONE alias. Otherwise all 12 could potentially be calling OnDeath/SetCurrentStageID/Stop() unnecessarily. So with that said.. put this in your quest script. ReferenceAlias[] property myAliases auto Int Function CheckForDeadAliases() int iCount int i = 0 int iIndex = myAliases.Length While i < iIndex if myAliases[i].isDead() iCount += 1 i += 1 else i += 1 endif EndWhile return iCount EndFunction Function RunTimer() if CheckForDeadAliases() == 12 Stop() ; again or just SetCurrentStageID(stagehere) else StartTimer(10) endif EndFunction Event OnTimer(Int aiTimerID) if CheckForDeadAliases() == 12 Stop() else StartTimer(10) endif EndEventThe function "RunTimer" needs to go in a stage fragment that your alias with the OnDeath script will set upon death. In the stage fragment is a drop down to select your quest script(not sure how much you know, so I'm explaining everything). Then put this in the field: kmyQuest.RunTimer()This should in theory check every 10 seconds if all of them are dead. RunTimer is only called once. The event will keep calling itself until CheckForDeadAliases reaches 12.
  22. Yes, the thing the event will check is if iDeathCount is already 12, and if not, iDeathCount will add 1 to itself every time an alias dies with that script attached, until it reaches 12. All you have to do is copy the script or at least include the lines if you have other things you want to happen when they die. Post if you have problems, there's more than one way to do what you want - that way however is easier for me.
  23. You can put a script on all of them(just make one script and just add it to all of them) and use a count that increments after each death. Scriptname myNPCAliasScript extends ReferenceAlias Int property iDeathCount auto Event OnDeath(Actor akKiller) if iDeathCount == 12 GetOwningQuest().Stop() ; or SetCurrentStageID(stage you want the quest to complete on), etc else iDeathCount += 1 Endif EndEvent
×
×
  • Create New...