Некорректный спавн некоторых машин после взрыва -
Feel_Life - 01.09.2010
Думаю многие сталкивались с такой проблемкой.. Некоторые машины после взрыва не спавнятся.. а стоят на том месте где взорвались. И для каждого вновь подъезжающего игрока взрываются как бы снова, а для тех кто и так стоял рядом с не взрываются.
Иной раз создается впечатление что едешь по минному полю..
Уже пытался цеплять на таймер.. и затем принудительно отправлять на спавн.
Сейчас использую вообще спавн сразу как дэш:
Code:
public OnVehicleDeath(vehicleid)
{
vehTrunk[vehicleid][vehTrunkCounter[vehicleid]] = '\0';
vehTrunkAmmo[vehicleid][vehTrunkCounter[vehicleid]] = '\0';
vehTrunkCounter[vehicleid]--;
SaveTrunk();
SetVehicleToRespawn(vehicleid);
}
И все равно вот недавно заметил что часть машин не хотят нормально топать на место. Как решить эту проблемку? Сэпасибо
Re: Некорректный спавн некоторых машин после взрыва -
Romanius - 02.09.2010
при создании машины используй AddStaticVehicleEx
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
Все машины мода AddStaticVehicleEx. Чуть больше 1000 машин всего. Замечал подобное не только у себя, но и на других серверах..
Re: Некорректный спавн некоторых машин после взрыва -
DANGER1979 - 02.09.2010
Что вызывает смерть машины?
Про какие именно машины идет речь? Прицепы, самалёты, лодки? Это проверено на всех машинах?
Ни разу такого не замечал.
Возможно проблема в вашем сценарии. Проверьте, может в таймере вы ставите машинам 100 здоровья. Обычно новички все считают что у машин максимально 100 здоровья как у персов.
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
Нет, я уже не новичок.. И прекрасно понимаю что здоровья 1000.. У меня на админское тв /dl вписано давненько уже xDDD
Машины абсолютно разные.. речь идет именно о машинах на которых можно передвигаться самостоятельно. Буллеты, премьеры итд..
Быть может это зависит от количества транспорта.. не знаю. Но вот факт налицо - если получится даже скрин выложу ситуации.. Хотя выкладывать то нечего.. Просто игрок например ехал на машине с 300хп, врезался, взорвался. Он зареспавнился, машина осталась.. Каждый кто поедет через место взрыва машины будет как бы вновь наблюдать взрыв машины.. но уже пустой. И потом будет видеть лишь обугленный остов, который отказывается исчезать. Я такое даже на ГВ видел. И не только я.
Re: Некорректный спавн некоторых машин после взрыва -
dimonml - 02.09.2010
да описанное выше поведение имеет место быть, но, вроде, по таймауту машинка все равно будет зареспавлена как пустая, самим сампом
Re: Некорректный спавн некоторых машин после взрыва -
DANGER1979 - 02.09.2010
У меня 794 машин. Попробуй уменьши их до 699 и проверь. Может проблема в новых стримерах тачек.
Также выложи код как ты спаунишь машины
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
Quote:
Originally Posted by dimonml
да описанное выше поведение имеет место быть, но, вроде, по таймауту машинка все равно будет зареспавлена как пустая, самим сампом
|
Так то оно так, да вот только если таймер выставлен высокий, например 2 раза в сутки спавн.. Машинка не заспавнится пока он не сработает.
А так как игроки просили отменить спавн машин таймером через какое то время, то вот я теперь ищу как иначе исправить этот косяк. Можно конечно вернуть все обратно.. Просто даже если выставить таймер пониже - все равно какое то время машина будет находится в баговом состоянии.
Re: Некорректный спавн некоторых машин после взрыва -
toneysix - 02.09.2010
Деиствительно, наблюдал подобные вещи на различных серверах, однако, как заметили другие скриптеры, у многих такого косяка не наблюдается, нужно узнать истинную причину появления данного казуса.
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
Quote:
Originally Posted by toneysix
Деиствительно, наблюдал подобные вещи на различных серверах, однако, как заметили другие скриптеры, у многих такого косяка не наблюдается, нужно узнать истинную причину появления данного казуса.
|
Предлагаешь очередную тему в баги добавить? "ответа не ждите"
Re: Некорректный спавн некоторых машин после взрыва -
Stepashka - 02.09.2010
А ничего нет в OnVehicleDeath(vehicleid, killerid) ?
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
public OnVehicleDeath(vehicleid, killerid)
у меня в мод не вписан, только
public OnVehicleDeath(vehicleid).. то что в первом посте.
Re: Некорректный спавн некоторых машин после взрыва -
Stepashka - 02.09.2010
А что в SaveTrunk(); ?
Re: Некорректный спавн некоторых машин после взрыва -
Feel_Life - 02.09.2010
Ничего особенного.
Code:
public SaveTrunk()
{
new idx;
new File: file2;
idx = 1;
while (idx < sizeof(CarInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%i,%i,%i,%i,%i,%i,%i,%i,%i,%f\n",
vehTrunk[idx][1],
vehTrunkAmmo[idx][1],
vehTrunk[idx][2],
vehTrunkAmmo[idx][2],
vehTrunk[idx][3],
vehTrunkAmmo[idx][3],
vehTrunk[idx][4],
vehTrunkAmmo[idx][4],
vehTrunkCounter[idx],
vehTrunkArmour[idx]);
if(idx == 1)
{
file2 = fopen("trunk.cfg", io_write);
}
else
{
file2 = fopen("trunk.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
Кстати деш машины выглядит чуть иначе.. я старый дал.. Тут я вписал обнуление тюнинга для некоторых авто..
Обнуление загрузки машины и багажника. Но это не должно влиять на спавн же.. Ведь тогда бы это распространялось на все машины а не случайные.. За сутки бывает до 15 машин с разными айди.. Иной раз вообще не бывает
Code:
public OnVehicleDeath(vehicleid)
{
PlayerHaul[vehicleid][pLoad] = 0;
vehTrunk[vehicleid][vehTrunkCounter[vehicleid]] = '\0';
vehTrunkAmmo[vehicleid][vehTrunkCounter[vehicleid]] = '\0';
vehTrunkCounter[vehicleid]--;
SaveTrunk();
if(vehicleid > 235 && vehicleid < 696||vehicleid >= 921 && vehicleid <= 940)
{
CarsInfo[vehicleid][cSpoiler] = 0;
CarsInfo[vehicleid][cHood] = 0;
CarsInfo[vehicleid][cSideskirt] = 0;
CarsInfo[vehicleid][cNitro] = 0;
CarsInfo[vehicleid][cLamps] = 0;
CarsInfo[vehicleid][cExhaust] = 0;
CarsInfo[vehicleid][cWheels] = 0;
CarsInfo[vehicleid][cRoof] = 0;
CarsInfo[vehicleid][cStereo] = 0;
CarsInfo[vehicleid][cHydraulics] = 0;
CarsInfo[vehicleid][cBullbar] = 0;
CarsInfo[vehicleid][cRearBullbars] = 0;
CarsInfo[vehicleid][cFrontSign] = 0;
CarsInfo[vehicleid][cFrontBullbars] = 0;
CarsInfo[vehicleid][cFrontBumper] = 0;
CarsInfo[vehicleid][cRearBumper] = 0;
CarsInfo[vehicleid][cVents] = 0;
CarsInfo[vehicleid][cPaintJob] = -1;
OnPropUpdate();
}
SetVehicleToRespawn(vehicleid);
}
Re: Некорректный спавн некоторых машин после взрыва -
Diman777 - 18.12.2016
Вот прошло 6 лет, и проблема походу
осталась актуальна, но у меня сервер же CR и версия 0.3e (2012 года выпуска).
Иногда стал замечать, что тачки горят. Спавнятся - и тут же горят.
Раньше такого не замечал, после последнего вчерашнего обновления (работа таксиста) началась эта фигня.
В
OnVehicleDead ничего особенного, вот собственно код, больше в паблике ничего нет:
PHP Code:
DeadTaxi(vehicleid)
{
if (GetVehicleModel(vehicleid) == 438)
{
for (new taxiid; taxiid < MAX_PLAYERS; taxiid++)
{
if (taxi_save_dvehid[taxiid] == vehicleid)
{
if (IsPlayerTaxi(taxiid))
{
FinishedWorkTaxi(taxiid, 3);
ResetDataTaxi(taxiid);
break;
}
}
}
}
}
В
FinishedWorkTaxi там чисто сообщения для чата, а в
ResetDataTaxi сбрасывания данных:
PHP Code:
ResetDataTaxi(taxiid)
{
taxi_check_count{taxiid} = 0;
KillTimer(taxi_check_in_veh_timerid[taxiid]);
Update3DTextLabelText(taxi_text3d_id[taxiid], 0xffff00ff, " ");
for (new clientid; clientid < MAX_PLAYERS; clientid++)
{
if (IsValidDynamicMapIcon(taxi_icon_id[taxiid][clientid]))
{
DestroyDynamicMapIcon(taxi_icon_id[taxiid][clientid]);
taxi_icon_id[taxiid][clientid] = -1;
}
// if (IsValidDynamicCP(taxi_cp_id[taxiid][clientid]))
// {
// DestroyDynamicCP(taxi_cp_id[taxiid][clientid]);
// taxi_cp_id[taxiid][clientid] = -1;
// }
}
KillTimer(taxi_counter_time_timerid[taxiid]);
taxi_counter_time_timerid[taxiid] = -1;
taxi_time_work[taxiid] = 0;
taxi_money_client[taxiid] = 0;
taxi_save_dvehid[taxiid] = INVALID_VEHICLE_ID;
}
Лимит тачек не превышен (~ 120 моделей, ~ 500 транспорта), может читак засел, вообщем посмотрим как дальше дела пойдут.
Re: Некорректный спавн некоторых машин после взрыва -
Mcc - 18.12.2016
Твои закорючки здесь не при чем. Удаляй транспорт и создавай заново.
Re: Некорректный спавн некоторых машин после взрыва -
Bombo - 18.12.2016
Не пробовал, но, возможно, такой вариант сработает. Как известно, авто с уровнем HP ниже 300 начинает гореть. Получается, что у всех "остовов" HP должен быть ниже 300. Т.о. по таймеру (скажем, раз в минуту) можно отправлять на респавн все авто с таким уровнем.
Re: Некорректный спавн некоторых машин после взрыва -
Diman777 - 18.12.2016
Оба предложенных варианта стоит явно попробывать
Re: Некорректный спавн некоторых машин после взрыва -
White_116 - 18.12.2016
Удалить и создать. Понять и простить...