31.08.2015, 18:17
(
Последний раз редактировалось Logofero; 31.08.2015 в 18:21.
Причина: Add destroy for Disconnected
)
Ok. Im show you method make/upd/destroy text label and you will modify it
Give code:
Give code:
PHP код:
// Init Text Labels
new Text3D:p_dmgstatus[MAX_PLAYERS] = {INVALID_3DTEXT_ID, ...};
public OnPlayerSpawn(playerid) {
// Create damage status ---------------------------------------------------------
// Delete OLD Text Label
if (Text3D:p_dmgstatus[playerid] != Text3D:INVALID_3DTEXT_ID) {
Delete3DTextLabel(Text3D:p_dmgstatus[playerid]);
p_dmgstatus[playerid] = Text3D:INVALID_3DTEXT_ID;
}
p_dmgstatus[playerid] = Text3D:Create3DTextLabel("(( Damage status ))", 0xAAAAAAAA, 0.0, 0.0, 0.0, 0.0, 0, 0);
if (Text3D:p_dmgstatus[playerid]) Attach3DTextLabelToPlayer(Text3D:p_dmgstatus[playerid], playerid, 0.0, 0.0, 0.4);
// EOF Create damage status ---------------------------------------------------------
return true;
}
public OnPlayerDeath(playerid, killerid, reason) {
// Update danage status ---------------------------------------------------------
new
msg[256]
;
if (killerid != INVALID_PLAYER_ID) {
new
kname[MAX_PLAYER_NAME]
;
GetPlayerName(killerid, kname, sizeof(kname));
format(msg, sizeof(msg), "<Is Killed %s(%d)>", kname, killerid);
} else {
msg = "<Is dead>";
}
Update3DTextLabelText(Text3D:p_dmgstatus[playerid], 0xFFFF00AA, msg);
// EOF Update danage status ---------------------------------------------------------
return true;
}
public OnPlayerDisconnect(playerid, reason) {
// Destroy Text Label ---------------------------------------------------------
if (Text3D:p_dmgstatus[playerid] != Text3D:INVALID_3DTEXT_ID) {
Delete3DTextLabel(Text3D:p_dmgstatus[playerid]);
p_dmgstatus[playerid] = Text3D:INVALID_3DTEXT_ID;
}
// EOF Destroy Text Label ---------------------------------------------------------
return true;
}