Перейти к содержанию
Авторизация  
Devin Coleman

Урок №2 Константы

Рекомендуемые сообщения

Devin Coleman

Урок №2 - Константы

Константы – это неизменяемые переменные. Константа объявляется следующим образом:

#define PAWN 25
Таким образом, мы создали простую константу. Константы очень удобно использовать для

замены сложных параметров, таких как color, в котором указывается HEX-код цвета в виде

«0xAFAFAFAA», гораздо удобнее написать COLOR_GREY, вместо этого сложного кода.

#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.

#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 //лимит пикапов
Ниже я привел пример использования одной из констант. Этот скрипт будет просто

выполняться для всех игроков.

Пример использования:

for(new i=0; i<MAX_PLAYERS; i++)
{
//выполнить код
}
А следующие ниже приведенные константы используются в функции OnPlayerState. Это

константы состояний игрока. Они используются в условиях, если параметр newstate равен одному

из эти значений (0-9).

#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. Я поставил условие, если игрок не управляет машиной,

выполнить код.

Пример использования:

if(newstate != PLAYER_STATE_DRIVER) //если игрок не управляет машиной
{
//выполнить код
}
Чтобы не запоминать id каждого оружия в инклуде есть константы оружия. Вместо цифр вы

можете использовать имена оружия, которые показаны в константах. Если вы хотите дать игроку

какое-либо оружие, функцией GivePlayerWeapon мы пишем обычно такую строчку:

GivePlayerWeapon(playerid,22,100);
Если вы не помните id оружия, вы можете написать так:

GivePlayerWeapon(playerid,WEAPON_COLT45,100);
Ниже приведены константы всего оружия:

 

#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
Константы очень удобно использоваться, чтобы вынести в начало скрипта, все часто

используемые значения переменных или параметров функций. Например, во многих скриптах

часто используется такая константа.

 

#define MAX_POINTS 25
new massive[MAX_POINTS][3] = {
Она обычна, используется для массивов и указывает количество строк в массиве, как

показано на примере выше. Также можно встретить в некоторых скриптах такие константы:

#define ACCOUNT “%s.ini”
Они предназначены для систем регистрации, т.е. показывают путь до файла, в который

производится запись. Так что у констант широкое применение. Теперь переходим к следующему

уроку.

Автор Cloud

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.