anyhow, i hoped that, if i managed to piece together a few simpler scripts from scratch, i'd certainly get it all on the way, but that's only partly true -
good news is, got some working scripts. bad news is, don't have too much of an idea, _why_ they work.
i still just don't get large parts, mainly (but not only) of the whole properties-concept, so i hoped maybe some of you could light up a bit of my darkness.
for example, i got this basic light switch setup, a scripted activator with an enabling master as a linked ref.
i've added the script as a property to the activator in it's reference-tab (not to the base-object) - this was obviously necessary, because before that, it didn't work.
else, i tried to do the same like i would have in the old language: store the linked ref in a variable on load, enable/disable linked ref (via variable) on activate.
the script that does that goes like:
ObjectReference property objSelf auto hiddenObjectReference LightMasterEvent OnInit () LightMaster == GetLinkedRef ()EndEventEvent OnActivate (ObjectReference akActionRef) if LightMaster.IsDisabled () LightMaster.Enable () else LightMaster.Disable () endifEndEventObjectReference Property LightMaster Auto
this works, like i said, it's just that any parts about properties are just trial-and-error-pieced-together bits & pieces from what i read in the wiki and various tutorials (thx 2 cipscis) without any real understanding of what i've been doing, still all confused about the properties-thing.
so, i understand i have to inform (=property) the script about any game objects it should affect, as well as any scripted object about it's script of course. fine.
confusion starts in the first line already: what's this objself property about? do i really need this in this case, or just if i want to do stuff with the scripted object itself (like disable etc)?
next, the ObjectReference LightMaster -part: i actually thought, this would create something similar to a reference variable in the old language, but only readable for this one instance of the script? (or does this whole internal-external-thing only go for numeric variables?)
but then, the "ObjectReference Property LightMaster Auto" line at the end suddenly was there when i reopened the script, i mean i've had _very_ long nights about this, but i swear i don't even remember having added this!?
but apart from giving me serious concerns about my mental state

another thing (non-properties) i don't quite get is, when it says
Event OnActivate (ObjectReference akActionRef), what's the "akActionRef" for (if, like here, i don't care who or what activates it)?
and what's, in this case, the "ObjectReference" good for if the whole script extends ObjectReference* already? -
this is generally a thing i find rather disturbing about papyrus, that you can't use every kind of block in every script -
i understand that it's kind of like a tree(?), like you can't, iirc, use OnInit in an Activator-type script, but you can in an ObjectReference-type script which is stg like "parent" to the activator-type, did i basically get that right?
so what i thought was, you'd use something like the "objectReference" in my line here if you wanted to use a block type in another than it's own "branch", so according to this, i thought "EventOnActivate ()" should do here, but it doesn't...?
i'd be happy about any help understanding this stuff (including links to any kind of "understanding properties for hopeless morons"-tutorials

