new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
//so now you have stored the player pos in X Y Z float vars
//now you want to find the Z cord from X Y
//using MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
MapAndreas_FindZ_For2DCoord(X,X,Z);
//now variable Z is the right Z cord!
//that means take right Z from given X Y cord
public NewPos(playerid) { if( Zombies[playerid][LastZombieHealth] > 0.0 ) { new Float:x,Float:y,Float:z; new Float:ax,Float:ay,Float:az,Float:dif; GetPlayerPos(Zombies[playerid][ZombieTarget],ax,ay,az); GetPlayerPos(playerid,x,y,z); if( az <= (z+3.0) && az >= (z-3.0)) { if(Zombies[playerid][ZombieRunning] == 1) { ApplyAnimation(playerid,"Muscular","MuscleRun",1,1 ,1,0,0,0); //ApplyAnimation(playerid,"ped","sprint_civi",4.0,1, 1,1,1,0); GetXYInFrontOfPlayer(playerid,x,y,2.0); } else if(Zombies[playerid][ZombieRunning] == 2) { ApplyAnimation(playerid,"Muscular","MuscleSprint", 1,1,1,0,0,0); //ApplyAnimation(playerid,"ped","sprint_civi",4.0,1, 1,1,1,0); GetXYInFrontOfPlayer(playerid,x,y,2.8); } dif = az; SetPlayerPos(playerid,x,y,dif); } else { if(Zombies[playerid][ZombieRunning]) Parar(playerid); GetPlayerPos(playerid,x,y,z); SetPlayerPosFindZ(playerid,x,y,z); } } } |