-WorcOut-
«I'am WorcOut» ♫
Автор: -WorcOut-
Время Работы: 20 - 30 минут
Минусы координаты не подбирал 100% по высоте
Сделал только на примере одной обр.
К переменным добавим
Далее в public OnPlayerConnect(playerid) добавляем
в public OnPlayerDisconnect(playerid, reason) ДОБАВИМ
Далее в OnPlayerClickPlayerTextDraw
и команду
Время Работы: 20 - 30 минут
Минусы координаты не подбирал 100% по высоте
Сделал только на примере одной обр.
К переменным добавим
PHP:
new PlayerText:_fences[MAX_PLAYERS][28];
// сами ТD
new bproverka[MAX_PLAYERS];
// благодаря этой переменной мы можем сделать все одной командой(поставить и убрать)
new block[MAX_PLAYERS];
// переменная хранящая объект блока
new Text3D:blocktext[MAX_PLAYERS];
PHP:
bproverka[playerid] = 0;
// задаем каждому присоединенному пользователю значение что он не ставил блок
//--------------------------------------------------------------------------
_fences[playerid][0] = CreatePlayerTextDraw(playerid, 648.559265, 357.333374, !"usebox");
PlayerTextDrawLetterSize(playerid, _fences[playerid][0], 0.000000, 1.109256);
PlayerTextDrawTextSize(playerid, _fences[playerid][0], -2.937042, 0.000000);
PlayerTextDrawAlignment(playerid, _fences[playerid][0], 1);
PlayerTextDrawColor(playerid, _fences[playerid][0], 0);
PlayerTextDrawUseBox(playerid, _fences[playerid][0], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][0], -5963521);
PlayerTextDrawSetShadow(playerid, _fences[playerid][0], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][0], 0);
PlayerTextDrawFont(playerid, _fences[playerid][0], 0);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][0], 19132);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][0], 0.000000, 0.000000, 90.000000, 1.000000);
_fences[playerid][1] = CreatePlayerTextDraw(playerid, 647.153686, 365.500061, !"usebox");
PlayerTextDrawLetterSize(playerid, _fences[playerid][1], 0.000000, 0.172962);
PlayerTextDrawTextSize(playerid, _fences[playerid][1], -2.937042, 0.000000);
PlayerTextDrawAlignment(playerid, _fences[playerid][1], 1);
PlayerTextDrawColor(playerid, _fences[playerid][1], 0);
PlayerTextDrawUseBox(playerid, _fences[playerid][1], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][1], 102);
PlayerTextDrawSetShadow(playerid, _fences[playerid][1], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][1], 0);
PlayerTextDrawFont(playerid, _fences[playerid][1], 0);
_fences[playerid][2] = CreatePlayerTextDraw(playerid, 643.405517, 371.916656, !"usebox");
PlayerTextDrawLetterSize(playerid, _fences[playerid][2], 0.000000, 7.787588);
PlayerTextDrawTextSize(playerid, _fences[playerid][2], -2.468521, 0.000000);
PlayerTextDrawAlignment(playerid, _fences[playerid][2], 1);
PlayerTextDrawColor(playerid, _fences[playerid][2], 0);
PlayerTextDrawUseBox(playerid, _fences[playerid][2], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][2], 151587327);
PlayerTextDrawSetShadow(playerid, _fences[playerid][2], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][2], 0);
PlayerTextDrawFont(playerid, _fences[playerid][2], 0);
_fences[playerid][3] = CreatePlayerTextDraw(playerid, 273.148315, 356.999969, !"YC¦A®O‹KA O—’EK¦A");
PlayerTextDrawLetterSize(playerid, _fences[playerid][3], 0.211522, 1.104166);
PlayerTextDrawAlignment(playerid, _fences[playerid][3], 1);
PlayerTextDrawColor(playerid, _fences[playerid][3], -1);
PlayerTextDrawSetShadow(playerid, _fences[playerid][3], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][3], 0);
PlayerTextDrawBackgroundColor(playerid, _fences[playerid][3], 51);
PlayerTextDrawFont(playerid, _fences[playerid][3], 2);
PlayerTextDrawSetProportional(playerid, _fences[playerid][3], 1);
_fences[playerid][4] = CreatePlayerTextDraw(playerid, 11.713029, 372.166656, !"LD_SPAC:white");
_fences[playerid][5] = CreatePlayerTextDraw(playerid, 100.795013, 372.000030, !"LD_SPAC:white");
_fences[playerid][6] = CreatePlayerTextDraw(playerid, 191.282562, 371.833282, !"LD_SPAC:white");
_fences[playerid][7] = CreatePlayerTextDraw(playerid, 561.008911, 371.666625, !"LD_SPAC:white");
_fences[playerid][8] = CreatePlayerTextDraw(playerid, 471.584075, 372.083343, !"LD_SPAC:white");
_fences[playerid][9] = CreatePlayerTextDraw(playerid, 382.159454, 371.916656, !"LD_SPAC:white");
for(new d = 4; d < 10; d++)
{
PlayerTextDrawLetterSize(playerid, _fences[playerid][d], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][d], 66.061492, 69.416625);
PlayerTextDrawAlignment(playerid, _fences[playerid][d], 1);
PlayerTextDrawColor(playerid, _fences[playerid][d], -5963521);
PlayerTextDrawSetShadow(playerid, _fences[playerid][d], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][d], 0);
PlayerTextDrawFont(playerid, _fences[playerid][d], 4);
}
_fences[playerid][10] = CreatePlayerTextDraw(playerid, 12.244510, 373.166656, !"LD_SPAC:white");
_fences[playerid][11] = CreatePlayerTextDraw(playerid, 101.795013, 372.999969, !"LD_SPAC:white");
_fences[playerid][12] = CreatePlayerTextDraw(playerid, 192.282546, 372.833190, !"LD_SPAC:white");
_fences[playerid][13] = CreatePlayerTextDraw(playerid, 383.033843, 373.249847, !"LD_SPAC:white");
_fences[playerid][14] = CreatePlayerTextDraw(playerid, 472.584564, 373.083251, !"LD_SPAC:white");
_fences[playerid][15] = CreatePlayerTextDraw(playerid, 562.135192, 372.916625, !"LD_SPAC:white");
for(new d = 10; d < 16; d++)
{
PlayerTextDrawLetterSize(playerid, _fences[playerid][d], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][d], 64.187408, 67.083282);
PlayerTextDrawAlignment(playerid, _fences[playerid][d], 1);
PlayerTextDrawColor(playerid, _fences[playerid][d], 151587327);
PlayerTextDrawUseBox(playerid, _fences[playerid][d], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][d], 255);
PlayerTextDrawSetShadow(playerid, _fences[playerid][d], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][d], 0);
PlayerTextDrawFont(playerid, _fences[playerid][d], 4);
PlayerTextDrawSetSelectable(playerid, _fences[playerid][d], true);
}
_fences[playerid][16] = CreatePlayerTextDraw(playerid, 270.400024, 373.166503, !"‹‘—…P…¦E O—’EK¦ ѓ‡• YC¦A®O‹K…");
_fences[playerid][17] = CreatePlayerTextDraw(playerid, 285.924133, 385.249755, !"ЊOC‡E ЊO¦‹EPѓ…¦E E‚O");
for(new d = 16; d < 18; d++)
{
PlayerTextDrawLetterSize(playerid, _fences[playerid][d], 0.141712, 0.958332);
PlayerTextDrawAlignment(playerid, _fences[playerid][d], 1);
PlayerTextDrawColor(playerid, _fences[playerid][d], -1);
PlayerTextDrawSetShadow(playerid, _fences[playerid][d], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][d], 0);
PlayerTextDrawBackgroundColor(playerid, _fences[playerid][d], 51);
PlayerTextDrawFont(playerid, _fences[playerid][d], 2);
PlayerTextDrawSetProportional(playerid, _fences[playerid][d], 1);
}
_fences[playerid][18] = CreatePlayerTextDraw(playerid, 287.735107, 410.499969, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][18], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][18], 69.341140, 13.416640);
PlayerTextDrawAlignment(playerid, _fences[playerid][18], 1);
PlayerTextDrawColor(playerid, _fences[playerid][18], -5963521);
PlayerTextDrawSetShadow(playerid, _fences[playerid][18], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][18], 0);
PlayerTextDrawFont(playerid, _fences[playerid][18], 4);
_fences[playerid][19] = CreatePlayerTextDraw(playerid, 288.735107, 411.499969, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][19], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][19], 67.467056, 11.083304);
PlayerTextDrawAlignment(playerid, _fences[playerid][19], 1);
PlayerTextDrawColor(playerid, _fences[playerid][19], 151587871);
PlayerTextDrawUseBox(playerid, _fences[playerid][19], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][19], 255);
PlayerTextDrawSetShadow(playerid, _fences[playerid][19], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][19], 0);
PlayerTextDrawFont(playerid, _fences[playerid][19], 4);
PlayerTextDrawSetSelectable(playerid, _fences[playerid][19], true);
_fences[playerid][20] = CreatePlayerTextDraw(playerid, 309.287567, 411.083282, !"Close");
PlayerTextDrawLetterSize(playerid, _fences[playerid][20], 0.211522, 1.104166);
PlayerTextDrawAlignment(playerid, _fences[playerid][20], 1);
PlayerTextDrawColor(playerid, _fences[playerid][20], -1);
PlayerTextDrawSetShadow(playerid, _fences[playerid][20], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][20], 0);
PlayerTextDrawBackgroundColor(playerid, _fences[playerid][20], 51);
PlayerTextDrawFont(playerid, _fences[playerid][20], 2);
PlayerTextDrawSetProportional(playerid, _fences[playerid][20], 1);
_fences[playerid][21] = CreatePlayerTextDraw(playerid, 9.838945, 373.333343, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][21], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][21], 67.467056, 70.000000);
PlayerTextDrawAlignment(playerid, _fences[playerid][21], 1);
PlayerTextDrawColor(playerid, _fences[playerid][21], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][21], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][21], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][21], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][21], 0);
PlayerTextDrawFont(playerid, _fences[playerid][21], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][21], 1228);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][21], 0.000000, 0.000000, 90.000000, 1.000000);
_fences[playerid][22] = CreatePlayerTextDraw(playerid, 99.326492, 371.000000, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][22], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][22], 68.404098, 72.916687);
PlayerTextDrawAlignment(playerid, _fences[playerid][22], 1);
PlayerTextDrawColor(playerid, _fences[playerid][22], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][22], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][22], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][22], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][22], 0);
PlayerTextDrawFont(playerid, _fences[playerid][22], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][22], 1422);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][22], 0.000000, 0.000000, 60.000000, 1.000000);
_fences[playerid][23] = CreatePlayerTextDraw(playerid, 189.751098, 369.250000, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][23], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][23], 69.341125, 76.416687);
PlayerTextDrawAlignment(playerid, _fences[playerid][23], 1);
PlayerTextDrawColor(playerid, _fences[playerid][23], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][23], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][23], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][23], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][23], 0);
PlayerTextDrawFont(playerid, _fences[playerid][23], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][23], 1423);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][23], 0.000000, 0.000000, 0.000000, 1.000000);
_fences[playerid][24] = CreatePlayerTextDraw(playerid, 381.376281, 371.000000, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][24], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][24], 67.935577, 74.083312);
PlayerTextDrawAlignment(playerid, _fences[playerid][24], 1);
PlayerTextDrawColor(playerid, _fences[playerid][24], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][24], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][24], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][24], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][24], 0);
PlayerTextDrawFont(playerid, _fences[playerid][24], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][24], 1434);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][24], 0.000000, 0.000000, 0.000000, 1.000000);
_fences[playerid][25] = CreatePlayerTextDraw(playerid, 370.600280, 184.916656, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][25], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][25], -11.713012, -0.583312);
PlayerTextDrawAlignment(playerid, _fences[playerid][25], 1);
PlayerTextDrawColor(playerid, _fences[playerid][25], -1);
PlayerTextDrawSetShadow(playerid, _fences[playerid][25], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][25], 0);
PlayerTextDrawFont(playerid, _fences[playerid][25], 4);
_fences[playerid][26] = CreatePlayerTextDraw(playerid, 469.458221, 372.166656, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][26], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][26], 66.998504, 73.500000);
PlayerTextDrawAlignment(playerid, _fences[playerid][26], 1);
PlayerTextDrawColor(playerid, _fences[playerid][26], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][26], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][26], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][26], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][26], 0);
PlayerTextDrawFont(playerid, _fences[playerid][26], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][26], 2773);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][26], 0.000000, 0.000000, 90.000000, 1.000000);
_fences[playerid][27] = CreatePlayerTextDraw(playerid, 560.351440, 369.833312, !"LD_SPAC:white");
PlayerTextDrawLetterSize(playerid, _fences[playerid][27], 0.000000, 0.000000);
PlayerTextDrawTextSize(playerid, _fences[playerid][27], 69.809631, 76.416687);
PlayerTextDrawAlignment(playerid, _fences[playerid][27], 1);
PlayerTextDrawColor(playerid, _fences[playerid][27], -1);
PlayerTextDrawUseBox(playerid, _fences[playerid][27], true);
PlayerTextDrawBoxColor(playerid, _fences[playerid][27], 0);
PlayerTextDrawSetShadow(playerid, _fences[playerid][27], 0);
PlayerTextDrawSetOutline(playerid, _fences[playerid][27], 0);
PlayerTextDrawFont(playerid, _fences[playerid][27], 5);
PlayerTextDrawSetPreviewModel(playerid, _fences[playerid][27], 1237);
PlayerTextDrawSetPreviewRot(playerid, _fences[playerid][27], 0.000000, 0.000000, 0.000000, 1.000000);
PHP:
if(bproverka[playerid] == 1)
// проверяем при отсоединении пользователя ставил ли пользователь блок если да то
{
Delete3DTextLabel(Text3D:blocktext[playerid]);
// удаляем текстдрав с его id над блоком
DestroyObject(block[playerid]);
// удаляем сам блок
}
PHP:
if(playertextid == _fences [playerid] [10] )
{
//if(Сама проверка) return SendClientMessage( playerid, цвет, ...);
// проверяем полицейский ли
if( bproverka [playerid] == 0 )
// если не поставлено блока то
{
if(IsPlayerInAnyVehicle ( playerid ) )
return SendClientMessage ( playerid , -1 , !" Ошибка: нельзя использовать в машине. " ) ;
// проверяем игрока в интерере, если да то возвращаем ему сообщение
if(GetPlayerVirtualWorld(playerid) != 0 || GetPlayerInterior(playerid) != 0)
return SendClientMessage ( playerid , -1 , !" Ошибка: Данную команду нельзя использовать в интерьере. " );
// проверяем игрока в машине, если да то возвращаем ему сообщение
new
Float:blok_x ,
Float:blok_y,
Float:blok_z,
Float:blok_a;
// вводим переменные координат
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 6.1, 0, 0, 0, 0, 0,1);
// анимация игрока когда он устанавливает блок
GetPlayerPos ( playerid , blok_x , blok_y , blok_z ) ;
// возвращает нам координаты пользователя
GetPlayerFacingAngle ( playerid , blok_a ) ;
// эта функция возвращает нам угол поворота игрока
static const ograda [] = "%i" ;
new str_ograda [ sizeof ( ograda ) - 2 + 4 ] ;
format( str_ograda , sizeof ( str_ograda ), ograda , playerid);
// форматируем вывод id над блоком
blocktext[playerid] = Create3DTextLabel ( str_ograda , 0x33AAFFFF , blok_x , blok_y , blok_z + 0.5 , 30.0 , 0,1 ) ;
// создаем текстдрав id игрока над блоком
// В зависимости от угла поворота ставиться блок
if ( blok_a <= 45.00 || blok_a > 300.00 )
block[playerid] = CreateObject( 1228 , blok_x , blok_y + 0.7 , blok_z - 1 , 0 , 0 , blok_a ) ;
if ( blok_a > 45.00 && blok_a <= 120.00 )
block[playerid] = CreateObject( 1228, blok_x - 0.7 , blok_y , blok_z - 1 , 0 , 0 , blok_a ) ;
if ( blok_a > 120.00 && blok_a <= 220.00 )
block[playerid] = CreateObject( 1228 , blok_x , blok_y - 0.7 , blok_z -1 , 0 , 0 , blok_a ) ;
if (blok_a > 220.00 && blok_a <= 300.00)
block[playerid] = CreateObject( 1228 , blok_x + 0.7 , blok_y , blok_z - 1 , 0 , 0 , blok_a ) ;
bproverka[playerid] = 1;
// наша переменная которая отвечает за то, что блок установлен или нет(ставим 1 значит да)
SendClientMessage( playerid , 0x808080FF , !"Блок установлен" ) ;
// выводим сообщение о том, что все успешно
return 1; // возвращаем 1
}
else if(bproverka[playerid] == 1 )
// если блок поставлен то
{
Delete3DTextLabel( Text3D:blocktext[playerid] ) ;
// удаляем текстдрав id игрока над блоком
DestroyObject ( block[playerid] ) ;
// удаляем сам блок
bproverka [playerid] = 0;
// ставим значение 0 (значит, что блок не установлен)
SendClientMessage ( playerid , 0x808080FF , !"Блок убран" ) ;
// выводим сообщение о том что блок успешно убран
return 1;
// возвращаем 1
}
}
if(playertextid == _fences [playerid] [19] )
{
for ( new i = 0 ; i < 27 ; i++ ) PlayerTextDrawHide ( playerid , _fences [ playerid ] [ i ] );
// Показываем TextDraw Игроку.
return 1;
// возвращаем 1
}
PHP:
CMD:blok(playerid)
{
for ( new i = 0 ; i < 27 ; i++ ) PlayerTextDrawShow ( playerid , _fences [ playerid ] [ i ] ) ;
// Показываем TextDraw Игроку.
SelectTextDraw ( playerid , 0x00000033 ) ;
return 1;
}
Вложения
-
71.6 KB Просмотры: 100
Последнее редактирование:
