Bitte unterstützt uns und bestellt über diese Links bei Amazon oder HumbleBumble!
Ich hab den betreffenden Teil im global script gefunden:Code: [Auswählen] else if ((GSagsusedmode == 4) && (GetLocationType (mouse.x, mouse.y) == 2) && isAction (A_GIVE_TO) && (GetCharacterAt (mouse.x, mouse.y) < 7)) { SetLabelColor (ACTION, 0, ActionLabelColorHighlighted); if (GoToCharacter (GSlocid, 0, 1, 2)) { ItemGiven = character [GetPlayerCharacter ()].activeinv; if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), MODE_USEINV) == 1) { RunCharacterInteraction (GSlocid, MODE_USEINV); } GiveInv (ItemGiven, GSlocid); character [GetPlayerCharacter ()].activeinv = -1; } SetAction (A_DEFAULT); }1. Man kann nur den Charakteren 1-6 etwas geben (klar), muss man also ändern (1. if-Abfrage)2. Man muss die Character-Interaction Use inventory on character benutzen, nicht AnyClick.3. Durch Abfrage einer GlobalInt muss man gegebenenfalls verhindern, dass das Item den Besitzer wechselt.Man könnte das script auch pauschal so ändern:Code: [Auswählen] if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), MODE_USEINV) == 1) { RunCharacterInteraction (GSlocid, MODE_USEINV); } else { GiveInv (ItemGiven, GSlocid); character [GetPlayerCharacter ()].activeinv = -1; } }Wenn der NPC das Item tatsächlich erhalten soll, entweder keine Interaction einbauen, oder es ihm in dieser übergeben.
else if ((GSagsusedmode == 4) && (GetLocationType (mouse.x, mouse.y) == 2) && isAction (A_GIVE_TO) && (GetCharacterAt (mouse.x, mouse.y) < 7)) { SetLabelColor (ACTION, 0, ActionLabelColorHighlighted); if (GoToCharacter (GSlocid, 0, 1, 2)) { ItemGiven = character [GetPlayerCharacter ()].activeinv; if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), MODE_USEINV) == 1) { RunCharacterInteraction (GSlocid, MODE_USEINV); } GiveInv (ItemGiven, GSlocid); character [GetPlayerCharacter ()].activeinv = -1; } SetAction (A_DEFAULT); }
if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), MODE_USEINV) == 1) { RunCharacterInteraction (GSlocid, MODE_USEINV); } else { GiveInv (ItemGiven, GSlocid); character [GetPlayerCharacter ()].activeinv = -1; } }
charAt.RunInteraction(GSagsusedmode); SetAction (eActDefault); } if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), eModeUseinv) == 1) { charAt.RunInteraction(eModeUseinv); } else { GiveInv (ItemGiven, charAt); player.ActiveInventory(-1); } } else {