ID:272322
 
How would I change this code to make it an else if then the opposite of this code?

                    if(M in get_step(usr,usr.dir))


I tried
if(!M in get_step(usr,usr.dir))


and

if(M in !get_step(usr,usr.dir))


But they didn't work.
You may want to look up turn()
if(M in get_step(usr,turn(usr.dir,180)))
turn() returns the dir 180 degrees, which is the opposite.
It should be mandatory to run at least a quick search before posting. [link]
In response to GhostAnime
...It worked but what I was hoping to get fixed didn't get fixed, because for some reason when my character is next to a person he attacks but it doesn't subtract health and doesn't do anything to the opponent.

            if(usr.icon == 'Goku.dmi' && usr.can_attack == 1 && usr.clash == 0)
for(var/mob/M)
if(M in get_step(usr,usr.dir))
if(M.clash == 0)
usr.overlays -= usr.overlays
usr.overlays += new/obj/Goku8
usr.overlays += new/obj/Goku9
usr.overlays += new/obj/Goku10
usr.overlays += new/obj/Goku11
usr.overlays += new/obj/Goku12
usr.overlays += new/obj/Goku13
usr.icon_state = "punch"
view(6)<<'Hit.wav'
usr.can_attack = 0
usr << "You attack [M]."
M.hp-=15
M.icon_state = "hurt"
sleep(2)
M.icon_state = ""
sleep(10)
usr.can_attack = 1
M.inair = 0
usr.icon_state = ""
usr.overlays -= usr.overlays
usr.overlays += new/obj/Goku2
usr.overlays += new/obj/Goku3
usr.overlays += new/obj/Goku4
usr.overlays += new/obj/Goku5
usr.overlays += new/obj/Goku6
usr.overlays += new/obj/Goku7
/* for(var/mob/M)
if(M in get_step(usr,usr.dir))
if(M.clash == 0)
usr.overlays += new/obj/Goku8
usr.overlays += new/obj/Goku9
usr.overlays += new/obj/Goku10
usr.overlays += new/obj/Goku11
usr.overlays += new/obj/Goku12
usr.overlays += new/obj/Goku13
usr.icon_state = "punch"
view(6)<<'Hit.wav'
usr.can_attack = 0
usr << "You attack [M]."
M.hp-=15
M.icon_state = "hurt"
sleep(2)
M.icon_state = ""
usr.icon_state = ""
usr.can_attack = 1
M.inair = 0*/

if(M.hp <= 0)
usr << "You have defeated [M]."
M.hp = M.maxhp
M.inair = 0
usr.Tokens += 10
usr.kills += 1
if(M.hyruletemple)
if(prob(50))
M.loc=locate(9,9,1)
else
M.loc=locate(16,14,1)
if(M.lylatcruise)
M.loc = locate(56,10,1)
if(M.bridgeofeldin)
M.loc = locate(13,41,1)
if(usr.kills >= 10)
for(var/mob/T in oview(12))
usr.inair = 0
usr.loc=locate(80,50,1)
Hud(usr)
Hud(T)
usr.icon = null
usr.icon_state = null
usr.overlays -= usr.overlays
usr.clash = 0
usr.hyruletemple = 0
usr.kills = 0
usr.hp = usr.maxhp
usr.lylatcruise = 0
usr.bridgeofeldin = 0
T.inair = 0
T.loc=locate(80,50,1)
T.icon = null
T.icon_state = null
T.overlays -= usr.overlays
T.clash = 0
T.hyruletemple = 0
T.kills = 0
T.hp = usr.maxhp
T.lylatcruise = 0
T.bridgeofeldin = 0
usr << sound(null)
T << sound(null)
sleep(20)
usr.cangetclash = 1
usr.hasclash = 0
T.cangetclash = 1
T.hasclash = 0
view(8) << "[usr] has won the match!"
if(usr.kills >= 5 && usr.hasclash == 0 && usr.cangetclash == 1)
usr.hasclash = 1
usr << "<font color = blue><font size = 3>You have gotten the clash attack, to use it press clash attack"
usr.cangetclash = 0
else
if(!(M in get_step(usr,usr.dir)))
usr.overlays -= usr.overlays
usr.overlays += new/obj/Goku8
usr.overlays += new/obj/Goku9
usr.overlays += new/obj/Goku10
usr.overlays += new/obj/Goku11
usr.overlays += new/obj/Goku12
usr.overlays += new/obj/Goku13
usr.icon_state = "punch"
usr.can_attack = 0
sleep(2)
sleep(10)
usr.can_attack = 1
M.inair = 0
usr.icon_state = ""
usr.overlays -= usr.overlays
usr.overlays += new/obj/Goku2
usr.overlays += new/obj/Goku3
usr.overlays += new/obj/Goku4
usr.overlays += new/obj/Goku5
usr.overlays += new/obj/Goku6
usr.overlays += new/obj/Goku7
return
else
if(usr.clash)
usr << "To attack while in clash form, hit the clash button"
return
return
return
In response to Element Hero creator
If you want to find a mob in a turf, use locate():

var/mob/M = locate() in get_step(src,dir)


Do NOT loop through every single mob in the world and check its location.