Запишется ID последней динамической зоны, в которую вошёл игрок.
Тип: Сообщения; Пользователь: whale
Запишется ID последней динамической зоны, в которую вошёл игрок.
Дабы априори избежать циклов, можно, при создании динамической зоны, записывать некоторую дополнительную информацию о ней в отдельный массив данных (в данном случае - закреплена ли зона за каким-либо...
Ну, во-первых: Pawn != assembler.
Во-вторых: emit - лишь оператор, который представляет собой реализацию встроенного ассемблера для Pawn.
Да и, никто не заставляет тебя писать плагины или плееры....
А к чему, собственно, подобный мазохизм?
1. Считается количество объектов в зоне прорисовки игрока.
2. У функции CreateDynamicObject существует параметр playerid, который позволяет создать объект для конкретного игрока.
...
Почитал. Извиняюсь, был не прав. Благодарю за полезную информацию :)
А ещё можно не вызывать sizeof каждую итерацию цикла.
static animlibs[] =
{
!"AIRPORT", !"Attractors", !"BAR", !"BASEBALL", !"BD_FIRE",
!"BEACH", !"benchpress", !"BF_injection",...
Пытаешься закрыть личное ТС игрока? Либо же абсолютно любое?
Да и, почему бы просто не написать функцию, проверяющую ближайшее ТС к игроку?
В общем, совсем не понятна суть вышепредставленной...
Для администрации - итератор, после Iter_Count().
Для фракций - так же можно итератор (который так же будет полезен), а потом циклом и проверкой на лидера.
Количество игроков => создаёшь...
1. В sscanf есть спецификатор 'u', который может принимать как NickName игрока, так и его ID.
Так что, при его использовании, будет вполне достаточно сравнивать с INVALID_PLAYER_ID.
...
Да, вполне можно сравнивать с нуль-символом, либо же воспользоваться макросом isnull:
#define isnull(%0) \
((!(%0[0])) || (((%0[0]) == '\1') && (!(%0[1]))))
Ну, во-первых: не "операторы", как ты выразился, а функции.
Во-вторых: отличие данных функций можно понять, воспользовавшись википедией (strcat - http://wiki.pro-pawn.ru/wiki/Strcat, strmid...
Тогда уж лучше так :crazy:
for(new i = 0, j = sizeof(zznopark_TD); i < j; i++) TextDrawShowForPlayer(playerid, zznopark_TD[i]);
Небольшая опечтка в одном из спойлеров:
OnPlayerKeyState => OnPlayerKeyStateChange.
format(msgs, 160, "{FFFFFF}Оружие: {FF5804}%s\n{FFFFFF}Выбросил: {FF5804}%s", GunNames[dGunData][f], PlayerInfo[playerid][pNames]);
Благодарю за ещё один совет :)
Постараюсь реализовать в ближайшее время.
Инклуд обновлён до версии 1.1.
Ссылки на исходный код, скачку инклуда - так же обновлены.
Описание изменений доступно под спойлером в "история изменений", а так же ниже.
Дата: 05.04.2019.
...
Спасибо за совет.
В скором времени реализую.
Доброго времени суток, уважаемые пользователи портала.
Сегодня делюсь с вами ещё одной небольшой разработкой, которая, вполне возможно, может кому-либо пригодиться.
Описание:
• Данный...
В переборе switch(User[playerid][pMember]) у тебя, соответственно, есть несколько возможных значений (в зависимости от фракции игрока). Достаточно будет взять значение с наибольшим количеством...
Daniel_Cortez, в идеале, конечно, было бы добавить два вышеупомянутых тобою протокола (vk, telegram). Но, если недостаточно времени - хватит и одного, на данный момент (в таком случае, рентабельнее...
Реализация зависит от твоих потребностей: можно сделать какие-либо типы/под-типы логов, вариантов много, да и фантазию никто не отменял. А если ты говоришь про оптимизацию - тут всё зависит только от...
Исправил.
Обновил.
В данном участке кода (подключение к MySQL) у тебя вызываются функции:
print("тест1");
print("тест2");
print("тест3");
Удалить их религия не позволяет?
stock ConnectMySQL(host[], user[],...