В добавленных картах, не на стандартной карте, автомобили из-за того, что объекты не успевают прогружаться, проваливаются. Как вы боритесь с этим?
Вид для печати
В добавленных картах, не на стандартной карте, автомобили из-за того, что объекты не успевают прогружаться, проваливаются. Как вы боритесь с этим?
Создавайте карту через стандартный стример (CreateObect) и проблем не будет.
Или же только ту часть объектов, на которых спавняться авто/игроки
Иначе никак. Стример работает по принципу создания тех объектов, что находятся в зоне стрима игрока и удаления тех объектов, что находятся вне стрима игрока. А авто хранятся в памяти сервера. Поэому если объектов/авто/транспорта много, нагрузка на интернет игрока большая и пакеты с созданием объектов приходят позже, чем пакеты с транспортом и прочим. Потому и проваливается.
Можно попробовать спавнить транспорт выше, но и тогда велика вероятность падения авто сквозь текстуры
Кто вам подобное сказал?Цитата:
И если заюзать даже несколько объектов CreateObject это будет "плохо влиять" на стример.
- - - Добавлено - - -
Хотя... Сейчас полез в ему стримера на форуме sa-mp.com, в надежде найти доказательства ваших слов (так и не нашёл) и вот что заметил...
Попробуйте использовать функцию
То бишь, вставьте её в самое начало команды (перед телепортом) и установите там те координаты, куда будете телепортировать игрока. Авось поможет (сам не использовал никогда)PHP код:
native Streamer_UpdateEx(playerid, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1);
А я как по себе помню создавал авто, указывая z координату чуть выше чем пол. Но это только лишь для ровной поверхности spawn.
Если вы про телепортацию с машиной в нестандартных интерьеров (созданы вами) то:
Daniel_Cortez уже выложил хороший инклюд (правда он нуждается в доработку для большого количество объектов): КЛАЦ.Если вы про провал автомобилей при входе в их зону прорисовки то:
Там и поддержка авто, и интерьеров и т.п.
Для объектов что служат в качестве пола (или земли) - увеличьте значение параметраCreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);.
Точное значение я вам не скажу, ибо дальность прорисовки нигде не указано (можно узнать из слитых исходников 0.3d, либо выяснить методом подбора).
Ну естественно каждый новый объект, подгружаемый в память игроку, даёт минус к лимитам стримера. Ибо нарушается сама идея. Но десяток объектов особой погоды не сделает, если вы не собираетесь вставлять по 500 объектов около игрока за раз.
Прочитав пост Смайла, пришла в голову немного странная идея. Узнаём радиус прорисовки транспорта и делаем прорисовку объектов чуть дальше, чем прорисовывается транспорт. Ну и потом телепортируем игрока сначала за радиус прорисовки авто, но в радиус прорисовки объектов, а потом на нужное место спавна. Авось поможет, хоть и велика вероятность того, что телепорт в 2 точки будет слишком заметен