PDA

Просмотр полной версии : [Вопрос] Архитектура мода



PawnoNoob
24.12.2017, 22:09
Приветствую. Надоел, наверное, я уже со своими вопросами по поводу y_hook и прочими вопросами по поводу архитектуры мода, но всё же хочется услышать мнение профессионалов.

Обязательно ли использовать y_hook? Этот вопрос меня волнует очень сильно, потому что при компиляции без режима совместимости (в компиляторе от Zeex) показывает огромное количество ошибок, хотя по идее всё правильно.
Что Вы вообще думаете об y_hook? Влияет ли он на производительность, быстродействие?
Могут ли возникать какие-нибудь ошибки при компиляции в режиме совместимости (сбои, если так будет понятнее)?

Можно ли сделать всё "красиво" без y_hook? :ok:

DeimoS
24.12.2017, 22:19
Использовать перехваты при структурировании мода - вообще затея смутная.
Вот тут (http://pro-pawn.ru/showthread.php?15165-Geebrox) в комментариях обсуждались разные точки зрения касаемо архитектуры проета

PawnoNoob
24.12.2017, 22:34
Использовать перехваты при структурировании мода - вообще затея смутная.
Вот тут (http://pro-pawn.ru/showthread.php?15165-Geebrox) в комментариях обсуждались разные точки зрения касаемо архитектуры проета

А можете очень кратко описать или же скинуть ссылки на "основные моменты"?:shout:

Outsider
24.12.2017, 23:03
Тут вопрос в том, как лично тебе будет удобно. Гейммодинг есть гейммодинг, вряд ли твой проект будет дорабатывать еще дюжина программистов.

Тащемта по ссылке все выглядит крайне не плохо, у меня примерно так же, но компилятор храню отдельно, а не в каждом проекте, как автор.

http://i.imgur.com/bA0XyzS.png

PawnoNoob
24.12.2017, 23:11
Тут вопрос в том, как лично тебе будет удобно. Гейммодинг есть гейммодинг, вряд ли твой проект будет дорабатывать еще дюжина программистов.

Тащемта по ссылке все выглядит крайне не плохо, у меня примерно так же, но компилятор храню отдельно, а не в каждом проекте, как автор.

http://i.imgur.com/bA0XyzS.png

Саму архитектуру для себя я уже в голове разработал. Мне сама реализация нужна. Если использовать y_hook - так себе затея, то как лучше будет реализовать?

Geebrox
25.12.2017, 02:17
но компилятор храню отдельно, а не в каждом проекте, как автор.

Это был сделан для совместимости. Не у каждого компилятор хранится в отдельной директории. Даже можно сказать, что большинство используют отдельные компиляторы для отдельных проектов. В том проекте уклон идёт для поддержки совместимости с большой аудиторией.

Outsider
25.12.2017, 07:12
Это был сделан для совместимости. Не у каждого компилятор хранится в отдельной директории. Даже можно сказать, что большинство используют отдельные компиляторы для отдельных проектов. В том проекте уклон идёт для поддержки совместимости с большой аудиторией.

Не подразумевал, как что-то плохое, если что.

PawnoNoob, а в чем проблема реализации? Зачем какой-то y_hook и прочие вещи? Инклюдам можно прописать любой путь, если ты об этом.

#include "../../src/something.inc"

DeimoS
25.12.2017, 10:41
Саму архитектуру для себя я уже в голове разработал. Мне сама реализация нужна. Если использовать y_hook - так себе затея, то как лучше будет реализовать?

Если у тебя модульный проект, отказываешься от перехватов и делаешь всё отдельными функциями, прописывая их вызов из основного скрипта. Иначе потом замучаешься настраивать порядок вызова кода, когда это станет важно.
А вообще все ответы есть в той теме. И с подходом "лень читать" ты очень многое теряешь (как минимум, не научишься на чужих ошибках)

PawnoNoob
25.12.2017, 12:58
Если у тебя модульный проект, отказываешься от перехватов и делаешь всё отдельными функциями, прописывая их вызов из основного скрипта. Иначе потом замучаешься настраивать порядок вызова кода, когда это станет важно.
А вообще все ответы есть в той теме. И с подходом "лень читать" ты очень многое теряешь (как минимум, не научишься на чужих ошибках)

То есть это должно выглядеть примерно так?

public OnPlayerConnect(playerid)
{
connect(playerid);

return true;
}
И где-то в другом файле:

stock connect(playerid) ...

DeimoS
25.12.2017, 15:29
Угу. В той теме всё описано. К чему сейчас тратить и своё, и наше время?