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

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

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

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

Мануал Сис-ма кликабельных текстдравов [0.3x]

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

Borland_

Новичок
Здравствуйте дорогие форумчане, с вами я - Borland. Сейчас я вам покажу как сделать сис-му кликабельных текстдравов заменяющую основные команды. P.S. Делалось под RLS

Скрин:


Ко всем #define (добавим цвет)
PHP:
#define COLOR_YEGURT 0x8080FFAA
Ко всем new (создадим глобальные переменные текстдравов)
PHP:
//==========
new Text:gTextDrawMenu;
new Text:gTextDraw;
new Text:gTextDraw1;
new Text:gTextDraw2;
new Text:gTextDraw3;
new Text:gTextDraw4;
new Text:gTextDraw5;
new Text:MyTD;
//==========

В public ongamemodeinit
(Добавим текстдравы в мод)
PHP:
	//=================
	gTextDraw = TextDrawCreate(70.000000, 150.000000, "Main Menu");
	TextDrawTextSize(gTextDraw, 9.0, 60.0);
	TextDrawAlignment(gTextDraw, 2);
	TextDrawBackgroundColor(gTextDraw, 255);
	TextDrawFont(gTextDraw, 2);
	TextDrawLetterSize(gTextDraw, 0.260000, 0.799999);
	TextDrawColor(gTextDraw, -1);
	TextDrawSetOutline(gTextDraw, 0);
	TextDrawSetProportional(gTextDraw, 1);
	TextDrawSetShadow(gTextDraw, 1);
	TextDrawSetSelectable(gTextDraw, 1);
	//=================================
	gTextDraw1 = TextDrawCreate(70.000000, 160.000000, "REPORT");
	TextDrawTextSize(gTextDraw1, 9.0, 49.0);
	TextDrawAlignment(gTextDraw1, 2);
	TextDrawBackgroundColor(gTextDraw1, 255);
	TextDrawFont(gTextDraw1, 2);
	TextDrawLetterSize(gTextDraw1, 0.260000, 0.799999);
	TextDrawColor(gTextDraw1, -1);
	TextDrawSetOutline(gTextDraw1, 0);
	TextDrawSetProportional(gTextDraw1, 1);
	TextDrawSetShadow(gTextDraw1, 1);
	TextDrawSetSelectable(gTextDraw1, 1);
	//=================================
	gTextDraw2 = TextDrawCreate(70.000000, 170.000000, "Anim-List");
	TextDrawTextSize(gTextDraw2, 9.0, 60.0);
	TextDrawAlignment(gTextDraw2, 2);
	TextDrawBackgroundColor(gTextDraw2, 255);
	TextDrawFont(gTextDraw2, 2);
	TextDrawLetterSize(gTextDraw2, 0.260000, 0.799999);
	TextDrawColor(gTextDraw2, -1);
	TextDrawSetOutline(gTextDraw2, 0);
	TextDrawSetProportional(gTextDraw2, 1);
	TextDrawSetShadow(gTextDraw2, 1);
	TextDrawSetSelectable(gTextDraw2, 1);
	//=================================
	gTextDraw3 = TextDrawCreate(70.000000, 180.000000, "Reklama");
	TextDrawTextSize(gTextDraw3, 9.0, 56.0);
	TextDrawAlignment(gTextDraw3, 2);
	TextDrawBackgroundColor(gTextDraw3, 255);
	TextDrawFont(gTextDraw3, 2);
	TextDrawLetterSize(gTextDraw3, 0.260000, 0.799999);
	TextDrawColor(gTextDraw3, -1);
	TextDrawSetOutline(gTextDraw3, 0);
	TextDrawSetProportional(gTextDraw3, 1);
	TextDrawSetShadow(gTextDraw3, 1);
	TextDrawSetSelectable(gTextDraw3, 1);
	//=================================
	gTextDraw4 = TextDrawCreate(70.000000, 190.000000, "Leaders");
	TextDrawTextSize(gTextDraw4, 9.0, 55.0);
	TextDrawAlignment(gTextDraw4, 2);
	TextDrawBackgroundColor(gTextDraw4, 255);
	TextDrawFont(gTextDraw4, 2);
	TextDrawLetterSize(gTextDraw4, 0.260000, 0.799999);
	TextDrawColor(gTextDraw4, -1);
	TextDrawSetOutline(gTextDraw4, 0);
	TextDrawSetProportional(gTextDraw4, 1);
	TextDrawSetShadow(gTextDraw4, 1);
	TextDrawSetSelectable(gTextDraw4, 1);
	//=================================
	gTextDraw5 = TextDrawCreate(70.000000, 200.000000, "EXIT");
	TextDrawTextSize(gTextDraw5, 9.0, 49.0);
	TextDrawAlignment(gTextDraw5, 2);
	TextDrawBackgroundColor(gTextDraw5, 255);
	TextDrawFont(gTextDraw5, 2);
	TextDrawLetterSize(gTextDraw5, 0.7, 0.8);
	TextDrawColor(gTextDraw5, COLOR_YEGURT);
	TextDrawSetOutline(gTextDraw5, 0);
	TextDrawSetProportional(gTextDraw5, 1);
	TextDrawSetShadow(gTextDraw5, 1);
	TextDrawSetSelectable(gTextDraw5, 1);
	//=================================
	gTextDrawMenu = TextDrawCreate(70.000000, 140.000000, "MENU");
	TextDrawTextSize(gTextDrawMenu, 9.0, 49.0);
	TextDrawAlignment(gTextDrawMenu, 2);
	TextDrawBackgroundColor(gTextDrawMenu, 255);
	TextDrawFont(gTextDrawMenu, 1);
	TextDrawLetterSize(gTextDrawMenu, 0.7, 0.8);
	TextDrawColor(gTextDrawMenu, COLOR_YEGURT);
	TextDrawSetOutline(gTextDrawMenu, 0);
	TextDrawSetProportional(gTextDrawMenu, 1);
	TextDrawSetShadow(gTextDrawMenu, 1);
	//=================================
        MyTD = TextDrawCreate(32.0, 140.0,"______");
	TextDrawUseBox(MyTD , 1);
	TextDrawLetterSize(MyTD ,0.3,8);
	TextDrawBoxColor(MyTD ,COLOR_BLACK);
	TextDrawColor(MyTD ,COLOR_BBLUE);
	TextDrawTextSize(MyTD, 110.0, 240.0);
