Jump to content

DOWNLOAD MODS

Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

Walrus

Allies
  • Posts

    103
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Walrus

  1. _echo, on 22 Aug 2013 - 9:08 PM, said:

    For starters, Mars is great for growing plants. The dirt is rich in minerals, plenty of CO2 and sunlight. It has been studied for many years, and corn is actually rather easy to grow given mars's conditions.

     

     

    Ya I'm going to need your sources on that _echo. Reduced pressure, reduced sunlight, radiation, micro-gravity and a different atmosphere are big problems to overcome.

  2. This would unfortunately fail simply because of the volunteer part. Astronauts train for years just to orbit the Earth a couple times. The knowledge you would need to have to run a Martian base is NOT something they are leaving to 20 yr olds found on the internet.

  3. I honestly don't think I've ever seen that done. I think NPC need to have something to aim at. So the mob/player/actor they are attacking feeds a x/y/z pos to them and the just cast a spell in that direction. Whereas with the player, the dot in the middle of the screen feeds the x/y/z pos into the spell. Thing to remember is that  dot knows how far away the object your looking at is. The x/y/z pos it gives out is the closet object in it's path. 

    So find a way to feed the right data into the NPC and you could get them to cast it. It would be easy for quests, and maybe if you made a new follower command? So it took your data and used it? Anyways, hope that helped a bit.

  4. So, Plan C.

    Here's my thinking; You want to add a Black Soul Gem to your inventory everytime you kill an NPC. For lore purposes, only people can fill Black Soul Gems right? So we track the number of people killed by the player and give them a BSG everytime it updates. Here's how I THINK the script would look like;

     

    BLAH BLAH SCRIPT NAME STUFF
     
    Function DeathTracker
        RegisterForTrackedStatsEvent()
    EndFunction
     
    Event OnTrackedStatsEvent(string asStatfilter, int aiStatValue)
         if (asStatFilter == "People Killed")
              player.additem 0002e504 1
         endif
    endEvent
    

     

    This should give you a BSG everytime the People Killed Stat is updated. BUT I have never tried it and am talking out of my bytt basically. Hope it works though.

  5. What is it you want to happen when this NPC dies? How many NPCS are we talking about? If this is a boss it'd be alot easier than a faction.

    For instance, if it's just a single NPC or a small amount, you could just add this script to them:

    Event OnDeath(Actor akKiller)
    if (akKiller == Game.GetPlayer())
    endIf
    endEvent
    
  6. OnHit() only registers when the Object IS hit. Not when the Object DOES hit someone. So no. You could attach it to yourself, and then attach the OnDeath() to the thing that hits you, but what about when you one-hit kill them?

  7. Ok, it's too early to think clearly, but I believe i may have found some stuff to help you out.

    So, first you need to learn the OnDeath() function. Now we need to attach to every single NPC. Yay!

     

    Or we could just dynamically attach the script to any Npcs in our area. Combined with a simple check to see if the player was involved with the death using an OnHit() we can create a script to do whatever it is you want.

     

    Link to the dynamic Tuturial. Link

  8. I used a completely clean install and new game. I had Skyrim the newest update and a very stripped down version of my mod. Brought it down to one room with 2 custom scripts. So it can't be a dirty save game.

     

    And yes. The mist and Water and Lock door parts all work perfectly. They never go out of sync or fire when they shouldn't. But the Disableplayer controls, Wait and Door activate do. 

     

    So how is the script only running half of the things? I don't get that.

     

    Edit: I just remembered. I also set all the values to what i want on CellLoad. So all the values are reset when it loads up.

  9. Sadly i can confirm thats not it. Through testing and messing around, it seems that in the old script, ANYTIME both Values are the same, the parts about PlayerControls and Wait are run. Whereas in the new script, It seems anytime a value is changed, it runs those same parts (and sometimes the door too). But it never messes with the water plane moving up and down and the other one enabling/disabling. That only runs when its supposed to. To me, this makes no sense at all.

  10. So some of you know I've been working on a script to raise and lower water levels with multiple activators.

    I had a working script, but do to some graphics glitches I had to change it. i stupidly decided to add other things in as well. Le't just say those other things don't work and I forgot to back up my old script. Yay. Now I can't get anything to work.

     

    I was hoping if you guys could look at this and tell me why 3 out of the 4 possible activator states make me lose player controls, and activate the Exit.

     

    Scriptname WMWaterlv extends ObjectReference  
    {Script to determine if both valves are closed and then lower water level}
     
    Import Game
    Import Utility
     
    ObjectReference Property Valve1  Auto  
    ObjectReference Property Valve2  Auto  
    ObjectReference Property Water  Auto
    ObjectReference Property Water2  Auto
    ObjectReference Property Mist  Auto 
    ;Here we name our effect 
    ObjectReference Property Mist2  Auto 
    ObjectReference Property Exit  Auto
    ObjectReference Property kDest Auto
    ObjectReference Property kDest2 Auto
    Sound Property Drain  Auto
    Sound Property Fill  Auto
     
    int Value1
    int Value2
    int Full
    ;Names values for state of valves later
     
    Event OnCellLoad()
         Value1 = 0
         Value2 = 0
         Full = 1
         Exit.lock()
         Mist.Disable()
         Mist2.disable()
         Water.Disable()
         Water2.Enable()
    EndEvent
     
    Event OnActivate(ObjectReference akActionRef)
         If akActionRef == Valve1
              If Value1 == 1 
                   Value1 = 0
                   Mist.Disable()
     
              Elseif Value1 == 0
                   Value1 = 1
                   Mist.Enable()
              EndIf
         Endif
     
         If akActionRef == Valve2
              If Value2 == 1
                   Value2 = 0
                   Mist2.Disable()
     
              Elseif Value2 == 0
                   Value2 = 1
                   Mist2.enable()
              EndIf
         Endif
     
         If Value1 == 1 && Value2 == 1
    ;If both activators are on do all this
              Water.Enable()
              Water2.Disable()
    ;Switches water planes for later reasons
               Water.TranslateToRef(kDest2, 25.0) ; 50 is the speed value
               DisablePlayerControls()
               Drain.Play(Self)
    ;Water goes down with sound and player is forced to stand still
               Wait(9)
    ;wait for movement to be complete
               Water.disable()
               Full = 0
    ;Remove water and set Full value to false
               Exit.Lock(false)
               Exit.Activate(Self)
    ;unlock door and open it
               EnablePlayerControls()
    ;Give player movement again
     
         Elseif Value1 == 0 && Value2 == 0
    ;If both valves are off do all this
              Exit.Activate(Self)
    ;Door closes
              Water.enable()
    ;Water gets turned on
              DisablePlayerControls()
    ;Player is forced to stand still
               Water.TranslateToRef(kDest, 25.0)
               Fill.Play(Self)
    ;Water goes up with sound
               Wait(9)
               Full = 1
    ;Wait and set the Full int to yes
    ;Exit.Lock()
    ;Door is locked
               Water2.Enable()
               Water.Disable()
    ;Switches active water planes to reset water effects
               EnablePlayerControls()
    ;Gives the player movement again
         Endif
    EndEvent

     

    When I run this script an turn valve 1 (value1=1) nothing happens. If i move valve1 again (value1=0), my controls are disabled for whatever amount of time the Wait is set to.

    When I run this script and turn Valve2 (value2=1) I am disabled again for the wait time. Same as if I turn it again after that (value2=0)

    Sometimes the door will unlock and open or lock and close as well,

    BUT the rest of it doesn't go until the valves are in the correct spots. The water only raises and lowers and switches when both valves are in the right spot. And it will come back up exactly like its supposed to after too., I do not get what is going on here. So any help would be nice. 

    NOTE: the only difference between this code and the one I use is it's tabbed. check here for the exact script i was running:

    http://wallacethewalrus.ca/WMWaterlv.txt

     

    EDIT: YES! DSos, being the awesome person he is, saved my original script when I sent it to him to use. I now have a working script (beside some graphics glitches)

    So if anyone could tell me why this script works fine, but not the other one I will love you forever!

    Scriptname WMWaterlv extends ObjectReference  
    {Script to determine if both valves are closed and then lower water level}
     
     
    ObjectReference Property Valve1  Auto  
    ObjectReference Property Valve2  Auto  
    ObjectReference Property Water  Auto
    Sound Property Drain  Auto
    ObjectReference Property Mist  Auto 
    ;Here we name our effect 
    ObjectReference Property Mist2  Auto 
    ObjectReference Property Exit  Auto
    ObjectReference Property kDest Auto
    ObjectReference Property kDest2 Auto
     
     
    int Value1
    int Value2
    int Full
    ;Names values for state of valves later
     
    Event OnCellLoad()
         Value1 = 0
         Value2 = 0
        Full = 1
         Exit.lock()
         Mist.Disable()
         Mist2.disable()
    EndEvent
     
    Event OnActivate(ObjectReference akActionRef)
       If akActionRef == Valve1
          If Value1 == 1
             Value1 = 0
             Mist.Disable()
     
          Elseif Value1 == 0
            Value1 = 1
                Mist.Enable()
          EndIf
       Endif
     
       If akActionRef == Valve2
          If Value2 == 1
             Value2 = 0
                 Mist2.Disable()
     
           Elseif Value2 == 0
               Value2 = 1
                 Mist2.enable()
           EndIf
    Endif
     
       If Value1 == 1
           If Value2 == 1
                  Water.TranslateToRef(kDest2, 50.0) ; 50 is the speed value
                    Game.DisablePlayerControls()
                      Utility.Wait(5)
                     Water.disable()
                    Full = 0
                    Exit.Lock(false)
                  Game.EnablePlayerControls()
           Endif
     
       Elseif Value1 == 0
              If Value2 == 0
                    Water.enable()
                    Game.DisablePlayerControls()
                     Water.TranslateToRef(kDest, 50.0)
                      Full = 1
                    Exit.Lock()
                 Game.EnablePlayerControls()
              Endif
       Endif
    EndEvent

  11. XD  Awesome stories from everybody! 

     

    Mine comes from the fact my last name is Wallace and some friends used to call me Walrus. This is the first forum I've been able to grab just Walrus on though. So if you see a Walrus-Man or JGWalrus anywhere, it's most likely me.

  12. You forgot to register your character for sleep first. And I do not believe you need to unregister for sleep. Also at (Game.Getplayer you put an extra "(" in.

    The first line of the error text tells you that. I'll break it down so you can try to understand:

     

     

    X:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\Sin06PlayerScript.psc(6,28): mismatched input '(' expecting RPAREN

     

    X:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\Sin06PlayerScript.psc <---This is the file your working on

     

    X:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\Sin06PlayerScript.psc(6,28): <---This adds the line # and then the character # So you can find the error. in this case, its 6 lines down and 28 characters to the right

     

    X:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\Sin06PlayerScript.psc(6,28): mismatched input '(" <---Shows you the issue

     

    X:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\Sin06PlayerScript.psc(6,28): mismatched input '(' expecting RPAREN <--- Tells you what it wanted. I do not know what RPAREN means.

     

    SECOND THOUGHTS:

     

    Duoh!! :doh: Im trying to edit this to work and it keeps throwing different errors. FYI Nyx, there is a list of words YOU CAN NOT USE TO NAME THINGS. One of these is Sin. Every time Skyrim sees "sin" in a script it trys to run math. And if its not worded right, it won't compile. now you know  :thumbsup:

    These are some of them:

    http://www.creationkit.com/Keyword_Reference

     

    This is still wrong. Is this a one time thing? If so, use this script:

    Scriptname test extends ObjectReference  
     
    ObjectReference Property NPC Auto
    ObjectReference Property NPCMarker Auto
    Function SomeFunction()
      RegisterForSleep() ; Before we can use OnSleepStart we must register.
    EndFunction
     
    event OnSleepStart(float atSleepStartTime, float atDesiredSleepEndTime)
    NPC.Enable()    
    NPC.MoveTo (NPCMarker)
    endevent
    [/spoiler]

    • Upvote 1
  13. I just use a main script attachted to an x-marker. That water level I made that you saw, requires two valves to be opened first. Example script:

     

     


    Scriptname WMWaterlv extends ObjectReference
    {Script to determine if both valves are closed or open and do stuff}


    ObjectReference Property Valve1 Auto
    ObjectReference Property Valve2 Auto
    ObjectReference Property ThingToEffect Auto



    int Value1
    int Value2
    int ThingHappened
    ;Names values for state of valves later

    Event OnCellLoad()
    Value1 = 0
    Value2 = 0
    ThingHappened = 1
    EndEvent

    Event OnActivate(ObjectReference akActionRef)
    If akActionRef == Valve1
    If Value1 == 1
    Value1 = 0
    ThingHappened.Whatever()

    Elseif Value1 == 0
    Value1 = 1
    ThingHappened.Whatever()
    EndIf

    Endif

    If akActionRef == Valve2
    If Value2 == 1
    Value2 = 0
    ThingHappened.Whatever()

    Elseif Value2 == 0
    Value2 = 1
    ThingHappened.Whatever()
    EndIf

    Endif

    If Value1 == 1
    If Value2 == 1
    Place stuff to happen when all levers are pushed

    Endif

    Elseif Value1 == 0
    If Value2 == 0
    Put stuff to happen when all levers are not pushed
    Endif
    Endif
    EndEvent

     

    can easily be expanded to include alternate states, more levers, sound effects and multiple outcomes. And yes there is most likely a shorter way but I dont know it

  14. Due to some recent confusion on what the new Steam Trading Cards are all about and how they affect you, i decided to take some time to explain just what they are. I'm going to use Skyrim as an example for this as we can all relate to it.

     

    This might be long, *deep breath*

     

    Steam has always had Achievements. Beat certain challenges in games and get a little picture to prove you did it. However Steam has never given you points towards a profile level, unlike other gaming networks like Xbox live, Playstaion Plus or even  Kongregate.

     

    Now Steam has added in a profile level, but attached it to badges, not achievements. For 98% of these badges you craft them with Trading Cards. To collect Cards, all you have to do id play the game. With every game you buy that supports Cards, you get a certain number of cards drops. About 1/2 of the total number of cards to collect.

     

    What can we do with these cards?

     

    You use the cards to craft badges which give you random prizes and always give exp. You might get a new emoticon for chat or a discount on a different game. It's random.

     

    So here's how it works so far:

     

    You buy Skyrim --> You get 4 card drops ---> While playing you get cards

     

    Now we need 8 cards to craft the Skyrim badge. We get 4 through playing. This is where Valve made a genius decision. To get the other 4 we have 3 options:

     

    1. Trade with friends. You can trade your cards back and forth between friends.

    2. Wait. By playing the game every week you enter to win a draw for more card drops.

    3. BUY THEM. Yes, you can buy and sell your cards on the market.

     

    So lets say I take my card and sell it for 0.25$ to a another person. Valve gets 3 cents. At 2$ Valve gets 25 cents. Valve gets a cut off every single purchase. EVERY SINGLE ONE.

     

    That's what these cards are all about. Money. Valve say a way to get thousands if not hundreds of thousands of its users to spend money on something that could do nothing. 

     

    So. Why should you spend your money? Let's find out. Through my purchases during the Summer Sale, I have got enough cards to craft a badge. let's see what I get for crafting it.

     

    I received: 100xp, A background, An emoticon and another trading card. I also got an extra 5 friend slots.

     

    Whats even better, is the the background and emoticon are sellable. So Valve can make even more money off this. And I got another card, so that i would incentive to craft the second level of the badge.

     

    I salute you Valve. you have came up with another idea as big as hats.  :salute:

     

    EDIT: Apon farther looking. It appears that valve splits the money with the makers of the game as well.

     

    tl;dr version: Ignore them, they are mostly about money.

    • Upvote 1
  15. If you want, I can write up the process for you. I just had to do it to my computers. My way you'll need an internet connection, a spare usb and either knowledge of commandline or trust that I wont screw your pc up (I wont) A second computer and an external hardrive would make everything ALOT easier too. Let me know if you want my help. And i like the mod idea.

  16. I believe you have to name "i" before you start the event.

     

    Also why not just use this?

     

    Scriptname a0BarrageTest extends activemagiceffect
    {Missle barrage test}

    SPELL Property Missle auto

    Event OnEffectStart(Actor Target, Actor Caster)
            Missle.Cast(Target)
            Utility.Wait(0.2)

    Missle.Cast(Target)
            Utility.Wait(0.2)

    Missle.Cast(Target)
            Utility.Wait(0.2)
        endwhile
    EndEvent

×
×
  • Create New...