id von beliebigen instanzen

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

  • id von beliebigen instanzen

    mir scheint das mal wieder eins von den problemen zu sein, die jeder beantworten kann, und die ich deswegen nicht mit der suche finde...
    ich bin gerade dabei ein schachspiel zu machen, habe das ziehen der figuren auch schon hinbekommen, jetzt geht's ans schlagen. da ich verhindern will, dass man seine eigenen figuren schlägt, muss ich ja prüfen, zu welchem spieler die figur gehört, und dafür brauch ich zuerst mal die id der figur. um diese herauszufinden gibt es ja nur die befehle instance:nearest und instance_position. bei beiden muss ich aber ein spezielles object angeben, nach dem ich suche. gibt es ne möglichkeit, nach der id irgendeiner instanz zu fragen, die sich gerade auf einer bestimmten position befindet?
  • sowas erreichts du z.b. so:

    Quellcode

    1. ID1=instance_create(x,y,obj_koenigweiss);
    2. instance_destroy(ID1);
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Da muss du instance_position(x,y,obj) verwenden.

    Da du aber kein spezielles Objekt hast, sondern wohl alle Objekte prüfen willst, musst du das dann so in dein Spiel einbauen:

    Quellcode

    1. instance_position(x,y,all);


    Das Wort all ist auch ein "objekt", es referenziert alle im Spiel befindlichen Objekte.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • danke, windapple, aber irgendwas stimmt da immer noch nicht...
    gedacht war dis so, dass ich, wenn das feld, auf das ich will besetzt ist, ich mir mit hilfe des befehls instance_position die id der instanz besorge, und dann mit (<id>).object_index herausfinde, von welchem object das eine instanz ist, um dann damit weitere vergleiche mit hilfe eines switches zu machen. das problem ist nur, dass die id, als ich sie mir im compilermodus angeschaut habe, -4 war, und soweit ich weiss, sind ids doch immer größer als 10000 (wenn ich die maus draufhalte ist sie 10004) hab ich da bei den ids was verwechselt?
  • Dann mach mal statt instance_position instance_nearest.
    Bei instance_position muss du nämlich genau die x/y Position des Objektes treffen, sonst geht das nich.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum