Каким образом происходит отображение 3D текста конкретно для одного игрока? Над всеми игроками отображает имя и ID. А как сделать еще отображение здоровья для администраторов? Использую streamer.
Код покажи: как создаёшь, как применяешь..
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Параметр playerid в функции CreateDynamic3DTextLabel обозначает для какого игрока этот 3D текст будет создан. То есть для кого он будет виден. Параметр attachedplayer обозначает к какому игроку этот 3D текст будет прикреплён.
Использовать одинаковые имена для названия параметра и переменной можно, главное проследить чтобы значение переменной было нужным.
PHP код:
public OnPlayerSpawn(playerid)
{
/*Есть проверка на одно выполнение*/
HUD3D[playerid] = CreateDynamic3DTextLabel("•", -1, 0.0, 0.0, 0.05, 25, .playerid = playerid, .attachedplayer = playerid);
return 1;
}
public OnPlayerUpdate(playerid)
{
if(hud_watch{playerid} == 0)
format(string, sizeof string, str, name, playerid);
else
format(string_hud, sizeof string_hud, str_hud, name, playerid, health);
UpdateDynamic3DTextLabelText(HUD3D[playerid], 0xFFFFFF00, string_hud);
return 1;
}
А если переделать код без этих выкрутасов он так же не будет работать?)Код:HUD3D[playerid] = CreateDynamic3DTextLabel("•", -1, 0.0, 0.0, 0.05, 25, .playerid = playerid, .attachedplayer = playerid);
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Возможные причины:
1. hud_watch{playerid} всегда равно 0
2. Содержимое str_hud пустое.
Просто проверь строку, которую ты передаёшь в UpdateDynamic3DTextLabelText.
- Есть команда по изменению значения hud_watch{playerid}. Я использую один массив. Это в примере накасячил );
PHP код:
public OnPlayerUpdate(playerid)
{
if(hud_watch{playerid} == 0)
format(string_hud, sizeof string_hud, str, name, playerid);
else
format(string_hud, sizeof string_hud, str_hud, name, playerid, health);
UpdateDynamic3DTextLabelText(HUD3D[playerid], 0xFFFFFF00, string_hud);
return 1;
}
- Строки st и str_hud есть
Вот полный код:
- - - Добавлено - - -PHP код:
public OnPlayerUpdate(playerid)
{
static const
str[] = "%s (%i)",
str_hud[] = "%s (%i) | %.0fHP";
new
Float:health,
string_hud[sizeof str_hud+MAX_PLAYER_NAME+4+3-2*3];
if(hud_watch{playerid} == 0)
format(string_hud, sizeof string_hud, str, pInfo[playerid][pName], playerid);
else
{
GetPlayerHealth(playerid, health);
format(string_hud, sizeof string_hud, str_hud, pInfo[playerid][pName], playerid, health);
}
UpdateDynamic3DTextLabelText(HUD3D[playerid], 0xFFFFFF00, string_hud);
return 1;
}
Компилятор начнет ругаться на неизвестные переменные.
[Anticheat]___Invisible Fly Hack
[Anticheat]____Weapon/Ammo Hack
[Function]______ResetPlayerWeaponSlot
[Function]_______FIX_SetPlayerAmmo
[ServerMod]______TDM | Zombie Apokalypse
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)