Доступ к архиву

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

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

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

[Мануал] Динамическая система 3d текстов

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

Domenic_Capone

Изучающий
Пользователь
Регистрация
17 Авг 2012
Сообщения
352
Лучшие ответы
0
Репутация
150
Искал в паблике и не нашёл такую систему. Решил выложить.
Начнём:

PHP:
new ctexts[MAX_PLAYERS];
new Float:X[MAX_PLAYERS],Float:Y[MAX_PLAYERS],Float:Z[MAX_PLAYERS];
new Text3D:attachtext;

PHP:
public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

PHP:
	if (strcmp("/settext", cmdtext, true, 10) == 0)
	{
		if(!IsPlayerConnected(playerid)) return true;
		ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Выберите цвет, который вам нужен", "Белый\nЖелтый\nКрасный\nЗеленый\nГолубой", "OK", "Отмена");
		return 1;
	}

)]
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 1)
	{
		if(!response) return true;
		else
		{
			if(listitem == 0)
			{
				ctexts[playerid] = 0;
			}
			if(listitem == 1)
			{
				ctexts[playerid] = 1;
			}
			if(listitem == 2)
			{
			    ctexts[playerid] = 2;
			}
			if(listitem == 3)
			{
			    ctexts[playerid] = 3;
			}
			if(listitem == 4)
			{
			    ctexts[playerid] = 4;
			}
			ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Введите текст", "Введите текст, который появится на ваших координатах", "OK", "Отмена");
			return 1;
		}
	}
	if(dialogid == 2)
	{
		if(!response) return true;
		else
		{
            if(ctexts[playerid] == 0)
			{
			    if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Белый цвет. Введите текст!");
	    		new string[128];
       			GetPlayerPos(playerid, X[playerid], Y[playerid], Z[playerid]);
				format(string, sizeof(string), "%s", inputtext);
				attachtext = Create3DTextLabel(string, 0xFFFFFFAA,X[playerid],Y [playerid],Z[playerid],30.0,0);
			}
			if(ctexts[playerid] == 1)
			{
			    if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Желтый цвет. Введите текст!");
	    		new string[128];
       			GetPlayerPos(playerid, X[playerid], Y[playerid], Z[playerid]);
				format(string, sizeof(string), "%s", inputtext);
				attachtext = Create3DTextLabel(string, 0xFFFF00AA,X[playerid],Y[playerid] ,Z[playerid],30.0,0);
			}
			if(ctexts[playerid] == 2)
			{
                if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Красный цвет. Введите текст!");
	    		new string[128];
       			GetPlayerPos(playerid, X[playerid], Y[playerid], Z[playerid]);
				format(string, sizeof(string), "%s", inputtext);
				attachtext = Create3DTextLabel(string, 0xAA3333AA,X[playerid],Y[playerid] ,Z[playerid],30.0,0);
			}
			if(ctexts[playerid] == 3)
			{
                if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Зеленый цвет. Введите текст!");
	    		new string[128];
       			GetPlayerPos(playerid, X[playerid], Y[playerid], Z[playerid]);
				format(string, sizeof(string), "%s", inputtext);
				attachtext = Create3DTextLabel(string, 0x33AA33AA,X[playerid],Y[playerid] ,Z[playerid],30.0,0);
			}
			if(ctexts[playerid] == 4)
			{
                if(!strlen(inputtext)) return SendClientMessage(playerid, -1, "Голубой цвет. Введите текст!");
	    		new string[128];
       			GetPlayerPos(playerid, X[playerid], Y[playerid], Z[playerid]);
				format(string, sizeof(string), "%s", inputtext);
				attachtext = Create3DTextLabel(string, 0x33CCFFAA, X[playerid], Y[playerid], Z[playerid], 30.0, 0);
			}
			ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "3DText", "Прицепить его к игроку?", "Да", "Нет");
			return true;
		}
	}
	if(dialogid == 3)
	{
	    if(!response) return true;
	    else
	    {
			Attach3DTextLabelToPlayer(attachtext, playerid, 0.0, 0.1, 0.0);
			return true;
		}
	}
	return 1;
}

Надеюсь понравиться=)

/settext - Создание 3Д текста.

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