В public OnPlayerKeyStatege (Делаем появление текстдравов на кнопку Y)
PHP:
 	if(newkeys == KEY_YES)
    {
    if(gPlayerLogged[playerid] != 0)
	{
        TextDrawShowForPlayer(playerid, MyTD);
        TextDrawShowForPlayer(playerid, gTextDraw);
        TextDrawShowForPlayer(playerid, gTextDraw1);
        TextDrawShowForPlayer(playerid, gTextDraw2);
        TextDrawShowForPlayer(playerid, gTextDraw3);
        TextDrawShowForPlayer(playerid, gTextDraw4);
        TextDrawShowForPlayer(playerid, gTextDraw5);
        TextDrawShowForPlayer(playerid, gTextDrawMenu);
        SelectTextDraw(playerid, 0x8080FFAA);
	}
    }
В самом низу создаём public OnPlayerClickTextDraw(playerid, Text:clickedid) (действия при нажатии на текстдрав)
PHP:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == gTextDraw)
    {
         OnPlayerCommandText(playerid, "/mm");
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    if(clickedid == gTextDraw1)
    {
         ShowPlayerDialog(playerid,10,DIALOG_STYLE_INPUT,"Жалоба администрации","Вы собираетесь отправить жалобу администрации сервера.\nЖалобу сформулируйте чётко и ясно!","Ок","<< Назад");
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,MyTD1);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    if(clickedid == gTextDraw2)
    {
         OnPlayerCommandText(playerid, "/animlist");
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    if(clickedid == gTextDraw3)
    {
         ShowPlayerDialog(playerid,22599,DIALOG_STYLE_INPUT,"Реклама","Вы собираетесь отправить Рекламу.\nВведите текст вашей рекламы!","Ок","<< Назад");
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    if(clickedid == gTextDraw4)
    {
         OnPlayerCommandText(playerid, "/leaders");
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    if(clickedid == gTextDraw5)
    {
         TextDrawHideForPlayer(playerid,MyTD);
         TextDrawHideForPlayer(playerid,gTextDraw);
         TextDrawHideForPlayer(playerid,gTextDraw1);
         TextDrawHideForPlayer(playerid,gTextDraw2);
         TextDrawHideForPlayer(playerid,gTextDraw3);
         TextDrawHideForPlayer(playerid,gTextDraw4);
         TextDrawHideForPlayer(playerid,gTextDraw5);
         TextDrawHideForPlayer(playerid,gTextDrawMenu);
         CancelSelectTextDraw(playerid);
    }
    return 1;
	}
В public OnDialogResponse (Диалог рекламы)
PHP:
    case 22599:
    {
    	if(response)
    	{
    	while(strfind(inputtext,"%",true)!=-1)
		{
		strdel(inputtext,strfind(inputtext,"%",true),strfind(inputtext,"%",true)+2);
		}
            new sendername[MAX_PLAYER_NAME];
			GetPlayerName(playerid, sendername, sizeof(sendername));
			if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "У вас бан чата!");
			if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, COLOR_ORANGE, "У вас бан чата!");
	        if(Rekl[playerid] == 1 && strfind(inputtext,"www",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,".ru",true)!=-1
	 		|| Rekl[playerid] == 1 && strfind(inputtext,".net",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,".com",true)!=-1
	 		|| Rekl[playerid] == 1 && strfind(inputtext,"//htpp",true)!=-1
			|| Rekl[playerid] == 1 && strfind(inputtext,"http",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,"админ",true)!=-1
			|| Rekl[playerid] == 1 && strfind(inputtext,"***а",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,"*****",true)!=-1
			|| Rekl[playerid] == 1 && strfind(inputtext,"пидр",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,"***ть",true)!=-1
			|| Rekl[playerid] == 1 && strfind(inputtext,"сервер",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,"гавно",true)!=-1
			|| Rekl[playerid] == 1 && strfind(inputtext,"((",true)!=-1 || Rekl[playerid] == 1 && strfind(inputtext,"))",true)!=-1)
			{
   				format(string,256,"В /ad | Игрок %s| ID %d| Текст: %s", sendername, playerid, inputtext);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				return 1;
			}
			if (PlayerInfo[playerid][pCash] < 1500)
			{
				format(string, sizeof(string), "Необходимо 1500 вирт!");
				SendClientMessage(playerid, COLOR_GRAD2, string);
		    	return 1;
			}
			format(string, sizeof(string), "{ff4500}Реклама {bbbbbb}%s {ffffff}Прислал: %s Пейджер: %d Телефон: %d", inputtext, sendername, playerid, PlayerInfo[playerid][pPnumber]);
			OOCOff(COLOR_LIGHTRED,string);
			GameTextForPlayer(playerid,"~r~Check:~n~~g~ 1500$",5000,1);
			SendClientMessage(playerid,COLOR_WHITE,"{bbbbbb}В{ffffff}аше обьявление отправлено | {ff4500}150${ffffff} снято");
			PlayerInfo[playerid][pCash]-=1500;
		}
	}
Вот и всё) Что не нравится - изменяйте под себя.

Кому понравилось +

---------- Post added at 22:13 ---------- Previous post was at 22:04 ----------

Жду комментариев :ae:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу