Gray писал(а):
void proc OnEnterSensor(char item)
{
Text("MSG_ACCEPT");
}
Так у меня примерно тоже самое и было, тока вместо MSG_ACCEPT был мой личный, подготовленный в редакторе текстов текст, плюс еще несколько действий.
Gray писал(а):
void proc OnEnterSensor(char item)
{
switch (item)
{
case "TR_POINT1":
{
.
.
.
}
case "TR_POINT2":
.
.
.
}
}
Что это все означает, я как раз таки понял. Но тут надо кое-что уточнить. Насколько я понимаю, вышеприведенная конструкция должна работать так:
1)Вызывается OnEnterSensor с параметром item(типа, она вроде должна вызываться при заезде в любой "сенсор", а в функцию передается идентификатор этого сенсора - item).
2)Начинает выполняться оператор switch. Он поступает так: смотрит, какой параметр ему подсунули, и сверяет его со списком вариантов, что у него там есть. Где он находит совпадение, тот оператор и выполняет. Так вот, получается, если я заеду в любую активную точку(хелперы - то уже на карте установлены, стало быть все активные точки существуют), должно произойти какое-то действие (что там в switch указано), правильно? А на деле что происходит?
Я начал тренировочную миссию, посмотрел, где появляются стрелки, перезапустил ее, и поехал сначала не в ту стрелку, которая появилась, а в другую, которая должна появится позднее, после посещения первой. И - о чудо!!! При заезле в не указанную еще зону ниче не происходит, а если посетить сначала первую стрелку, то все срабатывает и в этой зоне... Вопрос - как так получилось, switch же должен в любом случае срабатывать, или он не так, как в си действует?