Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 117 из 117 ПерваяПервая ... 1767107115116117
Показано с 1,161 по 1,169 из 1169
  1. #1161
    Аватар для alonso
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.09.2017
    Сообщений
    6
    Репутация:
    0 ±
    Что лучше? Использовать YSI или пользоваться отдельными инклудами?

  2. #1162
    Аватар для x86
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.01.2019
    Сообщений
    33
    Репутация:
    5 ±
    Цитата Сообщение от alonso Посмотреть сообщение
    Что лучше? Использовать YSI или пользоваться отдельными инклудами?
    Вообще этот вопрос должен рассматривать сам разработчик, взвесив все за и против.

    YSI это база инклюдов, которые достаточно хорошо написаны и поддерживаются большим коммюнити. Однако, из-за большой базы просходит долгая компиляция. Исходя из этого, можно сделать вывод: если нужно использовать лишь единственный инклюд, то качать и компилировать все зависимые инклюды - достаточно бесполезное занятие, вы можете найти подобный инклюд, реализующий подобный функционал и использовать его.

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

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    132
    Репутация:
    21 ±
    Существует ли инклуд для более удобной работы с трейлерами(прицепами для фуры)?
    YouTube: knox
    Vk: группа
    Портфолио: knox

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,687
    Репутация:
    1732 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Существует ли инклуд для более удобной работы с трейлерами(прицепами для фуры)?
    Отдельно по трейлерам не видел, но есть, например, в таком функционал, отслеживающий трейлеры (правда, реализация там сомнительная).
    Вообще что именно тебе нужно?
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  5. Пользователь сказал cпасибо:
    Seviel (14.03.2019)
  6. #1165
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    132
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Отдельно по трейлерам не видел, но есть, например, в таком функционал, отслеживающий трейлеры (правда, реализация там сомнительная).
    Вообще что именно тебе нужно?
    Ну по факту только для одного, чтобы понимать когда прицеп был потерян, а не игрок вышел из машины или отцепили трейлер. Понимаю мелочь, но я не любитель писать велосипеды.
    YouTube: knox
    Vk: группа
    Портфолио: knox

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,687
    Репутация:
    1732 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Ну по факту только для одного, чтобы понимать когда прицеп был потерян, а не игрок вышел из машины или отцепили трейлер. Понимаю мелочь, но я не любитель писать велосипеды.
    Ну тогда реализация из инклуда для тебя. Хотя если тебе нужно весь транспорт отслеживать, а не только тот, в котором сидят игроки, то я бы сделал через таймер, а не через OnPlayerUpdate

    1. new VehicleTrailerID[MAX_VEHICLES];
    2.  
    3. //OnGameModeInit
    4. SetTimer("@__CheckVehicleTrailer", 500, true);// Соответственно, чем меньше интервал, тем точнее
    5.  
    6. @__CheckVehicleTrailer();
    7. @__CheckVehicleTrailer()
    8. {
    9. for(new i, trailer_id; i < MAX_VEHICLES; i++)
    10. {
    11. continue;
    12. trailer_id = GetVehicleTrailer(i);
    13. if(VehicleTrailerID[i] == trailer_id)
    14. continue;
    15. if(!trailer_id)
    16. {
    17. //Трейлер потерян
    18. }
    19. else
    20. {
    21. //Трейлер прицеплен
    22. }
    23. return 1;
    24. }
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    Seviel (14.03.2019)
  9. #1167
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    132
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну тогда реализация из инклуда для тебя. Хотя если тебе нужно весь транспорт отслеживать, а не только тот, в котором сидят игроки, то я бы сделал через таймер, а не через OnPlayerUpdate

    1. new VehicleTrailerID[MAX_VEHICLES];
    2.  
    3. //OnGameModeInit
    4. SetTimer("@__CheckVehicleTrailer", 500, true);// Соответственно, чем меньше интервал, тем точнее
    5.  
    6. @__CheckVehicleTrailer();
    7. @__CheckVehicleTrailer()
    8. {
    9. for(new i, trailer_id; i < MAX_VEHICLES; i++)
    10. {
    11. continue;
    12. trailer_id = GetVehicleTrailer(i);
    13. if(VehicleTrailerID[i] == trailer_id)
    14. continue;
    15. if(!trailer_id)
    16. {
    17. //Трейлер потерян
    18. }
    19. else
    20. {
    21. //Трейлер прицеплен
    22. }
    23. return 1;
    24. }
    Я делал на подобие системы АФК, только вместо OnPlayerUpdate OnTrailerUpdate.
    Пожалуй я сделаю как ты предлагаешь, мне кажется лишним подключать целый инклуд, ради одной функции.
    YouTube: knox
    Vk: группа
    Портфолио: knox

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,687
    Репутация:
    1732 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Я делал на подобие системы АФК, только вместо OnPlayerUpdate OnTrailerUpdate.
    Пожалуй я сделаю как ты предлагаешь, мне кажется лишним подключать целый инклуд, ради одной функции.
    Вспомнил, что вот такой вариант использовал когда-то
    1. new bool:VehicleTrailerStatus[MAX_VEHICLES char];
    2.  
    3. public OnTrailerUpdate(playerid, vehicleid)
    4. {
    5. if(VehicleTrailerStatus{vehicleid} == false)
    6. {
    7. static
    8. trailerid;
    9.  
    10. trailerid = vehicleid;
    11. vehicleid = GetPlayerVehicleID(playerid);
    12.  
    13.  
    14. SetTimerEx("OnAttachedTrailerUpdate", 500, false, "iii", playerid, vehicleid, trailerid);
    15. VehicleTrailerStatus{trailerid} = true;
    16. vehicleid = trailerid;// Это на случай, если дальше будет ещё какой-то код.
    17. }
    18. return 1;
    19. }
    20.  
    21. forward OnAttachedTrailerUpdate(driverid, vehicleid, trailerid);
    22. public OnAttachedTrailerUpdate(driverid, vehicleid, trailerid)
    23. {
    24. if(GetVehicleTrailer(vehicleid) != trailerid)
    25. {
    26. VehicleTrailerStatus{trailerid} = false;
    27. }
    28. else
    29. SetTimerEx("OnAttachedTrailerUpdate", 500, false, "iii", driverid, vehicleid, trailerid);
    30. return 1;
    31. }


    То бишь, принцип практически такой же, только таймер запускается не в OnGameModeInit, а когда игрок цепляет трейлер. И обрабатывает таймер только конкретное авто.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  11. Пользователь сказал cпасибо:
    Seviel (14.03.2019)
  12. #1169
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    132
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вспомнил, что вот такой вариант использовал когда-то
    1. new bool:VehicleTrailerStatus[MAX_VEHICLES char];
    2.  
    3. public OnTrailerUpdate(playerid, vehicleid)
    4. {
    5. if(VehicleTrailerStatus{vehicleid} == false)
    6. {
    7. static
    8. trailerid;
    9.  
    10. trailerid = vehicleid;
    11. vehicleid = GetPlayerVehicleID(playerid);
    12.  
    13.  
    14. SetTimerEx("OnAttachedTrailerUpdate", 500, false, "iii", playerid, vehicleid, trailerid);
    15. VehicleTrailerStatus{trailerid} = true;
    16. vehicleid = trailerid;// Это на случай, если дальше будет ещё какой-то код.
    17. }
    18. return 1;
    19. }
    20.  
    21. forward OnAttachedTrailerUpdate(driverid, vehicleid, trailerid);
    22. public OnAttachedTrailerUpdate(driverid, vehicleid, trailerid)
    23. {
    24. if(GetVehicleTrailer(vehicleid) != trailerid)
    25. {
    26. VehicleTrailerStatus{trailerid} = false;
    27. }
    28. else
    29. SetTimerEx("OnAttachedTrailerUpdate", 500, false, "iii", driverid, vehicleid, trailerid);
    30. return 1;
    31. }


    То бишь, принцип практически такой же, только таймер запускается не в OnGameModeInit, а когда игрок цепляет трейлер. И обрабатывает таймер только конкретное авто.
    Мне этот вариант больше нравится, "элегантнее" выглядит.
    YouTube: knox
    Vk: группа
    Портфолио: knox

 

 
Страница 117 из 117 ПерваяПервая ... 1767107115116117

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

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

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

Ваши права

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