Что такое алгоритм
Что бы написать любой плагин, нам нужно четко представлять себе как он должен работать, что должен делать, в какой последовательности, в принципе это и есть очень грубое определение алгоритма.
Алгоритм - это точный набор инструкций (функций),описывающий порядок действий плагина для достижения результата решения задачи ( цели плагина).
Это немного урезанное определение специально для плагинов ;))
На самом деле мы каждый свой день проживаем с помощью циклов и алгоритмов, просто не задумываясь об этом.
Кто из вас задумывался как он ходит в школу или на работу? Пожалуй ни кто, ни кто не задумывался о том, что бы просто дойти до школы он выполняет целую кучу действий:
- ( проснулся, умылся, собрался)
- вышел из квартиры
- закрыл квартиру ( я уже молчу о достать ключи, выбрать нужный ключ, вставить в замочную скважину, подумать в какую сторону закрывается замок и так далее)
- вызвал лифт
- подождал лифт
- зашел в лифт
- и так далее,
В плагине же происходит точно так же, плагину нужен точный, пошаговый, алгоритм действий, что бы выполнить поставленную задачу.То есть если вы хотите дать игроку при старте раунда какое то оружие, то необходимо построить логическую цепочку ( алгоритм) как будет этот плагин работать:
- Если давать оружие при событии старта раунда, то нужно его отловить
отловили ( есть разные способы,решать вам каким пользоваться) - Далее нам необходимо выбрать кому именно (допустим админу) выдать оружие.
С помощью цикла вычисляем админов. - Даем им оружие.
Что я пытаюсь вам сказать, очень часто вижу на форумах просьбы подправить или добавить что то в существующий плагин, но человек даже понятия не имеет, как он работает, и если хотя бы попытался составить алгоритм работы плагина, то вопросов было бы на много меньше и те вопросы которые остались - были бы интереснее и отвечать на них тоже.
Зачастую проблема в редактировании плагина заключается не в том, что человек не знает как дать еще жизней игроку, а в том что не знает в каком месте это нужно сделать, ведь на вопрос как добавить hp на любом форуме дадут ответ через 10 секунд. Если же человек сначала пропишет на бумажке (именно на бумаге лучше составлять алгоритм, там легче рисовать стрелочки что с чем взаимосвязано) и потом в коде плагина попробует найти сначала большие блоки ( события ), то ему через какое то время ( особенно если он знаком с основным набором функций) не составит отыскать в коде нужное место и добавить туда свою идею.
Необходимо четко запомнить что плагин это не только набор функций, а в первую очередь Идея и четко продуманный алгоритм, и только потом функции, переменные и массивы. Так как все функции сами по себе ни чего не сделают и только если их расставить в определенном порядке, они создадут какое то действие, то действие которое запланировал автор.
Не путайте так же Идею и алгоритм.
Например:
Идея дать игроку бессмертие за 10 фрагов.
Алгоритм же будет такой (грубо говоря):
- Нужно для каждого игрока подсчитывать его убийства.
- После подсчета убийства проверять сколько уже у него убийств.
- Если больше 10 до дать бессмертие.
Но это тоже не совсем верно, если игрок выйдет? то на id останется бессмертие, то есть необходимо не забыть учитывать ВСЕ возможные случаи.
Не забывайте что вы человек и понимаете что игрок вышел, а вот вашему коду только вы! сможете объяснить "Что нужно делать в том или ином случае."
Практики из этой стати ноль, но теория тоже очень важна. надеюсь у меня хоть немного получилось пояснить вам важность алгоритма и с чего начинается разработка плагина.
В 4 уроке Вы написали:
Было бы здорово, если бы Вы после каждого урока, в конце, предлагали написать простой плагин относящийся именно к этому уроку