ID:272688
![]() Dec 4 2008, 9:20 am
|
|
Okay, how would I make it so you can only attack the person infront of you're charater that stumped me...
|
![]() Dec 4 2008, 9:25 am
|
|
You might find dir, get_dir and oview interesting to read on.
|
Well, I got.
Punch(mob/Player/M in oview(1))
I need to know how from an example of how to make it so they only attack what's infront of them. |
I wouldn't ask for help if I knew how to do it, and secondly I wouldn't be making a game if I was lazy......
I need an example of how to use the get_dir and such, to make the mob/Player/ attack what's infront of them. And thanks for you're help. |
get_dir(Loc1,Loc2) returns the direction from Loc1 to Loc2.
The dir variable holds an atoms direction. If you would compare the two, you'd know if "Loc2" was in the direction "Loc1" is facing, just as an non concrete example. |
Okay so there isn't an example coding snippet, but they explain it in a way that makes it easy to understand.
Format: get_dir(Loc1,Loc2) Returns: The direction from Loc1 to Loc2. Possible results are NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, and SOUTHWEST. An approximation will be made if the true direction is not exactly in line with one of these. Args: Loc1: An object on the map. Loc2: An object on the map. If the direction is not directly lying along one of the four primary cardinal directions, the result will become the nearest diagonal direction (eg. if Loc2 is mostly north but a little to the east of Loc1, the direction returned will be NORTHEAST). |
Please correct me if I'm wrong but is this the proper way to put it.
Kick(mob/Player/M in get_dir(usr.loc,M.loc))
I want them to only hit the person infront of them. |
If you read the reference, get_dir() returns a direction, not a location or a list, therefore you can't use it with in.
Though, what you really want is this. |
Yes, you can use get_dir() with in. I use it all the time when I want an attack verb to only hit the person in front of the usr, and it works 100% the way I intended it.
e.g. mob/verb :D That simple! |
Kaioken wrote:
If you read the reference, get_dir() returns a direction, not a location or a list, therefore you can't use it with in. That depends on the design of the game. If your game is using an automatically continued attack (opposed to the click/key spamm) and you want to avoid someone attacking something not in their direction, checking the dir and get_dir might be better. Though I agree, for a simple click attack, repeat step one kind of game get_step is the solution of choice. |