Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 10 из 10
  1. #1
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±

    Не работает SetCameraBehindPlayer

    Вот код:

    1. stock LoadPickup()
    2. {
    3. lspd_pickup[0] = CreateDynamicPickup(1318, 23, 1555.1547, -1675.6980, 16.1953, 0, 0);
    4. lspd_pickup[1] = CreateDynamicPickup(1318, 23, 1568.6356, -1689.9714, 6.2188, 0, 0);
    5. lspd_pickup[2] = CreateDynamicPickup(1318, 23, 1524.4830, -1677.8745, 6.2188, 0, 0);
    6. lspd_interior_pickup[0] = CreateDynamicPickup(1318, 23, 246.7484, 62.9059, 1003.6406, 1, 6);
    7. lspd_interior_pickup[1] = CreateDynamicPickup(1318, 23, 246.3826, 87.7111, 1003.6406, 1, 6);
    8. }


    1. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
    2. {
    3. FreezePlayer(playerid, 0);
    4. if(pickupid == lspd_pickup[0])
    5. {
    6. SetPlayerInterior(playerid, 6);
    7. SetPlayerVirtualWorld(playerid, 1);
    8. SetPlayerPos(playerid, 246.4760, 64.9833, 1003.6406);
    9. SetPlayerFacingAngle(playerid, 7.1192);
    10. FreezePlayer(playerid, 1);
    11. return true;
    12. }
    13. else if(pickupid == lspd_pickup[1])
    14. {
    15. SetPlayerInterior(playerid, 6);
    16. SetPlayerVirtualWorld(playerid, 1);
    17. SetPlayerPos(playerid, 246.3676, 85.1991, 1003.6406);
    18. SetPlayerFacingAngle(playerid, 180.1371);
    19. FreezePlayer(playerid, 1);
    20. return true;
    21. }
    22. else if(pickupid == lspd_pickup[2])
    23. {
    24. SetPlayerInterior(playerid, 0);
    25. SetPlayerVirtualWorld(playerid, 0);
    26. SetPlayerPos(playerid, 1564.8058, -1686.1250, 28.3956);
    27. SetPlayerFacingAngle(playerid, 175.9090);
    28. FreezePlayer(playerid, 1);
    29. return true;
    30. }
    31. else if(pickupid == lspd_interior_pickup[0])
    32. {
    33. SetPlayerVirtualWorld(playerid, 0);
    34. SetPlayerInterior(playerid, 0);
    35. SetPlayerPos(playerid, 1552.9127, -1675.4833, 16.1953);
    36. SetPlayerFacingAngle(playerid, 89.9432);
    37. FreezePlayer(playerid, 1);
    38. return true;
    39. }
    40. else if(pickupid == lspd_interior_pickup[1])
    41. {
    42. SetPlayerVirtualWorld(playerid, 0);
    43. SetPlayerInterior(playerid, 0);
    44. SetPlayerPos(playerid, 1568.6012, -1692.0466, 5.8906);
    45. SetPlayerFacingAngle(playerid, 178.9958);
    46. FreezePlayer(playerid, 1);
    47. return true;
    48. }
    49. return true;
    50. }


    1. stock SetPlayerSpawn(playerid)
    2. {
    3. FreezePlayer(playerid, 0);
    4. SetPlayerSkin(playerid, player[playerid][p_skin]);
    5. SetPlayerColor(playerid, 0xFFFFFF50);
    6. switch(frac[playerid][f_frac])
    7. {
    8. case 0:
    9. {
    10. SetPlayerVirtualWorld(playerid, 0);
    11. SetPlayerInterior(playerid, 0);
    12. SetPlayerPos(playerid, 1128.9858, -1464.6996, 15.7717);
    13. SetPlayerFacingAngle(playerid, 1.3276);
    14. }
    15. case 1:
    16. {
    17. SetPlayerVirtualWorld(playerid, 1);
    18. SetPlayerInterior(playerid, 6);
    19. SetPlayerPos(playerid, 217.8148, 76.4076, 1005.0391);
    20. SetPlayerFacingAngle(playerid, 0.8759);
    21. }
    22. }
    23. FreezePlayer(playerid, 1);
    24. SetPlayerScore(playerid, player[playerid][p_level]);
    25. }


    При наступлении на пикап не срабатывает SetCameraBehindPlayer, камера по-прежнем остается в том же месте, что и до телепортации

    Что я сделал не так?
    Последний раз редактировалось SteveStage; 15.12.2019 в 19:01.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Посмотри какое значение возвращает SetCameraBehindPlayer. И есть ли перехваты данной функции.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Посмотри какое значение возвращает SetCameraBehindPlayer. И есть ли перехваты данной функции.
    Перехватов нет и быть не может, ибо это функция стримера. Функция во всех случаях возвращает 1. Кстати, пикапы входа/выхода в гараж всегда поворачивают камеру на игрока спереди, а вот центральный вход поворачивает камеру влево на персонажа, а выход - вправо на персонажа, не знаю, с чем связано.

  4. #4
    Аватар для Pa4enka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    Стримерская? Навряд. Залогируй возвращаемое значения, как и говорилось выше.

  5. #5
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от Pa4enka Посмотреть сообщение
    Залогируй возвращаемое значения, как и говорилось выше.
    Так я же уже сказал, что SetCameraBehindPlayer всегда возвращает 1 (у меня)

    Цитата Сообщение от Pa4enka Посмотреть сообщение
    Стримерская? Навряд.
    1. public OnPlayerPickUpDynamicPickup(playerid, pickupid)


    Это название паблика тебе ни о чем не говорит? Все пикапы динамические, т.е. функции стримера, сам посмотри на сток LoadPickup

    1. stock LoadPickup()
    2. {
    3. lspd_pickup[0] = CreateDynamicPickup(1318, 23, 1555.1547, -1675.6980, 16.1953, 0, 0);
    4. lspd_pickup[1] = CreateDynamicPickup(1318, 23, 1568.6356, -1689.9714, 6.2188, 0, 0);
    5. lspd_pickup[2] = CreateDynamicPickup(1318, 23, 1524.4830, -1677.8745, 6.2188, 0, 0);
    6. lspd_interior_pickup[0] = CreateDynamicPickup(1318, 23, 246.7484, 62.9059, 1003.6406, 1, 6);
    7. lspd_interior_pickup[1] = CreateDynamicPickup(1318, 23, 246.3826, 87.7111, 1003.6406, 1, 6);
    8. }
    Последний раз редактировалось SteveStage; 15.12.2019 в 21:14.

  6. #6
    Аватар для Pa4enka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2016
    Адрес
    Украина
    Сообщений
    157
    Репутация:
    35 ±
    Я о функции SetPlayerCameraBehind...

  7. #7
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Моя проблема нерешаемая? SetCameraBehindPlayer просто не выполняет свою функцию, удаляй ее или оставь

  8. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Steve_Stage Посмотреть сообщение
    Перехватов нет и быть не может, ибо это функция стримера.
    1) SetCameraBehindPlayer - это не функция стримера
    2) Даже если бы это была функция стримера, это не помешало бы сделать перехват. Как вообще наличие перехватов связано со стримером?

    Ну качаешь чистый мод, пишешь там простенькую команду, которая будет вызывать SetCameraBehindPlayer, и проверяешь, сработает ли SetCameraBehindPlayer на чистом моде. Если не сработает - проблема в твоей GTA (CLEO/читы и т.п.). Если сработает - проблема в коде твоего мода (опять же, ищи перехваты или что-то, что может помешать вызову нативки).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #9
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну качаешь чистый мод, пишешь там простенькую команду, которая будет вызывать SetCameraBehindPlayer, и проверяешь, сработает ли SetCameraBehindPlayer на чистом моде. Если не сработает - проблема в твоей GTA (CLEO/читы и т.п.). Если сработает - проблема в коде твоего мода (опять же, ищи перехваты или что-то, что может помешать вызову нативки).
    Ничего не скачивал, просто удалил луа nocamrestore и все заработало)))

    Закрыто

  10. #10
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    На будущее: если есть какие-либо проблемы с нативными функциями - первое дело гугли (желательно на английском и с указанием оф.форума: "site:forum.sa-mp.com").
    SA-MP - стагнирующий мультиплеер. Из-за того, что обновления выходят редко, сообщество успевает обнаружить и описать большую часть багов, которые появляются в каждом из обновлений. Соответственно, правильно погуглив, можно либо сразу найти решение проблемы (если это действительно баг), либо определиться с тем, что проблема, вероятнее всего, либо в коде, либо в твоей сборке GTA. Этим ты порядком сэкономишь себе время.

    Закрыто.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •