MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
Lekérdezed egy adott helyen a pozíciót, pl.: GetPlayerPos.
Majd a kapott x illetve y koordinátát behelyettesíted a fenti funkcióba, az vissza fogja adni neked a talaj de lehet az épület z koordináta pontját is.
Ezután tudod kiszámolni mennyi a távolság a talajtól illetve a lekérdezett pozícióhoz képest.
new
Float:x,
Float:y,
Float:z,
Float:mapz;
GetPlayerPos(playerid, x, y, z);
MapAndreas_FindZ_For2DCoord(x, y, mapz);
new Float:eredmeny = floatdiv(z, mapz); // z - mapz = eredmeny
printf(\"%f\", eredmeny);
MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
Lekérdezed egy adott helyen a pozíciót, pl.: GetPlayerPos.
Majd a kapott x illetve y koordinátát behelyettesíted a fenti funkcióba, az vissza fogja adni neked a talaj de lehet az épület z koordináta pontját is.
Ezután tudod kiszámolni mennyi a távolság a talajtól illetve a lekérdezett pozícióhoz képest.
new
Float:x,
Float:y,
Float:z,
Float:mapz;
GetPlayerPos(playerid, x, y, z);
MapAndreas_FindZ_For2DCoord(x, y, mapz);
new Float:eredmeny = floatdiv(z, mapz); // z - mapz = eredmeny
printf(\"%f\", eredmeny);
Rendben! Köszönöm szépen! megnézem.
E: Lehet én csináltam rosszul valamit, de mindig 0 -át ír.
Egy ilyen kis \"scriptel\" is megnéztem itt is:
#include <a_samp>
#include <mapandreas>
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/mycommand\", cmdtext, true, 10) == 0)
{
new Float:x,
Float:y,
Float:z,
Float:mapz;
GetPlayerPos(playerid, x, y, z);
MapAndreas_FindZ_For2DCoord(x, y, mapz);
new Float:eredmeny = floatdiv(z, mapz); // z - mapz = eredmeny
printf(\"%f\", eredmeny);
return 1;
}
return 0;
}
E: megoldottam nem volt az OnFilterScriptInit nél a MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
E2: De valamiért ha a földön állok nem 0 át ír hanem 9 et... ez miért van?.