Дай весь код со своим шлагбаумом, ты явно что-то не то делаешь
[ Pawn ]
MoveDynamicObject
#13
Отправлено 23 февраля 2021 - 15:29

Скрытый текст [Показать]
Предлагаешь человеку загуглить его проблему > получаешь -1 к реп...

#14
Отправлено 23 февраля 2021 - 20:40

Shvider (23 февраля 2021 - 15:29) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
Я просил конкретно помочь, а загуглить я как бы и сам могу. Я же указал, что весь день убил на эту проблему.
И скорость открытия менял: ниже 0.013 - рывками/не работает вообще, выше - резко/либо просто меняет положение из горизонтального в вертикальное
Вариант с таймером, который автоматически опустит шлагбаум через N секунд не подходит
Что касаемо кода:
if(IsPlayerInRangeOfPoint(playerid, 2.0, 6658.0854, -8195.6025, 6.0727)) { if(player[playerid][fraction] == 1) { if(vice_police_door_lock[5] == false) { MoveDynamicObject(vice_police_door[5], 6659.281838+0.001, -8194.315329+0.001, 5.880596+0.001, 0.035, 0.000000, 0.000000, 80.600028); vice_police_door_lock[5] = true; } else if(vice_police_door_lock[5] == true) { MoveDynamicObject(vice_police_door[5], 6659.281838-0.001, -8194.315329-0.001, 5.880596-0.001, 0.025, 0.000000, 90.000000, 80.600028); vice_police_door_lock[5] = false; } } }
Сообщение отредактировал Papik: 23 февраля 2021 - 20:43
#15
Отправлено 23 февраля 2021 - 21:09

Чтобы было плавно - нужно немного сдвигать объект по какой то из осей и только тогда запускать мув.
upd: где то были у меня наброски, но система, принципе, работала как надо. Если тебе прям надо, то могу поискать и поделится.
upd: где то были у меня наброски, но система, принципе, работала как надо. Если тебе прям надо, то могу поискать и поделится.
Сообщение отредактировал Pa4enka: 23 февраля 2021 - 21:15
#16
Отправлено 23 февраля 2021 - 21:24

Pa4enka (23 февраля 2021 - 21:09) писал:
Чтобы было плавно - нужно немного сдвигать объект по какой то из осей и только тогда запускать мув.
upd: где то были у меня наброски, но система, принципе, работала как надо. Если тебе прям надо, то могу поискать и поделится.
upd: где то были у меня наброски, но система, принципе, работала как надо. Если тебе прям надо, то могу поискать и поделится.
Сдвигаю, но что-то не получается ничего. Если тебе не сложно, то мог бы поискать?
#18
Отправлено 24 февраля 2021 - 05:29

Papik (23 февраля 2021 - 20:40) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
Ты не этот огрызок дай, а полный код: от создания и до взаимодействия - вместе со всеми переменными и т.п. Можешь из него удалить всякие не важные переменные, по типу проверки на фракцию - главное, чтоб сама проблема, при вставке такого кода в чистый мод, воспроизводилась.
#19
Отправлено 25 февраля 2021 - 16:08

DeimoS (24 февраля 2021 - 05:29) писал:
Нажмите сюда, чтобы прочитать это сообщение. [Показать]
new bool:vice_police_door_lock, vice_police_door; OnGameModeInit: vice_police_door = CreateDynamicObject(968, 6659.281838, -8194.315329, 5.880596, 0.000000, 90.000000, 80.600028, 0, 0, -1, 700.00, 700.00); OnPlayerKeyStateChange: if(newkeys == KEY_WALK) { if(IsPlayerInRangeOfPoint(playerid, 2.0, 6658.0854, -8195.6025, 6.0727)) { if(vice_police_door_lock == false) { MoveDynamicObject(vice_police_door, 6659.281838+0.001, -8194.315329+0.001, 5.880596+0.001, 0.035, 0.000000, 0.000000, 80.600028); vice_police_door_lock = true; } else if(vice_police_door_lock == true) { MoveDynamicObject(vice_police_door, 6659.281838-0.001, -8194.315329-0.001, 5.880596-0.001, 0.025, 0.000000, 90.000000, 80.600028); vice_police_door_lock = false; } } }
Скорость менял - либо резко/либо рывками/либо на месте, но никак не плавно
Сообщение отредактировал Papik: 25 февраля 2021 - 16:09
#20
Отправлено 26 февраля 2021 - 06:14

new bool:vice_police_door_lock, vice_police_door; OnGameModeInit: vice_police_door = CreateDynamicObject(968, 6659.281838, -8194.315329, 5.880596, 0.000000, 90.000000, 80.600028, 0, 0, -1, 700.00, 700.00); OnPlayerKeyStateChange: if(newkeys == KEY_WALK) { if(IsPlayerInRangeOfPoint(playerid, 2.0, 6658.0854, -8195.6025, 6.0727)) { if(vice_police_door_lock == false) { MoveDynamicObject(vice_police_door, 6659.281838, -8194.315329, 5.880596+0.001, 0.001, 0.000000, 0.000000, 80.600028); vice_police_door_lock = true; SendClientMessage(playerid, -1, params); } else { MoveDynamicObject(vice_police_door, 6659.281838, -8194.315329, 5.880596-0.001, 0.001, 0.000000, 90.000000, 80.600028); vice_police_door_lock = false; } } }
Если нужно ещё медленнее - уменьшай число, указанное как скорость открытия.