nomad of the pacific on 8/4/2005 at 08:38
Quote:
Originally Posted by MandrakeCould be a tad strange when an AI notices a sword lying on the ground and says "look at all this BLOOD!"
Beats the heck out of, "He was too young to die." :weird:
nomad of the pacific on 8/4/2005 at 10:33
It's definately the BloodPuddleController that AI react to. I can't find what part of its properties they react to for sure, but if you change Material: MaterialOveride from Blood to anything else, they don't react. I tried adding that property to the weapon, but AI don't react to it. :(
Also, the BloodPuddleController automatically spawns a blood puddle. I tried to make it transparent, but couldn't without screwing up all instances. :(
I'm stuck. :p Maybe someone else will have better luck.
Bumbleson on 9/4/2005 at 00:30
I noticed the BloodPuddleController already, but I thought it's only there for - well, controlling...
Howeverm, I placed one instead of a blood puddle in front of a guard in bright light, but also got no reaction. Does it have to be spawned after the level has started?
The BloodPuddle and BloodPuddleController archetypes both have a PuddleMark link to the BloodMark archetype. All creature archetypes that can bleed (humans, rats, rat beasts etc.) are also linked via TriggerScript to BloodPuddleController. So in fact this seems to be the central archetype for controlling blood reactions. It also has a special icon when placed in the map. So where does the editor know from that this is a special object? I fear there may be information we don't have access to, stored outside of properties and links.
If only there was a condition like "when this object can be seen by an AI", then we could put this on a weapon and query if it has a RigidAttachment link, and if not (= not attached to an AI), put the seeing AI in alert mode.
There are so many useful things missing from the script manager. I wish they hadn't taken UnrealScript away :(
nomad of the pacific on 9/4/2005 at 00:46
Quote:
Originally posted by Bumbleson:
I placed one instead of a blood puddle in front of a guard in bright light, but also got no reaction.
Strange. I placed one in the path of a peasant woman and she reacted every time. :confused: Was your guard walking up to it or just standing there?
Bumbleson on 9/4/2005 at 00:56
Just standing there, but that shouldn't make any difference (in my opinion at least). I also placed the guard facing away fom the blood, then threw a crate behind it to make him turn around and see the blood. All I got was the normal searching because of the crate sound, but no comments about the blood or anything. I'll try a patrolling guard next, but if it only works then, it won't be of much use. I think the more interesting question is what makes a controller a controller and if can we create a custom one for dropped weapons.
EDIT: I tried it with a peasant and he reacted when he saw the blood. The CastleGuardCourtyard1 I used before did not. I think it has to do with the sensory models. They contain properties which define how an AI should react to certain anomalies. But until now I couldn't find out which properties are causing the different reaction of the two AI types when seeing blood. However, I think they relate to a fixed set of evidence types (see AIEvidence), one of which must be "true" to get a reaction. It may be very difficult (or even impossible) to get a differentiated reaction when seeing a weapon on the ground, because there's no special evidence type for that.
nomad of the pacific on 9/4/2005 at 04:44
Quote:
Originally posted by BumblesonIt may be very difficult (or even impossible) to get a differentiated reaction when seeing a weapon on the ground, because there's no special evidence type for that.
That's what I thought, too. If we could get it to work at all, we would have to make a subclass under BloodPuddleController and find a way to prevent AI from saying anything when they saw it, just react. Otherwise we would have to add new voice tags.
Bumbleson on 9/4/2005 at 12:29
I don't know if I'm on to something or not, but in the sensory model properties, there seem to be several definitions of how much an AI gets alerted when the visibility of something else reaches a certain threshold (my interpretation may be wrong however, as it is solely based on the property comments). If we could determine and possibly raise the visibility of a weapon after it has fallen to the ground, we might be able to force AIs into a certain alertness state. So does anybody know of a property that can raise the visibility of an object?
By the way, I think somebody should make a searchable property list one day, because each time I put a property condition in a script and display the list, I find properties with promising names, but I can't locate them in the "add properties" dialog. Very frustrating :erg:
nomad of the pacific on 9/4/2005 at 15:12
I tried another tact. I made humans vulnerable to Electric stim (with no damage) and added a script to increase their alert status when hit with a Shock stim. Then I created a fake emitter that broadcast an Electric stim and attached it to the weapon when it hit the ground. Didn't work. :( Don't know why. Maybe someone can try the same trick and make it work.
SneaksieDave on 9/4/2005 at 16:05
Quote Posted by Bumbleson
By the way, I think somebody should make a searchable property list one day
Indeed, that would be very useful (and used)! To any T3 dev - do you know of any command(s) that would dump all script options, all actor class properties, etc., to a text file?
Bumbleson on 9/4/2005 at 23:11
Oh, and did you know that many properties which seem to have no comment attached, have one indeed? If you open the *.t3u files in wordpad, you can see some of the script source in clear text. Many property names are followed by explaining comments which don't show up in the editor.