Константы, обозначающие неправильные значения, должны быть равны -1.
Рассмотрим это правило на примере константы, означающей, что у игрока нет дома.
Плохой пример:
PHP код:
const MAX_HOUSES = 100; // На сервере всего 100 домов.
const INVALID_HOUSE_ID = 255; // Если в player_info[playerid][pHouseKey] число 255, то у игрока нет дома. Почему бы и нет?
Но что, если вы потом захотите создать больше 255 домов? Сделаете 255-й дом на координатах, куда не сможет пробраться обычный игрок (например, под землёй)? Это уже костыль. Решается же эта проблема очень просто.
Хороший пример:
PHP код:
const MAX_HOUSES = 300;
const INVALID_HOUSE_ID = -1; // Число -1 не будет конфликтовать с макс. кол-вом домов, т.к. число домов не может быть отрицательным.
Похожая проблема была в моде GodFather (интересно, кто-нибудь из "нынешнего поколения" видел этот мод?): там числом 255 обозначался неправильный ID игрока. Потом вышел SA-MP 0.3a, в котором к серверу могли подключиться до 500 игроков - тогда 255 перестал быть неправильным ID, что приводило к багам и весьма неожиданным последствиям для тех, кому не повезло зайти под 255-м ID.