Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
123new

Обсуждаем замеченные баги, глюки, после обновления DayZ

Рекомендованные сообщения

Немного о страшном)

 

int 			v_I		=	0;
string			v_Ltest	=	"";
string			v_str	=	"";
TStringArray	v_Arr	=	{};
	
for ( v_I = 0; v_I < 40; v_I++ )
{
	v_str	=	string.Format( "%1 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ", v_I );
	if ( v_Ltest == "" )
	{
		v_Ltest	=	v_str;
	}
	else
	{
		v_Ltest	=	string.Format( "%1|%2", v_Ltest, v_str );
	}
}
v_Ltest.Split( "|", v_Arr );
for ( v_I = 0; v_I < v_Arr.Count(); v_I++ )
{
	Print( v_Arr[ v_I ] );
}

Вставляем данный код в init.c (к примеру), запускаемся, и смотрим лог)

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


Ссылка на сообщение
Поделиться на других сайтах



NoNameUltima 
На экспе

SCRIPT       : 0 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 1 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 2 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 3 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 4 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 5 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 6 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 7 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 8 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 9 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 10 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 11 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 12 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 13 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 14 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 15 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 16 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 17 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 18 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ
SCRIPT       : 19 : ST
SCRIPT       : 39 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ

Вызов

в Main()

 

	TestGluck();

 

Функция

void TestGluck()
{
	int 			v_I		=	0;
	string			v_Ltest	=	"";
	string			v_str	=	"";
	TStringArray	v_Arr	=	{};
	
	for ( v_I = 0; v_I < 40; v_I++ )
	{
		v_str	=	string.Format( "%1 : STRING_EXAMPLE_1234567890ANCDEFGHAJKLMNOPQRSTXYZ", v_I );
		if ( v_Ltest == "" )
		{
			v_Ltest	=	v_str;
		}
		else
		{
			v_Ltest	=	string.Format( "%1|%2", v_Ltest, v_str );
		}
	}
	v_Ltest.Split( "|", v_Arr );
	for ( v_I = 0; v_I < v_Arr.Count(); v_I++ )
	{
		Print( v_Arr[ v_I ] );
	}
}

 

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


Ссылка на сообщение
Поделиться на других сайтах

Тож самое если код в OnInit запихнуть или любое другое место
Могу - 1.05 таж хрень

 

куда-то делась часть данных? ты про это?
 

Изменено пользователем BorizzK (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Сожрало

Я прологгировал цикл и обнаружил удивительный эффект - разрушается массив

Надо бисам в фидбэк это отправить )))

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


Ссылка на сообщение
Поделиться на других сайтах

BorizzK Это не в массиве дело.

Дело в дибильной реализации format

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima А, ну хз, я даж не знаю как им пользоваться и не пользовался никогда

Split, +, -, да и все
Даж не знаю для чего оно нужно

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


Ссылка на сообщение
Поделиться на других сайтах

BorizzK А отправлять туда можно сразу пачку всякого говна. Это вершина)))

Попробуй на сервере с итерацией раз в 5с вставить цикл пробежки по игрокам.

Тупо идентити получаем и гетНем с идентити.

Будешь удивлен)

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Есть у мну такой цикл

И?

Отдельный свой OnUpdate запулил в шедулер

GetDayZGame().GetUpdateQueue(CALL_CATEGORY_SYSTEM).Insert(MyOnUpdate);

 

Ну и в нем 5 сек пропуск

на 6й секунде пробежка по игрокам

но без UID

У мну глоб массив типа MAP - ID:UID игроки туда при подключении заносятся и при отключении удаляются

Я Глобальные массивы сделал для всего

Для всех палаток, машин, вещей, людей, зомбей, животных и тп, даж для яблок
Да - сожрало памяти

Но разгрузило ресурсы процессора на многих задачках

 

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


Ссылка на сообщение
Поделиться на других сайтах

BorizzK

Попробуй по приколу погонять цикл с интервалом, раз в 5с, с выводом

void GetPlayersInfo()
{
	ref	array<Man>		v_Players			=	new array<Man>;
		int 			v_I					=	0;
		PlayerBase		v_Player			=	NULL;
		PlayerIdentity	v_PlayerIdentity;
		string			v_UID				=	"";
		string			v_Name				=	"";

	Print( "Start Iterations" );
	GetGame().GetPlayers( v_Players );
	for ( v_I	=	0; v_I < v_Players.Count(); v_I++ )
	{
		PlayerBase.CastTo( v_Player, v_Players[v_I] );
		if ( !v_Player )
		{
			continue;
		}
		v_PlayerIdentity	=	v_Player.GetIdentity();
		if ( !v_PlayerIdentity )
		{
			continue;
		}
		v_UID	=	v_PlayerIdentity.GetPlainId();
		v_Name	=	v_PlayerIdentity.GetName();
		Print( string.Format( "UID: %1 Name: %2", v_UID, v_Name ) );
	}
	Print( "End Iterations" );
}

Попроси порелогаться, повыходить через Alt+F4, поумирать...

А потом обрати внимание на Никнеймы. (в логе Name)

Изменено пользователем NoNameUltima (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, BorizzK сказал:

Даж не знаю для чего оно нужно

Ну например, что бы не писать везде ToString(), если надо выводить в лог какие то данные.
 

vector MyVector = "0 0 0";

Object MyObj = NULL;

int MyInt = 100500;


Print( string.Format( "Ветктор: %1, Объект: %2, Целое: %3", MyVector, MyObj, MyInt ) );

 

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Попробую
Заметил одну хрень

Ники/идентити порой путаются - иногда

почему

я хз почему

стлкивался с этим иногда

ЗЫ Я бы кой чего изменил

 

string GetPlayersInfo()
{
		ref	array<Man>		v_Players			=	new array<Man>;
		PlayerBase		v_Player			=	NULL;
		PlayerIdentity	v_PlayerIdentity;
		string			v_UID				=	"";
		string			v_Name				=	"";

	Print( "Start Iterations" );
	GetGame().GetPlayers( v_Players );
	for ( int v_I	=	0; v_I < v_Players.Count(); v_I++ )
	{
		if (Class.CastTo( v_Player, v_Players[v_I] ))
		{
			v_PlayerIdentity	=	v_Player.GetIdentity();
			if ( v_PlayerIdentity )
        	{
        		v_UID	=	v_PlayerIdentity.GetPlainId();
				v_Name	=	v_PlayerIdentity.GetName();
				Print( "UID: " + v_UID + " Name: " + v_Name ) );
        	}
		    
		}
		
	}
	Print( "End Iterations" );
}




 

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Сейчас ToString в Print ваще писать не надо Print все сам преобразует

ToString над писать если передаешь в функцию а у функции входной параметр типа string

Ну и как бы в движке - при компиляции - что с ToString()  что без нее - в памяти код одинаковый

Возьми глянь отладчиком

 

vector MyVector = "0 0 0";
Object MyObj = NULL;
int MyInt = 100500;
Print( "Ветктор: " + MyVector + ", Объект: " + MyObj + ", Целое: " + MyInt  );

Так то же корректно

 

Изменено пользователем BorizzK (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, BorizzK сказал:

Ники/идентити порой путаются - иногда

бинго)

 

Шаг два.

Обрати внимание на игроков которые ушли в релог и зашли, ник(2) зачастую выдает - куда прое..ался первый?)

 

Шаг три.

Открой в дта гдето класс СинкПлайерс. - Если ты в этом говнокоде сможешь разобраться, то ты познал дзен.) Там походу с лечебницы какой чувак писал... с Нокиа 3310 не иначе.

 

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Так - вечер перестает быть томным ))) где там? в scripts?
SyncPlayers не находит такого

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


Ссылка на сообщение
Поделиться на других сайтах

NoNameUltima Посмотрел
Специфично

Над разобрать че куда и зачем оно распихивает и нафига сравнивает
Странно конечно написано

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


Ссылка на сообщение
Поделиться на других сайтах
26.11.2019 в 17:43, BorizzK сказал:

NoNameUltima Посмотрел
Специфично

Над разобрать че куда и зачем оно распихивает и нафига сравнивает
Странно конечно написано

 

26.11.2019 в 16:16, NoNameUltima сказал:

бинго)

 

Шаг два.

Обрати внимание на игроков которые ушли в релог и зашли, ник(2) зачастую выдает - куда прое..ался первый?)

 

Шаг три.

Открой в дта гдето класс СинкПлайерс. - Если ты в этом говнокоде сможешь разобраться, то ты познал дзен.) Там походу с лечебницы какой чувак писал... с Нокиа 3310 не иначе.

 

шаг 2 - скорее всего создает лобби и пихает игрока туда, некий аналог антирелога такой, который по истечении n-го времени зачищается.
Кстати, сравните разные по действиям релоги еще, быстрый, с ожиданием времени, и вылет по причине потери сети или глюка на сервере какого-нибудь.

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


Ссылка на сообщение
Поделиться на других сайтах

У кого нить есть доступ к багтрекеру этого гавнища с названием дайз?

 

Вывалите им:

1. WRITE в данный момент работает как APPEND, если писать сразу.

2. Если открыть файл файл как WRITE, а потом закрыть, а потом снова открыть как WRITE - то данные в файле будут затерты.(т.е. 2 раза приходится открывать файл)

3. При добавлении записи как APPEND в файл, через FPrintln, перенос строки ставится только ПОСЛЕ добавления, а должен млять ставиться и ДО suka blyat! Особенно если данные в файле уже были.

#13#10

4. Найдите того мудака, который писал функцию -

	/**
	\brief Converts string's first character to ASCII code
		\param str String for convert to ASCII code
		\return \p ascii code \p int.
		@code
			int ascii = "M".ToAcsii();
			Print(ascii);

			>> ascii = 77
		@endcode
	*/
	proto int ToAscii(string str);	

4.1 Поясните этому дауну, что он А) опечатался в брифе - ToAcsii не тоже самое что ToAscii

4.2 Спросите у этого дауна, следующее -

А) Если *я матерился, запинайте меня* функция НЕ static, и ее нельзя вызвать как string.ToAscii( MyString ); - то что эта тупарылая блядина хочет в аргументе?

Б) В брифе у него она как то млять БЕЗ аргумента вызывается, - он там сам то определился - нужен, или нет аргумент?

В) Это гавно при любых раскладах, или не работает, или выдает 0 - ВСЕГДА.

Г) Как не усирайся, я непанимайтунг - MyString.ToAscii(); MyString.ToAscii( m_Buffer ); да хоть как пиши, или не будет работать или выдаст 0.

5. Желательно дать ему 3.14ЗДЫ, и крайне желательно НОГАМИ.

6. Машины лагают как твари.

7. Проблемы кодировки: string MyStr = "Вася"; Print( string.Format( "Вторая букавка: %1", MyStr.Get( 2 ) ) ); - Где лог тварина? UTF8 свалил?

8. Нихера не исправили из багртекера от слова СОВСЕМ - НИ ЕДИНОГО БАГА!

9. Зато ебааааа ЛИВОНИЯ.

"Релизу" сцука уже несколько лет.....

Изменено пользователем NoNameUltima (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах

Вот скажите мне - как так то?

 

Тачка провалилась (на самом деле ее туда я засадил ручками) ниже поверхности

Позишн намбер ван: Двигло по GetPosition возвращает высоту (Z) как 8 с копейками, при это ground (SurfaceY) в этом месте кажет -134 с копейками

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Позишн намбер ту:

Стоит рядом

Поверхность норм

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

КААААК?

 

Дайте мне дробовик и патронов побольше - поеду к бегемотам выяснять причины такой чудесатости

 

 

 



 

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


Ссылка на сообщение
Поделиться на других сайтах

@BorizzK Можно тебя попросить публиковать здесь ссылки на те билеты, что на трекере ты создал?

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


Ссылка на сообщение
Поделиться на других сайтах

@BorizzK а почему у тебя на первом скрине значение выводится с пропиской Current grou:

А на втором просто Ground?

 

И какой смысл узнавать координаты машины под поверхностью?

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


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.