Вопросы

Tony_Cannabis
Свой человек

Подскажите как использовать

 

Что мы имеем как пример

new Float:GpsPositions[16][3] =
{
    {595.2228, 918.2593, 6002.3262},
    {619.6937, 840.1102, 6000.2534},
	...
    {647.0892, 856.9950, 6000.9971}
};

Я так понимаю чтобы получить корды первого нужно это

GpsPositions[0][0], GpsPositions[0][1], GpsPositions[0][2]

 

И у меня есть это

stock EnableGPSForPlayer(playerid, Float: x, Float: y, Float: z, Float:size = 4.0)
{
    gpss[playerid] = 1;
    SetPlayerCheckpoint(playerid, Float: x, Float: y, Float: z, size);
    return true;
}

Но я хочу так

stock EnableGPSForPlayer(playerid, Float: x, Float: y, Float: z, Float:size = 4.0)
{
	gpss[playerid] = 1;
	SetPlayerCheckpoint(playerid, GpsPositions[0][0], GpsPositions[0][1], GpsPositions[0][2], size);
	return true;
}

И это сделать чтобы все координаты через него проходили автоматом, чтобы я писал например EnableGPSForPlayer[0] и мне вызывался последний вариант с кордами [0]?

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение

19 ответов на этот вопрос

  • 0
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev
1 час назад, Tony_Cannabis сказал:

И это сделать чтобы все координаты через него проходили автоматом, чтобы я писал например EnableGPSForPlayer[0] и мне вызывался последний вариант с кордами [0]?

 

Спойлер

#define D_GPS 1111
  
new Float:GpsPositions[16][3] =
{
    {595.2228, 918.2593, 6002.3262},
    {619.6937, 840.1102, 6000.2534},
	...
    {647.0892, 856.9950, 6000.9971}
};

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) {
        case D_GPS: {
            case 0: EnableGPSForPlayer(playerid, 0);
        }
    }
    return 0;
}

stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
    gpss[playerid] = 1;
    SetPlayerCheckpoint(playerid, GpsPositions[index][0], GpsPositions[index][1], GpsPositions[index][2], size);
    return true;
}

 

 

Отредактировано пользователем glvde.

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек
19 часов назад, glvde. сказал:

 

  example (закрыть спойлер)


#define D_GPS 1111
  
new Float:GpsPositions[16][3] =
{
    {595.2228, 918.2593, 6002.3262},
    {619.6937, 840.1102, 6000.2534},
	...
    {647.0892, 856.9950, 6000.9971}
};

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid) {
        case D_GPS: {
            case 0: EnableGPSForPlayer(playerid, 0);
        }
    }
    return 0;
}

stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
    gpss[playerid] = 1;
    SetPlayerCheckpoint(playerid, GpsPositions[index][0], GpsPositions[index][1], GpsPositions[index][2], size);
    return true;
}

 

 

Спасибо! А всякую хрень которая в циклах, ее либо в EnableGPSForPlayer, либо отдельно?

 

Хотел засунуть vehiclePos[0], vehiclePos[1], vehiclePos[2]

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек
3 часа назад, glvde. сказал:

@Tony_Cannabis, хотите сделать поиск автомобиля таким образом?

примерно да, ну там автомобили, бизы еще что то, везде цикл, а в циклах veh, biz и тп

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
  • 0

Я, например, не очень понял что нужно, приведите пример кода и как он должен преобразиться

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек
33 минуты назад, DEST сказал:

Я, например, не очень понял что нужно, приведите пример кода и как он должен преобразиться

Есть цикл такой

			case 1: {
				new max_distance = 100000;
				new id_biz = -1;
				for(new i = gBusinessCount-1; i >= 0; --i)
				{
					if(gBusiness[i][bizzType] != 1) continue;
					new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ]));
					if(here_distance < max_distance)
					{
						id_biz = i;
						max_distance = here_distance;
					}
				}
				if(max_distance == -1 || id_biz == -1) return true;
				EnableGPSForPlayer(playerid, gBusiness[id_biz][bizzX], gBusiness[id_biz][bizzY], gBusiness[id_biz][bizzZ]);
				return true;
			}

и еще много циклов, например эта - проверка на бизнес который поблизости

 

Я хочу  gBusiness[id_biz][bizzX], gBusiness[id_biz][bizzY], gBusiness[id_biz][bizzZ] запихнуть сюда, но без цикла...

 

stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
    gpss[playerid] = 1;
    SetPlayerCheckpoint(playerid, GpsPositions[index][0], GpsPositions[index][1], GpsPositions[index][2], size);
    return true;
}

 

Я так понимаю что можно запихнуть только с циклом, или есть какие либо варианты? И как лучше будет его туда запихнуть если это единственный вариант, Заранее благодарю за помощь!

Поделиться сообщением


Ссылка на сообщение
  • 0
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

@Tony_Cannabis 

39 минут назад, Tony_Cannabis сказал:

gBusiness[id_biz][bizzX], gBusiness[id_biz][bizzY], gBusiness[id_biz][bizzZ]

stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
    gpss[playerid] = 1;
    SetPlayerCheckpoint(playerid, gBusiness[index][bizzX], gBusiness[index][bizzY], gBusiness[index][bizzZ], size);
    return true;
}

Сложного ничего нет. Если же хотите делать такую функцию для бизнесов поблизости, то придется с циклом.

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек

@glvde. Если сделаю так? Или покажите как бы вы сделали

 

stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
    gpss[playerid] = 1;
	SetPlayerCheckpoint(playerid, GpsPositions[index][0], GpsPositions[index][1], GpsPositions[index][2], size);
		
	//проверка 
	if (EnableGPSForPlayer(playerid, 0)) {
		new max_distance = 100000;
		new id_biz = -1;
		for(new i = gBusinessCount-1; i >= 0; --i)
		{
			if(gBusiness[i][bizzType] != 1) continue;
			new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ]));
			if(here_distance < max_distance)
			{
				id_biz = i;
				max_distance = here_distance;
			}
		}
		if(max_distance == -1 || id_biz == -1) return true;
    	SetPlayerCheckpoint(playerid, gBusiness[index][bizzX], gBusiness[index][bizzY], gBusiness[index][bizzZ], size);
    	return true;
	}
	return true;
}

 

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек

Если я так сделаю а циклов у меня много таких , получится так

 

Цитата

 


stock EnableGPSForPlayer(playerid, index, Float:size = 4.0)
{
	//проверка 
	else if (EnableGPSForPlayer(playerid, 1)) {
		new max_distance = 100000;
		new id_biz = -1;
		for(new i = gBusinessCount-1; i >= 0; --i)
		{
			if(gBusiness[i][bizzType] != 1) continue;
			new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ]));
			if(here_distance < max_distance)
			{
				id_biz = i;
				max_distance = here_distance;
			}
		}
		if(max_distance == -1 || id_biz == -1) return true;
    	SetPlayerCheckpoint(playerid, gBusiness[index][bizzX], gBusiness[index][bizzY], gBusiness[index][bizzZ], size);
    	return true;
	}
	else if (EnableGPSForPlayer(playerid, 2)) {
		for(new i = второйцикл-1; i >= 0; --i)
		{
			if(втораяхрень[i][второйтип] != 3) continue;
			всякая хрень
		}
		if(max_distance == -1 || id_biz == -1) return true;
    	SetPlayerCheckpoint(playerid, втораяхрень[index][bizzX], втораяхрень[index][bizzY], втораяхрень[index][bizzZ], size);
    	return true;
	}
	else if (EnableGPSForPlayer(playerid, 3)) {
		for(new i = третийцикл-1; i >= 0; --i)
		{
			if(третяяхрень[i][третийтип] != 3) continue;
			всякая хрень
		}
		if(max_distance == -1 || id_biz == -1) return true;
    	SetPlayerCheckpoint(playerid, третяяхрень[index][bizzX], третяяхрень[index][bizzY], третяяхрень[index][bizzZ], size);
    	return true;
	}
   	else {
    gpss[playerid] = 1;
	SetPlayerCheckpoint(playerid, GpsPositions[index][0], GpsPositions[index][1], GpsPositions[index][2], size);                                        
	return true;
    }
}

 

 

А это быдлокод по моему мнению, как то можно легче сделать, ну что никто не знает?

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
  • 0

@Tony_Cannabis кто-то может и знает, но нужно стараться формулировать мысли так, чтобы их кто-то кроме вас еще понимал. 

Если нужно избежать повторения циклов, можно просто вынести его в функцию

stock GetNearbyBusiness(playerid, max_distance = 100000)
{
  new id_biz = -1;
  for(new i = gBusinessCount-1; i >= 0; --i)
  {
    if(gBusiness[i][bizzType] != 1) continue;
    new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ]));
    if(here_distance < max_distance)
    {
      id_biz = i;
      max_distance = here_distance;
    }
  }
  return id_biz; 
}

Если не хочется писать эту функцию для каждого объекта в моде, то есть машины, бизнеса, дома или еще чего, можно макрос сделать и препроцессор сам сгенерит эти функции

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек

@DEST 

Если я так сделаю то надо будет эту проверку тоже както затронуть, для домов например 1 для бизов 2 и тп

if(gBusiness[i][bizzType] != 1) continue;

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек
3 минуты назад, DEST сказал:

@Tony_Cannabis за что отвечает bizzType у бизнеса? И что означает значение 1? 

тип бизнеса, 7 например это азс, 1 закусочные 

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
  • 0

@Tony_Cannabis тогда также можно в аргумент функции это засунуть 

stock GetNearbyBusinessByType(playerid, bizType, max_distance = 100000)
{
  new id_biz = -1;
  for(new i = gBusinessCount-1; i >= 0; --i)
  {
    if(gBusiness[i][bizzType] != bizType) continue;
    new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), gBusiness[i][bizzX], gBusiness[i][bizzY], gBusiness[i][bizzZ]));
    if(here_distance < max_distance)
    {
      id_biz = i;
      max_distance = here_distance;
    }
  }
  return id_biz; 
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Tony_Cannabis
Свой человек

А можно gBusinessCount тоже менять? Типо 

stock GetNearbyBusinessByType(playerid, bizType, gBusinessCount, max_distance = 10000

т.к. у меня есть еще помимо бизнесов терминалы и прочее

				new id_atm = -1;
				for(new i = 1; i < MAX_ATM; i ++)
				{
					new here_distance = (!IsPlayerInAnyVehicle(playerid)) ? floatround(GetPlayerDistanceFromPoint(playerid, ATMData[i][ATM_Pos][0], ATMData[i][ATM_Pos][1], ATMData[i][ATM_Pos][2])) : floatround(GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), ATMData[i][ATM_Pos][0], ATMData[i][ATM_Pos][1], ATMData[i][ATM_Pos][2]));
					if(here_distance < max_distance)
					{
						id_atm = i;
						max_distance = here_distance;
					}
				}

и тут в цикле мне нужна помощь, или отдельный создавать именно под него? т.к. в том i=0, а в этом 1

или в бд с 0 их пронумеровать?

 

уже пронумеровал

Отредактировано пользователем Tony_Cannabis

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • patrickk
      От patrickk
      Всем привет, решил написать dm сервер и довольно хорошим получился, даже на голову выше Goat dm. Оставил не решенную проблему тем что  у меня есть 4 локации с rp run и cj run ну а как добавить cj бег на те локации не знаю и как эта система работает. Надеюсь мне помогут знающие люди
    • Samolet
      От Samolet
      Здраствуйте, cоздаю копию Arizona на ОМП, опен мультиплеер, загрузил и подключил бд, но сервер не хочет вот лог :[2026-10-20T21:03:32+0300] [Info] Log file reloaded. Starting open.mp server (1.5.8.3079) from commit c6759bd8d265171ae3d86598895a23d5a8d92a3b Loading component $CAPI.so Successfully loaded component C-API (1.5.8.3079) with UID 10467dd8d4c56fc6 Loading component LegacyConfig.so Successfully loaded component LegacyConfig (1.5.8.3079) with UID 24ef6216838f9ffc Loading component NPCs.so Successfully loaded component NPCs (1.5.8.3079) with UID 3d0e59e87f4e90bc Loading component Recordings.so Successfully loaded component Recordings (1.5.8.3079) with UID 871144d399f5f613 Loading component Checkpoints.so Successfully loaded component Checkpoints (1.5.8.3079) with UID 44a937350d611dde Loading component TextDraws.so Successfully loaded component TextDraws (1.5.8.3079) with UID 9b5dc2b1d15c992a Loading component Pawn.so Successfully loaded component Pawn (1.5.8.3079) with UID 78906cd9f19c36a6 Loading component GangZones.so Successfully loaded component GangZones (1.5.8.3079) with UID b3351d11ee8d8056 Loading component Actors.so Successfully loaded component Actors (1.5.8.3079) with UID c81ca021eae2ad5c Loading component Pickups.so Successfully loaded component Pickups (1.5.8.3079) with UID cf304faa363dd971 Loading component Dialogs.so Successfully loaded component Dialogs (1.5.8.3079) with UID 44a111350d611dde Loading component Objects.so Successfully loaded component Objects (1.5.8.3079) with UID 59f8415f72da6160 Loading component Console.so Successfully loaded component Console (1.5.8.3079) with UID bfa24e49d0c95ee4 Loading component TextLabels.so Successfully loaded component TextLabels (1.5.8.3079) with UID a0c57ea80a009742 Loading component Variables.so Successfully loaded component Variables (1.5.8.3079) with UID 75e121848bc01fa2 Loading component Databases.so Successfully loaded component Databases (1.5.8.3079) with UID 80092e7eb5821a96 Loading component LegacyNetwork.so Successfully loaded component RakNetLegacyNetwork (1.5.8.3079) with UID ea9799fd79cf8442 Loading component CustomModels.so Successfully loaded component CustomModels (1.5.8.3079) with UID 15e3cb1e7c77ffff Loading component Menus.so Successfully loaded component Menus (1.5.8.3079) with UID 621e219eb97ee0b2 Loading component Vehicles.so Successfully loaded component Vehicles (1.5.8.3079) with UID 3f1f62ee9e22ab19 Loading component Classes.so Successfully loaded component Classes (1.5.8.3079) with UID 8cfb3183976da208 Loading component Timers.so Successfully loaded component Timers (1.5.8.3079) with UID 2ad8124c5ea257a3 Loaded 22 component(s) from /home/gs113492/components Executing Server Config... [2026-10-20T21:03:33+0300] [Info] Loading plugin: crashdetect.so [2026-10-20T21:03:33+0300] [Info] CrashDetect plugin 4.19 [2026-10-20T21:03:33+0300] [Info] Loading plugin: mapandreas.so [2026-10-20T21:03:33+0300] [Info] Loading plugin: streamer.so [2026-10-20T21:03:33+0300] [Info] *** Streamer Plugin v2.9.4 by Incognito loaded *** [2026-10-20T21:03:33+0300] [Info] Loading plugin: sscanf.so [2026-10-20T21:03:33+0300] [Info] [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] sscanf plugin loaded. [2026-10-20T21:03:33+0300] [Info] Version: 2.8.3 [2026-10-20T21:03:33+0300] [Info] (c) 2018 Alex "Y_Less" Cole [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] Loading plugin: TOTP.so [2026-10-20T21:03:33+0300] [Info] TOTP plugin v1.0.1 by Games loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: mysql_static.so [2026-10-20T21:03:33+0300] [Info] >> plugin.mysql: R39-6 successfully loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: libpawn_json.so [2026-10-20T21:03:34+0300] [Error] Function not registered: YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_RegAlias [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Reset [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_RegHandler [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Delete [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_New [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_IgnoreBits [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_Init [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendRPC [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendPacket [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_WriteValue [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ReadValue [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Info] Legacy Network started on ***.**.**.***:2717. Помогите пожалуйста