• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как правильно задать координаты по формуле? (CreateObject)

Статус
В этой теме нельзя размещать новые ответы.

lomakich

Начинающий
Пользователь
Регистрация
30 Мар 2019
Сообщения
18
Лучшие ответы
0
Репутация
2
Привет, товарищи-специалисты. Вопрос легкий. Я знаю, что код бредовый, но он тут просто для наглядности и для большего понимания. В силу малого опыта я не знаю каким образом нужно делать, поэтому и обращаюсь к вам.
Предположим что у меня есть 4 варианта, из которых выбирает switch. 0, 90, 180, 270. Предположим, что это углы поворота. А далее создается объект с координатами, которые заданы по формулам. И сами эти формулы как раз-таки
и задаются в зависимости от выбора switch 0, 90, 180, 270.
В кусочке кода я просто задефайнил, разумеется, каждый поймет, что это работать не будет. Я изначально пробовал прописать формулы в переменных типа string, потом в CreateObject объединить формулы с координатами объекта, путем strcat, но столкнулся с проблемой, что просто не знаю как преобразовать в таком случае string в float. Вернее даже не преобразовать, а чтобы CreateObject не принимал string, как float значение, а именно выполнял ту формулу, что прописана в string, не знаю как более правильно выразиться) Так вот, как мне задать эти формулы, чтобы потом CreateObject правильно их считывал? Подозреваю, что, возможно, есть что-то типа #define, но я просто об этом не знаю, поэтому и прошу помощи. Просто #define +формула в CreateObject, кстати, работает, если делать без выборки по градусам. Ну это, я так понимаю, потому что #define что-то типа константы.
PHP:
new Float:rotation;
switch(building_info[i][ROTATION])
{
     case 0:
     {
	    #define XCOORD (building_info[i][XCRD])+
	    #define YCOORD (building_info[i][YCRD])+
	    rotation = 0.0;
     }
    case 90:
    {
        #define XCOORD (building_info[i][XCRD]+102.4)-
	    #define YCOORD (building_info[i][YCRD])+
	    rotation = 90.0;
    }
    case 180:
    {
       #define XCOORD (building_info[i][XCRD]+102.4)-
	   #define YCOORD (building_info[i][YCRD]+102.4)-
	   rotation = 180.0;
    }
    case 270:
    {
       #define XCOORD (building_info[i][XCRD])+
	   #define YCOORD (building_info[i][YCRD]+102.4)-
	   rotation = 270.0;
    }
}

switch(building_info[i][TYPE])
{
        case 50:
        {
	       lands_objects[i][0] = CreateDynamicObject(760, XCOORD (40.8898), YCOORD (18.6159), (building_info[i][ZCRD])+(-1.1712), 0.0000, 0.0000, 0.0000+rotation, -1, -1, -1, 3000);
        }
}
Надеюсь на вашу помощь :)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу