I would do it like this. Have the PC send the message by selecting the PC to send it to in a conversation by typing the selected PC's name, similar to what I did with my contract hits.
Then have the target hawk fly up into the air and a corresponding hawk show up drop in and deliver a pre-selected message, say message 1-6. Then have the floating text of the pre-selected message appear above the targeted PC.
Here is something I made a while ago that is related to this question:
//orlocks ethereal horn by ffbj
#include "NW_I0_GENERIC"
#include "x2_inc_switches"
void main()
{
int nEvent =GetUserDefinedItemEventNumber();
if (!nEvent == X2_ITEM_EVENT_ACTIVATE)
return;
object oPC = GetItemActivator();
object oItem = GetItemActivated();
object oArea = GetArea(oPC);
location lWP = GetLocation(oPC);
string sPC = GetName(oPC);
string sArea = GetName(oArea);
string sSoundName1 = "as_an_crynight4";
string sMessage = (sPC + " Is Calling For Aid in " + sArea);
{
if(GetLocalInt(oArea, "No_Item_Use") == 1)
{
SendMessageToPC(oPC, "This item is not usuable here.");
return;
}
AssignCommand(oPC,PlaySound(sSoundName1));
DelayCommand (0.5,PlaySound("as_an_hawk1"));
object oTarget;
oTarget = GetFirstPC();
while (GetIsObjectValid(oTarget))
{
FloatingTextStringOnCreature(sMessage, oTarget, FALSE);
oTarget = GetNextPC();
}
if (GetHitDice(oPC) >10)
CreateObject(OBJECT_TYPE_CREATURE, "falconsuperior", lWP, TRUE);
else
CreateObject(OBJECT_TYPE_CREATURE, "falcon", lWP, TRUE);
}
}
Modifié par ffbj, 16 septembre 2012 - 03:42 .