Pawno скриптинг розбір callback-функцій

Pawno скриптинг розбір callback-функцій

Я радий, що на мій блог хоч хтось зайшов! Тому спеціально заради тебе, читачу я розпишу трохи теорії про функції, які викликаються під час будь-яких подій, саме такі функції називаються Callback.

У першому уроці ми підготували своє робоче місце і трохи очистили код. Тепер давайте знову відкриємо його і почнемо розбиратися в усьому по порядку і за одне документувати.

Найперша функція, яка нам зустрічається в коді, має назву main (). Вона трохи відрізняється від інших callback тим, що перед нею не стоїть public і вона починається не з «On» (всі інші колбекі в назві мають приставку «On»). Викликається вона після завантаження ігрового режиму. Власне це і є її головна особливість. Всі функції викликаються «в момент», а ця «після». Що входять параметрів не приймає і нічого не повертає. До речі, вона зовсім і не є колбеком, це спеціальна функція - початкова точка виконання. Її ні з чим не сплутати, тому можна особливо не переживати через цих тонкощів.

Слідом за нею йде OnGameModeInit (). Ця функція викликається в момент, коли запускається ігровий режим (ваш мод). Зазвичай всередину цієї функції записують спавн транспорту, об'єкти, точки входів і інше. Функція нічого не приймає, а повертає «1» (успішно).

Далі у нас OnGameModeExit (). Вона викликається при зміні ігрового режиму, будь ласка не плутайте зміна мода і зупинку сервера. Функція так само як і OnGameModeInit нічого не приймає, але дає знак «успішно».

Для того щоб переконатися в роботі цих callback, додамо парочку рядків коду в них, попутно задокументувавши.

OnPlayerSpawn - колбек функція, що викликається в момент появи (спавна) гравця. Входять параметром є playerid (ідентифікатор гравця). Зазвичай сюди записують умови для спавна гравця в будинку або де-небудь ще.

OnPlayerDeath - викликається убитий в разі вбивства =)
Має три входять параметра.
playerid - ВД гравця ЯКОГО убили
killerid - ВД гравця ЯКИЙ вбив
reason - ВД знаряддя вбивства (0 - без зброї, решта см. довідник)

OnVehicleSpawn - викликається в момент спавна транспорту. Вхідний параметр vehicleid - ідентифікатор транспорту.

OnVehicleDeath - Ця функція викликається при знищенні транспорту (вибух / утоплення). Входять параметрами є:
vehicleid - ID транспорту, який знищений.
killerid - ВД гравця ЯКИЙ знищив