Objekt soll auf existenz geprüft werden, dann Aktion???

  • GM 7
  • Objekt soll auf existenz geprüft werden, dann Aktion???

    Hallo,

    meine Frage: Ich wollt das so machen. Bevor der gegner schießt soll gecheckt werden ob er da ist. Das habe ich so gemacht,

    if(!instance_exists(gegnerspieler1){
    if schuss=true
    {
    instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel)
    schuss=false
    alarm[0]=30
    }}

    da kommt aber diese Fehlermeldung:


    ___________________________________________
    FATAL ERROR in
    action number 1
    of Collision Event with object spieler1
    for object Sichtkegel:

    COMPILATION ERROR in code action
    Error in code at line 1:
    if(!instance_exists(gegnerspieler1){

    at position 36: Symbol ) expected.


    Kann mir da einer helfen??? ?( :wacko: ?(
  • RE: Objekt soll auf existenz geprüft werden, dann Aktion???

    Burhan82 schrieb:

    Hallo,

    meine Frage: Ich wollt das so machen. Bevor der gegner schießt soll gecheckt werden ob er da ist. Das habe ich so gemacht,

    if(!instance_exists(gegnerspieler1){
    if schuss=true
    {
    instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel)
    schuss=false
    alarm[0]=30
    }}

    da kommt aber diese Fehlermeldung:


    ___________________________________________
    FATAL ERROR in
    action number 1
    of Collision Event with object spieler1
    for object Sichtkegel:

    COMPILATION ERROR in code action
    Error in code at line 1:
    if(!instance_exists(gegnerspieler1){

    at position 36: Symbol ) expected.


    Kann mir da einer helfen??? ?( :wacko: ?(
    OMFG...
    Guck dir den Code doch mal an oO
    Der Game Maker hat dir außerdem schon genau gesagt, wo der Fehler liegt.
    Mit 26 sollte man doch schon ein bisschen Englisch vestehen...

    Btw., um zu überprüfen, ob ein Objekt existiert musst du die object_exists()-Funktion verwenden.
  • Du hast eine Klammer vergessen...

    Da hätte fabse dich ruhig drauf aufmerksam machen können.
    Schau das nächste mal etwas gründlicher, wo der Fehler liegen könnte, lern die Fehlermeldungen zu deuten und joar... dann ists meist nich so schwer, den Fehler zu finden.

    if(!instance_exists(gegnerspieler1)){ //<---Die 2. rote Klammer fehlte.
    if schuss=true
    {
    instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel);
    schuss=false;
    alarm[0]=30;
    }}
    ___________________________________________
    FATAL ERROR in
    action number 1
    of Collision Event with object spieler1
    for object Sichtkegel:

    COMPILATION ERROR in code action
    Error in code at line 1:
    if(!instance_exists(gegnerspieler1){

    at position 36: Symbol ) expected.
    ___________________________________________
    FATALER FEHLER in
    aktion nummer 1
    von Kollisionsevent mit Objekt spieler1
    für Objekt Sichtkegel:

    COMPILIERFEHLER in code Aktion
    Fehler in code in Zeile 1:
    if(!instance_exists(gegnerspieler1){

    an Position 36: Symbol ) erwartet.
    Ich muss sagen, diese Fehlermeldung ist SEHR aufschlussreich.
    Wenn du sie nochmal liesst, wird dir das sicherlich auch auffallen.
    In Objekt Sichtkegel im Kollisionsevent mit dem Objekt "spieler1" in Zeile 1 an Position 36 wird eine ")" (Klammer zu) erwartet.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Schattenphoenix ()

  • danke ich teste es mal :D


    edit: der code ist jetzt zwar richtig aber mein problem ist dass nicht gecheckt wird.


    Meine Situation: Wenn der spielerobjekt den gegner schlägt dann ändert sich ja dass objekt. wenn er aber geschossen hat und die kugel während des änderns noch fliegt kommt diese Fehlermeldung:



    ___________________________________________
    ERROR in
    action number 1
    of Collision Event with object spieler1
    for object Sichtkegel:

    Error in code at line 4:
    instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel);

    at position 33: Unknown variable x


    Das heißt es weiß nicht wo er hinfliegen soll weil dar gegnerobjekt ja weg ist.


    Was kann ich tun??? ?( :wacko: ?(


    edit2: Ich glaube ich habe die lösung für mein problem gefunden. dazu bräuchte ich aber nen code von euch. :D

    also wenn der gegnerspieler nicht existiert dann soll die kugel gelöscht werden.

    also andersherum. ^^ (nicht existiert)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Burhan82 ()

  • Das müsste eigentlch so klappen, wenn ich dich richtig verstanden habe.

    GML-Quellcode

    1. if !object_exists(obj_gegenspieler)
    2. {
    3. with(obj_kugel)
    4. {
    5. instance_destroy()
    6. }
    7. }


    Wenn der Gegenspieler nicht exestiert, wird die Kugel gelöscht. ( Nicht exestiert ) :P

    Mit freundlichem Gruß
    icqgamer
  • ne der fehler kommt immernoch:


    ___________________________________________
    ERROR in
    action number 1
    of Collision Event with object spieler1
    for object Sichtkegel:

    Error in code at line 4:
    instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel);

    at position 33: Unknown variable x


    Ich habe deinen code im step event gelegt. ?(
  • Heißt dein Gegner-Objekt überhaupt "gegnerspieler1" bzw. existiert das Gegner-Objekt im Zeitpunkt der Abfrage überhaupt?
    Wenn nicht, rate ich dir (wie einige vor mir), dass du die hier geposteten Codes nicht per Copy&Paste in dein Projekt einfügen solltest, sondern indem du sie abschreibst (dadurch lernst du was) und an dein Spiel anpasst (Hilft, unnötige Posts zu vermeiden, in denen du nur rumjammerst, dass etwas wegen eines eig. leicht zu behebenden Fehlers nicht funktioniert.)

    Auf die Gefahr hin, dass mein Post gelöscht oder ich gar eine Verwarnung einheimse, maße ich mir mal an zu fragen, ob du wirklich 26 Jahre alt bist. In dem Alter sollte man meiner Meinung nach bereits reif genug sein, um auch ein wenig Eigeninitiative zu zeigen. Nicht immer im Leben wird es dir so leicht gemacht wie hier in diesem Forum, wo die meisten bemüht sind, dir zu helfen.

    Ich denke mal ich bin nicht der Einzige hier, dem dein Verhalten negativ auffällt.
  • icqgamer schrieb:

    Das müsste eigentlch so klappen, wenn ich dich richtig verstanden habe.

    GML-Quellcode

    1. if !object_exists(obj_gegenspieler)
    2. {
    3. with(obj_kugel)
    4. {
    5. instance_destroy()
    6. }
    7. }


    Wenn der Gegenspieler nicht exestiert, wird die Kugel gelöscht. ( Nicht exestiert ) :P

    Mit freundlichem Gruß
    icqgamer
    Wenn du prüfen willst, ob eine oder mehrere Instanzen eines Objekts in einem Raum existieren, musst du instance_exists() verwenden. Nicht object_exists()
  • oda man benutzt

    GML-Quellcode

    1. if instance_number(obj_gegenspieler)<1
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • So. Genug.

    Mir scheint es, als ob du die Lösungsvorschläge nicht einmal ausprobieren würdest. Dir werden alle möglichen Möglichkeiten vorgepriesen und du schreibst einfach nur "Das hilft mir nicht weiter" und "Das funktioniert nicht". Wie wäre es, wenn du uns mal sagen würdest, was denn nicht funktioniert, oder du überhaupt mal auf Fragen deiner Helfer reagieren würdest?

    Das, was du hier momentan betreibst, ist eine Frechheit.

    So, zu deinem Problem:
    Ich schließe mich Toshiro an: du hast wahrscheinlich falsche Objektnamen angegeben. Mal heißt es "kugel", mal "obj_kugel".

    Und um jetzt nochmal die korrekten Lösungen zu nennen:

    GML-Quellcode

    1. if(!instance_exists(obj_gegenspieler)) {
    2. with(obj_kugel) {
    3. instance_destroy();
    4. }
    5. }


    GML-Quellcode

    1. if(instance_exists(gegnerspieler1)){
    2. if(schuss==true){
    3. instance_create(gegnerspieler1.x,gegnerspieler1.y,kugel);
    4. schuss=false;
    5. alarm[0]=30;
    6. }
    7. }
  • Benutzer online 1

    1 Besucher