Das ist leider ein etwas kompliziertes Thema, da die Starterpacks nach wie vor so ausgelegt sind, dass die Charaktere 0-6 Gegenstände kommentarlos austauschen.
Folgendes sollte klappen:
1. Ersetze im global script in der Funktion on_mouse_click den Code für den linken Mausbutton durch dieses hier:
else if (button == LEFT)
{
if (GlobalCondition (2) || GlobalCondition (3) || GlobalCondition (4))
{
// SetMode("default");
}
else if (GSagsusedmode == 9)
{
// walk to
SetLabelColor (ACTION, 0, ActionLabelColorHighlighted);
if (IsInteractionAvailable (mouse.x, mouse.y, GSagsusedmode)) ProcessClick (mrx - GetViewportX (), mry - GetViewportY (), GSagsusedmode);
else ProcessClick (mrx - GetViewportX (), mry - GetViewportY (), MODE_WALK);
}
else if ((GSagsusedmode == MODE_TALK) && (IsInteractionAvailable (mouse.x, mouse.y, GSagsusedmode) == 1) && (GetCharacterAt (mouse.x, mouse.y) < 7))
{
SetLabelColor (ACTION, 0, ActionLabelColorHighlighted);
if (GoToCharacter (GSlocid, 0, 1, 2)) RunCharacterInteraction (GSlocid, GSagsusedmode);
SetAction (A_DEFAULT);
}
else
{
UpdateActionBar ();
SetLabelColor (ACTION, 0, ActionLabelColorHighlighted);
ProcessClick (mrx - GetViewportX (), mry - GetViewportY (), GSagsusedmode);
SetAction (A_DEFAULT);
}
}
2. Dann wie mit den anderen Verben in "any click on character":
else if (UsedAction(A_GIVE_TO)) {
if (player.ActiveInventory==iItem) {
// bla
}
else Unhandled();
}