<BaRReT[T]>
Новичок
Система слежения в реальном времени со встроенным поиском игроков. Подробнее в видео.
Видео:
ко всем define (0 замените на нужный ID диалога)
Ко всем news
В OnGameModeInit()
В OnPlayerClickTextDraw
В OnDialogResponse
Команда на запуск сканера:
В системе есть пара недоработок, которые собственными силами исправить не смог:
- Возможность заглянуть под текстуры;
- Игрок пропадает во время сканирования (под карту засунул его) и передвигается вместе с камерой, дабы прорисовывалось всё правильно;
Видео:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
ко всем define (0 замените на нужный ID диалога)
HTML:
#define DIALOG_FIND_PLAYERS 0
HTML:
new Text:Textdraw0;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Textdraw3;
new Text:Textdraw4;
new Text:Textdraw5;
new Text:Textdraw6;
new Text:Textdraw7;
new Text:Textdraw8;
new Text:Textdraw9;
new Text:Textdraw10;
new Text:Textdraw11;
new Text:Textdraw12;
new Float:CamPos[MAX_PLAYERS][4];
new Float:OldScanPos[MAX_PLAYERS][3];
HTML:
Textdraw0 = TextDrawCreate(84.000000, 2.000000, "1");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.000000, 50.000000);
TextDrawColor(Textdraw0, -1);
TextDrawSetOutline(Textdraw0, 0);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
TextDrawUseBox(Textdraw0, 1);
TextDrawBoxColor(Textdraw0, 200);
TextDrawTextSize(Textdraw0, -3.000000, 0.000000);
Textdraw1 = TextDrawCreate(644.000000, 382.000000, "1");
TextDrawBackgroundColor(Textdraw1, 255);
TextDrawFont(Textdraw1, 1);
TextDrawLetterSize(Textdraw1, 0.000000, 50.000000);
TextDrawColor(Textdraw1, -1);
TextDrawSetOutline(Textdraw1, 0);
TextDrawSetProportional(Textdraw1, 1);
TextDrawSetShadow(Textdraw1, 1);
TextDrawUseBox(Textdraw1, 1);
TextDrawBoxColor(Textdraw1, 200);
TextDrawTextSize(Textdraw1, 79.000000, 0.000000);
Textdraw2 = TextDrawCreate(642.000000, 2.000000, "1");
TextDrawBackgroundColor(Textdraw2, 255);
TextDrawFont(Textdraw2, 1);
TextDrawLetterSize(Textdraw2, 0.000000, 41.700004);
TextDrawColor(Textdraw2, -1);
TextDrawSetOutline(Textdraw2, 0);
TextDrawSetProportional(Textdraw2, 1);
TextDrawSetShadow(Textdraw2, 1);
TextDrawUseBox(Textdraw2, 1);
TextDrawBoxColor(Textdraw2, 200);
TextDrawTextSize(Textdraw2, 557.000000, 0.000000);
Textdraw3 = TextDrawCreate(562.000000, 2.000000, "1");
TextDrawBackgroundColor(Textdraw3, 255);
TextDrawFont(Textdraw3, 1);
TextDrawLetterSize(Textdraw3, 0.000000, 5.000000);
TextDrawColor(Textdraw3, -1);
TextDrawSetOutline(Textdraw3, 0);
TextDrawSetProportional(Textdraw3, 1);
TextDrawSetShadow(Textdraw3, 1);
TextDrawUseBox(Textdraw3, 1);
TextDrawBoxColor(Textdraw3, 200);
TextDrawTextSize(Textdraw3, 0.000000, 100.000000);
Textdraw4 = TextDrawCreate(105.000000, 390.000000, "F");
TextDrawBackgroundColor(Textdraw4, 255);
TextDrawFont(Textdraw4, 2);
TextDrawLetterSize(Textdraw4, 0.500000, 1.000000);
TextDrawColor(Textdraw4, -1);
TextDrawSetOutline(Textdraw4, 0);
TextDrawSetProportional(Textdraw4, 1);
TextDrawSetShadow(Textdraw4, 1);
TextDrawUseBox(Textdraw4, 1);
TextDrawBoxColor(Textdraw4, -256);
TextDrawTextSize(Textdraw4, 118.000000, 10.000000);
Textdraw5 = TextDrawCreate(105.000000, 420.000000, "B");
TextDrawBackgroundColor(Textdraw5, 255);
TextDrawFont(Textdraw5, 2);
TextDrawLetterSize(Textdraw5, 0.500000, 1.000000);
TextDrawColor(Textdraw5, -1);
TextDrawSetOutline(Textdraw5, 0);
TextDrawSetProportional(Textdraw5, 1);
TextDrawSetShadow(Textdraw5, 1);
TextDrawUseBox(Textdraw5, 1);
TextDrawBoxColor(Textdraw5, -256);
TextDrawTextSize(Textdraw5, 118.000000, 10.000000);
Textdraw6 = TextDrawCreate(85.000000, 405.000000, "L");
TextDrawBackgroundColor(Textdraw6, 255);
TextDrawFont(Textdraw6, 2);
TextDrawLetterSize(Textdraw6, 0.500000, 1.000000);
TextDrawColor(Textdraw6, -1);
TextDrawSetOutline(Textdraw6, 0);
TextDrawSetProportional(Textdraw6, 1);
TextDrawSetShadow(Textdraw6, 1);
TextDrawUseBox(Textdraw6, 1);
TextDrawBoxColor(Textdraw6, 0);
TextDrawTextSize(Textdraw6, 98.000000, 10.000000);
Textdraw7 = TextDrawCreate(125.000000, 405.000000, "R");
TextDrawBackgroundColor(Textdraw7, 255);
TextDrawFont(Textdraw7, 2);
TextDrawLetterSize(Textdraw7, 0.500000, 1.000000);
TextDrawColor(Textdraw7, -1);
TextDrawSetOutline(Textdraw7, 0);
TextDrawSetProportional(Textdraw7, 1);
TextDrawSetShadow(Textdraw7, 1);
TextDrawUseBox(Textdraw7, 1);
TextDrawBoxColor(Textdraw7, 0);
TextDrawTextSize(Textdraw7, 138.000000, 10.000000);
Textdraw8 = TextDrawCreate(143.000000, 390.000000, "1");
TextDrawBackgroundColor(Textdraw8, 255);
TextDrawFont(Textdraw8, 2);
TextDrawLetterSize(Textdraw8, 0.000000, 4.499999);
TextDrawColor(Textdraw8, -1);
TextDrawSetOutline(Textdraw8, 0);
TextDrawSetProportional(Textdraw8, 1);
TextDrawSetShadow(Textdraw8, 1);
TextDrawUseBox(Textdraw8, 1);
TextDrawBoxColor(Textdraw8, 1684301000);
TextDrawTextSize(Textdraw8, 80.000000, 0.000000);
Textdraw9 = TextDrawCreate(155.000000, 390.000000, "Find");
TextDrawBackgroundColor(Textdraw9, 255);
TextDrawFont(Textdraw9, 2);
TextDrawLetterSize(Textdraw9, 0.500000, 1.000000);
TextDrawColor(Textdraw9, -1);
TextDrawSetOutline(Textdraw9, 0);
TextDrawSetProportional(Textdraw9, 1);
TextDrawSetShadow(Textdraw9, 1);
TextDrawUseBox(Textdraw9, 1);
TextDrawBoxColor(Textdraw9, 1684301000);
TextDrawTextSize(Textdraw9, 200.000000, 15.000000);
Textdraw10 = TextDrawCreate(573.000000, 5.000000, "Close");
TextDrawBackgroundColor(Textdraw10, 255);
TextDrawFont(Textdraw10, 2);
TextDrawLetterSize(Textdraw10, 0.500000, 1.000000);
TextDrawColor(Textdraw10, -1);
TextDrawSetOutline(Textdraw10, 0);
TextDrawSetProportional(Textdraw10, 1);
TextDrawSetShadow(Textdraw10, 1);
TextDrawUseBox(Textdraw10, 1);
TextDrawBoxColor(Textdraw10, 1684301000);
TextDrawTextSize(Textdraw10, 636.000000, 15.000000);
Textdraw11 = TextDrawCreate(155.000000, 405.000000, "Zoom +");
TextDrawBackgroundColor(Textdraw11, 255);
TextDrawFont(Textdraw11, 2);
TextDrawLetterSize(Textdraw11, 0.290000, 1.000000);
TextDrawColor(Textdraw11, -1);
TextDrawSetOutline(Textdraw11, 0);
TextDrawSetProportional(Textdraw11, 1);
TextDrawSetShadow(Textdraw11, 1);
TextDrawUseBox(Textdraw11, 1);
TextDrawBoxColor(Textdraw11, 1684301000);
TextDrawTextSize(Textdraw11, 200.000000, 15.000000);
Textdraw12 = TextDrawCreate(155.000000, 421.000000, "Zoom -");
TextDrawBackgroundColor(Textdraw12, 255);
TextDrawFont(Textdraw12, 2);
TextDrawLetterSize(Textdraw12, 0.290000, 1.000000);
TextDrawColor(Textdraw12, -1);
TextDrawSetOutline(Textdraw12, 0);
TextDrawSetProportional(Textdraw12, 1);
TextDrawSetShadow(Textdraw12, 1);
TextDrawUseBox(Textdraw12, 1);
TextDrawBoxColor(Textdraw12, 1684301000);
TextDrawTextSize(Textdraw12, 200.000000, 15.000000);
TextDrawSetSelectable(Textdraw4,true);
TextDrawSetSelectable(Textdraw5,true);
TextDrawSetSelectable(Textdraw6,true);
TextDrawSetSelectable(Textdraw7,true);
TextDrawSetSelectable(Textdraw9,true);
TextDrawSetSelectable(Textdraw10,true);
TextDrawSetSelectable(Textdraw11,true);
TextDrawSetSelectable(Textdraw12,true);
HTML:
if(clickedid == Textdraw4)
{
CamPos[playerid][1] += 30.0;
CamPos[playerid][0] += 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw5)
{
CamPos[playerid][1] -= 30.0;
CamPos[playerid][0] -= 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw6)
{
CamPos[playerid][0] -= 30.0;
CamPos[playerid][1] += 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw7)
{
CamPos[playerid][0] += 30.0;
CamPos[playerid][1] -= 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw10)
{
TextDrawHideForPlayer(playerid,Textdraw0);
TextDrawHideForPlayer(playerid,Textdraw1);
TextDrawHideForPlayer(playerid,Textdraw2);
TextDrawHideForPlayer(playerid,Textdraw3);
TextDrawHideForPlayer(playerid,Textdraw4);
if(clickedid == Textdraw4)
{
CamPos[playerid][1] += 30.0;
CamPos[playerid][0] += 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw5)
{
CamPos[playerid][1] -= 30.0;
CamPos[playerid][0] -= 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw6)
{
CamPos[playerid][0] -= 30.0;
CamPos[playerid][1] += 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw7)
{
CamPos[playerid][0] += 30.0;
CamPos[playerid][1] -= 30.0;
SetPlayerPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][3]);
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw10)
{
TextDrawHideForPlayer(playerid,Textdraw0);
TextDrawHideForPlayer(playerid,Textdraw1);
TextDrawHideForPlayer(playerid,Textdraw2);
TextDrawHideForPlayer(playerid,Textdraw3);
TextDrawHideForPlayer(playerid,Textdraw4);
TextDrawHideForPlayer(playerid,Textdraw5);
TextDrawHideForPlayer(playerid,Textdraw6);
TextDrawHideForPlayer(playerid,Textdraw7);
TextDrawHideForPlayer(playerid,Textdraw8);
TextDrawHideForPlayer(playerid,Textdraw9);
TextDrawHideForPlayer(playerid,Textdraw10);
TextDrawHideForPlayer(playerid,Textdraw11);
TextDrawHideForPlayer(playerid,Textdraw12);
SetCameraBehindPlayer(playerid);
CancelSelectTextDraw(playerid);
TogglePlayerControllable(playerid,1);
SetPlayerPos(playerid,OldScanPos[playerid][0],OldScanPos[playerid][1],OldScanPos[playerid][2]);
}
else if(clickedid == Textdraw11)
{
if(CamPos[playerid][2]-30.0 < 30) CamPos[playerid][2] = 30.0;
else CamPos[playerid][2] -= 30.0;
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw12)
{
if(CamPos[playerid][2]+30.0 > 200) CamPos[playerid][2] = 200.0;
else CamPos[playerid][2] += 30.0;
SetPlayerCameraPos(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,CamPos[playerid][0],CamPos[playerid][1],CamPos[playerid][2]-100,1);
}
else if(clickedid == Textdraw9) ShowPlayerDialog(playerid,DIALOG_FIND_PLAYERS,DIALOG_STYLE_INPUT,"Поиск","Введите ID цели:","Поиск","Отмена");
HTML:
switch(dialogid)
{
case DIALOG_FIND_PLAYERS:
{
if(strval(inputtext) < 0 || strval(inputtext) > MAX_PLAYERS) return ShowPlayerDialog(playerid,DIALOG_FIND_PLAYERS,DIALOG_STYLE_INPUT,"Поиск","Введите ID цели:","Поиск","Отмена");
if(!IsPlayerConnected(strval(inputtext)) || GetPlayerInterior(strval(inputtext)) != GetPlayerInterior(playerid) || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(strval(inputtext))) return SendClientMessage(playerid,-1,"Цель не найдена!");
new Float:x,Float:y,Float:z;
GetPlayerPos(strval(inputtext),x,y,z);
SetPlayerCameraPos(playerid,x,y,CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,x,y,CamPos[playerid][2]-100,1);
}
}ssage(playerid,-1,"Цель не найдена!");
new Float:x,Float:y,Float:z;
GetPlayerPos(strval(inputtext),x,y,z);
SetPlayerCameraPos(playerid,x,y,CamPos[playerid][2]);
SetPlayerCameraLookAt(playerid,x,y,CamPos[playerid][2]-100,1);
}
HTML:
CMD:ascan(playerid,params[])
{
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,Textdraw0);
TextDrawShowForPlayer(playerid,Textdraw1);
TextDrawShowForPlayer(playerid,Textdraw2);
TextDrawShowForPlayer(playerid,Textdraw3);
TextDrawShowForPlayer(playerid,Textdraw4);
TextDrawShowForPlayer(playerid,Textdraw5);
TextDrawShowForPlayer(playerid,Textdraw6);
TextDrawShowForPlayer(playerid,Textdraw7);
TextDrawShowForPlayer(playerid,Textdraw8);
TextDrawShowForPlayer(playerid,Textdraw9);
TextDrawShowForPlayer(playerid,Textdraw10);
TextDrawShowForPlayer(playerid,Textdraw11);
TextDrawShowForPlayer(playerid,Textdraw12);
SelectTextDraw(playerid,0xFF0000FF);
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
OldScanPos[playerid][0] = x;
OldScanPos[playerid][1] = y;
OldScanPos[playerid][2] = z;
SetPlayerPosFindZ(playerid,x,y,z);
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x,y,z-10);
SetPlayerCameraPos(playerid,x,y,z+100);
SetPlayerCameraLookAt(playerid,x,y,z);
CamPos[playerid][0] = x;
CamPos[playerid][1] = y;
CamPos[playerid][2] = z+100;
CamPos[playerid][3] = z-10;
return 1;
}
- Возможность заглянуть под текстуры;
- Игрок пропадает во время сканирования (под карту засунул его) и передвигается вместе с камерой, дабы прорисовывалось всё правильно;
