was ist bei diesem code falsch

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

  • Wahrscheinlich musst du item[inv[x,y],name] selbst nochmal in ein string(item[]) umwandeln.
    Bzw ich hatte vor kurzem bei ds_grids (fast dasselbe wie ein 2d array) auch DoAdd errors und musste so etwas machen:

    GML-Quellcode

    1. var toItem = item[inv[x,y,],name];
    2. var toInv = inv[j,1];
    3. draw_text(x,y,string(item + "x" + string(inv)));

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • danke genau das wars ...thx


    eine frage noch.. @Aku_Ryou ..ich hab ein kleines problem..also ich hab grad ein wenig mit den arrays herum gespielt und ein kleines inventar gemacht
    mit diesem code stücken..


    obj_player
    create event:

    GML-Quellcode

    1. //Lange Fassung
    2. /*
    3. inv[1]= "EMPTY"
    4. inv[2]= "EMPTY"
    5. inv[3]= "EMPTY"
    6. inv[4]= "EMPTY"
    7. inv[5]= "EMPTY"
    8. */
    9. inv_desc[0]= "Zauberflasche"
    10. inv_desc[1]= "Zauber"
    11. inv_desc[2]= "Handtuch"
    12. inv_desc[3]= "Mehlwurm"
    13. inv_desc[4]= "Tatze"
    14. //Kurze Fassung erstellung des inventars
    15. for (i = 0;i < inv_max; i++)
    16. {
    17. inv[i]="EMPTY";
    18. inv_numb[i]=0;
    19. }
    Alles anzeigen



    obj_player
    collision_event mit obj_item

    GML-Quellcode

    1. for (var index = 0;index <= inv_max;index++)
    2. {
    3. if (inv[index]=="EMPTY") or (inv[index]==other.object_index)
    4. {
    5. inv[index]=other.object_index;
    6. inv_numb[index]++;
    7. with(other)
    8. instance_destroy();
    9. break;
    10. }
    11. }
    Alles anzeigen


    obj_player
    collision_event mit obj_item2

    GML-Quellcode

    1. for (var index = 0;index <= inv_max;index++){if (inv[index]=="EMPTY") or (inv[index]==other.object_index){inv[index]=other.object_index;inv_numb[index]++;with(other)instance_destroy();break;}}




    draw_event obj player

    GML-Quellcode

    1. for (i = 0;i<inv_max;i++)
    2. {
    3. if (inv[i]=="EMPTY"){draw_text(50,100*(i+1),inv[i])}
    4. if (inv[i]!="EMPTY"){
    5. draw_text(50,100*(i+1),inv_desc[i])
    6. draw_text(50-15,110*(i+1),inv_numb[i])
    7. }
    8. }




    das problem was ich habe ist....wenn ich jetzt item1 einsammle schreibt er zauberflasche und wenn ich item2 einsammle zauber....
    aber wenn ich neu starte und dann item 2 einsammle ist das bei zauberflasche..

    wie mach ich es das item1 fix zauberflasche ist und item2 der zauber????? was mach ich falsch

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

  • Aku_Ryou schrieb:

    Wahrscheinlich musst du item[inv[x,y],name] selbst nochmal in ein string(item[]) umwandeln.
    Bzw ich hatte vor kurzem bei ds_grids (fast dasselbe wie ein 2d array) auch DoAdd errors und musste so etwas machen:

    GML-Quellcode

    1. var toItem = item[inv[x,y,],name];
    2. var toInv = inv[j,1];
    3. draw_text(x,y,string(item + "x" + string(inv)));


    @Aku_Ryou
    ahhhmmmm eins noch ..wenn ich das so mache mit dem +string funktioniert es zwar aber er schreibt nicht mehr den namen sondern einfach 0 usw....komisch...wie kann ich das ändern

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

  • Das liegt daran, dass

    Annahme:
    -Kollision mit dem obj_zauber:

    am Anfang ja inv[0] = "EMPTY" ist und dein Zauber( also inv_desc[1]= "Zauber") "passiert" somit

    GML-Quellcode

    1. if (inv[index]=="EMPTY") or (inv[index]==other.object_index)


    dann wird
    inv[0] = other.object_index; // z.B 6 oder so --> obj_zauber
    inv_numb[0]++ // 0--> 1;

    und zeichnet dann

    draw_text(50,100*(i+1),inv_desc) // was das Zaubertuch ist (also invDesc[0]) obwohl du eigentlich invDesc[1] aufgenommen hast
    draw_text(50-15,110*(i+1),inv_numb[i]) // mit der Anzahl 1





    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von glim888 ()

  • puh komm nicht ganz mit... sorry... ich versteh schon das wenn ich jetzt eine kollision habe mit irgendeinem item wird inv_desc[1] = zauber
    hmmm die eine zeile hab ich leider nicht selbst geschrieben bzw nicht ganz

    GML-Quellcode

    1. if (inv[index]=="EMPTY") or (inv[index]==other.object_index)

    ich versteh das inv[index]==other.object_index sowieso nicht....

    und wie kann ich das ändern....sorry anscheinend ist mein kopf heute nicht mehr aufnahmefähig....werd es morgen sicher weiter probieren...und es dann vielleicht verstehen..