Функции по сазданию персональных авто. -
Gettopro - 11.03.2012
Доброго времени суток.
Решил на серере создать "персональное авто", тоесть на каждого игрока выделяется по 1 машине, не важно какой мадели, главное она должна быть одна.
Хотел решить проблему, созданием авто с переменной, тоесть например:
PHP код:
RCarId[playerid] = CreateVehicle(Player[playerid][pCarid2], Player[playerid][pPos_x],Player[playerid][pPos_y],Player[playerid][pPos_z]+5, random(360), GetPVarInt(playerid,"Color"), GetPVarInt(playerid,"Color"), -1);
Я сделал, если человек берет другое авто (есть спецаиальная менюшка)
то
PHP код:
DestroyVehicle(RCarId[playerid]);
Тоесть сносим старое, и на его место ставим новое.
Но вот парадокс, игроки начали жаловатся (в скоре после установки данной "системы")
что их авто проподает, когда другой игрок создает своё авто.
Может ли быть данное явление вызвано тем, что сервер пытается "Дестроить" авто игрока, но его пока не существует? (тоесть "RCarId[playerid]" ещё не создали, а уже пытаемся его удалить)?
И как проверить, создано ли авто с данной переменной? (кроме как создания "паралельной" переменной, которая будет менятся в зависимости от того, создано авто или нет)
Re: Функции по сазданию персональных авто. -
OKStyle - 12.03.2012
Проверка на модель или координаты может сработать.
Re: Функции по сазданию персональных авто. -
Ru-user - 12.03.2012
Проверь чтобы переменная RCarId[playerid] обнулялась при дисконнекте/коннекте игрока.
Баги нужно исправлять, а не обходить глупыми проверками.
Re: Функции по сазданию персональных авто. -
OKStyle - 12.03.2012
Не нужно её обнулять, авто и игрок с ID 0 вполне себе может существовать на сервере. Нужно ставить -1 или использовать PVar'ы.
Re: Функции по сазданию персональных авто. -
ZiGGi - 12.03.2012
Quote:
Originally Posted by OKStyle
Не нужно её обнулять, авто и игрок с ID 0 вполне себе может существовать на сервере. Нужно ставить -1 или использовать PVar'ы.
|
Нумерация транспорта начинается с 1.
Re: Функции по сазданию персональных авто. -
Gettopro - 12.03.2012
PHP код:
И как проверить, создано ли авто с данной переменной? (кроме как создания "паралельной" переменной, которая будет менятся в зависимости от того, создано авто или нет)
реал, не?
Re: Функции по сазданию персональных авто. -
OKStyle - 12.03.2012
Quote:
Originally Posted by Gettopro
PHP код:
И как проверить, создано ли авто с данной переменной? (кроме как создания "паралельной" переменной, которая будет менятся в зависимости от того, создано авто или нет)
реал, не?
|
Quote:
Originally Posted by OKStyle
Проверка на модель или координаты может сработать.
|
Читал, не?
Re: Функции по сазданию персональных авто. -
Gettopro - 13.03.2012
Тоесть типо:
PHP код:
if(Player[playerid][pCarid2] == GetVehicleModel(CurrentSpawnedVehicle[playerid])) {DestroyVehicle(CurrentSpawnedVehicle[playerid]);}
З.Ы. CurrentSpawnedVehicle - это переменная нашей тачки, но этот вариант не стоит использовать, ТК у меня дрифт сервер, и 80% онлайна на элегиях :/ А вот проверку на координату можно, только я не совсем понял как вы её предлогаете сделать?
З.Ы.Ы. Player[playerid][pCarid2] - это значение соответсвует модели последней созданной им тачки
типо:
PHP код:
new Float:coord[3]; GetVehiclePos(CurrentSpawnedVehicle[playerid], coord[0], coord[1], coord[2]);
это я понял, а что дальше? (например если игрок вне авто) :/
Re: Функции по сазданию персональных авто. -
Stepashka - 17.03.2012
Как ты можешь разрабатывать систему, если даже не представляешь как она должна работать?
ЗЫ за ещё один "ап" удалю тему!
Re: Функции по сазданию персональных авто. -
Gettopro - 17.03.2012
Quote:
Originally Posted by Stepashka
Как ты можешь разрабатывать систему, если даже не представляешь как она должна работать?
ЗЫ за ещё один "ап" удалю тему!
|
я представляю, я уже даже её сделал, но не могу добится чтоб у игроков не пропадали авто, в то в время как другой вызывает своё.