Verschärfte Regeln im GML

    • GM:S

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Verschärfte Regeln im GML

      Mein Gott noch mal. Es nervt mich langsam wie ich bei jedem Versionsupdate wieder alles umprogrammieren darf nur weil gewisse Sachen im GML nicht mehr akzeptiert werden.

      Sprite name "geist" is equal to an object name.
      Background name "gras" is equal to an object name.
      Object name "GEIST" is equal to a sprite name.
      Object name "GRAS" is equal to a background name.

      Ja ist klar hätte euch nicht früher einfallen können das groß und klein einen Unterschied macht!!!
      Jetzt dürfen zich Leute ihren Quelltext durchsuchen wo sie diese Sprites oder Objekte verwendet haben und ihnen einen neuen Namen geben. :headtouch:

      In Script scr_trigger at line 69 : function "Send_add_server" expects 3 arguments, 2 provided
      In Object obj_Wehrheim_Nord, in Event Create event number 0 at line 5 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Wehrheim_Nord, in Event Draw event number 0 at line 4 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Werheim_Sued, in Event Create event number 0 at line 5 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Werheim_Sued, in Event Draw event number 0 at line 4 : function "scr_auswahl" expects 5 arguments, 1 provided

      Ja welcher Pfosten ist den da drauf gekommen! Jetzt darf ich meine Funktionen auf einmal mit Argumenten ausfüllen auch wenn sie gar nicht benötigt werden.
      WIESO EINFACH WENNS AUCH KOMPLIZIERT GEHT!

    • In Script scr_trigger at line 69 : function "Send_add_server" expects 3 arguments, 2 provided
      In Object obj_Wehrheim_Nord, in Event Create event number 0 at line 5 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Wehrheim_Nord, in Event Draw event number 0 at line 4 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Werheim_Sued, in Event Create event number 0 at line 5 : function "scr_auswahl" expects 5 arguments, 1 provided
      In Object obj_Werheim_Sued, in Event Draw event number 0 at line 4 : function "scr_auswahl" expects 5 arguments, 1 provided

      Anscheinend greifst du in den Funktionen auf die argumente zu.....


      Sprite name "geist" is equal to an object name.
      Background name "gras" is equal to an object name.
      Object name "GEIST" is equal to a sprite name.
      Object name "GRAS" is equal to a background name.

      Musst du halt suchen... kannst aber auch per "expand resource three" alles öffnen und dann den gesuchten Namen eingeben.
      Der wird dann markiret.
      Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
      Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
      Nach langer zeit wieder im Forum aktiv :D
    • Genau aus dem Grund vergibt man den Assets und den Objekten einen Präfix (z.B. objSpieler, oSpieler, obj_spieler, sprSpieler, sSpieler, spr_spieler)
      Somit hat man eine geordnete Ressourcenverwaltung.

      Was die Argumentation bei skripten angeht: es ist einfach nur logisch, dass ein Argument zugewiesen werden muss wenn dieser im Skript vorkommt und lieber 5 Minuten dafür opfern alles umzuschreiben - dafür aber permanente Software Updates und Verbesserungen seitens YoYo erhalten als eine Software zu nutzen die alle Paar Jahre mal poliert wird.
    • Larsi schrieb:

      Musst du halt suchen... kannst aber auch per "expand resource three" alles öffnen und dann den gesuchten Namen eingeben.
      Der wird dann markiret.

      Es geht mir nicht darum die Ressource an sich zu finden, das ist nicht das Problem, sondern anscheinend hab ich sie in in irgendeinem Code verwendet und wenn ich sie umbenenne, tja funktioniert nichts mehr.

      Fin schrieb:

      Genau aus dem Grund vergibt man den Assets und den Objekten einen Präfix (z.B. objSpieler, oSpieler, obj_spieler, sprSpieler, sSpieler, spr_spieler)
      Somit hat man eine geordnete Ressourcenverwaltung.

      Mach ich in der Regel auch zu 99,9% nur hatte ich es hier aus irgendeinem Grund nicht gemacht und früher war dies ja auch kein Problem :(

      Fin schrieb:

      Was die Argumentation bei skripten angeht: es ist einfach nur logisch, dass ein Argument zugewiesen werden muss wenn dieser im Skript vorkommt und lieber 5 Minuten dafür opfern alles umzuschreiben - dafür aber permanente Software Updates und Verbesserungen seitens YoYo erhalten als eine Software zu nutzen die alle Paar Jahre mal poliert wird.

      Naja so logisch ist das nicht. Ich packe nämlich ähnliche Scripts gerne in eines zusammen um nicht so viele Scripte zu haben.

      GML-Quellcode

      1. /// Sehr vereinfachtes Beispielsweise
      2. scr_ping("Login"); // Sendet einen Ping an den Login Server.
      3. scr_ping("Client", var_ip); // Sendet einen Ping an den Clienten mit der folgenden IP
      4. // Ja und seit neuestem darf ich jetzt schreiben
      5. scr_ping("Login", "tschut_tschut_wayne_train");

      Das meine ich, meine Scripte benötigen nicht immer die Selbe anzahl an Argumenten, und jetzt muss ich auch nicht benötigte Argumente ausfüllen, was für ein Schwachsinn.
    • Es geht mir nicht darum die Ressource an sich zu finden, das ist nicht das Problem, sondern anscheinend hab ich sie in in irgendeinem Code verwendet und wenn ich sie umbenenne, tja funktioniert nichts mehr.
      Benutz die code-such Funktion!

      Naja so logisch ist das nicht. Ich packe nämlich ähnliche Scripts gerne in eines zusammen um nicht so viele Scripte zu haben.
      Was du bisher getan hast war Funktionen zu "überladen". Finde es auch blöd wenn das jetzt nicht mehr so möglich ist :(
      In GM 8.1 hat man die Wahl (in den Preferences) ob man das erlaubt oder nicht.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • DragonGamer schrieb:

      Benutz die code-such Funktion!

      Kenn ich, aber durchsuch mal damit 300 Seiten GML nacheinander.
      Oder gibt es eine Möglichkeit den Code des ganzen Projekts auf einmal durchsuchen zu lassen?

      DragonGamer schrieb:

      Was du bisher getan hast war Funktionen zu "überladen". Finde es auch blöd wenn das jetzt nicht mehr so möglich ist
      In GM 8.1 hat man die Wahl (in den Preferences) ob man das erlaubt oder nicht.

      Hmmm... vielleicht wurde ja irgendwo eine Wahlmöglichkeit eingebaut :) Mal alles danach durchsuchen :pinch:
    • Balls of Steel schrieb:

      Oder gibt es eine Möglichkeit den Code des ganzen Projekts auf einmal durchsuchen zu lassen?
      Ja, das meinte ich! Schau unter "Scripts --> Search in scripts..."

      Alle EInstellungen des GM Studio habe ich auch noch nicht durch, glaube ich. Dort wo die EInstellung beim GM 8.1 ist, ist sie leider nicht zu finden.
      GML wird je jetzt angeblich richtig kompiliert, da ist das Implementiren von Überladungen wahrscheinlich nicht so einfach möglich.
      In Sprachen wie C# und C++ muss man dafür überigens auch die Funktion mehrmals jeweils mit den verschiedenen Argumenten definieren. Einfach eine Funktion/script erstellen und beliebige Argumente benutzen geht da auch nicht...

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • DragonGamer schrieb:

      In Sprachen wie C# und C++ muss man dafür überigens auch die Funktion mehrmals jeweils mit den verschiedenen Argumenten definieren. Einfach eine Funktion/script erstellen und beliebige Argumente benutzen geht da auch nicht...

      Das stimmt so nicht. So wie mans vom GM her kennt ist das dort auch möglich. Man hat die Möglichkeit, Funktionen mit einem Standardwert zu beliefern, der übernommen wird, falls das jeweilige Argument nicht angegeben wird. Beim GM ist der Standardwert halt 0.

      Quellcode

      1. int doSomething(int argument0, int argument1, int argument2 = 0) {
      2. // Blabla
      3. }

      Diese Funktion kann man dann mit 3 Argumenten ausführen oder auch mit 2, wobei dann das 3. Argument 0 ist.

      © 2008 by Teamgrill Productions
    • YOYO Games schrieb:

      If scripts are called with the wrong number of arguments, then the game will crash on YYC platforms, so please note that this is now a change in GM practices for all platforms and you must apply the fix to your code


      Daher die Änderungen, da der Yoyo Compiler auf diese verschäften Regeln ausgelegt ist.