20.09.2013, 18:51
Hello!
I'm trying to do some objects if player is near of edge of area.
It's mean;
+____+
|.........|
|.........|
|.........|im stay here
|____ |
How to detect these point in range ~10meters about me along to border?
I made this code:
But it's not optimally. Is it possible to do that more optymized?
I'm trying to do some objects if player is near of edge of area.
It's mean;
+____+
|.........|
|.........|
|.........|im stay here
|____ |
How to detect these point in range ~10meters about me along to border?
I made this code:
Код:
forward omg(playerid); public omg(playerid) { new Float:asd[3]; GetPlayerPos(playerid,asd[0],asd[1],asd[2]); for(new id=0; id<MAX_AREAS; id++) { new asd1 = floatround(floatsub(Area_Table[id][areamaxX] ,Area_Table[id][areaminX])); new asd3 = floatround(floatsub(Area_Table[id][areamaxY] ,Area_Table[id][areaminY])); for(new i=0; i<asd1/2; i++) { if(IsPlayerInRangeOfPoint(playerid,10.0,Area_Table[id][areaminX]+(i*2),Area_Table[id][areaminY],asd[2])){ CreateDynamicObject(1318,Area_Table[id][areaminX]+(i*2),Area_Table[id][areaminY],asd[2],0,0,0); SendClientMessage(playerid,-1,"Blisko!");} } for(new i=0; i<asd3/2; i++) { if(IsPlayerInRangeOfPoint(playerid,10.0,Area_Table[id][areaminX],Area_Table[id][areamaxY]-(i*2),asd[2])){ CreateDynamicObject(1318,Area_Table[id][areaminX],Area_Table[id][areamaxY]-(i*2),asd[2],0,0,0); SendClientMessage(playerid,-1,"Blisko!");} } for(new i=0; i<asd1/2; i++) { if(IsPlayerInRangeOfPoint(playerid,10.0,Area_Table[id][areamaxX]-(i*2),Area_Table[id][areamaxY],asd[2])){ CreateDynamicObject(1318,Area_Table[id][areamaxX]-(i*2),Area_Table[id][areamaxY],asd[2],0,0,0); SendClientMessage(playerid,-1,"Blisko!");} } for(new i=0; i<asd3/2; i++) { if(IsPlayerInRangeOfPoint(playerid,10.0,Area_Table[id][areamaxX],Area_Table[id][areaminY]+(i*2),asd[2])){ CreateDynamicObject(1318,Area_Table[id][areamaxX],Area_Table[id][areaminY]+(i*2),asd[2],0,0,0); SendClientMessage(playerid,-1,"Blisko!");} } } return 1; }