Attaching 3DTextLabel to player
#1

Look at this CODE:
Код:
[ pawn]
#define geel 0xffff00ff      // color yelow
new Text3D:LabelA[MAX_PLAYERS], Controle_Timer[MAX_PLAYERS], Float:B = 1.0, Float:C, Float:D, Float:E, Float:G, TEXT[64+1];

stock PlayerLabel(Text3D:id[], playerid, text[], color, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:OffsetDrawDistance, virtualworld, testLOS=0)
{
	Delete3DTextLabel(id[playerid]);
	
	format(TEXT, sizeof(TEXT), "%s", text);
	
	LabelA[playerid] = Create3DTextLabel(TEXT, color, OffsetX, OffsetY, OffsetZ, OffsetDrawDistance, virtualworld, testLOS);
}

public OnPlayerConnect(playerid)       // Or on public OnPlayerSpawn(playerid)
{
	MKxXx_Create_3DText(playerid);
	Controle_Timer[playerid] = SetTimer("Controle", 50, true);
}

public OnPlayerDisconnect(playerid, reason)
{
	KillTimer(Controle_Timer[playerid]);
	MKxXx_Delete_3DText(playerid);
}

MKxXx_Create_3DText(playerid)
{
	new Level1[15], Level0 = APlayerData[playerid][XPLevel];// I use APlayerData[playerid][XPLevel] not for admin level, but for XP LEVEL. And Get/SetPlayerScore(playerid) I use for XP Points. On 100 XP Points you get 1 XP Level up.

	GetPlayerName(playerid, playername, sizeof(playername));
	GetPlayerPos(playerid,C,D,E);

	G = E + B;

        format(Level1, sizeof(Level1), "%s, Level : %d", playername, Level0);
		
	LabelA[playerid] = Create3DTextLabel(Level1,geel,C,D,G,100.0,0,0);
	
	return 1;
}

MKxXx_Update_3DText(playerid)
{
	new Level1[79], Level0 = APlayerData[playerid][XPLevel];

	GetPlayerName(playerid, playername, sizeof(playername));
	GetPlayerPos(playerid,C,D,E);

	G = E + B;

	if(!IsPlayerNPC(playerid))
	{
     		format(Level1, sizeof(Level1), "%s, Level : %d", playername, Level0);
		PlayerLabel(LabelA[playerid], playerid, Level1, geel, C, D, G, 100.0, 0, 0);
		
	}
	return 1;
}

MKxXx_Delete_3DText(playerid)
{
	Delete3DTextLabel(LabelA[playerid]);
	return 1;
}

forward Controle(playerid);
public Controle(playerid)
{
	MKxXx_Update_3DText(playerid);
}
[/pawn]
I did try and it works fine with me, but not on a other Text3D:labelname[playerid]. Then you have to make the same thing but with a other Text3D:labelname[MAX-PLAYERS] and with other name for PlayerLabel().

Geeting from Marco Koobs(MKxXx)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)