А, ну я помню твои статьи. Но тут дело в том что оно еще и перезаписывает мои переменные после меня. Бывает все нормально, а потом объявишь еще одну переменную и с какой-то другой начинает твориться вот это.
Вот такая проблемка. В спауне ставлю брашу SetTouch( func ).
В самом func код примерно такой
C++ Source Code:
1
if( pOther->IsPlayer() )
2
{
3
ALERT( at_console, "test\n" );
4
Use( pOther, pOther, USE_TOGGLE, 0 );
5
SetTouch( NULL );
6
}
Несмотря на то, что я вроде бы выставил тач в нулл, алерт все равно срабатывает, значит тач никуда не делся. Почему он не отключается? Я должен коснуться браша один раз и все.
Ну потому что ты назвал функцию Touch. Когда ты убираешь указатель на нее, срабатывает уже механизм виртуальных функций C++.
Такая вот в халфе заморочка. Дай ей более другое имя.
Дядя Миша писал: Ну потому что ты назвал функцию Touch. Когда ты убираешь указатель на нее, срабатывает уже механизм виртуальных функций C++.
Такая вот в халфе заморочка. Дай ей более другое имя.
Дядя Миша писал: А зачем ты скрыл реальное имя функции?
Так получилось. Т.к. я пока тестил, пробовал оба варианта, но обнаружил именно с тачем. Был уверен, что разницы нет от названия.
Сейчас уже понял, что тач это глобальная функция и вызывается сама по себе. У меня в спауне вообще стояло SetTouch( Touch ), я так понял этого вообще не нужно было делать, т.к. само существование функции подразумевает ее использование.
И да, я был удивлен, что ты догадался, ну ты уже этот двиг как свои пять пальцев знаешь