ReFix™
Специалист
|
| Автор: | ReFix™ |
Для начала мы создадим переменные
PHP:
new Text:TDrecon[22]; //Все TD
new Text:TDrecon1[4][MAX_PLAYERS]; //TD hp,armour,id,name
new RTimer[MAX_PLAYERS];
В public OnPlayerConnect(playerid) вставляем наши TD с hp,armour,id,name
PHP:
TDrecon1[0][playerid] = TextDrawCreate( 11.428565, 162.559997, "_");
TextDrawLetterSize( TDrecon1[0][playerid], 0.129238, 0.755199);
TextDrawAlignment( TDrecon1[0][playerid], 1);
TextDrawColor( TDrecon1[0][playerid], -1);
TextDrawSetShadow( TDrecon1[0][playerid], 0);
TextDrawSetOutline( TDrecon1[0][playerid], 1);
TextDrawBackgroundColor( TDrecon1[0][playerid], 51);
TextDrawFont( TDrecon1[0][playerid], 2);
TextDrawSetProportional( TDrecon1[0][playerid], 1);
TDrecon1[1][playerid] = TextDrawCreate( 59.380931, 179.213317, "_");
TextDrawLetterSize( TDrecon1[1][playerid], 0.129238, 0.755199);
TextDrawAlignment( TDrecon1[1][playerid], 1);
TextDrawColor( TDrecon1[1][playerid], -1);
TextDrawSetShadow( TDrecon1[1][playerid], 0);
TextDrawSetOutline( TDrecon1[1][playerid], 1);
TextDrawBackgroundColor( TDrecon1[1][playerid], 51);
TextDrawFont( TDrecon1[1][playerid], 2);
TextDrawSetProportional( TDrecon1[1][playerid], 1);
TDrecon1[2][playerid] = TextDrawCreate( 59.095211, 190.173309, "_");
TextDrawLetterSize( TDrecon1[2][playerid], 0.129238, 0.755199);
TextDrawAlignment( TDrecon1[2][playerid], 1);
TextDrawColor( TDrecon1[2][playerid], -1);
TextDrawSetShadow( TDrecon1[2][playerid], 0);
TextDrawSetOutline( TDrecon1[2][playerid], 1);
TextDrawBackgroundColor( TDrecon1[2][playerid], 51);
TextDrawFont( TDrecon1[2][playerid], 2);
TextDrawSetProportional( TDrecon1[2][playerid], 1);
TDrecon1[3][playerid] = TextDrawCreate( 29.190469, 169.533325, "_");
TextDrawLetterSize( TDrecon1[3][playerid], 0.129238, 0.755199);
TextDrawAlignment( TDrecon1[3][playerid], 1);
TextDrawColor( TDrecon1[3][playerid], -1);
TextDrawSetShadow( TDrecon1[3][playerid], 0);
TextDrawSetOutline( TDrecon1[3][playerid], 1);
TextDrawBackgroundColor( TDrecon1[3][playerid], 51);
TextDrawFont( TDrecon1[3][playerid], 2);
TextDrawSetProportional( TDrecon1[3][playerid], 1);
в public OnGameModeInit() вставляем основные TD
PHP:
TDrecon[0] = TextDrawCreate(72.095207, 163.633316, "usebox");
TextDrawLetterSize(TDrecon[0], 0.000000, 1.361217);
TextDrawTextSize(TDrecon[0], -0.095238, 0.000000);
TextDrawAlignment(TDrecon[0], 1);
TextDrawColor(TDrecon[0], 0);
TextDrawUseBox(TDrecon[0], true);
TextDrawBoxColor(TDrecon[0], 102);
TextDrawSetShadow(TDrecon[0], 0);
TextDrawSetOutline(TDrecon[0], 0);
TextDrawFont(TDrecon[0], 0);
TDrecon[19] = TextDrawCreate(72.095237, 180.273330, "usebox");
TextDrawLetterSize(TDrecon[19], 0.000000, 1.958888);
TextDrawTextSize(TDrecon[19], 42.571426, 0.000000);
TextDrawAlignment(TDrecon[19], 1);
TextDrawColor(TDrecon[19], 0);
TextDrawUseBox(TDrecon[19], true);
TextDrawBoxColor(TDrecon[19], 102);
TextDrawSetShadow(TDrecon[19], 0);
TextDrawSetOutline(TDrecon[19], 0);
TextDrawFont(TDrecon[19], 0);
TDrecon[1] = TextDrawCreate(2.285712, 285.333251, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[1], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[1], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[1], 1);
TextDrawColor(TDrecon[1], -1003008001);
TextDrawSetShadow(TDrecon[1], 0);
TextDrawSetOutline(TDrecon[1], 0);
TextDrawFont(TDrecon[1], 4);
TextDrawSetSelectable(TDrecon[1], true);
TDrecon[2] = TextDrawCreate(2.142855, 258.599945, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[2], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[2], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[2], 1);
TextDrawColor(TDrecon[2], -1003008001);
TextDrawSetShadow(TDrecon[2], 0);
TextDrawSetOutline(TDrecon[2], 0);
TextDrawFont(TDrecon[2], 4);
TextDrawSetSelectable(TDrecon[2], true);
TDrecon[3] = TextDrawCreate(1.999998, 245.519958, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[3], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[3], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[3], 1);
TextDrawColor(TDrecon[3], -1003008001);
TextDrawSetShadow(TDrecon[3], 0);
TextDrawSetOutline(TDrecon[3], 0);
TextDrawFont(TDrecon[3], 4);
TextDrawSetSelectable(TDrecon[3], true);
TDrecon[4] = TextDrawCreate(2.238093, 232.439971, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[4], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[4], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[4], 1);
TextDrawColor(TDrecon[4], -1003008001);
TextDrawSetShadow(TDrecon[4], 0);
TextDrawSetOutline(TDrecon[4], 0);
TextDrawFont(TDrecon[4], 4);
TextDrawSetSelectable(TDrecon[4], true);
TDrecon[5] = TextDrawCreate(2.095236, 218.933319, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[5], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[5], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[5], 1);
TextDrawColor(TDrecon[5], -1003008001);
TextDrawSetShadow(TDrecon[5], 0);
TextDrawSetOutline(TDrecon[5], 0);
TextDrawFont(TDrecon[5], 4);
TextDrawSetSelectable(TDrecon[5], true);
TDrecon[6] = TextDrawCreate(1.952379, 205.853332, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[6], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[6], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[6], 1);
TextDrawColor(TDrecon[6], -1003008001);
TextDrawSetShadow(TDrecon[6], 0);
TextDrawSetOutline(TDrecon[6], 0);
TextDrawFont(TDrecon[6], 4);
TextDrawSetSelectable(TDrecon[6], true);
TDrecon[7] = TextDrawCreate(2.190474, 192.773345, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[7], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[7], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[7], 1);
TextDrawColor(TDrecon[7], -1003008001);
TextDrawSetShadow(TDrecon[7], 0);
TextDrawSetOutline(TDrecon[7], 0);
TextDrawFont(TDrecon[7], 4);
TextDrawSetSelectable(TDrecon[7], true);
TDrecon[8] = TextDrawCreate(2.047616, 271.959930, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[8], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[8], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[8], 1);
TextDrawColor(TDrecon[8], -1003008001);
TextDrawSetShadow(TDrecon[8], 0);
TextDrawSetOutline(TDrecon[8], 0);
TextDrawFont(TDrecon[8], 4);
TextDrawSetSelectable(TDrecon[8], true);
TDrecon[9] = TextDrawCreate(2.047617, 179.266693, "LD_SPAC:white");
TextDrawLetterSize(TDrecon[9], 0.000000, 0.000000);
TextDrawTextSize(TDrecon[9], 40.381011, 12.373333);
TextDrawAlignment(TDrecon[9], 1);
TextDrawColor(TDrecon[9], -1003008001);
TextDrawSetShadow(TDrecon[9], 0);
TextDrawSetOutline(TDrecon[9], 0);
TextDrawFont(TDrecon[9], 4);
TextDrawSetSelectable(TDrecon[9], true);
TDrecon[10] = TextDrawCreate(12.047616, 181.906646, "UPDATE");
TextDrawLetterSize(TDrecon[10], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[10], 1);
TextDrawColor(TDrecon[10], -1);
TextDrawSetShadow(TDrecon[10], 0);
TextDrawSetOutline(TDrecon[10], 1);
TextDrawBackgroundColor(TDrecon[10], 51);
TextDrawFont(TDrecon[10], 2);
TextDrawSetProportional(TDrecon[10], 1);
TDrecon[11] = TextDrawCreate(16.095235, 194.853302, "BAN");
TextDrawLetterSize(TDrecon[11], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[11], 1);
TextDrawColor(TDrecon[11], -1);
TextDrawSetShadow(TDrecon[11], 0);
TextDrawSetOutline(TDrecon[11], 1);
TextDrawBackgroundColor(TDrecon[11], 51);
TextDrawFont(TDrecon[11], 2);
TextDrawSetProportional(TDrecon[11], 1);
TDrecon[12] = TextDrawCreate(15.952379, 208.653289, "KICK");
TextDrawLetterSize(TDrecon[12], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[12], 1);
TextDrawColor(TDrecon[12], -1);
TextDrawSetShadow(TDrecon[12], 0);
TextDrawSetOutline(TDrecon[12], 1);
TextDrawBackgroundColor(TDrecon[12], 51);
TextDrawFont(TDrecon[12], 2);
TextDrawSetProportional(TDrecon[12], 1);
TDrecon[13] = TextDrawCreate(14.285712, 221.599945, "WARN");
TextDrawLetterSize(TDrecon[13], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[13], 1);
TextDrawColor(TDrecon[13], -1);
TextDrawSetShadow(TDrecon[13], 0);
TextDrawSetOutline(TDrecon[13], 1);
TextDrawBackgroundColor(TDrecon[13], 51);
TextDrawFont(TDrecon[13], 2);
TextDrawSetProportional(TDrecon[13], 1);
TDrecon[14] = TextDrawCreate(14.904752, 234.546600, "SLAP");
TextDrawLetterSize(TDrecon[14], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[14], 1);
TextDrawColor(TDrecon[14], -1);
TextDrawSetShadow(TDrecon[14], 0);
TextDrawSetOutline(TDrecon[14], 1);
TextDrawBackgroundColor(TDrecon[14], 51);
TextDrawFont(TDrecon[14], 2);
TextDrawSetProportional(TDrecon[14], 1);
TDrecon[15] = TextDrawCreate(12.857139, 247.493255, "STATS");
TextDrawLetterSize(TDrecon[15], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[15], 1);
TextDrawColor(TDrecon[15], -1);
TextDrawSetShadow(TDrecon[15], 0);
TextDrawSetOutline(TDrecon[15], 1);
TextDrawBackgroundColor(TDrecon[15], 51);
TextDrawFont(TDrecon[15], 2);
TextDrawSetProportional(TDrecon[15], 1);
TDrecon[16] = TextDrawCreate(13.095232, 260.866577, "GET IP");
TextDrawLetterSize(TDrecon[16], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[16], 1);
TextDrawColor(TDrecon[16], -1);
TextDrawSetShadow(TDrecon[16], 0);
TextDrawSetOutline(TDrecon[16], 1);
TextDrawBackgroundColor(TDrecon[16], 51);
TextDrawFont(TDrecon[16], 2);
TextDrawSetProportional(TDrecon[16], 1);
TDrecon[17] = TextDrawCreate(10.666657, 273.813232, "GM TEST");
TextDrawLetterSize(TDrecon[17], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[17], 1);
TextDrawColor(TDrecon[17], -1);
TextDrawSetShadow(TDrecon[17], 0);
TextDrawSetOutline(TDrecon[17], 1);
TextDrawBackgroundColor(TDrecon[17], 51);
TextDrawFont(TDrecon[17], 2);
TextDrawSetProportional(TDrecon[17], 1);
TDrecon[18] = TextDrawCreate(15.857133, 287.613220, "OFF");
TextDrawLetterSize(TDrecon[18], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[18], 1);
TextDrawColor(TDrecon[18], -1);
TextDrawSetShadow(TDrecon[18], 0);
TextDrawSetOutline(TDrecon[18], 1);
TextDrawBackgroundColor(TDrecon[18], 51);
TextDrawFont(TDrecon[18], 2);
TextDrawSetProportional(TDrecon[18], 1);
TDrecon[20] = TextDrawCreate(46.190464, 179.066650, "HP:");
TextDrawLetterSize(TDrecon[20], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[20], 1);
TextDrawColor(TDrecon[20], -1);
TextDrawSetShadow(TDrecon[20], 0);
TextDrawSetOutline(TDrecon[20], 1);
TextDrawBackgroundColor(TDrecon[20], 51);
TextDrawFont(TDrecon[20], 2);
TextDrawSetProportional(TDrecon[20], 1);
TDrecon[21] = TextDrawCreate(46.285697, 190.026641, "AR:");
TextDrawLetterSize(TDrecon[21], 0.129238, 0.755199);
TextDrawAlignment(TDrecon[21], 1);
TextDrawColor(TDrecon[21], -1);
TextDrawSetShadow(TDrecon[21], 0);
TextDrawSetOutline(TDrecon[21], 1);
TextDrawBackgroundColor(TDrecon[21], 51);
TextDrawFont(TDrecon[21], 2);
TextDrawSetProportional(TDrecon[21], 1);
Создаем паблик который будет обновлять наши данные
PHP:
forward StartStats(playerid);
public StartStats(playerid){
new id = PlayerSpectateID[playerid];
new Float:armour,Float:health;
new stats1[20],stats2[4],stats3[4],stats4[4];
GetPlayerHealth(id, health),GetPlayerArmour(id, armour);
format(stats1, sizeof(stats1), "%s", PlayerInfo[id][pNames]);
format(stats2, sizeof(stats3), "%.1f", health);
format(stats3, sizeof(stats2), "%.1f", armour);
format(stats4, sizeof(stats2), "%d", PlayerSpectateID[playerid]);
TextDrawSetString(TDrecon1[0][playerid],stats1);//NAME
TextDrawSetString(TDrecon1[1][playerid],stats2);//HP
TextDrawSetString(TDrecon1[2][playerid],stats3);//ARMOUT
TextDrawSetString(TDrecon1[3][playerid],stats4);//ID
}
В свою команду "/re" вставляем
PHP:
SetPVarInt(playerid, "_REC", 1);
for(new y = 0; y < 22; y++) TextDrawShowForPlayer(playerid, TDrecon[y]);
for(new b = 0; b < 4; b++) TextDrawShowForPlayer(playerid, TDrecon1[b][playerid]);
RTimer[playerid] = SetTimerEx("StartStats", 1000, true, "d", playerid);
PHP:
SetPVarInt(playerid, "_REC", 0);
for(new f = 0; f < 4; f++) TextDrawHideForPlayer(playerid, TDrecon1[f][playerid]);
for(new y = 0; y < 22; y++) TextDrawHideForPlayer(playerid, TDrecon[y]),CancelSelectTextDraw(playerid);
KillTimer(RTimer[playerid]);
public OnPlayerSpawn(playerid)
PHP:
SetPVarInt(playerid, "_REC", 0);
for(new f = 0; f < 4; f++) TextDrawHideForPlayer(playerid, TDrecon1[f][playerid]);
for(new y = 0; y < 22; y++) TextDrawHideForPlayer(playerid, TDrecon[y]);
CancelSelectTextDraw(playerid);
PHP:
KillTimer(RTimer[playerid]);
в public OnPlayerClickTextDraw(playerid, Text:clickedid)
Данный паблик отвечает за кликабельность текстдравов.
PHP:
else if(clickedid == TDrecon[9]){
format(stringer, sizeof(stringer), "/re %i",PlayerSpectateID[playerid]);
OnPlayerCommandText(playerid,stringer);
}
else if(clickedid == TDrecon[2]){
if(PlayerInfo[playerid][pAdmInections] <= 5) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 5 уровя администрации");
format(stringer, sizeof(stringer), "/getip %d",PlayerSpectateID[playerid]);
OnPlayerCommandText(playerid,stringer);
}
else if(clickedid == TDrecon[3]){
if(PlayerInfo[playerid][pAdmInections] <= 5) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 5 уровя администрации");
format(stringer, sizeof(stringer), "/getstats %d",PlayerSpectateID[playerid]);
OnPlayerCommandText(playerid,stringer);
}
else if(clickedid == TDrecon[4]){
if(PlayerInfo[playerid][pAdmInections] <= 3) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 3 уровя администрации");
format(stringer, sizeof(stringer), "/slap %d",PlayerSpectateID[playerid]);
OnPlayerCommandText(playerid,stringer);
}
else if(clickedid == TDrecon[5]){
if(PlayerInfo[playerid][pAdmInections] <= 2) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 2 уровя администрации");
ShowPlayerDialog(playerid,13998,DIALOG_STYLE_INPUT,"Варн","Введите причину","Варн","Отмена");
}
else if(clickedid == TDrecon[6]){
if(PlayerInfo[playerid][pAdmInections] <= 1) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 1 уровя администрации");
ShowPlayerDialog(playerid,13997,DIALOG_STYLE_INPUT,"Кик","Введите причину","Кик","Отмена");
}
else if(clickedid == TDrecon[7]){
if(PlayerInfo[playerid][pAdmInections] <= 2) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 2 уровя администрации");
ShowPlayerDialog(playerid,13999,DIALOG_STYLE_INPUT,"Бан","Введите причину","Бан","Отмена");
}
else if(clickedid == TDrecon[8]){
if(PlayerInfo[playerid][pAdmInections] <= 5) return SendClientMessage(playerid, COLOR_WHITE, "Доступно с 5 уровя администрации");
format(stringer, sizeof(stringer), "/gm %d",PlayerSpectateID[playerid]);
OnPlayerCommandText(playerid,stringer);
}
else if(clickedid == TDrecon[1]){
PlayerInfo[playerid][pHospital] = 0;
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
StopSpectate(playerid);
PlayerSpec[PlayerSpectateID[playerid]] = INVALID_PLAYER_ID;
PlayerSpectateID[playerid] = INVALID_PLAYER_ID;
GameTextForPlayer(playerid, "~W~RECON ~R~OFF", 5000, 4);
SetPVarInt(playerid, "_REC", 0);
for(new f = 0; f < 4; f++) TextDrawHideForPlayer(playerid, TDrecon1[f][playerid]);
for(new y = 0; y < 22; y++) TextDrawHideForPlayer(playerid, TDrecon[y]);
CancelSelectTextDraw(playerid);
KillTimer(RTimer[playerid]);
}
PHP:
case 13997:{
if(PlayerInfo[playerid][pAdmInections] >= 1) {
format(stringer, sizeof(stringer), "/kick %d %s",PlayerSpectateID[playerid],inputtext);
OnPlayerCommandText(playerid,stringer);
}
}
case 13998:{
if(PlayerInfo[playerid][pAdmInections] >= 2) {
format(stringer, sizeof(stringer), "/warn %d %s",PlayerSpectateID[playerid],inputtext);
OnPlayerCommandText(playerid,stringer);
}
}
case 13999:{
if(PlayerInfo[playerid][pAdmInections] >= 1) {
format(stringer, sizeof(stringer), "/ban %d %s",PlayerSpectateID[playerid],inputtext);
OnPlayerCommandText(playerid,stringer);
}
}
Что бы использовать меню, делаем например при нажатие на клавишу "ALT" (отменить кликабельность ESC)
в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys == 1024){ //123
if(GetPVarInt(playerid,"_REC") == 1){
SelectTextDraw(playerid, 0xFFFFFFAA);
}
}
Работоспособность гарантируется на модах с основой skrillax.
Последнее редактирование:
