Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: События И Функции - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Урок ]
События И Функции
Оценка: -----

#1
Пользователь офлайн   Silver 

  • Местный
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
События и функции

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

Функции

Функция – определенная реакция на определенное событие. Например: на событие игрок сел в машину мы напишем функцию с помощью которой выведем сообщение в чат. В коде функция записывается в таком виде: имя_функции(аргументы); Каждая функция имеет свое имя. Например, функция вывода сообщения в чат – 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, запускаем сервер и проверяем.

Если помог ставим +

Сообщение отредактировал Mike: 19 Январь 2012 - 14:11

1

#2
Пользователь офлайн   LiMOH 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Источник указал бы..
0

#3
Пользователь офлайн   Erick 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Думаю источник, не к чему, так как данная тема, присутствуют на большинствах сайтах.
0

#4
Пользователь офлайн   Silver 

  • Местный
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Не на большинстве сайтов...

Сообщение отредактировал Silver: 17 Декабрь 2011 - 17:34

0

#5
Пользователь офлайн   SwipoStyle 

  • Благодетель
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Не так важен источник, важен материал который есть для начинающих.
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей