Hilfe bei KI

  • Win

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

  • Hilfe bei KI

    Hi leute brauche mal hilfe bei ner KI die nicht so funktioniert wie sie sollte?

    GML-Quellcode

    1. nea = instance_nearest(x,y,Point_move)
    2. sh = 0
    3. le = 100
    4. see = 0
    5. seen = 0
    6. var xx ;
    7. var yy ;
    8. if not collision_line(x,y,Player.x,Player.y,Wall_coll_obj,true,true)
    9. {
    10. xx = Player.x
    11. yy = Player.y
    12. see = 1
    13. seen = 1
    14. }
    15. if collision_line(x,y,Player.x,Player.y,Wall_coll_obj,true,true)
    16. {
    17. see = 0
    18. }
    19. if not collision_line(x,y,Player.x,Player.y,Wall_coll_obj,true,true)
    20. {
    21. sh = 1
    22. timeline_index = (argument0);
    23. timeline_speed = 1
    24. }
    25. if seen = 1 && see = 0
    26. {
    27. mp_potential_step(xx,yy,2,false)
    28. image_angle = point_direction(x,y,xx,yy)
    29. }
    30. if see = 1
    31. {
    32. image_angle = point_direction(x,y,Player.x,Player.y)
    33. }
    34. if see = 0
    35. {
    36. sh = 0
    37. }
    38. else
    39. {
    40. sh =1
    41. }
    Alles anzeigen


    ihr seht ja das ich nicht der beste in gml bin ;(
    naja jedfalls ist das problem das das obj das diesen skript hat bei" if seen = 1 && see = 0 " nicht dort hinläuft nur hinschaut ???
    Wenn Frodo ein Hobbit ist,sind 8 Frodos dann ein Hobbyte? ?(
  • Öhm... liegt das alles im selben (Step) Event? Wenn ja, kann ich mir nämlich nicht erklären, warum er in die entsprechende Richtung auch nur guckt - die if-Bedingung ist nämlich ein logischer Widerspruch zu dem, was darüber steht. ^^
    seen wird nur 1, wenn KEINE Wand im Weg zwischen Gegner und Spieler ist, see wird nur 0, wenn das doch so ist. Dass das im selben Step eintritt, halte ich für ziemlich unmöglich. Außerdem sind xx und yy dem Programm nicht mehr bekannt, sobald die besagte Wand im Weg ist - die kriegen nämlich nur im ersten if-Block tatsächliche Werte zugewiesen - ansonsten weiß der GM nur "da gibt's so Variablen mit demunddem Namen, die soll ich am Ende dieses Codes wieder wegschmeißen, fertig". Eigentlich sollte das Spiel also sofort crashen, wenn dieser "if seen==1 && see==0" Block tatsächlich ausgeführt wird (oder hast du vielleicht die "Treat uninitialized Variables as 0" Option angeschaltet?).
  • Also habe jetzt alle variablen in das StartEvent gepackt (dummer leichtsinsfehler :troll: )
    Jetzt funktioniert alles so wie es soll! Vielen dank ih3

    Nur hätte ich noch ne frage und zwar wenn er bei xx und yy angekommen ist dreht er sich wieder in die anfangs position des sprites kann mas des vilt machen das der blick winkel sich nicht ändert(hoffe man kann verstehen was ich meine 8o )

    Und ausderm würd ich gerne wissen wie mal timelines starte (im code) funktioniert irgendwie nicht!
    Wenn Frodo ein Hobbit ist,sind 8 Frodos dann ein Hobbyte? ?(
  • Benutzer online 1

    1 Besucher