Доступ к архиву

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Pawno [by Stepich]

Статус
В этой теме нельзя размещать новые ответы.

Stepich

Начинающий
Пользователь
Регистрация
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 - Делаем первые шаги.

Вверху вы увидите панель на которой вам нужно нажать кнопку с белым листом, тем самым мы создадим новый файл.
Итак что вы видите? Куча непонятных слов и скобочек, так давайте разберемся что и зачем там нужно:)

Для примера возьмем вот этот код:

PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}
public OnPlayerCommandText(playerid, cmdtext[]) - это паблик. Они вызываются при определенном действии на сервере. Вот этот паблик вызывается если игрок введет какую нибудь команду.

{ } - скобочки открытия и закрытия. Покажу еще пример:

PHP:
проверка(а<б)
{
    функция-1
}
функция-2
Здесь если а будет меньше б(то есть проверку пройдет) то выполниться функция-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; вот эту строку:

PHP:
SendClientMessage(playerid, 0xFFFF00AA, "Ваше сообщение");
SendClientMessage(ID игрока,цвет,"какой нибудь текст"); - отсылает сообщение игроку в чат.

Меняйте слово "Ваше сообщение" на свое.Помните что текст должен быть между двумя двойными кавычками(то есть между " и ");

Ваш код должен выглядеть так:

PHP:
public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid, 0xFFFF00AA, "Ваше сообщение");
	return 1;
}
Теперь давайте сохраним этот файл с помощью кнопки в виде дискеты(лучше всего в папке сервера 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 и последующие уроки будут так что не беспокойтесь(если урок не нравится - могу удалить:))
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу