[AMXX #1] Основные события мода

  
Добавил OverGame Просмотров: 2918 Комментариев: 4
[AMXX #1] Основные события мода
Начнём с одного замечательного события как plugin_init, который в зачастую используется для регистрации различных событий и функций. Само событие plugin_initактивизируется при запуске/перезапуске сервера и смене карты.

Пример:
Код
public plugin_init()
{
register_plugin("New plugin", "1.0", "OverGame"); // Регистрируем плагин (который выводится в консоле при помощи amx_plugins)
}


Следующие на очереди идут plugin_pauseи plugin_unpause. plugin_pause выполняется в том случае, если плагин уходит в паузу. Аналогично данной функции, plugin_unpauseвыполняется в случае выхода плагина из паузы.

Пример:
Код
public plugin_pause()
{
log_amx("Наш плагин перешёл в паузу!"); // Отправляем сообщение в логи.
}

public plugin_unpause()
{
log_amx("Наш сервер вышел из паузы!"); // Отправляем сообщение в логи.
}


Дальше идёт очень интересное событие как server_changelevel, которая вызывается при смене карты и несёт в себе название новой карты.

Пример:
Код
public server_changelevel(const szMapname[])
{
log_amx("Сервер сменил карту на %s", szMapname); // Выводим сообщение в логи, отправляем имя новой карты (которая меняется).
}


Следующий по списку plugin_cfg. Данное событие вызывает после plugin_initи служит для обработки различных кваров и конфигов.

Пример:
Код
public plugin_cfg()
{
new szDir[64]; // Создаём массив с размером 64.
get_localinfo("amxx_configsdir", szDir, charsmax(szDir)); // Помещаем путь до папки с конфигурациями в наш массив szDir

server_cmd("exec %s/amxx.cfg", szDir); // Отправляем консольную команду серверу. Заставляем читать файл по дирекции addons/amxmodx/configs, файл amxx.cfg
}


plugin_end- выполняется при смене карты и выключение сервера. Обычно используется для сохранения различных данных или закрытием соединений с базой данных или nVault.

Пример:
Код
public plugin_end()
{
log_amx("Плагин %s завершил свою работу.", PLUGIN_NAME); // Выводим в логи сообщение о том, что плагин завершил свою работу. (PLUGIN_NAME должен быть зарегистрирован раньше функции и нести в себе название плагина).
}


plugin_log - выполняется при отправке сообщений в логи.
Код
public plugin_log()
{
client_print(0, print_chat, "Сервер отправил сообщения в логи!"); // Пишем всем игрокам в общий чат о том, что сервер отправил статистику в логи.
}


plugin_precache- выполняется поверх всех событий (самым первым), чтобы кэшировать различные ресурсы игроку (модели, звуки, спрайты и т.д.).

Пример:
Код
public plugin_precache()
{
precache_model("models/player/new_player/new_player.mdl"); // Кэшируем игроку модель new_player по пути models/player/new_player.

precache_sound("sound.wav"); // Кэшируем звук игроку (только в формате wave, а так же без папки sound).

precache_generic("sprites/sprite.spr"); // Кэшируем почти любой файл. Может кэшировать mp3 файлы по полному пути, к примеру: sound/music.mp3
}


На этом всё! В следующий статье будем разбирать нативы первоначальной важности.

Дата добавления материала: 2017 » Февраль » 5 | время: 21:28
ПРИ ПОЛНОМ КОПИРОВАНИИ МАТЕРИАЛА - УКАЗЫВАЙТЕ ССЫЛКУ НА CS-AMBA.RU!
Всего комментариев: 4
foxrox
0 foxrox 16.02.2017 в 10:49
Welcome to the AMX Mod X 1.8.1-300 Compiler. 
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team 
  
/hlds/web/www/amxxpc/work/scripting/killstreak_sounds.sma(16) : error 001: expected token: "}", but found "-string-" 
/hlds/web/www/amxxpc/work/scripting/killstreak_sounds.sma(26) : error 010: invalid function or declaration 
  
2 Errors. 
Could not locate output file /hlds/web/www/amxxpc/work/plugins/killstreak_sounds.amx (compile failed). 

НЕ МОГУ СКОМПИЛИРОВАТЬ В AMXX
EXTAZI
0 EXTAZI 06.02.2017 в 00:40
Вообще прикольно!! Буду ждать cool
OverGame
+1 OverGame 06.02.2017 в 00:32
Будет со временем, данный раздел теперь на мне)
EXTAZI
0 EXTAZI 06.02.2017 в 00:25
Спасибо овер, буду теперь учится ))) Ещё будут а?
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход
]