Просмотр полной версии : [Вопрос] проверка
Сделал проверку на объект, но все равно, даже если этого объекта нету, команда срабатывает.
if(IsValidPlayerObject(playerid,18632) && !BoatVeh(Veh))
Можно ли с этим что-нибудь поделать ?
Salvacore
13.08.2014, 12:35
if(IsValidPlayerObject(playerid,18632) && !BoatVeh(Veh)) return 0;
if(IsValidPlayerObject(playerid,18632) && !BoatVeh(Veh)) return 0;
не помогло
Сделал проверку на объект, но все равно, даже если этого объекта нету, команда срабатывает.
if(IsValidPlayerObject(playerid,18632) && !BoatVeh(Veh))
Можно ли с этим что-нибудь поделать ?
Во втором параметре функции указывается не модель объекта, а его ID, чтобы сохранить ID нужно либо создавать массив для игроков, либо использовать функцию SetPVarInt.
Во втором параметре функции указывается не модель объекта, а его ID, чтобы сохранить ID нужно либо создавать массив для игроков, либо использовать функцию SetPVarInt.
делаю так
if(IsValidPlayerObject(18632))
выдаёт
warning 202: number of arguments does not match definition
Salvacore
13.08.2014, 13:22
делаю так
if(IsValidPlayerObject(18632))
выдаёт
warning 202: number of arguments does not match definition
new NAME = Create....
Вы не совсем правильно поняли, сейчас покажу на примере небольшого кода:
Создаёте глобальный массив для игроков, в котором будет хранить ID объекта. Каждому элементу в массиве присвоим значение несуществующего объекта:
new
player_obj[MAX_PLAYERS] = { INVALID_OBJECT_ID, ... };
Далее, когда вы создаёте объект игрока, не просто создавайте его, а присваивайте значение элемента массива playerid, тому значение, которое хранит только что созданный объект:
player_obj[playerid] = CreatePlayerObject(...); // где ... это параметры
При удалении объекта игрока, не нужно ничего присваивать к значению функции.
Вы просто удаляйте и снизу устанавливайте значение объекта на несуществующий ID:
DestroyPlayerObject(playerid, player_obj[playerid]);
player_obj[playerid] = INVALID_OBJECT_ID;
Теперь можно не использовать функцию IsValidPlayerObject.
Вместо старой проверки используйте это:
if(player_obj[playerid] == INVALID_PLAYER_ID)
// объекта не существует
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot