ich habe vor das mein Char 2 Gegenstände hat die er mit einem Object benutzen kann. Er soll aber erst nachdem er den zweiten genutzt hat (Reihenfolge ist egal) etwas bestimmtes tun. Hier ist mein script:
Code: Alles auswählen
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 6)
{
if (MovePlayer (240, 133))
{
if (GetGlobalInt (47) == 0)
{
FaceLocation (GetPlayerCharacter (), 240, 1);
Wait (5);
SetObjectView (3, 43);
PlayMusic (31);
GUIOff (1);
GUIOff (0);
oGeraet.Animate(0, 1, eRepeat, eNoBlock, eForwards);
Wait (500);
StopMusic ();
Wait (100);
oGeraet.StopAnimating();
LoseInventory (6);
GUIOn (1);
GUIOn (0);
FaceLocation (GetPlayerCharacter (), 240, 1000);
Wait (40);
DisplaySpeech (GetPlayerCharacter (), "blablablabla.");
}
else if (GetGlobalInt (47) == 1)
{
FaceLocation (GetPlayerCharacter (), 240, 1);
Wait (5);
SetObjectView (3, 43);
PlayMusic (31);
GUIOff (1);
GUIOff (0);
oGeraet.Animate(0, 1, eRepeat, eNoBlock, eForwards);
Wait (50);
StopMusic ();
Wait (100);
oGeraet.StopAnimating();
LoseInventory (6);
GUIOn (1);
GUIOn (0);
FaceLocation (GetPlayerCharacter (), 240, 1000);
Wait (40);
DisplaySpeech (GetPlayerCharacter (), "Info.");
DisplaySpeech (GetPlayerCharacter (), "Mehr Info.");
}
SetGlobalInt (47, 1);
}
}
}
else if (UsedAction (A_USE_INV))
{
if (character [GetPlayerCharacter ()].activeinv == 10)
{
if (MovePlayer (240, 133))
{
if (GetGlobalInt (47) == 0)
{
FaceLocation (GetPlayerCharacter (), 240, 1);
Wait (5);
SetObjectView (3, 43);
PlayMusic (31);
GUIOff (1);
GUIOff (0);
oGeraet.Animate(0, 1, eRepeat, eNoBlock, eForwards);
Wait (500);
StopMusic ();
Wait (100);
oGeraet.StopAnimating();
LoseInventory (10);
GUIOn (1);
GUIOn (0);
FaceLocation (GetPlayerCharacter (), 240, 1000);
Wait (40);
DisplaySpeech (GetPlayerCharacter (), "blablabla.");
}
else if (GetGlobalInt (47) == 1)
{
FaceLocation (GetPlayerCharacter (), 240, 1);
Wait (5);
SetObjectView (3, 43);
PlayMusic (31);
GUIOff (1);
GUIOff (0);
oGeraet.Animate(0, 1, eRepeat, eNoBlock, eForwards);
Wait (50);
StopMusic ();
Wait (100);
oGeraet.StopAnimating();
LoseInventory (10);
GUIOn (1);
GUIOn (0);
FaceLocation (GetPlayerCharacter (), 240, 1000);
Wait (40);
DisplaySpeech (GetPlayerCharacter (), "Info.");
DisplaySpeech (GetPlayerCharacter (), "Merh Info.");
}
SetGlobalInt (47, 1);
}
}
}
else Unhandled ();
Ist auch völlig unabhängig ob vorher der andere Gegenstand benutzt wurde oder nicht. Der zweite funktioniert nicht.