All pastes #763508 Raw Edit

Infobox by Sandra18[NL]

public text v1 · immutable
·published 2007-11-06 14:57 UTC
rendered paste body
#include <a_samp>

#define COLOR_RED 0xFF0000AA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_LYELLOW 0xFFFF66AA

new Positiemeter[MAX_PLAYERS];
new Text:PositieMeter;

forward Position();

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Infobox By Sandra18[NL]");
	print("--------------------------------------\n");
    SetTimer("Position", 100, 1);
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

main()
{

}

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256], idx;
    cmd = strtok(cmdtext, idx);
    
	if(strcmp(cmd, "/infobox", true) == 0)
	{
		if(Positiemeter[playerid] == 0)
		{
			Positiemeter[playerid] = 1;
			SendClientMessage(playerid, COLOR_GREEN, "Infobox activated!");
		}
		else if(Positiemeter[playerid] == 1)
		{
            Positiemeter[playerid] = 0;
			TextDrawHideForPlayer(playerid, PositieMeter);
			SendClientMessage(playerid, COLOR_RED, "Infobox deactivated!");
		}
		return 1;
	}
	
	return 0;
}


public Position()
{
for(new i = 0; i < MAX_PLAYERS; i++)
    {
		if(IsPlayerConnected(i))
		{
			if(Positiemeter[i] == 1)
			{

				new string[256];
				new Float:X, Float:Y, Float:Z, Float:A;
				new Float:Vhealth;
				new ModelID;
				new Skin;
				new Interior;
				new Float:PlayerHealth;
				new Ping;
				new Pname[MAX_PLAYER_NAME];

				TextDrawDestroy(PositieMeter);
				Ping = GetPlayerPing(i);
				GetPlayerName(i, Pname, sizeof(Pname));
				if(IsPlayerInAnyVehicle(i))
				{
					ModelID = GetVehicleModel(GetPlayerVehicleID(i));
				    GetVehiclePos(GetPlayerVehicleID(i), X, Y, Z);
					GetVehicleZAngle(GetPlayerVehicleID(i), A);
					GetVehicleHealth(GetPlayerVehicleID(i), Vhealth);
                    format(string, sizeof(string), "ID: %d  %s ~n~ ~n~Vehicle-Model: %d ~n~Vehicle-Health: %d~n~X-position: %.3f ~n~Y-position: %.3f ~n~Z-position: %.3f ~n~Angle: %.3f ~n~ ~n~Ping: %d", i, Pname, ModelID, floatround(Vhealth/10), X,Y,Z,A,Ping);
				}
				else
				{
				GetPlayerPos(i, X, Y, Z);
				GetPlayerFacingAngle(i, A);
				Skin = GetPlayerSkin(i);
				Interior = GetPlayerInterior(i);
				GetPlayerHealth(i, Float:PlayerHealth);
				format(string, sizeof(string),"ID: %d  %s ~n~ ~n~Player-Skin: %d ~n~Interior: %d ~n~Player-Health: %d ~n~X-position: %.3f ~n~Y-position: %.3f ~n~Z-position: %.3f ~n~Angle: %.3f ~n~ ~n~Ping: %d", i, Pname, Skin, Interior, floatround(PlayerHealth), X, Y, Z, A, Ping);
				}
				TextDrawHideForPlayer(i, PositieMeter);
				PositieMeter = TextDrawCreate(10, 150, string);
    			TextDrawLetterSize(PositieMeter,0.30,1.0);
				TextDrawTextSize(PositieMeter, 135, 500 );
				TextDrawFont(PositieMeter,1);
				TextDrawColor(PositieMeter, COLOR_LYELLOW);
				TextDrawUseBox(PositieMeter, 1);
				TextDrawBoxColor(PositieMeter, 0x000000AA);
				TextDrawSetOutline(PositieMeter,1);
				TextDrawShowForPlayer(i, PositieMeter);
				return 1;
			}
		}
	}
return 1;
}



strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}