Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///sz_AIFinanzaWeapon()
- //min_dist = distanza minima di attacco
- //jump_action = true se il nemico può saltare per schivare
- //get_weapon = true se può raccogliere armi da terra
- var wm, hm; //variabili d'appoggio
- wm = sprite_get_width(mask_index);
- hm = sprite_get_height(mask_index);
- if(!is_Died)
- {
- if(is_Wielding == 'pistol')
- {
- if(distance_to_object(obj_Zeb) >= 128 or obj_Zeb.is_Died or obj_Zeb.freeze) //aggiunto obj_Zeb.freeze per evitare che la finanza colpisca zeb quando è freezato (anche sotto)
- {
- if(!is_Jumping)
- {
- is_Walking = true;
- //cambio direzione altrimenti cade (prima versione commentata)
- //if(!place_meeting(x+(sprite_width/2 +4)*mdir, y+(sprite_height/2)*vdir +8, obj_Block))
- if(!place_meeting(x+((wm/2 +4)*mdir), y+sprite_height/2+8, obj_Block))
- {
- mdir = -mdir; //cambio direzione
- alarm[0] = irandom_range(20, 40); //un tempo casuale tra 20 e 40 step
- change_direction = false;
- }
- if(change_direction)
- {
- mdir = -mdir; //cambio direzione
- hdir = mdir;
- alarm[0] = irandom_range(20, 40); //un tempo casuale tra 20 e 40 step
- change_direction = false;
- }
- }
- }
- else
- {
- if(distance_to_object(obj_Zeb) > min_dist)
- {
- if(!is_Jumping)
- {
- is_Fighting = false;
- is_Walking = false;
- is_Standing = true;
- mdir = sz_RealDirection();
- if(what_todo == -1 && can_do)
- {
- //is_Walking = false;
- what_todo = irandom_range(0, 49); //scelgo casualmente un'azione da fare
- if(what_todo >= 0 && what_todo < 50) {
- if(collision_line(x, y, obj_Zeb.x, obj_Zeb.y, obj_Block, true, true) == noone)// and obj_Zeb.is_Rolling = false) //eliminato per far sparare sempre e comunque
- {
- is_Shooting = true;
- could_shoot = true;
- can_do = false;
- }
- }
- //if(what_todo >= 20 && what_todo < 40) {
- // is_Fighting = true;
- // punch = 2;
- //}
- }
- else
- {
- is_Standing = true;
- }
- }
- }
- else
- {
- if(!is_Jumping)
- {
- is_Fighting = false;
- is_Standing = false;
- is_Walking = true;
- mdir = sz_RealDirection();
- hdir = -mdir
- //cambio direzione altrimenti cade
- /*if(!place_meeting(x+(sprite_width/2 +4)*hdir, y+(sprite_height/2)*vdir +8, obj_Block))
- {
- is_Fighting = false;
- is_Walking = false;
- is_Standing = true;
- }*/
- if(what_todo == -1 && can_do)
- {
- //is_Walking = false;
- what_todo = irandom_range(0, 49); //scelgo casualmente un'azione da fare
- if(what_todo >= 0 && what_todo < 50) {
- if(collision_line(x, y, obj_Zeb.x, obj_Zeb.y, obj_Block, true, true) == noone)// and obj_Zeb.is_Rolling = false) //eliminato per far sparare sempre e comunque
- {
- is_Shooting = true;
- could_shoot = true;
- can_do = false;
- }
- }
- //if(what_todo >= 20 && what_todo < 40) {
- // is_Fighting = true;
- // punch = 2;
- //}
- }
- }
- }
- }
- }
- else
- {
- if(distance_to_object(obj_Zeb) >= 128 or abs(obj_Zeb.y-y) > 16 or obj_Zeb.is_Died or obj_Zeb.freeze)
- {
- if(!is_Jumping)
- {
- is_Walking = true;
- //cambio direzione altrimenti cade
- if(!place_meeting(x+(sprite_width/2 +4)*mdir, y+(sprite_height/2)*vdir +8, obj_Block))
- {
- mdir = -mdir; //cambio direzione
- alarm[0] = irandom_range(20, 40); //un tempo casuale tra 20 e 40 step
- change_direction = false;
- }
- if(change_direction)
- {
- mdir = -mdir; //cambio direzione
- hdir = mdir;
- alarm[0] = irandom_range(20, 40); //un tempo casuale tra 20 e 40 step
- change_direction = false;
- }
- }
- }
- else
- {
- if(distance_to_object(obj_Zeb) > min_dist)
- {
- if(!is_Jumping)
- {
- is_Fighting = false;
- is_Walking = false;
- is_Standing = true;
- mdir = sz_RealDirection();
- if(what_todo == -1 && can_do)
- {
- //is_Walking = false;
- what_todo = irandom_range(0, 49); //scelgo casualmente un'azione da fare
- if(what_todo >= 0 && what_todo < 50) {
- if(collision_line(x, y, obj_Zeb.x, obj_Zeb.y, obj_Block, true, true) == noone)// and obj_Zeb.is_Rolling = false) //eliminato per far sparare sempre e comunque
- {
- is_Shooting = true;
- could_shoot = true;
- can_do = false;
- }
- }
- //if(what_todo >= 20 && what_todo < 40) {
- // is_Fighting = true;
- // punch = 2;
- //}
- }
- else
- {
- is_Standing = true;
- }
- }
- }
- else
- {
- if(!is_Jumping)
- {
- is_Fighting = false;
- is_Standing = false;
- is_Walking = true;
- mdir = sz_RealDirection();
- hdir = -mdir
- //cambio direzione altrimenti cade
- /*if(!place_meeting(x+(sprite_width/2 +4)*hdir, y+(sprite_height/2)*vdir +8, obj_Block))
- {
- is_Fighting = false;
- is_Walking = false;
- is_Standing = true;
- }*/
- if(what_todo == -1 && can_do)
- {
- //is_Walking = false;
- what_todo = irandom_range(0, 49); //scelgo casualmente un'azione da fare
- if(what_todo >= 0 && what_todo < 50) {
- if(collision_line(x, y, obj_Zeb.x, obj_Zeb.y, obj_Block, true, true) == noone)// and obj_Zeb.is_Rolling = false) //eliminato per far sparare sempre e comunque
- {
- is_Shooting = true;
- could_shoot = true;
- can_do = false;
- }
- }
- //if(what_todo >= 20 && what_todo < 40) {
- // is_Fighting = true;
- // punch = 2;
- //}
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement