Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
02.11.2014, 23:04 | |
Дабы не было много флуда будем писать скрипт построчно. И объяснять почти всё, вдруг кто-то только учиться скриптить #include <a_samp> #include <fcnpc> В самом начале скрипта как всегда пишутся include’ы. Include переводится как включение/вложение. Стандартным include, необходимым для работы какого-либо скрипта, является include <a_samp>, который и содержит базовые функции. Так как стандартных функций нам недостаточно пишем, что, помимо основного include, у нас будет ещё некий include <fcnpc>, который отвечает за NPC плагина FCNPC. Все include должны находится в папке yourserver\pawno\include. Идем далее. #define COLOR_GREEN 0x16BC37AA Осталось с каких-то тестовых скриптов, но раз уж используется в скрипте, то опишем, что же это за зверь) Итак, define переводится как определять/обозначать/устанавливать, то есть эта функция в данном примере устанавливает для зеленого цвета обозначение COLOR_GREEN. Дело в том, что ни один цвет, где бы то ни было не записывается как color_red, color_blue и прочее, все цвета (в SA:MP) имеют формат 0x16BC37AA, в данном случае такое выражение описывает оттенок зеленого цвета ну или как-то так, дизайнеры могут уточнить, ведь каждый цвет имеет очень много оттенков и описать все их словами было бы проблематично, да и кто бы это смог запомнить, поэтому цвета имеют такой формат. Чтобы не писать, например, в SendClientMessage(playerid, 0x16BC37AA, “Привет”) , мы заменяем 0x16BC37AA на простое и понятное для нас COLOR_GREEN, если Вы пишете большой мод, то наверняка у Вас там будет много дефайнов как для цветов, так и для чего-то иного, поэтому определения очень важны, чтобы самому не затеряться в коде. new boxertimer; new pickupkase; new ringused; Обозначим, что у нас будут некие переменные для всего скрипта, переменные бывают локальные, внутри цикла, например, и вот как здесь – для всего скрипта, мы ставим их вначале скрипта и они одни для всего сервера boxertimer – таймер, по которому вызывается ведения боя боксера; Pickupkase – используем для обозначения пикапа, чтобы его потом удалить, а то баги будут, если вкратце, ringused используем для обозначения есть ли кто на ринге сейчас или нет. enum npcInfo { npc_Name[MAX_PLAYER_NAME], npc_Skin, npc_FightStyle, npc_Interior, Float:npc_X, Float:npc_Y, Float:npc_Z, Float:npc_A, npc_ID, } new npc[][npcInfo] = { {"Master_of_Boxing", 81, FIGHT_STYLE_BOXING, 5, 758.4869,-1.7879,1001.5942,313.0229} }; Продолжение: Разбор скрипта "NPC боксёр в SAMP" (Часть 2)
| |
Добавил: AXE |
| Теги: | |
Просмотров: 3385 | Рейтинг: 5.0/2 |