а он еблан, не обращай вниманиетогда зачем ты написал что за 3 минуты это починил?
а он еблан, не обращай вниманиетогда зачем ты написал что за 3 минуты это починил?
const MANSION_IPLS: string[] = [
// base
'm25_2_knoway_sign',
// Mansion1 The Vinewood Residence
'm25_2_ch2_04_mansion_interior_a',
'm25_2_ch2_04_mansion_interior_b',
'm25_2_ch2_04_mansion_interior_c',
'apa_ch2_04_mansion_shared',
'apa_ch2_04_mansion_private',
'apa_ch2_04_mansion_furniture',
'apa_ch2_04_mansion_firepit',
'apa_ch2_04_mansion_railings_p',
'm25_2_east_mansion_gym',
'm25_2_east_dog_house',
'apa_ch2_04_mansion_shared_distantlights',
'apa_ch2_04_mansion_shared_lodlights',
// Mansion2 Richman Villa
'hei_ch1_06e_mansion_shared',
'hei_ch1_06f_mansion_shared',
'm25_2_ch1_06e_mansion_interior_a',
'm25_2_ch1_06e_mansion_interior_b',
'm25_2_ch1_06e_mansion_interior_c',
'hei_ch1_06e_mansion_private',
'hei_ch1_06e_mansion_furniture',
'hei_ch1_06e_mansion_firepit',
'hei_ch1_06e_mansion_railings_p',
'm25_2_mansion_gym',
'm25_2_dog_house',
'hei_ch1_06e_mansion_shared_distantlights',
'hei_ch1_06e_mansion_shared_lodlights',
// Mansion3 The Tongva Estate
'hei_ch1_09_mansion_shared',
'm25_2_ch1_09_mansion_interior_a',
'm25_2_ch1_09_mansion_interior_b',
'm25_2_ch1_09_mansion_interior_c',
'hei_ch1_09_mansion_private',
'hei_ch1_09_mansion_furniture',
'hei_ch1_09_mansion_firepit',
'hei_ch1_09_mansion_railings_p',
'm25_2_tongva_mansion_gym',
'm25_2_tongva_dog_house',
'hei_ch1_09_mansion_shared_distantlights',
'hei_ch1_09_mansion_shared_lodlights',
// общие для всех трёх
'm25_2_mansion_props',
'hei_ch1_roads_mansion',
];
interface MansionConfig {
name: string;
coords: { x: number; y: number; z: number };
interiorId: number;
sets: string[];
}
const MANSION_SETS = [
'set_style_cali', 'set_elev_cali', 'set_art_coastal',
'set_trophy_planter', 'set_shelving_planter',
'set_wallpaper_deco',
'set_ai_tablets_03',
'set_pet_cat', 'set_pet_dog',
];
const MANSIONS: MansionConfig[] = [
{ name: 'Vinewood Residence', coords: { x: 543.852, y: 712.754, z: 201.0 }, interiorId: 304385, sets: MANSION_SETS },
{ name: 'Richman Villa', coords: { x: -1630.434, y: 470.852, z: 128.0 }, interiorId: 302593, sets: MANSION_SETS },
{ name: 'Tongva Estate', coords: { x: -2601.712, y: 1874.826, z: 166.0 }, interiorId: 303617, sets: MANSION_SETS },
];
function resolveInterior(m: MansionConfig): number {
if (native.isValidInterior(m.interiorId)) return m.interiorId;
const byCoords = native.getInteriorAtCoords(m.coords.x, m.coords.y, m.coords.z);
return byCoords || 0;
}
function setupMansion(m: MansionConfig, attempt = 0) {
const id = resolveInterior(m);
if (!id) {
alt.logWarning(`[mansions] ${m.name}: интерьер не найден`);
return;
}
native.pinInteriorInMemory(id);
if (!native.isInteriorReady(id)) {
if (attempt < 50) alt.setTimeout(() => setupMansion(m, attempt + 1), 200);
else alt.logWarning(`[mansions] ${m.name}: интерьер не готов (id ${id})`);
return;
}
for (const set of m.sets) native.activateInteriorEntitySet(id, set);
native.activateInteriorEntitySet(id, 'set_style_cali_tint');
native.setInteriorEntitySetTintIndex(id, 'set_style_cali_tint', 0);
native.refreshInterior(id);
alt.log(`[mansions] ${m.name}: ок (id ${id})`);
}
alt.on('connectionComplete', () => {
for (const ipl of MANSION_IPLS) {
native.requestIpl(ipl);
}
const missing = MANSION_IPLS.filter((ipl) => !native.isIplActive(ipl));
if (missing.length) {
alt.log(`[mansions] не загрузились: ${missing.join(', ')}`);
}
for (const m of MANSIONS) setupMansion(m);
});
Здесь единственный клоун это ты. Я разве здесь упоминал IPL? Я рассмеялся, потому что ты сказал: Позови маппера, чтобы он залатал дыры.по всей карте с админкой пролетись клоун. Ipl тут нахуй не причём![]()
Супер, мне только ещё нужен один маппер, чтобы залатать дыру на Вайнвуде.Как там твой недолаунчер поживает?![]()
пасиб большоеВот тебе фикс
JavaScript:const MANSION_IPLS: string[] = [ // base 'm25_2_knoway_sign', // Mansion1 The Vinewood Residence 'm25_2_ch2_04_mansion_interior_a', 'm25_2_ch2_04_mansion_interior_b', 'm25_2_ch2_04_mansion_interior_c', 'apa_ch2_04_mansion_shared', 'apa_ch2_04_mansion_private', 'apa_ch2_04_mansion_furniture', 'apa_ch2_04_mansion_firepit', 'apa_ch2_04_mansion_railings_p', 'm25_2_east_mansion_gym', 'm25_2_east_dog_house', 'apa_ch2_04_mansion_shared_distantlights', 'apa_ch2_04_mansion_shared_lodlights', // Mansion2 Richman Villa 'hei_ch1_06e_mansion_shared', 'hei_ch1_06f_mansion_shared', 'm25_2_ch1_06e_mansion_interior_a', 'm25_2_ch1_06e_mansion_interior_b', 'm25_2_ch1_06e_mansion_interior_c', 'hei_ch1_06e_mansion_private', 'hei_ch1_06e_mansion_furniture', 'hei_ch1_06e_mansion_firepit', 'hei_ch1_06e_mansion_railings_p', 'm25_2_mansion_gym', 'm25_2_dog_house', 'hei_ch1_06e_mansion_shared_distantlights', 'hei_ch1_06e_mansion_shared_lodlights', // Mansion3 The Tongva Estate 'hei_ch1_09_mansion_shared', 'm25_2_ch1_09_mansion_interior_a', 'm25_2_ch1_09_mansion_interior_b', 'm25_2_ch1_09_mansion_interior_c', 'hei_ch1_09_mansion_private', 'hei_ch1_09_mansion_furniture', 'hei_ch1_09_mansion_firepit', 'hei_ch1_09_mansion_railings_p', 'm25_2_tongva_mansion_gym', 'm25_2_tongva_dog_house', 'hei_ch1_09_mansion_shared_distantlights', 'hei_ch1_09_mansion_shared_lodlights', // общие для всех трёх 'm25_2_mansion_props', 'hei_ch1_roads_mansion', ]; interface MansionConfig { name: string; coords: { x: number; y: number; z: number }; interiorId: number; sets: string[]; } const MANSION_SETS = [ 'set_style_cali', 'set_elev_cali', 'set_art_coastal', 'set_trophy_planter', 'set_shelving_planter', 'set_wallpaper_deco', 'set_ai_tablets_03', 'set_pet_cat', 'set_pet_dog', ]; const MANSIONS: MansionConfig[] = [ { name: 'Vinewood Residence', coords: { x: 543.852, y: 712.754, z: 201.0 }, interiorId: 304385, sets: MANSION_SETS }, { name: 'Richman Villa', coords: { x: -1630.434, y: 470.852, z: 128.0 }, interiorId: 302593, sets: MANSION_SETS }, { name: 'Tongva Estate', coords: { x: -2601.712, y: 1874.826, z: 166.0 }, interiorId: 303617, sets: MANSION_SETS }, ]; function resolveInterior(m: MansionConfig): number { if (native.isValidInterior(m.interiorId)) return m.interiorId; const byCoords = native.getInteriorAtCoords(m.coords.x, m.coords.y, m.coords.z); return byCoords || 0; } function setupMansion(m: MansionConfig, attempt = 0) { const id = resolveInterior(m); if (!id) { alt.logWarning(`[mansions] ${m.name}: интерьер не найден`); return; } native.pinInteriorInMemory(id); if (!native.isInteriorReady(id)) { if (attempt < 50) alt.setTimeout(() => setupMansion(m, attempt + 1), 200); else alt.logWarning(`[mansions] ${m.name}: интерьер не готов (id ${id})`); return; } for (const set of m.sets) native.activateInteriorEntitySet(id, set); native.activateInteriorEntitySet(id, 'set_style_cali_tint'); native.setInteriorEntitySetTintIndex(id, 'set_style_cali_tint', 0); native.refreshInterior(id); alt.log(`[mansions] ${m.name}: ок (id ${id})`); } alt.on('connectionComplete', () => { for (const ipl of MANSION_IPLS) { native.requestIpl(ipl); } const missing = MANSION_IPLS.filter((ipl) => !native.isIplActive(ipl)); if (missing.length) { alt.log(`[mansions] не загрузились: ${missing.join(', ')}`); } for (const m of MANSIONS) setupMansion(m); });
такое себе, у меня получше естьВот тебе фикс
JavaScript:const MANSION_IPLS: string[] = [ // base 'm25_2_knoway_sign', // Mansion1 The Vinewood Residence 'm25_2_ch2_04_mansion_interior_a', 'm25_2_ch2_04_mansion_interior_b', 'm25_2_ch2_04_mansion_interior_c', 'apa_ch2_04_mansion_shared', 'apa_ch2_04_mansion_private', 'apa_ch2_04_mansion_furniture', 'apa_ch2_04_mansion_firepit', 'apa_ch2_04_mansion_railings_p', 'm25_2_east_mansion_gym', 'm25_2_east_dog_house', 'apa_ch2_04_mansion_shared_distantlights', 'apa_ch2_04_mansion_shared_lodlights', // Mansion2 Richman Villa 'hei_ch1_06e_mansion_shared', 'hei_ch1_06f_mansion_shared', 'm25_2_ch1_06e_mansion_interior_a', 'm25_2_ch1_06e_mansion_interior_b', 'm25_2_ch1_06e_mansion_interior_c', 'hei_ch1_06e_mansion_private', 'hei_ch1_06e_mansion_furniture', 'hei_ch1_06e_mansion_firepit', 'hei_ch1_06e_mansion_railings_p', 'm25_2_mansion_gym', 'm25_2_dog_house', 'hei_ch1_06e_mansion_shared_distantlights', 'hei_ch1_06e_mansion_shared_lodlights', // Mansion3 The Tongva Estate 'hei_ch1_09_mansion_shared', 'm25_2_ch1_09_mansion_interior_a', 'm25_2_ch1_09_mansion_interior_b', 'm25_2_ch1_09_mansion_interior_c', 'hei_ch1_09_mansion_private', 'hei_ch1_09_mansion_furniture', 'hei_ch1_09_mansion_firepit', 'hei_ch1_09_mansion_railings_p', 'm25_2_tongva_mansion_gym', 'm25_2_tongva_dog_house', 'hei_ch1_09_mansion_shared_distantlights', 'hei_ch1_09_mansion_shared_lodlights', // общие для всех трёх 'm25_2_mansion_props', 'hei_ch1_roads_mansion', ]; interface MansionConfig { name: string; coords: { x: number; y: number; z: number }; interiorId: number; sets: string[]; } const MANSION_SETS = [ 'set_style_cali', 'set_elev_cali', 'set_art_coastal', 'set_trophy_planter', 'set_shelving_planter', 'set_wallpaper_deco', 'set_ai_tablets_03', 'set_pet_cat', 'set_pet_dog', ]; const MANSIONS: MansionConfig[] = [ { name: 'Vinewood Residence', coords: { x: 543.852, y: 712.754, z: 201.0 }, interiorId: 304385, sets: MANSION_SETS }, { name: 'Richman Villa', coords: { x: -1630.434, y: 470.852, z: 128.0 }, interiorId: 302593, sets: MANSION_SETS }, { name: 'Tongva Estate', coords: { x: -2601.712, y: 1874.826, z: 166.0 }, interiorId: 303617, sets: MANSION_SETS }, ]; function resolveInterior(m: MansionConfig): number { if (native.isValidInterior(m.interiorId)) return m.interiorId; const byCoords = native.getInteriorAtCoords(m.coords.x, m.coords.y, m.coords.z); return byCoords || 0; } function setupMansion(m: MansionConfig, attempt = 0) { const id = resolveInterior(m); if (!id) { alt.logWarning(`[mansions] ${m.name}: интерьер не найден`); return; } native.pinInteriorInMemory(id); if (!native.isInteriorReady(id)) { if (attempt < 50) alt.setTimeout(() => setupMansion(m, attempt + 1), 200); else alt.logWarning(`[mansions] ${m.name}: интерьер не готов (id ${id})`); return; } for (const set of m.sets) native.activateInteriorEntitySet(id, set); native.activateInteriorEntitySet(id, 'set_style_cali_tint'); native.setInteriorEntitySetTintIndex(id, 'set_style_cali_tint', 0); native.refreshInterior(id); alt.log(`[mansions] ${m.name}: ок (id ${id})`); } alt.on('connectionComplete', () => { for (const ipl of MANSION_IPLS) { native.requestIpl(ipl); } const missing = MANSION_IPLS.filter((ipl) => !native.isIplActive(ipl)); if (missing.length) { alt.log(`[mansions] не загрузились: ${missing.join(', ')}`); } for (const m of MANSIONS) setupMansion(m); });
оно не может быть у тебя братан, да и писалось оно под мой сервакэто кстати не работало у меня))
17.0.1-dev имба =)Это можно исправить только найдя более новую версию altV но это не возможно. Либо нанять мапера чтобы заделал эти дыры
Посмотреть вложение 28865
Доброе утро.
Нету текстур в определенных частях карты. Тестил с 2х разных компов, с роекстар и стим. в сюжетке и онлайне текстуры в данном месте есть, а вот уже если захотить на мп alt:v, то нету. Пытался решить разными способами, ничего не помогло, ломаю себе голову 3е суток.
dlc если что так же никакие не установлены
Если сможете решить проблему, очень буду благодарен и заранее спасибо за ответ.
Работник месяца получаетсяЯ вот точно не уверен.
Но, сейчас Я дорабатывал подкачку файлов из game_resources (Я делаю альтернативу свалка_МП) и в этой папке у меня подкачались файлы и после этого дырка закрылась на карте (на скрине указал стрелками что теперь мой мультик умеет подсасывать в GTA).
P.S: Пойду дальше дописывать базовую синхронизацию.
ну в целом да, в моей большой корпорации численность сотрудников: 1, Сам себя ставлю работником месяца и беру шеколадки с верней полкиРаботник месяца получается![]()
такое себе, у меня получше есть Посмотреть вложение 28878
while (true) {
const pos = alt.Player.local.pos
native.requestCollisionAtCoord(pos.x, pos.y, pos.z)
native.requestAdditionalCollisionAtCoord(pos.x, pos.y, pos.z)
}
как хочу так и пишу тебе какое дело вообще -_-Сразу видно кодеров 0 IQ. Вот правильное решение:
JavaScript:while (true) { const pos = alt.Player.local.pos native.requestCollisionAtCoord(pos.x, pos.y, pos.z) native.requestAdditionalCollisionAtCoord(pos.x, pos.y, pos.z) }
проблема только в том, что роки обновили список ipl, хеши обновились, а альтв не обновляется уже давно, поэтому несоответствие = дыра, а то что ты пишешь полная хуйняда знаю я что можно отрубать через IPL. Просто с чего им было пропадать с стандартной карты если их не кто не отрубал? У альт скорее всего с этим проблемы и может сам не подтягивать
хз на счет обновы, но те папки которые у меня были они тоже из доисторических времен, когда Я сервер делал свой с нуля для свалка_мп (примерно 2022 год).проблема только в том, что роки обновили список ipl, хеши обновились, а альтв не обновляется уже давно, поэтому несоответствие = дыра, а то что ты пишешь полная хуйня
как хочу так и пишу тебе какое дело вообще -_-
ТЕБЕ НАХУЙ КАКОЕ ДЕЛО ДО ТОГО КАК Я КОД ПИШУДруг, ты ведь даже не понял чем everyTick от while (true) или setInterval((), 0) отличается
ТЕБЕ НАХУЙ КАКОЕ ДЕЛО ДО ТОГО КАК Я КОД ПИШУ