Hi Leute,
Hab mal ein älteres Projekt ausgegraben, wo ich damals an der Wegfindung gescheitert bin.
Die Wegfindung habe ich nun hinbekommen(bis auf ein paar Probleme).
1. Ki läuft quer trotz allowdiag = false
2. Jede Ki soll zu einem anderen block gehen
Spoiler anzeigen
Alles anzeigen
Video zur Veranschaulichung:
Ich hoffe jeder versteht mein problem!
danke im voraus!
Hab mal ein älteres Projekt ausgegraben, wo ich damals an der Wegfindung gescheitert bin.
Die Wegfindung habe ich nun hinbekommen(bis auf ein paar Probleme).
1. Ki läuft quer trotz allowdiag = false
2. Jede Ki soll zu einem anderen block gehen
GML-Quellcode
- path_speed = 1
- nemine_id = -1; // dieser Wert gibt die id wieder
- nemine = 10000; // nähestes zu minen des
- for (i=0; i<instance_count; i+=1) // Schleife zum überprüfen aller Instancen im Raum
- {
- iii = instance_find(solid,i) ;
- if iii.mine = 1 && iii.allf = 1 && iii.found = 0
- {
- if (distance_to_object(iii)< nemine) // abfrage ob der gefundene Hp wert kleiner als der kleinste bekannte wert ist
- {nemine_id = iii; nemine = distance_to_object(iii);} // falls ja, wird der Wert gespeichert und auch die ID
- }
- }
- netomine = nemine_id // gewünschter Wert
- if !mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y,false)
- && !mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y,false)
- && !mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- && !mp_grid_path(grid,path,x,y,netomine.x,netomine.y+48,false)
- && !mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y+48,false)
- && !mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y+48,false)
- && !mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y-48,false)
- && !mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y-48,false)
- {
- place = 0
- }
- else
- {
- place = 1
- }
- if netomine != -1 && place = 1
- {
- if netomine.lf = 1 && netomine.rf = 0 && netomine.tf = 0 && netomine.df = 0
- && mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y,false)
- {
- mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y,false)
- path_start(path,1,0,0)
- }
- if netomine.rf = 1 && netomine.tf = 0 && netomine.df = 0 && netomine.lf = 0
- && mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y,false)
- {
- mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y,false)
- path_start(path,1,0,0)
- }
- if netomine.tf = 1 && netomine.df = 0 && netomine.lf = 0 && netomine.rf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 1 && netomine.lf = 0 && netomine.rf = 0 && netomine.tf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y+48,false)
- path_start(path,1,0,0)
- }
- ////
- if netomine.df = 1 && netomine.lf = 1 && netomine.rf = 1 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- ////
- if netomine.df = 1 && netomine.lf = 1 && netomine.rf = 1 && netomine.tf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 1 && netomine.lf = 1 && netomine.rf = 0 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 0 && netomine.lf = 1 && netomine.rf = 1 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 1 && netomine.lf = 0 && netomine.rf = 1 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- ////
- if netomine.df = 1 && netomine.lf = 1 && netomine.rf = 0 && netomine.tf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 0 && netomine.lf = 0 && netomine.rf = 1 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 0 && netomine.lf = 1 && netomine.rf = 0 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 1 && netomine.lf = 0 && netomine.rf = 1 && netomine.tf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x+48,netomine.y,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 1 && netomine.lf = 0 && netomine.rf = 0 && netomine.tf = 1
- {
- mp_grid_path(grid,path,x,y,netomine.x,netomine.y-48,false)
- path_start(path,1,0,0)
- }
- if netomine.df = 0 && netomine.lf = 1 && netomine.rf = 1 && netomine.tf = 0
- {
- mp_grid_path(grid,path,x,y,netomine.x-48,netomine.y,false)
- path_start(path,1,0,0)
- }
- }
- else
- {
- path_end()
- }
Video zur Veranschaulichung:
Ich hoffe jeder versteht mein problem!
danke im voraus!

Wenn Frodo ein Hobbit ist,sind 8 Frodos dann ein Hobbyte? 
