Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: TextDraw - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Pawn ]
TextDraw

#1
Пользователь офлайн   Suckre 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Привет всем.
Вот создал тексдрав сделал кликабельный, но он не работает
    for(new i; i < sizeof(inv_TD); i++)
	{
		PlayerTextDrawShow(playerid,inv_TD[playerid][i]);
		PlayerTextDrawSetSelectable(playerid,inv_TD[playerid][14], true); // Даный тексдрав
	}


Сам тексдрав

	inv_TD[playerid][14]= CreatePlayerTextDraw(playerid, 472.5503, 344.3740, "USE"); // пусто
	PlayerTextDrawLetterSize(playerid, inv_TD[playerid][14], 0.2689, 0.9527);
	PlayerTextDrawTextSize(playerid, inv_TD[playerid][14], 0.0000, 37.0000);
	PlayerTextDrawAlignment(playerid, inv_TD[playerid][14], 2);
	PlayerTextDrawColor(playerid, inv_TD[playerid][14], -1);
	PlayerTextDrawUseBox(playerid, inv_TD[playerid][14], 1);
	PlayerTextDrawBoxColor(playerid, inv_TD[playerid][14], 0);
	PlayerTextDrawBackgroundColor(playerid, inv_TD[playerid][14], 255);
	PlayerTextDrawFont(playerid, inv_TD[playerid][14], 2);
	PlayerTextDrawSetProportional(playerid, inv_TD[playerid][14], 1);
	PlayerTextDrawSetShadow(playerid, inv_TD[playerid][14], 0);
	PlayerTextDrawSetSelectable(playerid, inv_TD[playerid][14], true);


Функция при клике на тексдрав:
   	if(playertextid == inv_TD[playerid][14]) // ?????? USE
	{
		new IDS = ClickInv[playerid];
		if(IDS == 21) return SendClientMessage(playerid, COLOR_ERROR, "* Äëÿ íà÷àëà âûáåðå îáüåêò â èíâåíòàðå.");
		new ID = Player[playerid][pInventory][IDS];
		UseItem(playerid, IDS, ItemsInfo[ID][ItemModel]);
	}


0

#2
Пользователь офлайн   continue 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Покажи массив inv_TD
0

#3
Пользователь офлайн   Suckre 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
new PlayerText:inv_TD[30][MAX_PLAYERS];


0

#4
Пользователь офлайн   dev.Maza 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Указывал SelectTextDraw?

SelectTextDraw(playerid, hovercolor)

0

#5
Пользователь офлайн   Suckre 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияdev.Maza (10 июня 2021 - 22:20) писал:

Указывал SelectTextDraw?

SelectTextDraw(playerid, hovercolor)


Да, код же кинул сверху
0

#6
Пользователь офлайн   MDarklight 

  • Местный
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSuckre (10 июня 2021 - 23:06) писал:

Да, код же кинул сверху

С кликабельными боксами и кликабельным текстом всегда были проблемы, подсунь под текст спрайт кликабельный, работать будет.
Ну или над текстом прозрачный спрайт

Сообщение отредактировал MDarklight: 10 июня 2021 - 23:46

2

#7
Пользователь офлайн   dev.Maza 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSuckre (10 июня 2021 - 23:06) писал:

Да, код же кинул сверху


Да только прикол в том, что с верху его нету.
0

#8
Пользователь офлайн   continue 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
new PlayerText:inv_TD[30][MAX_PLAYERS];

На:

new PlayerText:inv_TD[MAX_PLAYERS][30];



И цикл нужно поменять на:

for (new i = 0; i < sizeof(inv_TD[]); i++)



P.S: Тебе сколько раз сказать, чтобы ты научился работать с sizeof?

#include <a_samp>



main()
{
	static array[10][20][30][40];
	printf("sizeof(array): %d", sizeof(array));
	printf("sizeof(array[]): %d", sizeof(array[]));
	printf("sizeof(array[][]): %d", sizeof(array[][]));
	printf("sizeof(array[][][]): %d", sizeof(array[][][]));
}



sizeof(array) - первое измерение, т.е будет 10
sizeof(array[]) - второе измерение, т.е будет 20
sizeof(array[][]) - третье измерение, т.е будет 30
sizeof(array[][][]) - четвертое измерение, т.е будет 40

В чем трудность в этом разобраться? Методом тыка можно даже понять как с ним работать

0

#9
Пользователь офлайн   Suckre 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияcontinue (11 июня 2021 - 10:58) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Эмм... У меня цикл через sizeof, а при изминениии масива на new PlayerText:inv_TD[MAX_PLAYERS][30]; -
error 032: array index out of bounds (variable "inv_TD")


Замена цикла так-же не помогла

Сообщение отредактировал Suckre: 11 июня 2021 - 16:25

0

#10
Пользователь офлайн   continue 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSuckre (11 июня 2021 - 16:20) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


а может ты покажешь код на какой это строке?
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика