🔒 Объявление: ➥ CSHOST.FUN - Хостинг игровых серверов
🔒 IP-Games.ru - Мониторинг игровых серверов, бесплатный топ..
🔓 Чаты: ➥ Telegram

  • Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Кто объяснит про форварды? (Форварды)
Кто объяснит про форварды?
Дата: Суббота, 21.07.2018, 20:40 | Сообщение # 1
Offline
  • pro1000kill
  • Репутация: 15
  • Сообщений:16
  • Постоянный
  • Статус пользователя Релизер Army Bonus System
Вот все еще не доходит, как их делать. К примеру делать событие сохранения опыта, то есть форвард, эта функция вызывается когда сохраняется опыт, ну и т.д. и т.п...
Я конечно знаю register_forward, но тоже не разбираюсь.
К примеру

Код
public save_exp(id){

}
И что дальше? Про внутренности все понятно.
Дата: Суббота, 21.07.2018, 21:38 | Сообщение # 2
Zombie Dev
Offline
  • Mort3m
  • Репутация: 17
  • Сообщений:9
  • Скриптер
  • Статус пользователя Учился у орыча © Mort3m
Форвард и публичная функция - это разные вещи.


Цитата
Forward
Форварды предназначены для отлова событий, генерируемых где-то в другом месте (модуле или плагине). Если функция отмечена как форвард, её нельзя вызвать напрямую, но она показывает, какое имя должны носить функция, которая хочет отловить событие, и какие параметры она получит. Аналогично нативам, форварды помещаются в инклады и используются авторами модулей и плагинов-модов.

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


Публичные функции так же можно вызвать в коде.
К примеру, есть две функции - LoadThis и SaveThis. У обоих 1 аргумент - индекс игрока.
К примеру, нам надо при входе игрока загружать что-то, а при выходе игрока - сохранять что-либо.
Вызываем client_putinserver, в теле пишем: LoadThis(iPlayer); ( iPlayer - индекс игрока, у многих он id ).
Вызываем client_disconnect, в теле пишем: SaveThis(iPlayer);
Таким образом, при входе/выходе игрока будут вызываться определенные функции, в ходе чего, код который находится в теле этих функций - будет выполнятся.
Вроде бы всё должно быть понятно.
Сообщение отредактировал Mort3m - Суббота, 21.07.2018, 21:41
Дата: Суббота, 21.07.2018, 23:27 | Сообщение # 3
Offline
  • pro1000kill
  • Репутация: 15
  • Сообщений:16
  • Постоянный
  • Статус пользователя Релизер Army Bonus System
Наверное я неправильно объяснил, про это я знаю, а вот то, что улавливает само исполнение publica к примеру в инклюдах они не нативы а forward,я не знаю, во многих плагинах есть такое, например AES

Код
/*
   Called on opening anew menu.
   return PLUGI_HANDLED if you want block menu.
*/

forward aes_on_anew_command(id)

Улавливает что игрок открыл мен бонусов. Мне про это нужно, как это сделать?
Дата: Воскресенье, 22.07.2018, 00:37 | Сообщение # 4
Zombie Dev
Offline
  • Mort3m
  • Репутация: 17
  • Сообщений:9
  • Скриптер
  • Статус пользователя Учился у орыча © Mort3m
pro1000kill, Эта штука называется "Мультифорвард". В зп есть яркий пример, как можно его создать. ( CreateMultiForward )
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Кто объяснит про форварды? (Форварды)
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)