LarryG on 8/9/2016 at 22:35
I'm having trouble getting a pair of receptrons to work. It must be something obvious that I'm overlooking, but for the life of me I can't see it. Any help would be appreciated.
The Setup
An M-BuddyBounce metaproperty
A concrete AI named "Buddy" with the M-BuddyBounce metaproperty on it
A Breadcrumb object archetype
A concrete breadcrumb object
A concrete marker named "BuddyGotoMarker"
A stimulus named "BreadcrumbStim"
The Goal
When the BreadcrumbStim stimulus of intensity 101 is detected by the breadcrumb, the M-BuddyBounce metaproperty is to be removed from Buddy and the BuddyGoToMarker is to be teleported to to the center of the concrete breadcrumb.
The Receptrons
The receptrons are not on the concrete breadcrumb, but instead on the Breadcrumb archetype so that the concrete breadcrumb inherits them, as follows:
1.
[INDENT]Object: Breadcrumb (-11952)
Stimulus: BreadcrumbStim
Min: 100
Max: 102
Reaction: Send to Scripts
[/INDENT]
2.[INDENT]Object: Breadcrumb (-11952)
Stimulus: BreadcrumbStim
Min: 100
Max: 102
Reaction: Remove MetaProperty
Target Object: Buddy (2482)
Agent Object: M-BuddyBounce (-12194)
[/INDENT]
3.[INDENT]Object: Breadcrumb (-11952)
Stimulus: BreadcrumbStim
Min: 100
Max: 102
Reaction: Teleport Object
Target Object: BuddyGotoMarker (4802)[/INDENT]
[INDENT]Agent Object: This Sensor (-2105)
[/INDENT]
The 1st receptron (Send to Scripts) is for debugging purposes to verify that the BreadcrumbStim with intensity 101 is getting received. It is. I have the Spy script on the concrete breadcrumb which reports the intensity received was 101.
Neither of the other two receptrons are doing anything. The metaprop isn't getting removed and the marker isn't getting teleported. And I have no idea why not.
I have double checked and the definitions of the reactions are as follows:
[h=4]Remove Meta Property: Removes a metaproperty. <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Target Object</samp> is the object which has the metaproperty, <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Agent Object</samp> is the name of the metaproperty itself.[/h][h=4]Teleport Object: Teleports the <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Target Object</samp> to the center of the <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Agent Object</samp>. You can edit how far away from the <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Agent Object</samp> the <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Target Object</samp> goes under <code style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; background-color: rgb(251, 250, 249);">Edit Effect</code>. <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Pitch</samp>, <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Heading</samp>, and <samp style="font-size: 1em; line-height: 19.6px; font-weight: normal; font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; direction: ltr; box-shadow: rgb(204, 204, 204) 0px 0px 0.3em inset; border-radius: 2px; border-bottom: 0.5pt solid; background-color: rgb(251, 250, 249);">Bank</samp> are factors of rotation, not distance.[/h]Everything looks right to me, but it doesn't work. Only the Send to Scripts reaction is working properly.
[h=4][/h]
R Soul on 8/9/2016 at 23:09
I remembered reading something about metaprops and found this in modders_notes:
New Var: GameSys Variables->"Misc Dark Settings"
------------------------------------------------
This is a new gamesys var/parameter to control misc engine behavior.
[INDENT]* "Custom MetaProp action targets"
The receptron actions "Add MetaProperty" and "Remove MetaProperty" normally ignore the selected target object and always add the meta property to "Me". Enabling this gamesys option will make the actions use the actual selected target object.[/INDENT]
LarryG on 8/9/2016 at 23:57
I enabled it already.
or thought I had ... it was unset!? I know I checked that yesterday & set it.
Now when I set it again, I get: ASSERT: [TRAITMAN.CPP@414] OBJ_IS_ABSTRACT(meta)
That's not good.
spew_mataprops says the metaprop is being removed, and I think it is. It says it is being removed 3 times! But the assert is not good. I can't go forward wit that.
R Soul on 9/9/2016 at 00:15
If you're not using a cow file, did you save your gamesys?
LarryG on 9/9/2016 at 00:30
I use only cow files. I may not have saved it. I was getting the assert yesterday & I may have gone back to an earlier version where it wasn't set to redo things to get rid of the assert and forgotten to set it again. It seems that the assert is caused by the new gamsys parameter. Since it isn't needed if I put the receptron on the AI, I may just do that. That will avoid the entire issue. Then I'll retest everything and see if it works.
Edit:
I went back and deleted all my receptrons and then added them back, I thought identically to how they were before, but everything is working now, so I must have has a typo somewhere. Sorry. User error after all.