Funktionen ausführen

Posted By: marianschuth

Funktionen ausführen - 02/21/10 10:55

Ich habe ein Menü in mein Spiel eingebaut und es hat bisher auch alles wunderbar geklappt. Aber plötzlich zeigt er mir die Funktion "mouse_toggle" die vom main_script ausgeführt wird als "undeclared indentifier" an!! Was könnte ich falsch gemacht haben? eek
Posted By: TrackingKeks

Re: Funktionen ausführen - 02/21/10 11:17

Wahrscheinlich stehen deine Panel Definitionen vor dieser Funktion.
Setze die Panels hinter alle Funktionen, dann dürften keine Fehlermeldungen mehr kommen.
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:15

Die Panels sind schon hinter den Funktionen. "mouse_toggle" ist übrigens eine Funktion. Sie ist in einem Script namens "Menü" definiert und wird im main-Script, in der main Funktion aufgerufen.
Hoffe ihr könnt mir helfen...
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 14:21

Ist denn mouse_toggle rechts in den Codejumper unter "funktionen" auch vorhanden?
Und prüf nochmals genau nach, ob mit der Zeile oberhalb von mouse_toggle alles stimmt.
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:23

Ja, mouse_toggle ist im Codejumper vorhanden. Was soll denn mit der Zeile über mouse_toggle nicht stimmen?

Meintest du im Codejumper vom "Menü" Script? Da ist die Funktion vorhanden, im main Script nicht.
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 14:28

Also ich meine die Zeile über dem mouse_toggle in deinem Main script.
Wenn du z.B. schreibst:

var x = 3

mouse_toggle();

dann meint der Compiler, du hättest geschrieben:

var x = 3mouse_toggle();

Und schiebt die Schuld für den error auf mouse_toggle, obwohl das Semikolon von der Zeile davor fehlt laugh
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:32

Nein, da stimmt auch alles:

level_load("Menü.wmb");
mouse_toggle();

Hast du vielleicht sonst noch eine Idee?
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 14:36

Schieb trotzdem mal ein beep(); dazwischen, damit wir sicher sein können, dass es wirklich nur an mouse_toggle liegt. Ansonsten kannst du mal versuchen, ob auch die anderen Befehle vom Menü-script nicht funzen laugh
Posted By: Superku

Re: Funktionen ausführen - 02/21/10 14:40

Quote:
Die Panels sind schon hinter den Funktionen. "mouse_toggle" ist übrigens eine Funktion. Sie ist in einem Script namens "Menü" definiert und wird im main-Script, in der main Funktion aufgerufen.
Hoffe ihr könnt mir helfen...


Hast du dein "Menü"-Script im main-Script includet, wenn ja, wo? Vor oder nach der main-Funktion?
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:41

Auch mit dem beep noch die gleiche Fehlermeldung...
Hier ist die mouse_toggle Funktion:

function mouse_toggle() // Funktionsaufruf für den Mauszeiger
{
mouse_map = arrow;// verwende diese Grafik für deinen Mauszeiger
mouse_mode = 1; // Mauszeiger wird eingeblendet

while (mouse_mode > 0) // ist der Mauszeiger eingeblendet, dann wird er analog des Mausposition bewegt
{
vec_set(mouse_pos,mouse_cursor);
wait(1);
}
}

Sie ist aus einem Tutorial und hat bisher immer funktioniert. Ich habe dieses Problem, seit ich versuche das "Shadows Plugin Beta" von Chris3D in mein Spiel einzubauen und dafür am main-Script rumgebastelt habe.


Posted By: muffel

Re: Funktionen ausführen - 02/21/10 14:43

Ist der Menü-Script via include eingebunden?
Befindet sich die Funktionsdeklaration innerhalb von {}-Klammern?

muffel
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 14:51

Setz doch einfach mal die ganze Funktion in deinen main-script. laugh
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:51

Ich hab den Fehler! Im Shadows Plugin Beta wurde nicht PRAGMA_PATH verwendet, sondern "add folder", das habe ich übernommen. Jetzt habe ich es durch PRAGMA_PATH ersetzt und konnte es starten. Allerdings bekomme ich jetzt die selbe Fehlermeldung wieder, ohne irgendetwas verändert zu haben!!
Posted By: Superku

Re: Funktionen ausführen - 02/21/10 14:52

Beantworte mal bitte muffels und meine Frage.

(EDIT: Ich versteh deinen letzten Post nicht wirklich.)
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 14:58

Das Menü Script ist vor der main Funktion included.
#include "Menü.c"

Ich habe die Funktion jetzt ins main Script gesetzt und es klappt. Allerdings würde ich mich trotzdem noch über eine Lösung freuen, weil ich keine Lust habe alle Funktionen im Main Script zu schreiben.

Was verstehst du denn an dem Post nicht?

Und natürlich vielen Dank für eure Bemühungen!! laugh
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 15:04

Du schreibst:
Jetzt habe ich es durch PRAGMA_PATH ersetzt

und dann:
bekomme ich jetzt die selbe Fehlermeldung wieder, ohne irgendetwas verändert zu haben!!

Und das hat doch sowieso imo nichts mit dem Theam zu tun oder?

Jetzt zu deiner letzten Frage:
War das die einzige Funktion in Menü.c? (sollte man eh auf menue.c umbenennen)
Wenn es noch andere hat, funzen denn die Anderen auch nicht?
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 15:11

Der Testlauf hat geklappt, nachdem ich die "add folder-Funktion" mit PRAGMA_PATH ersetzt habe. Bei einem neuen Versuch hat es nicht geklappt, obwohl ich nichts an den Scripten verändert habe.

Es war nicht die einzige Funktion in Menü.c. Aber auch bei den anderen kam die gleiche Fehlermeldung (1.Post)
Das gleiche passiert auch mit Funktionen aus anderen Scripten, die ich mit main.c ausführen will.

Warum sollte man Menü in menue umbenennen?

OH, hab grad einen ziehmlich dummen Fehler entdeckt: Hab in PRAGMA_PATH den falschen Ordnernamen angegeben
Dann können die Funktionen ja gar nicht erkannt werden.
Also war der letze Fehler doch nur Unachtsamkeit von mir. grin

Vielen Dank für die tolle Hilfe!
Posted By: hopfel

Re: Funktionen ausführen - 02/21/10 15:19

Quote:
Warum sollte man Menü in menue umbenennen?

Das ist halt so ne Sache mit den ganzen Sonderzeichen etc.
Es funzt vermutlich auch mit Menü.c aber bei grösseren Scripten ist es so z.B. auch einfacher, wenn du weisst, du hast immer mit kleinbuchstaben geschrieben, wenn du eine Datei abrufen willst. Nur so ein Tipp, musst ihn ja nicht befolgen.

Zum Thema:
Schreib doch mal den Inhalt von Menü.c hier rein (Bitte in einem Spoiler)
Posted By: marianschuth

Re: Funktionen ausführen - 02/21/10 15:22

Siehe oben wink Hab den Post ediert.
© 2024 lite-C Forums