Разбор скрипта «NPC боксёр в SAMP» (Часть 3)

30 сентября 2015 | Рубрика: Статьи

Читайте предыдущую часть статьи по ссылкеРазбор скрипта «NPC боксёр в SAMP» (Часть 2)

Начнем с функции public OnPlayerPickUpPickup(playerid, pickupid)

{ — открываем паблик

Функция вызывается тогда, когда игрок подбирает какой-либо пикап, наиболее яркие примеры пикапов в сингле это броня, аптечки, оружие.

if (pickupid == pickupkase) в этом строке мы указываем, что будет если игрок подберет пикап с идентификатором pickupkase.

{ — открываем всё, что нам надо сделать при подборе этого пикапа.

SendClientMessage(playerid,COLOR_GREEN,»Сражайтесь с мастером, чтобы овладеть стилем!»); — Посылаем игроку, подобравшему пикап текстовое сообщение зеленым цветом.

SetPlayerPos(playerid, 762.9995,2.5302,1001.5942); — задаем игроку позицию,  точнее мы портаем его на ринг, данная функция выглядит как playerid – это тот, кого портать, а дальше через запятую идут некие цифры, которые являются координатами по x,y,z.

SetPlayerFacingAngle(playerid, 138.2046); — телепортировав игрока на ринг зададим ему некий угол поворота, чтобы он смотрел в центр ринга.

DestroyPickup(pickupkase); — уничтожаем пикап, на самом деле эту строчку можно было бы написать выше всех, возможно, так было бы логичней, но вследствие того, что данный процесс происходит очень быстро, то мы не почувствуем разницы, в данном случае это не принципиально, но бывают случаи, когда это критично, если такое встретиться в моих скриптах, мы обязательно это обсудим. Зачем уничтожать пикап, спросите Вы? Для того, чтобы не было такого, что 2 и более игроков так же телепортируются на ринг – одного портировали и хватит, умрет или выйдет с сервера – удалим боксера и обновим пикап, но об этом далее.

SetPVarInt(playerid, «box»,1); — что за ужасы пошли, «пвары» какие-то? На самом деле это «АРХИполезная» функция. «Пвары» это такие «присваиватели». Если так можно сказать. В данном случае здесь обозначается игрок ,находящийся на ринге. Для NPC Pvar’ы очень и очень важны, с помощью них мы можем производить контроль по принципу state_machine, об этом позже. Здесь же у нас всё просто: для игрока взявшего пикап, мы говорим  -этот человек на ринге! Ну, как говорим,  NPC-то пока об этом ничего не знает, об это знаем только мы, но, вскоре, мы расскажем ему этот секрет)

Читаем далее: Разбор скрипта «NPC боксёр в SAMP» (Часть 4)