PDA

Просмотр полной версии : [Вопрос] Не коррено показывает тд



Витёк
24.03.2017, 16:32
Здравствуйте
подскажите где я накосячил почемуто не показывает тд с переменной InvObject

stock ShowInventory(playerid)
{
for(new j = 0; j < sizeof(InvObject); j++)
{
new ID = PlayerInfo[playerid][pInventory][j];
TextDrawBackgroundColor(InvObject[j][playerid], 589636863);
TextDrawSetPreviewModel(InvObject[j][playerid], ItemsInfo[ID][ItemModel]);
TextDrawSetPreviewRot(InvObject[j][playerid], ItemsInfo[ID][POSTDx], ItemsInfo[ID][POSTDy], ItemsInfo[ID][POSTDz], ItemsInfo[ID][POSTDc]);
}
for(new i; i < sizeof(InvTextObj); i++)
{
TextDrawShowForPlayer(playerid,InvTextObj[i][playerid]);
}
for(new i; i < sizeof(InvObject); i++)
{
TextDrawSetSelectable(InvObject[i][playerid], true);
TextDrawShowForPlayer(playerid,InvObject[i][playerid]);
}
SelectTextDraw(playerid,589636863);
return true;
}
и ещё почему-то после вызова этой функции вызывается ещё 1 тд с сервера (хотя он не где не вызывается в этом FS)

vovandolg
24.03.2017, 22:57
А ты не пробовал делать все свои TD в GM?
Я вот вообще не вижу нужды раскидывать всё по FS...

Витёк
25.03.2017, 07:34
А ты не пробовал делать все свои TD в GM?
Я вот вообще не вижу нужды раскидывать всё по FS...
Я всегда сначало пишу системы в FS а потом в мод вшиваю

wAx
25.03.2017, 08:39
зачем отдельным циклом настраивать цвет, отдельным показывать, и еще раз отдельным настраивать кликабельность, которая кстати до показа должна настраиваться? покажи как ты объявляешь переменную

Витёк
25.03.2017, 15:50
зачем отдельным циклом настраивать цвет, отдельным показывать, и еще раз отдельным настраивать кликабельность, которая кстати до показа должна настраиваться? покажи как ты объявляешь переменную


static Text:InvObject[30][MAX_PLAYERS],
Text:InvTextObj[26][MAX_PLAYERS];

wAx
25.03.2017, 16:48
static Text:InvObject[30][MAX_PLAYERS],
Text:InvTextObj[26][MAX_PLAYERS];

окей, эту ошибку исключили, теперь покажи как ты создаешь текстдравы, включая тот который отображается, но делать этого не должен. Вообще, если текстдравов не так уж много, кинь создание всех, обычно там бывают ошибки.
Займись дебагом:
- попробуй различные методы показа текстдравов: в ручную (без цикла), с помощью команды на сервере (без редактирования)
- попробуй закомментировать создание неверно отображаемого текстдрава и показать без него

Витёк
25.03.2017, 17:12
окей, эту ошибку исключили, теперь покажи как ты создаешь текстдравы, включая тот который отображается, но делать этого не должен. Вообще, если текстдравов не так уж много, кинь создание всех, обычно там бывают ошибки.
Займись дебагом:
- попробуй различные методы показа текстдравов: в ручную (без цикла), с помощью команды на сервере (без редактирования)
- попробуй закомментировать создание неверно отображаемого текстдрава и показать без него
там их 30 штук вот 1 тд который не показывает

InvObject[0][playerid] = TextDrawCreate(171.000000, 128.000000, "Use");
TextDrawBackgroundColor(InvObject[0][playerid], 589636863);
TextDrawFont(InvObject[0][playerid], 5);
TextDrawLetterSize(InvObject[0][playerid], 0.500000, 1.000000);
TextDrawColor(InvObject[0][playerid], -1);
TextDrawSetOutline(InvObject[0][playerid], 0);
TextDrawSetProportional(InvObject[0][playerid], 1);
TextDrawSetShadow(InvObject[0][playerid], 1);
TextDrawTextSize(InvObject[0][playerid], 33.000000, 34.000000);
TextDrawSetSelectable(InvObject[0][playerid], 0);
и есть 1 подлох если просто показывать тд без нечего то всё збс

Витёк
26.03.2017, 07:54
почемуто при вызове тд из переменной InvTextObj всё и сбивается
и ещё 1 момент что тд не показывает из за [playerid] не знаю с чем это связано
проблема не решена

Витёк
26.03.2017, 08:34
переписал всю систему заработало