- Регистрация
- 12 Ноя 2010
- Сообщения
- 20
- Лучшие ответы
- 0
- Репутация
- 70
Урок 1 - Делаем первые шаги в pawno.
1.1 - Предисловие.
Здравствуйте, я Stepich(то бишь m@loi), и я возможно буду вести серию уроков на pawno-info.ru.
Если вы были на других форумах по изучению pawno то наверняка заметили что зачастую уроки путают с мануалами или FAQ, из за чего они лежат в одном разделе что осложняет обучение.
Я постараюсь не захламлять ваши мозги всякими научными терминами(коих я знаю немного) так что все будет на вполне понятном родном русском языке.
Сейчас актуальна версия SA:MP 0.3b R2, собственно о ней я и буду рассказывать.
1.2 - Что такое pawno.
Pawn - язык программирования используемый в SA:MP для создания модов и фильтрскриптов(о них расскажу в одном из следующих уроков).
Для их написания используется программа pawno (или ее аналог) которая поставляется вместе с сервером.Свою работу в ней можно облегчить с помощью инклудов, которые добавляют дополнительные функции(о них тоже расскажу в одном из следующих уроков).
1.3 - Открываем pawno.
Для начала вам нужно скачать сам сервер.Скачиваем его с сайта sa-mp.wiki. Напоминаю сейчас актуальна версия 0.3b.
Распаковываем архив в удобном вам месте(можно хоть на рабочем столе).
Затем заходим в только что распакованную папку и заходим в находящуюся там папку pawno. В ней вы увидите прогу pawno.exe, лучше сделайте у себя на рабочем столе ее ярлык.
Итак щелкаем по созданному ярлыку и видим довольно простой интерфейс.
1.4 - Делаем первые шаги.
Вверху вы увидите панель на которой вам нужно нажать кнопку с белым листом, тем самым мы создадим новый файл.
Итак что вы видите? Куча непонятных слов и скобочек, так давайте разберемся что и зачем там нужно
Для примера возьмем вот этот код:
public OnPlayerCommandText(playerid, cmdtext[]) - это паблик. Они вызываются при определенном действии на сервере. Вот этот паблик вызывается если игрок введет какую нибудь команду.
{ } - скобочки открытия и закрытия. Покажу еще пример:
Здесь если а будет меньше б(то есть проверку пройдет) то выполниться функция-1 а затем функция-2.Если проверка не пройдет то все что находиться между скобочек(сейчас там находится функция-1) проигноируется и выполниться только функция-2.
if (strcmp("/mycommand", cmdtext, true, 10) == 0) - Это сравнивание двух строк. Сейчас идет проверка если комманда которую ввел игрок равна "/mycommand"(без кавычек,они нужны что бы показать программе что это текст).
// Do something here - это комментарий.Игноируется компилятором.В основном они нужны что бы не запутаться в своем скрипте(например указать зачем нужна созданная вами команда) или закомментировать ненужный кусок кода.
Так же можно закомментировать приличный кусок кода с помощью /* и */.Все что находится между ними будет закомментировано.
return 1; - этот оператор(извените но тут без научных слов не обойтись) что либо возвращает при этом выполнение какой нить функции или паблика прекращается.В данном случае он возвращает 1 то есть комманда правильная.
return 0;(для данного паблика) - если вернуть 0 или забыть поставить в конце созданной комманды return 1; то вам в окне чата выведется сообщение"Unkown kommand.".
Примечание:подробно об операторе return я напишу в одном из следующих уроков.
Вроде основное обьяснил, если что то непонятно, пишите
Запомните:стройте код лесенкой.Например как у меня каждая проверка - отступ на 4 символа.
Теперь давайте добавим сообщение которое будет выводиться в окне чата при заходе человека на сервер.Добавьте в public OnPlayerConnect(playerid) между скобкой { и return 1; вот эту строку:
SendClientMessage(ID игрока,цвет,"какой нибудь текст"); - отсылает сообщение игроку в чат.
Меняйте слово "Ваше сообщение" на свое.Помните что текст должен быть между двумя двойными кавычками(то есть между " и ");
Ваш код должен выглядеть так:
Теперь давайте сохраним этот файл с помощью кнопки в виде дискеты(лучше всего в папке сервера gamemodes, там все моды подключаемые к серверу и должны находиться) с именем test(можете назвать по другому только не ставьте пробелы в названии).Затем нажмем на кнопку в виде окна с шестеренкой которая напротив синей стрелочки, тем самым вы скомпилируете мод.
И если у вас вылезло окно с таким текстом "Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase" то значит все в порядке
Если вылезда какая нибудь ошибка или предупреждени то в ней будет написано в какой именно строке это произошло.
Ну а теперь давайте зайдем в файл сервера server.cfg и найдем строку "gamemode0 grandlarc 1" и заменим "grandlarc" на название файла вашего мода без расширения .amx и у вас должно получиться например вот так "gamemode0 test 1"(test - пример названия мода).
Сохраняете файл и запускаете samp-server.exe.Затем запустите ваш клиент и нажмите на кнопку в виде галочки и запишите в выскочившей строке слово "localhost" (без кавычек).
Все теперь можете зайти на серв и увидеть ваше сообщение.
Если вы чувствуете после этого урока что для вас скриптинг труден, то можете спокойно с чистой совестью забыть о нем и быть на серверах в качестве игрока(или админа или модера смотря как повезет).
2 и последующие уроки будут так что не беспокойтесь(если урок не нравится - могу удалить)
1.1 - Предисловие.
Здравствуйте, я Stepich(то бишь m@loi), и я возможно буду вести серию уроков на pawno-info.ru.
Если вы были на других форумах по изучению pawno то наверняка заметили что зачастую уроки путают с мануалами или FAQ, из за чего они лежат в одном разделе что осложняет обучение.
Я постараюсь не захламлять ваши мозги всякими научными терминами(коих я знаю немного) так что все будет на вполне понятном родном русском языке.
Сейчас актуальна версия SA:MP 0.3b R2, собственно о ней я и буду рассказывать.
1.2 - Что такое pawno.
Pawn - язык программирования используемый в SA:MP для создания модов и фильтрскриптов(о них расскажу в одном из следующих уроков).
Для их написания используется программа pawno (или ее аналог) которая поставляется вместе с сервером.Свою работу в ней можно облегчить с помощью инклудов, которые добавляют дополнительные функции(о них тоже расскажу в одном из следующих уроков).
1.3 - Открываем pawno.
Для начала вам нужно скачать сам сервер.Скачиваем его с сайта sa-mp.wiki. Напоминаю сейчас актуальна версия 0.3b.
Распаковываем архив в удобном вам месте(можно хоть на рабочем столе).
Затем заходим в только что распакованную папку и заходим в находящуюся там папку pawno. В ней вы увидите прогу pawno.exe, лучше сделайте у себя на рабочем столе ее ярлык.
Итак щелкаем по созданному ярлыку и видим довольно простой интерфейс.
1.4 - Делаем первые шаги.
Вверху вы увидите панель на которой вам нужно нажать кнопку с белым листом, тем самым мы создадим новый файл.
Итак что вы видите? Куча непонятных слов и скобочек, так давайте разберемся что и зачем там нужно
Для примера возьмем вот этот код:
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
{ } - скобочки открытия и закрытия. Покажу еще пример:
PHP:
проверка(а<б)
{
функция-1
}
функция-2
if (strcmp("/mycommand", cmdtext, true, 10) == 0) - Это сравнивание двух строк. Сейчас идет проверка если комманда которую ввел игрок равна "/mycommand"(без кавычек,они нужны что бы показать программе что это текст).
// Do something here - это комментарий.Игноируется компилятором.В основном они нужны что бы не запутаться в своем скрипте(например указать зачем нужна созданная вами команда) или закомментировать ненужный кусок кода.
Так же можно закомментировать приличный кусок кода с помощью /* и */.Все что находится между ними будет закомментировано.
return 1; - этот оператор(извените но тут без научных слов не обойтись) что либо возвращает при этом выполнение какой нить функции или паблика прекращается.В данном случае он возвращает 1 то есть комманда правильная.
return 0;(для данного паблика) - если вернуть 0 или забыть поставить в конце созданной комманды return 1; то вам в окне чата выведется сообщение"Unkown kommand.".
Примечание:подробно об операторе return я напишу в одном из следующих уроков.
Вроде основное обьяснил, если что то непонятно, пишите
Запомните:стройте код лесенкой.Например как у меня каждая проверка - отступ на 4 символа.
Теперь давайте добавим сообщение которое будет выводиться в окне чата при заходе человека на сервер.Добавьте в public OnPlayerConnect(playerid) между скобкой { и return 1; вот эту строку:
PHP:
SendClientMessage(playerid, 0xFFFF00AA, "Ваше сообщение");
Меняйте слово "Ваше сообщение" на свое.Помните что текст должен быть между двумя двойными кавычками(то есть между " и ");
Ваш код должен выглядеть так:
PHP:
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, 0xFFFF00AA, "Ваше сообщение");
return 1;
}
И если у вас вылезло окно с таким текстом "Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase" то значит все в порядке
Если вылезда какая нибудь ошибка или предупреждени то в ней будет написано в какой именно строке это произошло.
Ну а теперь давайте зайдем в файл сервера server.cfg и найдем строку "gamemode0 grandlarc 1" и заменим "grandlarc" на название файла вашего мода без расширения .amx и у вас должно получиться например вот так "gamemode0 test 1"(test - пример названия мода).
Сохраняете файл и запускаете samp-server.exe.Затем запустите ваш клиент и нажмите на кнопку в виде галочки и запишите в выскочившей строке слово "localhost" (без кавычек).
Все теперь можете зайти на серв и увидеть ваше сообщение.
Если вы чувствуете после этого урока что для вас скриптинг труден, то можете спокойно с чистой совестью забыть о нем и быть на серверах в качестве игрока(или админа или модера смотря как повезет).
2 и последующие уроки будут так что не беспокойтесь(если урок не нравится - могу удалить)