Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Панель админа на TextDraw's

Статус
В этой теме нельзя размещать новые ответы.

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);
В "/reoff"

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);
в public OnPlayerDisconnect(playerid, reason)

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]);
		}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


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.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу