Wie setze ich diese Funktion ein?

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Gast

Wie setze ich diese Funktion ein?

Beitrag von Gast »

Diese Funktion ist aus dem Thread "Eure Funktionen die das Leben erleichtern!!!":

function pick(int obj, int inv){ //bewegt den charakter zum
objx = GetObjectX(obj); //angegebenen objekt macht es
objy = GetObjectY(obj); //dann aus und gibt dem char ein item
MoveCharacter(GetPlayerCharacter(),objx,objy);
while(character[GetPlayerCharacter()].walking)Wait(1);
ObjectOff(obj);
AddInventory(inv);
}

Sie scheint sehr nützlich zu sein. Bis jetzt hab ich das alles immer einzelnd hingeschrieben. Wo muss ich die Funktion hin setzen und wie rufe ich sie dann in der PickUp-Interaction eines Objektes auf?
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Du schreibst die function an den Anfang des GlobalScript, vor allem anderen. Um sie zu benutzen schreibst du dann bei interact object in dem entsprechenden Raum einfach:
pick (1, 1);
In die Klammern kommt natürlich der Wert von deinem Object und vom inventory item
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
strazer

Beitrag von strazer »

Vorher musst du noch die Funktion in den Script Header importieren, damit du sie in allen Räumen nutzen kannst:

// Main header script

import function pick(int obj, int inv);
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Vorher musst du noch die Funktion in den Script Header importieren, damit du sie in allen Räumen nutzen kannst:

// Main header script

import function pick(int obj, int inv);
Ich wußte doch das ich irgendwas vergessen hatte :oops: :oops: :oops:
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Gast

Beitrag von Gast »

Und wo werden die Variabeln objx und objy difiniert???
Ich habs jetzt einfach umgeschrieben, dass ich die beiden Variabeln nicht brauche:

function pick(int obj, int inv){
MoveCharacter(GetPlayerCharacter(),GetObjectX(obj),GetObjectY(obj));
while(character[GetPlayerCharacter()].walking)Wait(1);
ObjectOff(obj);
AddInventory(inv);
}


Jetzt klappt es :)
strazer

Beitrag von strazer »

Stimmt, die Deklaration der Variablen fehlte:

int objx = GetObjectX(obj); //angegebenen objekt macht es
int objy = GetObjectY(obj); //dann aus und gibt dem char ein item

Aber so wie du es gemacht hast geht es natürlich auch.
Antworten