Проблема с 3д текстом -
Zabei - 06.02.2014
Создаю 3дтекст при входе игрока. label[para1] = Create3DTextLabel и т.д. Во время игры там 3д текст скрываю иногда с помощью Update3DTextLabelText. Удаляю при дисконнекте игрока. Проблема в том что текст есть но через некоторое время пропадает. Сначала подумало что я где то тупанул когда скрывал его при помощи Update3DTextLabelText. Но в ходе тестов выяснил что после того как он исчезает на него не действует Update3DTextLabelText выходит он удален. Как такое может быть если я его удаляю только при дисконнекте игрока?
Re: Проблема с 3д текстом -
Urukhay - 06.02.2014
Когда вы создаете 3d текст..
pawn Код:
label[para1] = Create3DTextLabel // в переменную label[para1] записывается его ID
Если вы его удалите, переменная не очищается. Именно по этому путаются ID текстов. Очищайте переменную при удалении текста. Присвойте
INVALID_3DTEXT_ID.
Re: Проблема с 3д текстом -
Zabei - 06.02.2014
Переменная создается new Text3D:label[MAX_PLAYERS]; Как я могу е присваивать INVALID_3DTEXT_ID? да и при Delete3DTextLabel переменная будет 65535 это же походу и есть INVALID_3DTEXT_ID
Re: Проблема с 3д текстом -
OKStyle - 06.02.2014
pawn Код:
SetPVarInt(playerid, "Text3D", Create3DTextLabel....);
Re: Проблема с 3д текстом -
DEMON91052 - 06.02.2014
У меня такая же фигня была только с машинами. Ставлю 3д текст если онлайн > 50 то он удаляется и больше ничего с ним сделать нельзя. Я сделал 3д тексты динамическими т.е. поставил стример, и тексты стали пропадать реже.
Re: Проблема с 3д текстом -
Zabei - 07.02.2014
tag mismatch
Re: Проблема с 3д текстом -
Stepashka - 07.02.2014
Text3D:INVALID_3DTEXT_ID
Re: Проблема с 3д текстом -
Zabei - 07.02.2014
Варнинг tag mismatch при первом и втором случае. Либо я что то не понял.
Re: Проблема с 3д текстом -
AirKite - 07.02.2014
Quote:
Originally Posted by Zabei
Варнинг tag mismatch при первом и втором случае. Либо я что то не понял.
|
Код:
SetPVarInt(playerid, "Text3D", Text3D:Create3DTextLabel....);
или
Код:
SetPVarInt(playerid, "Text3D", PlayerText3D::CreatePlayer3DTextLabel....);
только это вообще по сути не нужно...
Код:
new Text3D:label[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
label[playerid] = Create3Dtext...
return 1;
}
public OnPlayerDisconnect(playerid, reason) {
if(label != Text3D:INVALID_3DTEXT_ID) {
Delete3DtextBlabla(label[playerid]);
label[playerid] = Text3D:INVALID_3DTEXT_ID;
}
return 1;
}
Re: Проблема с 3д текстом -
White_116 - 07.02.2014
pawn Код:
new Text3D:label[MAX_PLAYERS]={Text3D:INVALID_3DTEXT_ID, ...};
Не забываем, мало ли чего.
Re: Проблема с 3д текстом -
Zabei - 07.02.2014
проблема не устранилась
Re: Проблема с 3д текстом -
Zabei - 07.02.2014
я не могу понять в чем проблема. Создаю 3дтекст при логине удаляю при дисконекте и он норм работает но 30 сек пройдет и оон уделается как такое возможно если я его удаляю при дисконекте только
Re: Проблема с 3д текстом -
AirKite - 08.02.2014
Quote:
Originally Posted by Zabei
я не могу понять в чем проблема. Создаю 3дтекст при логине удаляю при дисконекте и он норм работает но 30 сек пройдет и оон уделается как такое возможно если я его удаляю при дисконекте только
|
В моём примере, скорее всего
Code:
if(label != Text3D:INVALID_3DTEXT_ID) {
нужно поменять на
Code:
if(label != INVALID_3DTEXT_ID) {
но
Code:
label[playerid] = Text3D:INVALID_3DTEXT_ID;
так и оставить.
Вообще соответственный ID может удалять и FS какой ни будь.
Re: Проблема с 3д текстом -
Zabei - 08.02.2014
FS не использую вообще
Re: Проблема с 3д текстом -
Zabei - 08.02.2014
Короче я решил написать скрипт который бы при удалении 3дтекста писал что за текст был удален. В ходе моих тестов выяснилось что почему то при удалении любого 3дтекста удаляются все 3д тексты. В чем может быть проблема?
Re: Проблема с 3д текстом -
Mutha_X - 08.02.2014
Где-то видел, чтобы отдельный id искали через цикл, при том №итерации сравнивали с искомым id с неправильно поставленным условием в теле цикла на что-то ещё...