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

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

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

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

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

1.как обратиться к символу в строке по индексу?

2.у игрока обнуляется человечность если не зайти после смерти перед рестартом,есть ли фикс,и если нет то какой файл смотреть?

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


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

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

  • 0

1.как обратиться к символу в строке по индексу?

2.у игрока обнуляется человечность если не зайти после смерти перед рестартом,есть ли фикс,и если нет то какой файл смотреть?

 

1. По первому вопросу не совсем понятно что вы имеете ввиду.

2. По второму вопросу, используйте этот запрос, проблем больше не будет таких:

DELETE
    FROM `character_data`
        USING character_data, character_data
        AS tmpcharacter_data
        WHERE NOT character_data.CharacterID=tmpcharacter_data.CharacterID
        AND character_data.CharacterID<tmpcharacter_data.CharacterID
        AND (character_data.PlayerUID=tmpcharacter_data.PlayerUID);

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


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





  • 0

Насчет второго 

Пропажа хуманити случается если стоит чистка трупов в БД на замену лучше ставить удаление людей не заходивших в игру 10-15 дней

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


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

в чате пишу строку,строка записывается в переменную,строку нужно разделить,метода сплит стринг в арме не нашел,нашел только для армы 3,не знаю как обратиться к конкретному символу в строке,что то типо

for "_i" from 0 to count(toArray _text) do
{
   if(_text select _i  == ' ') then
   {
      //code
   }
}

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


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

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

_display = findDisplay 24;
if(isNull _display) then {
    uiSleep 0.3;
} else {
    _chat = _display displayCtrl 101;
    _txt = ctrlText _chat;
    if(_txt in ['ТВОЙ СИМВОЛ ИЛИ ПЕРЕМЕННАЯ']) then {
        [] spawn {
            for '_i' from 0 to 10 do {
                _chat ctrlSetText 'о боже, в этой части кода что то происходит!';
            };
        };
    };
};

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


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

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

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


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

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

ВЫ ЖЕ САМИ ПИСАЛИ "не знаю как обратиться к конкретному символу в строке" хватит путать :)

разве сам символ нельзя считать индексом? Я похоже дурак и чего то не понимаю... Может тогда опишите то что вы в конечном счете хотите добиться, может быть так получиться что то посоветовать Вам.

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

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


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

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

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

"разве сам символ нельзя считать индексом?"
символ это символ,а индекс символа это номер его позиции в строке

кусок вашего кода выше говорит о присутствии конкретного символа в строке

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


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

я понимаю что такое индекс и символ, имел ввиду что разве этого не достаточно :)

Какую то конкретную строку? Как вы собираетесь понять что и где разделить?

 

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

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


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

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

hint str ("japa is the man!" select [8]); //the man!
hint str ("japa is the man!" select [0,7]); //japa is

тогда по сути так должно быть
 

for "_i" from 0 to count(toArray _text) do
{
   if(_text select [_i,1]  == ' ') then
   {
      //code
   }
}

только вот пишет что нужен тип строка а получает массив,для меня неясно откуда,вот вы пишите обратиться к первому элементу у меня в коде так и есть по факту,с 0 элемента

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


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

я так понял со скриптом на обращение к символу в строке никто не подскажет правильный код.может тогда подскажете в другом?
например скрипт на удаление парашютов после воздушного патруля wai
 

PVDZE_atp = "Скрипт удаления парашютов запущен...";
publicVariableServer "PVDZE_atp";
while {true} do
{
    {
        _para_driver = str(driver _x);
        _driver_alive = alive(driver _x);
        if (_para_driver == "<NULL-object>") then
        {
          DeleteVehicle _x;
        };
        if(!_driver_alive) then
        {
            DeleteVehicle _x;
        };
        if(speed _x == 0) then
        {
            DeleteVehicle _x;
        };
    } forEach ([6800, 9200, 0] nearEntities [["ParachuteEast"],24000]);
    sleep 3;
};

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

_infiSZ =
[
        [[6325.6772,7807.7412,0],400,true],
        [[4063.4226,11664.19,0],400,true],
        [[11447.472,11364.504,0],400,true],
        [[1606.6443,7803.5156,0],400,true],
        [[12944.227,12766.889,0],400,true],
		[[5068.6636,9723.4248,0],400,true],
		[[12060.471,12638.533,0],400,true],
        [[13531.3,6357.92,0.008],400,true],
        [[12060.471,12638.533,0],400,true],
        [[13532.614,6355.9497,0],400,true],
        [[7989.3354,2900.9946,0],400,true],
        [[4361.4937,2259.9526,0],400,true]
];
_USE_SIGNS = true;
if (isServer) exitWith
{
        if (_USE_SIGNS) then
        {
                {
                        _center = _x select 0;
                        _radius = _x select 1;
                        _lSign = _x select 2;
                        if (_lSign) then
                        {
                                for "_i" from 0 to 360 step (270 / _radius)*2 do
                                {
                                        _location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0];
                                        _dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1));
                                        _object = createVehicle ["Sign_sphere100cm_EP1", _location, [], 0, "NO_COLLIDE"];
                                        _object setDir _dir;
                                        _object enableSimulation false;
                                        //CAN_COLLIDE
                                        //NO_COLLIDE
                                };
                        };
                } forEach _infiSZ;
        };
};

скрипт работает,маяки есть,все хорошо
но через ~30 сек начинает фпс прыгать у всех игроков меня с 60 до 42,прыгает каждые 3-8 сек
ладно бы там проседал фпс во время добавления или скрипт зацикливался и постоянно добавлял новые маяки
пробовал отключать физику,делать объект статичным
 

_object enableSimulation false;

мне это ничего не дало

может кто то что то подсказать?

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

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


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

эти флажки на сейф зоне я ставлю сервером например. 1 раз поставил и забыл.

safezone_sign = [
	[[4063.4226,11664.19],75,true], // баш
	[[11447.472,11364.504],75,true], //клён
	[[1606.6443,7803.5156],75,true], //банд
	[[12944.227,12766.889],75,true], //герои
	[[12060.471,12638.533],75,true], // авиация
	[[9929.0811,6017.0674],50,true], // черный
	[[6600.2534,7455.0254],110,true] // старый собор
];
	{
		_center = _x select 0;
		_radius = _x select 1;
		_lSign = _x select 2;
		if (_lSign) then
		{
			for '_i' from 0 to 360 step (270 / _radius)*2 do
			{
				_location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0];
				_dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1));
				_object = createVehicle ['Sign_sphere100cm_EP1', _location, [], 0, 'CAN_COLLIDE'];
				_object setDir _dir;
				_object enableSimulation false;
				_object setVehicleInit "this enableSimulation false;";
			};
		};
	} count safezone_sign;

эта же переменная с сейфзонами пригождается для очистки трейдов от техники после рестарта в server_monitor

if (_object isKindOf "AllVehicles") then {
{
	if(_object distance (_x select 0) < (_x select 1)) then {
		deleteVehicle _object;
		[_ownerID,format["[VEHICLE CLEANUP ZONE]: %1 [%2],[%3,%4,%5]",(gettext (configFile >> 'CfgVehicles' >> (typeOf _object) >> 'displayName')),_ownerID,(getmagazinecargo _object),(getweaponcargo _object),(getbackpackcargo _object)]] call server_deleteObj;
		};
	} forEach safezone_sign;
};

нет необходимости ставить тучу допов, если можно взять полезную часть скрипта, и прикрутить именно туда-где она будет полезнее всего )

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


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

эти флажки на сейф зоне я ставлю сервером например. 1 раз поставил и забыл.

safezone_sign = [
	[[4063.4226,11664.19],75,true], // баш
	[[11447.472,11364.504],75,true], //клён
	[[1606.6443,7803.5156],75,true], //банд
	[[12944.227,12766.889],75,true], //герои
	[[12060.471,12638.533],75,true], // авиация
	[[9929.0811,6017.0674],50,true], // черный
	[[6600.2534,7455.0254],110,true] // старый собор
];
	{
		_center = _x select 0;
		_radius = _x select 1;
		_lSign = _x select 2;
		if (_lSign) then
		{
			for '_i' from 0 to 360 step (270 / _radius)*2 do
			{
				_location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0];
				_dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1));
				_object = createVehicle ['Sign_sphere100cm_EP1', _location, [], 0, 'CAN_COLLIDE'];
				_object setDir _dir;
				_object enableSimulation false;
				_object setVehicleInit "this enableSimulation false;";
			};
		};
	} count safezone_sign;

эта же переменная с сейфзонами пригождается для очистки трейдов от техники после рестарта в server_monitor

if (_object isKindOf "AllVehicles") then {
{
	if(_object distance (_x select 0) < (_x select 1)) then {
		deleteVehicle _object;
		[_ownerID,format["[VEHICLE CLEANUP ZONE]: %1 [%2],[%3,%4,%5]",(gettext (configFile >> 'CfgVehicles' >> (typeOf _object) >> 'displayName')),_ownerID,(getmagazinecargo _object),(getweaponcargo _object),(getbackpackcargo _object)]] call server_deleteObj;
		};
	} forEach safezone_sign;
};

нет необходимости ставить тучу допов, если можно взять полезную часть скрипта, и прикрутить именно туда-где она будет полезнее всего )

у меня есть скрипт на удаление техники с трейдов если я понимаю о чем речь

я не могу понять причину причину проседания фпс

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: buka
      Всем здорова, значит сервер 1.9.0  почти чистый, приват базы и пару ботов на этих базах заспавненые в миссии, Играть скучновато, да и вообще на старых версиях всегда DZAI боты стояли... но на прошлой версии и на этой так и не могу победить, делаю по гайду, леплю строчку как написано, но инициализации нет, в логе тишина, ровно как и в игровом процессе, не знаю куда рыть уже, далее. Так втрое, переделывал скрипт авиа поддержки, всё работало ровно на тех же версиях что и DZAI, там для старых версий кто в курсе помнит нужно было еще дополнительно изменить строку в server_cleanup.sqf иначе техника взрывалась при спавне... (ботовская) ну и собственно в этой же строке я убирал дамаг на заспавниную технику миссией... сейчас я не могу найти где это в коде, техника взрывается после появления через 10 сек, очень жаль потому как скрипт выдался не плохой.И третье, очень много старых полезных скриптов просто недоступны, срок хранения их на серверах истёк и ссылки битые, у кого есть скрипт вырубания травы топором??? помню такой был мелкий...
    • Автор: SkeepRyder
      Добрый день. Помогите решить 2 проблемы.
       
      1. Как отключить логи в ZEV миссиях? Там просто оч много строк, вручную удалять слишком долго, может есть какой-нибудь конфиг?
       
      2. 
      15:23:25 Wrong text element 'null' 15:23:25 Wrong text element 'null' 15:23:25 Wrong text element 'null' 15:23:25 Wrong text element 'null' 15:23:25 Error in expression <hud_blood = round(r_player_blood); if((_SRhud_humanity >= 15000) && (_SRhud_hum> 15:23:25 Error position: <_SRhud_humanity >= 15000) && (_SRhud_hum> 15:23:25 Error Undefined variable in expression: _srhud_humanity 15:23:25 File mpmissions\DZESR.Chernarus\custom\gui\hud\playerHud.sqf, line 15 Файлик худа
      disableSerialization; while {true} do { 1000 cutRsc ["SRhud","PLAIN"]; _wpui = uiNameSpace getVariable "SRhud"; _vitals = _wpui displayCtrl 4900; _thePlayer = player; _SRhud_zombieKills = _thePlayer getVariable["zombieKills",0]; _SRhud_killsH = _thePlayer getVariable["humanKills",0]; _cashMoney = _thePlayer getVariable["cashMoney",0]; _SRhud_killsB = _thePlayer getVariable["banditKills",0]; _SRhud_humanity = _thePlayer getVariable["humanity",0]; _SRhud_image = ""; _SRhud_blood = round(r_player_blood); if((_SRhud_humanity >= 15000) && (_SRhud_humanity <= 24999))then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\H1.paa'/>"; }; if((_SRhud_humanity >= 25000) && (_SRhud_humanity <= 49999))then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\H2.paa'/>"; }; if((_SRhud_humanity >= 50000) && (_SRhud_humanity <= 74999)) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\H3.paa'/>"; }; if((_SRhud_humanity >= 75000) && (_SRhud_humanity <= 99999)) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\H4.paa'/>"; }; if(_SRhud_humanity >= 100000) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\H5.paa'/>"; }; if((_SRhud_humanity <= 14999) && (_SRhud_humanity >= -14999)) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\S.paa'/>"; }; if((_SRhud_humanity <= -15000) && (_SRhud_humanity >= -24999))then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\B1.paa'/>"; }; if((_SRhud_humanity <= -25000) && (_SRhud_humanity >= -49999))then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\B2.paa'/>"; }; if((_SRhud_humanity <= -50000) && (_SRhud_humanity >= -74999)) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\B3.paa'/>"; }; if((_SRhud_humanity <= -75000) && (_SRhud_humanity >= -99999)) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\B4.paa'/>"; }; if(_SRhud_humanity <= -100000) then { _SRhud_image = "<img size='2.3' image='custom\gui\hud\icons\B5.paa'/>"; }; _vitals ctrlSetStructuredText parseText format [" <t size='1.5' align='right'> %1 </t><br/> <t size='0.8' align='right'> %2 </t> <br/> <t size='0.8' align='right'> %3 </t><img size='1.8' align='right' image='custom\gui\hud\icons\sz.paa'/> <br/> <t size='0.8' align='right'> %4 </t><img size='1.8' align='right' image='custom\gui\hud\icons\sb.paa'/> <br/> <t size='0.8' align='right'> %5 </t><img size='1.8' align='right' image='custom\gui\hud\icons\sh.paa'/> <br/> <br/><br/><br/> <t size='0.8' align='right'> %6 </t><img size='1.25' align='right' image='custom\gui\hud\icons\blood.paa'/> <br/> <t size='0.8' align='right'> %7 </t><img size='1.2' align='right' image='custom\gui\hud\icons\dollars.paa'/> <br/> ", _SRhud_image, _SRhud_humanity, _SRhud_zombieKills, _SRhud_killsB, _SRhud_killsH, _SRhud_blood, [_cashMoney] call BIS_fnc_numberText ]; _vitals ctrlCommit 0; sleep 2; }; Как можно решить эту проблему? Пробовал обьявлять, не получилось.
    • Автор: Boom
      Такие вопросы, подскажите поалуйста
      Как вернуть метку на труп в плагине DZGM
      Как понять по логам что игрок дюпает, немогу прочитать в RTP этого, вижу что открывает сейф вылетает и так повтор, как понять что игроки дюпают валюту путём передажи её друг другу одноверменно
      Как отключать траву через скрипт который добавляет контекстное меню (RBM)
    • Автор: hekut144
      Здравствуйте, пытаюсь собрать библиотеку хайва (епочевскую которая в репозитории vbawol), хочу сделать старт хуманити 0, вообщем уже который день ковыряюсь не выходит, при компиляции 3 ошибки, одна связаная с питоном (что-то с git-ом, переменные среды гиту\питону\всем нужным кастумным библиотекам заданы, репозиторий обьявлен в гите\студии)
      error MSB3073: The command "python C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\version_gen.py C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\Version.cpp.template C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\Version.cpp :VCEnd" exited with code 1. при компиляции орет след. (та самая ошибка связанная с питоном):
      2>  fatal: Not a git repository (or any of the parent directories): .git 2>  Traceback (most recent call last): 2>    File "C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\version_gen.py", line 8, in <module> 2>      _out.write(_in.read().replace("%GIT_VERSION%", version)) 2>  TypeError: a bytes-like object is required, not 'str' 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(122,5): error MSB3073: The command "python C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\version_gen.py C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\Version.cpp.template C:\Users\THE_PRO\Documents\hiveDayz\Hive\Source\HiveLib\Version.cpp 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(122,5): error MSB3073: :VCEnd" exited with code 1. повторюсь репозиторий я обьявил как git-у так и самой студии
      2-ая не понимает имеющуюся либу (пути к ней даны, это либа буста, лежащая в сборке дебага):
      error LNK1104: cannot open file 'libboost_system-vc120-mt-gd-1_55.lib' 3-ая как ни странно не может прочитать созданый им же (компилятором) либу error LNK1104: cannot open file 'C:\Users\THE_PRO\Documents\hiveDayz\Hive\Out\Win32\v120\HiveLibd.lib'  инклюды\либы вроде бы все описанные rajkosto (автором хайва) имеются... 
    • Автор: SteelSoul
      Уважаемы коллеги, подскажите пожалуйста, где в 1.58 теперь находятся настройки джаммера, прайса, списка спавна техники, вероятность спавна лута и т.п.?
  • Наш выбор

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

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

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