-
Posts
520 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by shavkacagarikia
-
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
script extends Perk, but when you attach script on perk it automatically writes that for you. -
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
Ok, that's probably what causes problem as you cannot change values of Const properties and also can't add other than Const properties on perk fragment as fragment itself is Const too. Gonna suggest a workaround, attach this script on perk itself NOT on perk entry: GlobalVariable Property ATaAH_GlobalVariable Auto Event OnEntryRun(int auiEntryID, ObjectReference akTarget, Actor akOwner) if (auiEntryID == 0) ATaAH_GlobalVariable.setvalue(Game.getplayer().GetScale()) endif endevent -
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
No you messed something. As I said already, just read what errors say. you are missing () after getplayer as it is method not property. The script bellow compiles without problems. GlobalVariable Property ATaAH_GlobalVariable Auto Perk Property ATaAH_Perk Auto Event OnInit() RegisterForRemoteEvent(Game.getplayer(),"OnGetUp") Game.getplayer().addperk(ATaAH_Perk) endevent Event Actor.OnGetUp(Actor akSender, ObjectReference akFurniture) if (akFurniture.getbaseobject() is Terminal) Game.GetPlayer().SetScale(ATaAH_GlobalVariable.GetValue()) endif endEvent -
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
For first script error try. If (akFurniture.getbaseobject() is Terminal) For second you have given different global variable property name and the one you use has different name than property. P.s very often if you read errors they directly tell you what's a problem -
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
1)First of all create new global variable. We will need that below. 2) Then create new perk. We will need that as well. 2)You cannot use OnActivate and OnExitFurniture in Quest type scripts they are events of ObjectReference script. (well you can use with remote event registration but it's bad option for this case, just believe me). We will still use one remote event though. remove everything from that quest script. paste this script: GlobalVariable Property myglobvar Auto Perk Property myperk Auto Event OnInit() RegisterForRemoteEvent(Game.getplayer(),"OnGetUp") Game.getplayer().addperk(myperk) endevent Event Actor.OnGetUp(Actor akSender, ObjectReference akFurniture) if (akFurniture is Terminal) Game.GetPlayer.SetScale(myglobvar.getvalue()) endif endEvent Fill properties with perk and global variable you created earlier. Then open your perk, add new entry everything should be like on this image: http://i.imgur.com/yLXHvxh.png Use this script for copy: If !(Game.GetPlayer().GetScale() == 1) myglobvar.setvalue( Game.GetPlayer().GetScale()) Game.GetPlayer().SetScale(1.0) akTargetRef.Disable() akTargetRef.Enable() akTargetRef.Activate(Game.GetPlayer()) EndIf Btw you had problems in script. GetScale() cannot used as parameter. It is method which can be called on reference of player which is game.getplayer(). Also return value of getscale() is float not objectreference. -
You haven't included scripts so created it again but no success. Quest inits, but items don't appear. Sorry, don't have more ideas what can be a problem. Yes you can make items constructible on chemstation. Check constructible object category in CK. creating them is easy and intuitive, just how other consturctible objects.
-
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
it won't work that way. I can suggest you correct solution but don't get what that script should do as it has lot mistakes. Can you explain idea behind it? -
Yes it's possible. But you haven't provided textures so model is just invisible in ck so I cannot mess with it. Also problem probably will be that after animation is played mesh returns to start position. can you add two more states for it? One on forehead and other for over eyes. they will be called after animation call to make sure glasses stay at corrent place.
-
How to get reference?
shavkacagarikia replied to stonefisher's topic in Fallout 4's Creation Kit and Modders
So basically you want that script to run for every activated terminal object? -
Better. You don't need two onanimationevent event blocks. You can differentiate received events with one block and checking asEventName. Also there is better way to check keywords. Use game.getplayer().wornhaskeyword() it checks keywords of currently worn item so you won't need to check baseobject keywords. Also you should do different stuff inside onitemequipped. It should do checking with isWeaponDraw and also you should register for anim events from there. If isweapondrawn is true when item equipped you should then check which keyword player has and and do appropriate actions - Register for sheathe and attach goggles on eyes mod or if player already has goggles on eyes just register for sheathe. And so on.
-
No it won't. It has logical and syntax problems. You cannot use "while" like that. I understand what you expect it to do but it won't run just from nowhere. I said somwewhere earlier that you need animation event which determines when character draws/sheathes weapon. IsWeapondrawn is for checking. And it should be called on player not on the armor. I'll suggest my version of the script tomorrow
-
Yes you are right, should be this: MiscObject property PlascticFork Auto MiscObject property PlascticKnife Auto MiscObject property VTecLunchbox Auto Bool property isSilent Auto Event OnEffectStart(Actor akTarget, Actor akCaster) akTarget.AddItem(PlascticFork, 1, isSilent) akTarget.AddItem(PlascticKnife, 1, isSilent) akTarget.AddItem(VTecLunchbox, 1, isSilent) endEvent
-
You miss nothing :D really. Everything seems correct. Can you just add debug.notification() after OnInit? to make sure that quest runs when you load game. LeveledItem[] Property NeededLeveledLists Auto Armor[] Property Suits Auto Int Property iLevel Auto Int Property iCount Auto Event OnInit() debug.notification("quest inited") int i = 0 int j = 0 while (i < NeededLeveledLists.length) while (j < Suits.length) NeededLeveledLists[i].AddForm(Suits[j],iLevel,iCount) j+=1 endwhile i+=1 endwhile endevent You should get notification on upper left corner when you load the game
-
Yes I mean you should add only LLI_Vendor_Clothes_Any_Basic to the NeededLeveledLists on the script's Property Form, and not VL_Vendor_Clothing. That's because VL_Vendor_Clothing contains only leveled lists not items. I will try to explain how script works for you to understand better what's hapenning. When quest is inited, script takes i-th leveled list from neededleveledlists property and adds j-th Armor into it. i and j both equal to zero at start but they will be incremented by 1 and run again until i is less than total count of items in NeededLeveledLists.
-
It's not compiling, I'm getting some no output generated error and nothing's showing up under properties... I don't know, maybe modding just isn't for me. Like seriously, how f***ing far will I even get if I can't even make a simple script? I appreciate the help anyway though so thanks for that, but I think I'm in over my head... It's my fault. The form is called MiscObject not MiscItem. Try this: MiscObject property PlascticFork Auto MiscObject property PlascticKnife Auto MiscObject property VTecLunchbox Auto Bool property isSilent Auto Event OnEffectStart(Actor akTarget, Actor akCaster) Game.GetPlayer().AddItem(PlascticFork, 1, isSilent) Game.GetPlayer().AddItem(PlascticKnife, 1, isSilent) Game.GetPlayer().AddItem(VTecLunchbox, 1, isSilent) endEvent