08-23-2012, 04:15 PM
I made some changes on Silva's Henry AI....
Well.. i've tried to defeat it with Davis and it was veeery annoying!
Well.. i've tried to defeat it with Davis and it was veeery annoying!
AI-Code:
void id(){ // reset all inputs left(0,0); right(0,0); J(0,0); up(0,0); down(0,0); A(0,0); D(0,0); int stzd = abs(self.z-target.z); int xdst = self.x-target.x; int ydst = self.y-target.y; int zdst = self.z-target.z; int zbgu = self.z-bg_zwidth1; int xabs = abs(xdst); int yabs = abs(ydst); int zabs = abs(zdst); int distance = abs(target.x - self.x); int k = 0; int dst = 99999; for (int i = 0; i < 400; i++) {if (loadTarget(i) == 0 && target.hp > 0 && target.num != self.num && target.team != self.team && target.state != 14 && abs(self.x-target.x)+abs(self.z-target.z) < dst){ dst = abs(self.x-target.x)+abs(self.z-target.z); k = i; }} loadTarget(k); int zdistance = abs(target.z - self.z); bool jump = false; if(target.type != 0 && mode == 1){clr();print("No enemy");right(1,1);} if (distance < 350 && target.type == 0){clr();print("Danger:"); if (zabs <= 40 && distance > (10 + rand(30))){print (" Run Run Z"); if(self.z < (bg_zwidth1 + rand(30))) {down();} else if(self.z > (bg_zwidth2 - rand(30))) {up();} else if(zdst < 0){up();} else if(zdst > 0){down();}} if (zabs > 60){if (zdst < 0){down();} else if(zdst > 0){up();}} if((distance < 350 || self.state == 2 || (target.state == 2 && distance < 350)) && zabs < 60) {; if (bg_width - self.x < (150 + rand(80)) || stage_bound - self.x < (150 + rand(80))){left();} else if (self.x < (150 + rand(80))){right();} else if (target.x > self.x){left();} else{right();} if(self.state == 2 && jump){J();}} else{if (target.x > self.x && self.facing){right(1,1);} else if (target.x < self.x && !self.facing){left(1,1);}} if (self.state == 2 && self.x_velocity == 0){left();} if(self.state == 2 && distance < (50+rand(150)) && rand(1) == 1){J();}} if(self.state == 2 && distance < (50+rand(150)) && rand(1) == 0){print("Ole");D();} if((self.frame == 213 || self.frame == 214 || self.frame == 216 || self.frame == 217) && distance < 60 && zdst < 20){A();} if (distance > 350 && target.type == 0){clr();print("Come at me Bro");{ if (self.mp > 200 && rand(15) == 15 && target.blink == 0){print("Magic Arrow"); if (target.x > self.x){DrJ();} else if (target.x < self.x){DlJ();}} if (target.x > self.x && self.facing){right(1,1);} if (target.x < self.x && !self.facing){left(1,1);} if (target.blink == 0 && target.state != 6 && target.state != 12 && target.state != 14){ if (target.z > self.z && zdistance > 10){down();} else if(target.z < self.z){up();} if (distance < 473 && distance > 350 && self.state != 2) {if (zdistance < 10){A();} else if (zdistance > 15 && zdistance < 40){if (target.z > self.z){down(1,0);} else{up();}A();}}} if (distance > 450){if (target.x > self.x){right(1,1);} else if (target.x < self.x){left(1,1);} if ((target.state == 3 || target.state == 15) && self.state != 2 ){print(" Defend");{A();}} }}}} |