Darge
Умник
Автор: Darge (Антон Стяжкин - Я).
Описание: функция создает 3D текст над актером.
Параметры: (actorid, bodypart, color, text[], Float
| Параметр: | Обозначение: | Пояснение: |
| actorid | Номер актера | На какого актера будет задействована функция |
| bodypart | Часть тела | Где именно будет показан текст. Если 1, то над головой. Если 2, то по стандарту |
| color | Цвет | Цвет текста |
| text | Текст | - |
| DrawDistance | Дистанция | На каком расстоянии будет виден текст |
| testLOS | Видимость | Если 0, то текст не видно за предметом. Если 1, то за предметом виден текст |
Пример использования:
PHP:
public OnGameModeInit()
{
// ...
// У этого актера текст будет над головой
CreateLableToActor(0, 1, 0xFFFFFFAA, "Актёр № 0", 50.0, 1);
// У этого актера текст будет по стандарту(по середине)
CreateLableToActor(1, 2, 0xFFFFFFAA, "Актёр № 1", 50.0, 1);
return 1;
}
PHP:
stock CreateLableToActor(actorid, bodypart, color, text[], Float:DrawDistance, testLOS=0)
{ // специально для Pawno-Info.Ru \\ by Darge
new
Float: actor_x, Float: actor_y, Float: actor_z, actor_world;
actor_world = GetActorVirtualWorld(actorid);
GetActorPos(actorid, actor_x, actor_y, actor_z);
if(bodypart == 1)
{
Create3DTextLabel(text, color, actor_x, actor_y, actor_z+0.9, DrawDistance, actor_world, testLOS);
}
else if (bodypart == 2)
{
Create3DTextLabel(text, color, actor_x, actor_y, actor_z, DrawDistance, actor_world, testLOS);
}
}
Пример использования:PHP:static FHM3DTextActorID[MAX_3DTEXT_GLOBAL] = {INVALID_ACTOR_ID, ...}; stock Text3D:Create3DTextLabelActor(actorid, text[], color, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:distance = 10.0, worldid = 0, testlos = 0) { new Text3D:text_ID = Text3D:INVALID_3DTEXT_ID; if(IsValidActor(actorid)) { new Float:x, Float:y, Float:z; GetActorPos(actorid, x, y, z),\ text_ID = Create3DTextLabel(text, color, x + fOffsetX, y + fOffsetY, (z + 0.8) + fOffsetZ, distance, worldid, testlos); if(text_ID != Text3D:INVALID_3DTEXT_ID){ FHM3DTextActorID[_:text_ID] = actorid; } } return text_ID; } stock Delete3DTextLabelActor(Text3D:text_ID) { if(text_ID != Text3D:INVALID_3DTEXT_ID) { FHM3DTextActorID[_:text_ID] = INVALID_ACTOR_ID,\ return Delete3DTextLabel(text_ID); } return 0; }
Дальше я думаю не стоит рассказывать.PHP:fhmActor = CreateActor(255, 0.0, 0.0, 10.0, 90.0); fhmCreate3DTextActor = Create3DTextLabelActor(fhmActor, "Привет, мир!", 0xFFFFFFFF, 0.0, 0.0, 0.3, 10.0, 0);
Можешь мой пример тоже в первый пост прикрепить, если хочешь конечно.
Последнее редактирование модератором:
