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

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

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

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

3 урока pawn для новичков [копипаст]

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

[ForD]

Изучающий
Пользователь
Регистрация
5 Фев 2013
Сообщения
364
Лучшие ответы
0
Репутация
65
Гуд,пользователи P-I бродил по просторам интернет паутины и наткнулся на 1 заброшенный блог в нем было 3 урока которые я скопирую и вставлю ниже,как я сам ещё рукопопый мне понравился 2 урок так как у меня были затруднения с переменными и массивами,на данный момент я малость прозрел так сказать,подобного на форуме не видел хотя половину уроков перечитал ну да ладно не будем тянуть резину.​

Урок 1. Изучаем программу pawno
Добро пожаловать на первый урок. Здесь мы с вами познакомимся с интерфейсом программы, и разберёмся с расширениями amx и pwn. Итак, приступим.

Интерфейс Pawno
Интерфейс программы очень простой и интуитивно понятный.


Как видите программа очень простая. Красным выделена панель меню с помощью который можно легко сделать простейшие операции с текстом и фалами. Зеленым выделена панель быстрого доступа через которую можно выполнить часто используемые операции. Синим выделена рабочая область, в которой будет писаться сам код. Оранжевым выделена панель со списком функций, что это – мы разберем попозже.

AMX и PWN
Если вы при написании мода нажмете на кнопку сохранения на панели быстрого доступа либо File – Save (Ctrl + S) то вы сохраните свой проект, но если вы запустите сервер, то у вас появится ошибка, что мод указанный в server.cfg не найден в папке gamemodes. В чем же проблема? Мы же сохранили файл, почему сервер не находит его. Дело вот в чем pwn – текстовый файл, аналог txt. А игра работает с файлом который содержит четкие указания и им является файл с расширением amx. Как же pwn превратить в amx? А очень просто.Надо нажать на кнопку Compile
на панеле быстрого доступа либо F5. И в папке у нас появился файл amx. Именного его надо ложить в папку gamemodes. Теперь вы поняли в чем разница между pwn и amx.

Урок 2. Переменные и массивы
Добро пожаловать на второй урок. Вот мы и начинаем уже писать код. Здесь мы ознакомимся с такими понятиями как переменная (variable) и массив (massive). Очень важно понять эту тему, иначе дальше двигаться не получится. Переменные и массивы служат для запоминания данных и их использования в процессе исполнения мода. В процессе работы вы поймете на сколько важны эти вещи. Итак, приступим.​

1.Переменная.
Давайте представим себе какой нибудь ящик с именем. Мы можем чтонибудь положить в этот ящик, а потом использовать то, что там лежит. Например мы положим в ящик яблоко и дадим имя ящику – Яблоко. Вот мы положили яблоко и забыли про него. Таких ящиков у нас может быть большое множество. Через некоторое время мы можем открыть этот ящик и что ми там увидим? Конечно же то же самое яблоко, которое мы положили туда 15 минут назад. Примерно по такому же приципу работают переменные, это те же самые ящики, но в них можно ложить только числа или 1 символ и обращаться к этим ящикам по имени. Число которое лежит в переменной будем называть значением переменной. Все переменные надо объявлять. Переменные объявляются так: new <имя переменной>; Так же в процессе работы нашего мода мы можем изменить значение переменной. Переменная в samp может быть двух типов: целочисленная (integer) и переменная с плавающей точкой (float). Переменные с плавающей точкой должны объявлятся так: new Float:<имя переменной>;​

2.Массив
Массив не очень простая вещь, но очень важно понять для чего она нужна и что из себя представляет.

2.1 Простой массив
Начнем с простого массива. У вас мог возникнуть вопрос: “Как можно запомнить целое предложение если переменная может запоминать только 1 символ?”. Так вот массив это множество переменных не имеющих имен а только свой порядковый номер (индекс). Простой массив можно представить в виде таблицы с одной строкой и множеством столбцов. Каждый столбец пронумерован. Массивы также как и переменные надо объявлять. Массивы объявляются так: new <имя массива>[<размер массива>];. Предположим мы объявили массив new mymassive[6]; Этот массив можно заменить пятью переменными, но согласитесь, удобней создать один массив чем 6 переменных. Теперь можно в каждую ячейку массива внести по символу.​

mymassive[0] = "П";
mymassive[1] = "р"
mymassive[2] = "и"
mymassive[3] = "в"
mymassive[4] = "е"
mymassive[5] = "т"​

Если представить этот массив в виде таблицы то будет выглядеть примерно так:​

012345
Привет

2.2 Многомерный массив
Многомерный массив можно представить в виде таблицы с множеством строк и столбцов. Тоесть многомерный массив может содержать несколько предложений. Конечно несколько предложений можно и записать в простой массив. Но если мы захотим выбрать определенное предложение из массива то с простым это не получится. В виде таблицы многомерный массив можно представить так:​
012345678910111213141516
0Предложениеодин
1Предложениедва
Многомерный массив объявляется так же как и простой массив только указывается сколько строк в массиве а затем сколько символов в каждой строке: new massive[2][15]. Все “переменные” в массиве могут быть только одного типа: либо целочисленный, либо с плавающей точкой. О внесении данных в многомерный массив мы поговорим чуть позже. Спасибо за внимание​
P.S.Небольшая вырезка из урока от Tracker1 для более ясного применения Переменных,строк и массивов:
Стринг в павно это просто массив символов, без отличия от других массивов. Стринги заканчиваются NULL'ом, это занчит что они все имеют символ \0 (NULL) на конце (ASCII код 0, не путать с символом "0" у которого код 4). Если у вас такая вот строка
PHP:
new str[3] = "hi";
То на самом деле она использует 3 ячейки. Одна для h, другая для i, и последня для символа NULL, что сигнализирует об окончании строки. Если копнуть глубже, то это выглядит вот так
PHP:
new str[3] = {'h', 'i', '\0');
Или так
PHP:
new str[3] = {104,105,0};
Где 104 и 105 это ASCII код для символов 'h' и 'i' соотвественно, и 0 - код для NULL символа.

В павн по дефолту все переменные равняются 0 когда вы их обьявляете, это значит что когда вы делаете.
PHP:
new str[256];
На самом деле вы делаете
PHP:
new str[256];
for(new i=0;i<256;i++)
{
str[i]=0;
}

Урок 3. События и функции.

Итак, мы приступаем к изучению самого главного. От того, как вы поймете этот урок будет зависеть то, как вы будете программировать далее. Если же вы решили серьезно заняться скриптингом, то вам просто необходимо понять эту тему. Начнем с того, что опять проведем параллель с реальной жизнью. Что такое событие? Событие в жизни это какое-либо значимое происшествие, например: бракосочетание, рождение ребенка, решение проблемы мирового масштаба и многое другое. Событие в программирование очень похоже на событие в жизни, с той лишь разницой, что событие может быть не столь важным, например: игрок сел в машину, игрок подключился, игрок отсоединился и многое другое, все это является программным событием (пабликом).

Функции
Функция – определенная реакция на определенное событие. Например: на событие игрок сел в машину мы напишем функцию с помощью которой выведем сообщение в чат. В коде функция записывается в таком виде: имя_функции(аргументы); Каждая функция имеет свое имя. Например, функция вывода сообщения в чат – SendClientMessage. Теперь давайте разберем что же такое аргументы функции. В аргументах указываются в определенном порядке переменные, которые необходимы для выполнения данной функции. Например для выполнения функции SendClientMessage нужно указать ID игрока, которому выводить сообщение в чат, цвет сообщения и сам текст сообщения. Все эти данные вводятся в круглых скобках после имени функции. Например если написать SendClientMessage(0,0xFFFFFFFF,”Привет мир”); выведет сообщение “Привет мир” белым цветом для игрока ID которого равен 0. Теперь разберем где можно использовать эти функции.

События
Теперь давайте разберемся как выглядят события и функции в коде. Давайте откроем Pawno и нажмем Ctrl+N. Мы увидим шаблон, который нам приготовил Pawno, если сейчас его сохранить и скомпилировать, то зайдя на сервер у вас будет только 1 скин и ни одной машины, но сервер будет работать исправно. Давайте опять заглянем в код и посмотрим на строку под номером 54: public OnPlayerConnect(playerid), это и есть название события. Если вы знаете английский язык, то возможно вы уже догадались, что это за событие, это событие подключения игрока к серверу. То что написано в круглых скобках мы разберем чуть позже. Сейчас глянем на строки 55 и 57, где мы увидим открывающуюся и закрывающуюся фигурные скобки. Между этими скобками будут находится все функции, которые будут выполнятся после подключения игрока к серверу. Теперь давайте обратим внимание на слово playerid в круглых скобках после названия паблика. Что бы это значило? Слово playerid означает, что внутри этой функции есть локальная переменная с именем playerid в которой хранится ID подключившегося игрока . Все переменные, объявленные внутри какого либо события, или находящиеся в круглых скобках после названия события, существуют только внутри этого события, например: если мы объявим переменную new var1; внутри этого события, то мы не сможем использовать эту переменную внутри другого паблика. Давайте поставим перед собой задачу: Когда игрок заходит на сервер вывести ему в чат сообщение: “Добро пожаловать на мой сервер”. Как вы помните, функция для вывода сообщения в чат – SendClientMessage. События входа игрока на сервер – OnPlayerConnect. После открывающейся фигурной скобки пишем SendClientMessage. Далее нам надо указать аргументы: ID игрока, цвет сообщения и само сообщение. Все это указывается в круглых скобках после имени функции. Как мы помним, внутри события OnPlayerConnect существует переменная playerid, хранящая ID игрока подключившегося к серверу. Её мы и будем использовать. Итак, после SendClientMessage пишем (playerid,0xFFFFFFFF,”Добро пожаловать на мой сервер”); Теперь разберем все что мы сделали. Мы указали серверу, что нужно делать когда игрок подключается к серверу, а именно: отправить сообщение “Добро пожаловать на мой сервер” белым цветом в чат тому игроку, который подключился. Нажимаем F6, запускаем сервер и проверяем.

Вот эти 3 урока,хочу отметить что ни имен ни ников не чего об авторе там не было,прошу модераторов не удалять ну или хотя бы сказать почему все же мне кажется это очень полезные уроки ну во всяком случае 2 последних, удачи в скриптинге ибо надеюсь что эти уроки вам помогут!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу