Awesome | Дата: Понедельник, 06.02.2012, 01:14 | Сообщение # 1 |
 Генерал-майор
Группа: Проверенные
Сообщений: 70
Награды: 14
Репутация: 25
Статус: Offline
| Урок №2 - Константы Константы – это неизменяемые переменные. Константа объявляется следующим образом: Code #define PAWN 25
Таким образом, мы создали простую константу. Константы очень удобно использовать для замены сложных параметров, таких как color, в котором указывается HEX-код цвета в виде «0xAFAFAFAA», гораздо удобнее написать COLOR_GREY, вместо этого сложного кода. Code #define COLOR_GREY 0xAFAFAFAA //серый #define COLOR_GREEN 0x33AA33AA //зеленый #define COLOR_RED 0xAA3333AA //красный #define COLOR_YELLOW 0xFFFF00AA //желтый #define COLOR_WHITE 0xFFFFFFAA //белый #define COLOR_BLUE 0x0000BBAA //синий #define COLOR_ORANGE 0xFF9900AA //оранжевый
В стандартном инклуде a_samp уже есть много стандартных констант, которые можно использовать в скрипте. Ниже приведены константы лимитов сервера. Данные константы обычно используются в циклах for. Code #define MAX_PLAYER_NAME 24 //лимит символов игрока #define MAX_PLAYERS 500 //лимит игроков на сервере #define MAX_VEHICLES 2000 //лимит транспорта на сервере #define MAX_OBJECTS 400 //лимит объектов на сервере #define MAX_MENUS 128 //лимит меню на сервере #define MAX_3DTEXT_GLOBAL 1024 //лимит глобальных 3D текстов на сервере #define MAX_3DTEXT_PLAYER 1024 //лимит 3D текстов для игрока на сервере #define MAX_PICKUPS 2048 //лимит пикапов
Ниже я привел пример использования одной из констант. Этот скрипт будет просто выполняться для всех игроков. Пример использования: Code for(new i=0; i<MAX_PLAYERS; i++) { //выполнить код }
А следующие ниже приведенные константы используются в функции OnPlayerState. Это константы состояний игрока. Они используются в условиях, если параметр newstate равен одному из эти значений (0-9). Code #define PLAYER_STATE_NONE 0 // #define PLAYER_STATE_ONFOOT 1 //игрок ест #define PLAYER_STATE_DRIVER 2 //игрок управляет машиной #define PLAYER_STATE_PASSENGER 3 //игрок сидит в машине как пассажир #define PLAYER_STATE_EXIT_VEHICLE 4 //игрок выходит из машины #define PLAYER_STATE_ENTER_VEHICLE_DRIVER 5 //игрок входит в машину как водитель #define PLAYER_STATE_ENTER_VEHICLE_PASSENGER 6 //игрок входит в машину как пассажир #define PLAYER_STATE_WASTED 7 //игрок в розыске #define PLAYER_STATE_SPAWNED 8 //игрок появился в точке возрождения #define PLAYER_STATE_SPECTATING 9 //игрок спектатор
Ниже я привел простой пример использования одной из констант. Этот скрипт должен быть внутри функции OnPlayerState. Я поставил условие, если игрок не управляет машиной, выполнить код. Пример использования: Code if(newstate != PLAYER_STATE_DRIVER) //если игрок не управляет машиной { //выполнить код }
Чтобы не запоминать id каждого оружия в инклуде есть константы оружия. Вместо цифр вы можете использовать имена оружия, которые показаны в константах. Если вы хотите дать игроку какое-либо оружие, функцией GivePlayerWeapon мы пишем обычно такую строчку: Code GivePlayerWeapon(playerid,22,100);
Если вы не помните id оружия, вы можете написать так: Code GivePlayerWeapon(playerid,WEAPON_COLT45,100);
Ниже приведены константы всего оружия:
Code #define WEAPON_BRASSKNUCKLE 1 #define WEAPON_GOLFCLUB 2 #define WEAPON_NITESTICK 3 #define WEAPON_KNIFE 4 #define WEAPON_BAT 5 #define WEAPON_SHOVEL 6 #define WEAPON_POOLSTICK 7 #define WEAPON_KATANA 8 #define WEAPON_CHAINSAW 9 #define WEAPON_DILDO 10 #define WEAPON_DILDO2 11 #define WEAPON_VIBRATOR 12 #define WEAPON_VIBRATOR2 13 #define WEAPON_FLOWER 14 #define WEAPON_CANE 15 #define WEAPON_GRENADE 16 #define WEAPON_TEARGAS 17 #define WEAPON_MOLTOV 18 #define WEAPON_COLT45 22 #define WEAPON_SILENCED 23 #define WEAPON_DEAGLE 24 #define WEAPON_SHOTGUN 25 #define WEAPON_SAWEDOFF 26 #define WEAPON_SHOTGSPA 27 #define WEAPON_UZI 28 #define WEAPON_MP5 29 #define WEAPON_AK47 30 #define WEAPON_M4 31 #define WEAPON_TEC9 32 #define WEAPON_RIFLE 33 #define WEAPON_SNIPER 34 #define WEAPON_ROCKETLAUNCHER 35 #define WEAPON_HEATSEEKER 36 #define WEAPON_FLAMETHROWER 37 #define WEAPON_MINIGUN 38 #define WEAPON_SATCHEL 39 #define WEAPON_BOMB 40 #define WEAPON_SPRAYCAN 41 #define WEAPON_FIREEXTINGUISHER 42 #define WEAPON_CAMERA 43 #define WEAPON_PARACHUTE 46 #define WEAPON_VEHICLE 49 #define WEAPON_DROWN 53 #define WEAPON_COLLISION 54
Константы очень удобно использоваться, чтобы вынести в начало скрипта, все часто используемые значения переменных или параметров функций. Например, во многих скриптах часто используется такая константа.
Code #define MAX_POINTS 25 new massive[MAX_POINTS][3] = {
Она обычна, используется для массивов и указывает количество строк в массиве, как показано на примере выше. Также можно встретить в некоторых скриптах такие константы: Code #define ACCOUNT “%s.ini”
Они предназначены для систем регистрации, т.е. показывают путь до файла, в который производится запись. Так что у констант широкое применение.
я вернулся
|
|
| |