1. You could do this with the SetEntityActive, unless you want the movement to be continous (not from a to b).
One way to do that, is to use the
void AddPropImpulse(string& asName, float afX, float afY, float afZ, string& asCoordSystem);
script
2. Just make it like you do with any other area, for example like this
void OnStart()
{
AddEntityCollideCallback("Knife_01", "servant_grunt_01", "CollideKnifeHitsGrunt", true, 1);
}
CollideKnifeHitsGrunt(string &in asParent, string &in asChild, int alState)
{
///////Insert here the stuff you want to happen when the knife touches the grunt.
}
3. I have done similar with a corpse, just use the AddPropImpulse function (I'm not sure if this will work with notes, but technically it could)
4.I guess you could do it by making something like this to your lang file
<CATEGORY Name="Inventory">
<Entry Name="ItemName_AgrippaHead">/////Insert new name here</Entry>
<Entry Name="ItemDesc_AgrippaHead">Insert new desc here</Entry>
</CATEGORY>
5.Make a path by using pathnodes, starting from the enemy to where you want it to go. (notice that you might have to use a pathnode for every stair step for example) Then add a function like this to where you wish the patrol to start:
void AddEnemyPatrolNode(string& asName, string& asNodeName, float afWaitTime, string& asAnimation);
for example:
AddEnemyPatrolNode("servant_brute_01", "//////(insert here the last pathnode you inserted (the destination node, e.g:)PathNodeArea_14", 0, "");
6. You can make items objects (if that's what you meant) by using the model editor. I'm not 100% on how that works
7. Just insert a function like this:
void AddQuest(string& asName, string& asNameAndTextEntry);
for example:
AddQuest("questtest3","questtest3");
then make a text entry (the same name as in the script) to the lang file, like this:
<CATEGORY Name = "Journal">
<Entry Name="Quest_questtest3_Text">/////Insert the quest text here</Entry>
</CATEGORY>