Пятница, 18.07.2025, 04:16
Приветствую Вас Гость | RSS
[•X•X•X•X•X•X•X•X•X• SRK •X•X•X•X•X•X•X•X•X•] - 193.107.179.214:7777
Главная | Урок №2 - Константы - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: DimanCC, Awesome, [Tuner_Life]Nikotin  
Урок №2 - Константы
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”


Они предназначены для систем регистрации, т.е. показывают путь до файла, в который
производится запись. Так что у констант широкое применение.




я вернулся
 
  • Страница 1 из 1
  • 1
Поиск:

Поддержка пишите на наш форум:Walter & alisa