Eidson Interactive hat geschrieben:Hab noch ein Problem:
Da bei Türen noch der Standartkommentar kam, was einige nervte, hab ich jetzt zu jeder Tür im Haus einen eigenen Kommentar zum Anschauen eingefügt.
Leider passiert beim Anschauen nun folgendes: erst kommt der neu eingestellte Kommentar, dann folgt darauf der Standartkommentar. Dies ist nur bei Türen so und liegt wahrschienlich an der Any_click_on_door Prozedur.
Da aber so gut wie keine Programmierkenntnisse vorhanden sind, hab ich echt Schiwerigkeiten, das auszustellen. Wo muss ich in der Prozedur ändern, damit kein Look_At Standartkommentar erscheint?
Also in der Funktion ist die Funktion SetDoorStrings
und dort kannst du standartsätze eingeben für alle türen
Code: Alles auswählen
function any_click_on_door (int GI, int object, int x, int y, int dir, int nr_room, int nr_x, int nr_y, int nr_dir, int loop) {
SetDoorStrings ("Kommentar für alle Türen schau", "Kommentar wenn tür geschlossen", "kommentar bei benutzung mit falschem gegenstand");
return any_click_on_door_special (GI, object, x, y, dir, nr_room, nr_x, nr_y, nr_dir, 2, 3, -1, 0,loop);
}
wenn du für jede tür einen eigene aktionen definieren willst
dann ist das ähnlich wie auch für die anderen hotspots
hier zB für Bernhards Zimmertür
Code: Alles auswählen
if (any_click_on_door (3, 0, 48, 133, DIR_LEFT, 2, 271, 133, DIR_LEFT,DIR_LEFT) == 0)
{
if (MovePlayer (48, 133))
{
FaceDirection (GetPlayerCharacter (), DIR_LEFT);
if (UsedAction (A_PICK_UP))
{
Wait (5);
UseView(DIR_LEFT);
DisplaySpeech(GetPlayerCharacter(),"Also dafür schlucke ich zuwenig Stereoide!");
}
else if (UsedAction (A_OPEN))
{
Wait (5);
UseView(DIR_LEFT);
DisplaySpeech(GetPlayerCharacter(),"Mann die geht schwer auf.");
}
else if (UsedAction (A_LOOK_AT))
{
Wait (5);
DisplaySpeech (GetPlayerCharacter (), "Eine alte Eichentür.");
}
else Unhandled ();
}
}