GetDistanceBetweenPlayers +rep -
SnG.Scot_MisCuDI - 10.03.2012
pawn Код:
forward Float:GetDistanceBetweenPlayers(p1,p2);
pawn Код:
stock Float:GetDistanceBetweenPlayers(p1,p2){
new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x3,y3,z3);
return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2));
}
pawn Код:
CMD:i( playerid, params[ ] )
{
new ID, string[ 128 ], string2[ 128 ], name[ MAX_PLAYER_NAME ];
new Float:Distance = GetDistanceBetweenPlayers(playerid,ID);
if( sscanf( params, "u", ID ) ) return SendClientMessage( playerid, COLOR_WHITE, "USAGE: /i [id]" );
if( IsPlayerConnected( ID ) == 0) return SendClientMessage( playerid, COLOR_RED, "Player is not connected!" );
GetPlayerName( ID, name, MAX_PLAYER_NAME );
new carid = GetPlayerVehicleID( ID );
TextDrawShowForPlayer( playerid, info1 );
TextDrawShowForPlayer( playerid, info0 );
if( !IsPlayerInAnyVehicle( ID ) )
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%0.2f~n~~g~Vehicle:~w~On Foot", name, ID, ReturnPlayerZone( ID ), Distance );
}
else
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%0.2f~n~~g~Vehicle:~w~%s", name, ID, ReturnPlayerZone( ID ), Distance, VehicleNames[ GetVehicleModel( carid ) - 400 ] );
}
TextDrawSetString( info1, string );
return 1;
}
Its only showing the distance between you and id 0 no matter what id you put in:
http://i.imgur.com/qYr2Q.jpg
Re: GetPlayerDistanceFromPoint -
IstuntmanI - 10.03.2012
Код:
new Float:X, Float:Y, Float:Z;
GetPlayerPos( ID, X, Y, Z );
and use
Код:
GetPlayerDistanceFromPoint( playerid, X, Y, Z );
Re: GetPlayerDistanceFromPoint -
Konstantinos - 10.03.2012
Don't use 256 for string value when the max on SA-MP is 128.
Max Name Length is 20, not 60.
pawn Код:
CMD:i( playerid, params[ ] )
{
new ID, string[ 128 ], string2[ 128 ], name[ MAX_PLAYER_NAME ], Float:p_x, Float:p_y, Float:p_z;
if( sscanf( params, "u", ID ) ) return SendClientMessage( playerid, COLOR_WHITE, "USAGE: /i [id]" );
if( IsPlayerConnected( ID ) == 0) return SendClientMessage( playerid, COLOR_RED, "Player is not connected!" );
GetPlayerName( ID, name, MAX_PLAYER_NAME );
GetPlayerPos( ID, p_x, p_y, p_z );
// Do Something;
GetPlayerDistanceFromPoint( ID, p_x, p_y, p_z );
new carid = GetPlayerVehicleID( ID );
TextDrawShowForPlayer( playerid, text44 );
TextDrawShowForPlayer( playerid, text45 );
TextDrawShowForPlayer( playerid, PCBOX );
if( !IsPlayerInAnyVehicle( ID ) )
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Money:~w~%d~n~~g~Wanted Level:~w~%d~n~~g~Drive:~w~none", name, ID, ReturnPlayerZone( ID ), GetPlayerMoney( ID ), GetPlayerWantedLevel( ID ) );
}
else
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Wanted Level:~w~%d~n~~g~Vehicle:~w~%s", name, ID, ReturnPlayerZone( ID ), GetPlayerWantedLevel( ID ), VehicleNames[ GetVehicleModel( carid ) - 400 ] );
}
TextDrawSetString( text44, string );
format( string2, 128, "~n~~n~~n~~n~~n~~n~~n~~w~Type ~r~~h~LMB ~w~For Hide These~n~~w~Boxes!" );
TextDrawSetString( text45, string2 );
return 1;
}
Re: GetPlayerDistanceFromPoint -
SnG.Scot_MisCuDI - 10.03.2012
pawn Код:
CMD:i( playerid, params[ ] )
{
new ID, string[ 128 ], string2[ 128 ], name[ MAX_PLAYER_NAME ];
new Float:Distance = GetDistanceBetweenPlayers(playerid,ID);
if( sscanf( params, "u", ID ) ) return SendClientMessage( playerid, COLOR_WHITE, "USAGE: /i [id]" );
if( IsPlayerConnected( ID ) == 0) return SendClientMessage( playerid, COLOR_RED, "Player is not connected!" );
GetPlayerName( ID, name, MAX_PLAYER_NAME );
new carid = GetPlayerVehicleID( ID );
TextDrawShowForPlayer( playerid, text44 );
TextDrawShowForPlayer( playerid, text45 );
TextDrawShowForPlayer( playerid, PCBOX );
if( !IsPlayerInAnyVehicle( ID ) )
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%s~n~~g~Vehicle:~w~On Foot", name, ID, ReturnPlayerZone( ID ), Distance );
}
else
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%s~n~~g~Vehicle:~w~%s", name, ID, ReturnPlayerZone( ID ), Distance, VehicleNames[ GetVehicleModel( carid ) - 400 ] );
}
TextDrawSetString( text44, string );
format( string2, 128, "~n~~n~~n~~n~~n~~n~~n~~w~Type ~r~~h~LMB ~w~For Hide These~n~~w~Boxes!" );
TextDrawSetString( text45, string2 );
return 1;
}
Updated to this but shows
http://i.imgur.com/D9O2p.jpg
Re: GetPlayerDistanceFromPoint -
SnG.Scot_MisCuDI - 10.03.2012
double post ;S
Re: GetPlayerDistanceFromPoint -
[ABK]Antonio - 10.03.2012
Use %0.2f instead of %s on the distance
Re: GetPlayerDistanceFromPoint -
SnG.Scot_MisCuDI - 10.03.2012
i did and still same thing.
Look at the first code i posted i changed it
Re: GetPlayerDistanceFromPoint -
eesh - 11.03.2012
pawn Код:
CMD:i( playerid, params[ ] )
{
new ID, string[ 128 ], string2[ 128 ], name[ MAX_PLAYER_NAME ];
if( sscanf( params, "u", ID ) ) return SendClientMessage( playerid, COLOR_WHITE, "USAGE: /i [id]" );// you had this after using GetDistance
new Float:Distance = GetDistanceBetweenPlayers(playerid,ID);
if( IsPlayerConnected( ID ) == 0) return SendClientMessage( playerid, COLOR_RED, "Player is not connected!" );
GetPlayerName( ID, name, MAX_PLAYER_NAME );
new carid = GetPlayerVehicleID( ID );
TextDrawShowForPlayer( playerid, info1 );
TextDrawShowForPlayer( playerid, info0 );
if( !IsPlayerInAnyVehicle( ID ) )
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%0.2f~n~~g~Vehicle:~w~On Foot", name, ID, ReturnPlayerZone( ID ), Distance );
}
else
{
format( string, 128, "~y~Player Info: ~r~~h~%s[%d]~n~~n~~g~Location:~w~%s~n~~g~Distance:~w~%0.2f~n~~g~Vehicle:~w~%s", name, ID, ReturnPlayerZone( ID ), Distance, VehicleNames[ GetVehicleModel( carid ) - 400 ] );
}
TextDrawSetString( info1, string );
return 1;
}
Re: GetPlayerDistanceFromPoint -
SnG.Scot_MisCuDI - 11.03.2012
i would rep you if i could :S