plakapenka
Специалист
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Привет, форумчане.
Данный урок он больше как идея, т.к. абсолютно ничего сложного в этом нет. А для рп составляющей вполне себе интересно
Опишу суть. В армии есть человек который все время стоит возле двери казармы, отдает воинское приветствие всем кто входи в казарму, а так же кричит команды "Дежурный по роте на выход!" для прапорщиков и выше, и "Смирно!" для командира роты и выше.
Ну что, поехали?
Для начала объявим переменные, которые нам понадобятся.
C++:
new army_actor; // переменная актера дневального
new Text3D:army_actor_text = Text3D:INVALID_3DTEXT_ID; // переменная для 3-д текста над головой
//(у актеров нет чат-бабла (текста над головой когда пишешь в чат), по этому для его имитации у нас будет 3-д текст )
new army_actor_time; // это нам понадобится чтобы удалять этот 3д текст, через время
C++:
army_actor = CreateActor(287, 2531.4487,-1305.2017,2166.6021,95.0); // дневальный
Дальше, ищем пикап входа в казарму, тот который в инт перемещает, и добавляем туда следующее
C++:
army_actor_time = 5; // время в секундах текста над головой
if(pData[playerid][pRank] => 3 && pData[playerid][pRank] < 7)
{
// здесь вам нужно заменить ранги на те что у вас и сами названия переменных с рангами
// вместо 3 поставить ранг прапорщика, а вместо 7 ранг командира роты
ProxDetector(60.0, playerid, " Дневальный кричит: Дежурный по роте на выход!",COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_FADE1,COLOR_FADE2);
if(Text3D:army_actor_text != Text3D:INVALID_3DTEXT_ID) DestroyDynamic3DTextLabel(army_actor_text );
army_actor_text = CreateDynamic3DTextLabel("Дежурный по роте на выход!", 0x6495EDFF, 2531.4487,-1305.2017,2166.6021+1.2, 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID,1,-1);
}
else if(pData[playerid][pRank] =>7)
{
ProxDetector(60.0, playerid, " Дневальный кричит: Смирно!!!",COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_FADE1,COLOR_FADE2);
if(Text3D:army_actor_text != Text3D:INVALID_3DTEXT_ID) DestroyDynamic3DTextLabel(army_actor_text );
army_actor_text = CreateDynamic3DTextLabel("Смирно!!!", 0x6495EDFF, 2531.4487,-1305.2017,2166.6021+1.2, 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID,1,-1);
}
ApplyActorAnimation(army_actor, "VENDING", "VEND_Drink_P",4.1, 0, 1, 1, 1, 1); // Анимация воинского приветсвия
C++:
if(army_actor_time)
{
army_actor_time --;
if(!army_actor_time)
{
ClearActorAnimations(army_actor);
DestroyDynamic3DTextLabel(army_actor_text);
army_actor_text = Text3D:INVALID_3DTEXT_ID;
}
}
Если кто-то подгонит более подходящую анимку -- обновлю. Удачи
Последнее редактирование модератором:
