07.07.2016, 16:06
(
Последний раз редактировалось AbyssMorgan; 07.07.2016 в 18:46.
)
Update v2.6.3:
- Added ColAndreas functions:
- Added Collision Flag definitions:
Video:
https://www.youtube.com/watch?v=dJUQKrBkeY8
Example Command:
Update v2.6.4:
- Added MapAndreas / ColAndreas function:
- Fix missing params bool:interior for:
- Added ColAndreas functions:
PHP код:
GetPlayerCollisionFlags(playerid);
bool:IsCollisionFlag(value,flag);
Float:UndergroundFindZ(Float:x,Float:y,&Float:z=0.0);
Float:InteriorFindZ(Float:px,Float:py,Float:pz=1000.0,Float:size=2.0,&Float:z=0.0);
bool:IsPointInWater(Float:x,Float:y,Float:z=0.0);
bool:IsPointInUnderwater(Float:x,Float:y,Float:z);
bool:IsPointInAir(Float:x,Float:y,Float:z,bool:interior=false,Float:max_distance=2.2);
bool:IsPointInGround(Float:x,Float:y,Float:z,bool:interior=false,Float:max_distance=2.2);
bool:IsPointInUnderground(Float:x,Float:y,Float:z);
PHP код:
POSITION_FLAG_WORLD
POSITION_FLAG_INTERIOR
POSITION_FLAG_AIR
POSITION_FLAG_GROUND
POSITION_FLAG_UNDERGROUND
POSITION_FLAG_WATER
POSITION_FLAG_UNDERWATER
https://www.youtube.com/watch?v=dJUQKrBkeY8
Example Command:
PHP код:
CMD:getz(playerid){
new Float:x,Float:y,Float:z, buffer[128], Float:tmpz;
GetPlayerPos(playerid,x,y,z);
SendClientMessage(playerid,0xFFFFFFFF," ");
format(buffer,sizeof buffer,"Player Z: {00FF00}%.4f",z);
SendClientMessage(playerid,0xFFFFFFFF,buffer);
CA_FindZ_For2DCoord(x,y,tmpz);
format(buffer,sizeof buffer,"CA_FindZ_For2DCoord: {00FF00}%.4f",tmpz);
SendClientMessage(playerid,0xFFFFFFFF,buffer);
UndergroundFindZ(x,y,tmpz);
format(buffer,sizeof buffer,"Underground: {00FF00}%.4f",tmpz);
SendClientMessage(playerid,0xFFFFFFFF,buffer);
InteriorFindZ(x,y,z,2.0,tmpz);
format(buffer,sizeof buffer,"Interior: {00FF00}%.4f",tmpz);
SendClientMessage(playerid,0xFFFFFFFF,buffer);
new flag = GetPlayerCollisionFlags(playerid);
if(IsCollisionFlag(flag,POSITION_FLAG_UNDERWATER)){
format(buffer,sizeof buffer,"Player under water");
} else if(IsCollisionFlag(flag,POSITION_FLAG_WATER)){
format(buffer,sizeof buffer,"Player in water");
} else if(IsCollisionFlag(flag,POSITION_FLAG_AIR)){
format(buffer,sizeof buffer,"Player in air");
} else if(IsCollisionFlag(flag,POSITION_FLAG_UNDERGROUND)){
format(buffer,sizeof buffer,"Player underground");
} else if(IsCollisionFlag(flag,POSITION_FLAG_GROUND)){
format(buffer,sizeof buffer,"Player on ground");
}
if(IsCollisionFlag(flag,POSITION_FLAG_WORLD)){
format(buffer,sizeof buffer,"%s (World)",buffer);
} else if(IsCollisionFlag(flag,POSITION_FLAG_INTERIOR)){
format(buffer,sizeof buffer,"%s (Interior)",buffer);
}
SendClientMessage(playerid,0xFFFFFFFF,buffer);
if(IsPointInWater(x,y)){
SendClientMessage(playerid,0xFFFFFFFF,"This XY point on Water");
} else {
SendClientMessage(playerid,0xFFFFFFFF,"This XY point on Ground");
}
return 1;
}
- Added MapAndreas / ColAndreas function:
PHP код:
bool:IsPointInWaterFrontOfPlayer(playerid,Float:radius);
PHP код:
bool:IsPointInGround(Float:x,Float:y,Float:z,bool:interior=false,Float:max_distance=2.2);
