Перейти к содержимому


Фотография

Вопросы по МП.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 264

#101 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 27 June 2015 - 19:32

Может у меня там вообще всякий бред написан и его надо удалить?

Прикрепленные файлы


  • 0

#102 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 27 June 2015 - 19:57

TankiSD, ну если вы хотели что-бы у игрока был черный экран, с красными облаками и 10 фпс на старте, то у вас получилось :)


  • 0

#103 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 27 June 2015 - 20:33

да вот на ноуте всё прекрасно, всё светло и нормально работает.

Не знаю, почему на др компах так.

 

И не знаю, что там с ФПС, на моём ноуте, который сингл еле тащит на минималках, фпс более менее нормальный.

Может в самом начале только так?

 

И всё же, вопрос остаётся открытым. 


Сообщение отредактировал TankiSD: 27 June 2015 - 20:37

  • 0

#104 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 27 June 2015 - 21:16

TankiSD, не знаю как насчет википедии бисов, но я в одной из своих миссий использовал такое:


_hndl_1 = ppEffectCreate ["colorCorrections", 1500];        
_hndl_1 ppEffectEnable true;        
_hndl_1 ppEffectAdjust [0.95,1.1,-0.005,[0.25,0.2,0.25,-0.25],[0.4,0.65,0.75,0.8],[0.5,0.2,0.25,0.75]];  //Если заметили, то цвета у меня объединены в массив, а не разделены, как это в Вики БИС'ов или у вас (Сработал инстинкт того, что цвет - это массив)     
_hndl_1 ppEffectCommit 0;  

PS И у всех был одинаковый результат (Смотрел записи от нескольких людей (Это были #ВИ))


Сообщение отредактировал vlad333000: 27 June 2015 - 21:21

  • 0

#105 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 27 June 2015 - 21:26

PS Вот что произошло, когда я сделал ваш ППЭ (Пост-процесс эффект) как у меня: 

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


ppbw = ppEffectCreate ["ColorCorrections", 0];    
ppbw ppEffectAdjust [1, 1, 0, [1, 1, 1, -0.8], [0.7, 0, 0, 0], [0.7, 0.1, 2, 0]];   
ppbw ppEffectCommit 0;      
ppbw ppEffectEnable true;
Я думаю, что вы этого и хотели добиться, но с оттенком красного :)

Сообщение отредактировал vlad333000: 27 June 2015 - 21:46

  • 0

#106 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 28 June 2015 - 05:32

PS Вот что произошло, когда я сделал ваш ППЭ (Пост-процесс эффект) как у меня: 

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

ppbw = ppEffectCreate ["ColorCorrections", 0];    
ppbw ppEffectAdjust [1, 1, 0, [1, 1, 1, -0.8], [0.7, 0, 0, 0], [0.7, 0.1, 2, 0]];   
ppbw ppEffectCommit 0;      
ppbw ppEffectEnable true;
Я думаю, что вы этого и хотели добиться, но с оттенком красного :)

 

 

Этого и хотел)
Только такого как у Вас, у меня не получалось.

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

 

========

 

У меня всё отлично, у другого человечка опять мрак.

 

Я кстати распаковывал аддоны, пытался найти ПНВ и теплак, но так и не нашёл то, как они работают. 

 

==========

 

плюсом, постэффект сохраняется после смерти, если даже зашёл за др сторону.

 

т.е. onPlayerkilled и  onPlayerRespawn не работают.

 

Вот их внутренности.

if (side player == west) then {

call {[] execvm "sposobnost\allspos.sqf"};
setPlayerRespawnTime 15;
};


if (side player == civilian) then {
call {[] execvm "sposobnost\allspos.sqf"};
setPlayerRespawnTime 30;
};

Сообщение отредактировал TankiSD: 28 June 2015 - 17:48

  • 0

#107 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 28 June 2015 - 18:12

При наступлении события килед или респавн, удалить эффект, после, если понадобится, при ините перса создать снова, сам по себе эффект ни куда не денется.


  • 0

#108 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 28 June 2015 - 18:24

 я так и делаю, в скрипте, который активирует зрение, т.е. 

 

call {[] execvm "sposobnost\allspos.sqf"};

call {[] execvm "sposobnost\SPOSOBNOSTI.sqf"};
call {[] execvm "sposobnost\zaxvat.sqf"};
call {[] execvm "sposobnost\godmodeSTART.sqf"};
call {[] execvm "sposobnost\zrenie.sqf"};
call {[] execvm "sposobnost\Conc.sqf"};
call {[] execvm "sposobnost\netoryzieTMSQ.sqf";};
call {[] execvm "sposobnost\netformaTMSQ.sqf";};
call {[] execvm "sposobnost\formaCAR.sqf";};

call {[] execvm "sposobnost\zrenie.sqf"};

ppbw = ppEffectCreate ["colorCorrections", 1500];   
ppbw  ppEffectEnable true; ppbw ppEffectAdjust [1,1.5,0.05,[0.3,0.3,1,-1],[1,0.1,0.1,0],[0.5,0.2,0.25,1]]; 
ppbw  ppEffectCommit 0;  


if !(side player == civilian) exitwith {ppbw  ppEffectEnable false;};
if (side player == west) exitwith {ppbw  ppEffectEnable false;};

if (side player == civilian) exitwith {
setDate [2035, 7, 6, 11, 0];
Player enableFatigue false;
ppbw  ppEffectEnable true;
};


Сообщение отредактировал TankiSD: 28 June 2015 - 18:26

  • 0

#109 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 28 June 2015 - 18:41

TankiSD, 1. Call в файле allSpos.sqf бесполезен: вам так необходимо, что бы какой-то скрипт ждал пока не закончился предыдущий?
2. Предпоследний if (playerSide == WEST) бесполезен -> предыдущий if сделает все правильно
3. Бред, что дата устанавливается только у игроков-гражданских -> в МП сервер тут же все обратно откатит
4. А вы не думали, что это у вас, что-то с ПП-эффектом? Более чем у одного (я + кто-то у вас там) эффект дает одинаковый результат: мрак
5. Что-за не понятные названия файлов? Язык сломаешь

Сообщение отредактировал vlad333000: 28 June 2015 - 18:45

  • 0

#110 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 28 June 2015 - 19:04

1. Вот почему я использовал

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

Там в конце описано.

 

call {execVM "script.sqf"}; - в этом случае мы не предопределяем лишнюю глобальную переменную и все довольны clear.png

 

*т.е. можно просто запускать вот так ?

[] execvm "sposobnost\SPOSOBNOSTI.sqf"

2. я на перестраховку его добавил. Сейчас удалю.

 

3. так ведь дата локальна. хммм.

Использовать [date, true] call BIS_fnc_setDate;

?

 

4. Так вот я и говорю, у меня всё нормально, у остальных мрак. 

Быть может из-за setdate?

Ну и кстати, если я запускаю в МП миссию, то также всё отлично работает.  

Хоть я и вроде как сервер.

 

5. А как надо называть? 


Сообщение отредактировал TankiSD: 28 June 2015 - 19:10

  • 0

#111 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 28 June 2015 - 19:20

*т.е. можно просто запускать вот так ?

Да

так ведь дата локальна. хммм.

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

Ну и кстати, если я запускаю в МП миссию, то также всё отлично работает.

Потому что вы = игрок = сервер, для боле-менее нормального теста запускаете арму 3, после идете в папку армы и запускаете arma3server.exe, после запуска идете в список серверов-локально, заходите, заходите за админа (в чат #vote admin свой_ник), запускаете свою миссию и вот вам пожалуйся: вы увидите, что у вас сначало поменяется время, а потом спустя N-е время вернется к тому, что на сервере

А как надо называть?

Что бы читающем было понятно, что от этого файла ждать: formaCAR.sqf - я ни ка не ожидал увидеть запрет на посадку в технику, т к само название говорит "форма техники" - что за *****?
  • 0

#112 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 28 June 2015 - 19:22

т.е. дату разную вообще никак не поставить?

а если через skiptime?

 

И почему не отключается пост эффект после смерти\респавна\смены стороны? 


  • 0

#113 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 28 June 2015 - 20:58

Вот из-за всяких заморочек, в АрмА со времён ОФП не было и нет нормальных режимов игры. 

 

Прикрепленный файл  arma3 2015-06-28 22-56-14.jpg   79.45К   0 Количество загрузок:

 

 

p.s. ахахах мразь. половина скриптов не работает. 

 

В частности всё, что связано с create из этого кода

и пост эффект как был черножопым, так и остался. 

 

Скрытый текст

Сообщение отредактировал TankiSD: 28 June 2015 - 21:05

  • 0

#114 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 29 June 2015 - 12:45

я тут подумал, почему create не создаётся и возможно понял почему, выдерну кусок для ясности.

	/// спавн клонов (R)
if (time - lasttime < 30) exitWith {}; /// задержка на нажатие
		lasttime = time;
                                      I=time;

crPlow attachto [player,[0,15,0]];
detach crPlow;
if (isServer) then {
_ManThingSpawn = {
	if (isServer) then {

		_side = createCenter civilian;
		_groupThing = createGroup civilian;
		_manThings = [];
		_dirs = [0, 45, 90, 130, 180, 225, 270, 325];
		_mol="ModuleLightning_F" createUnit [getpos crPlow, group igcam];
                                          sleep 1;
		for "_i" from 0 to 7 do {
			_manThing = _groupThing createUnit ["C_scientist_F", [0, 0, 0], [], 0, "NONE"];
			_manThing setpos getPos crPlow;
			_manThing setdir (_dirs select _i);
			_manThing setunitpos "up";
			_manThing disableAI "anim";
			_manThing switchmove "AmovPercMrunSnonWnonDf";
			
			_manThings pushBack _manThing;
		};	
		
		
		
	
		sleep 8;
		_dirs = [0, 225, 270, 325, 0, 45, 90, 135];
		{
			if !(isNull _x) then {
				_x setdir (_dirs select _forEachIndex);
			};
		} foreach _manThings;
		
		
		sleep 10;
		_mol1="ModuleLightning_F" createUnit [getpos crPlow, group igcam];
		{
			if !(isNull _x) then {
				deletevehicle _x;
			};
		} foreach _manThings;
	};
}; 
[] spawn _ManThingSpawn;

};
};

Наверное всё из-за того, что скрипт срабатывает через [] spawn _ManThingSpawn;

вернее объекты через spawn создаются.

 

А т.к. в spawn это отдельный скрипт в скрипте, а в основном скрипте всё зависит от player, то сервер и не может определить, от какого player должен срабатывать скрипт. 

Поэтому ничего и не создаётся *или создаётся, но где-нибудь в углу*. 

 

и поэтому, мне в коде, который в spawn, надо определить игрока.

Думаю раздать его через publicvariable и if (side==civilian).

 

я правильно думаю?

 

==============

 

ни через паблвариабле, не через 

TheThing=Player; и последующие манипуляции через TheThing, результата не приносят. 

Сдаётся мне, всё из-за if (isServer) then {}

Тогда как обойтись без него?


Сообщение отредактировал TankiSD: 30 June 2015 - 09:00

  • 0

#115 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 02 July 2015 - 21:09

if (side player == west) exitwith {};

if (side player == civilian) then {

Player enableFatigue false;

_markRadio = createMarkerLocal ["markerRadio", position radio];
"markerRadio" setMarkerShapeLocal "ICON";
"markerRadio" setMarkerTypeLocal "mil_destroy";
"markerRadio" setMarkerColorLocal "ColorRED"
и т.д.
};

иииии.... ничего не создаётся через скрипт. 


  • 0

#116 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 03 July 2015 - 00:04

TankiSD, ищите проблему либо в radio, либо в чем-то другом. Сам зашел в редактор и запустил ваш скрипт (Играя за гражданского и radio заменил на player) итог - на моем месте красный крестик :D

Сообщение отредактировал vlad333000: 03 July 2015 - 00:04

  • 0

#117 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 03 July 2015 - 15:52

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


Сообщение отредактировал TankiSD: 03 July 2015 - 15:58

  • 0

#118 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 03 July 2015 - 18:00

if (side player == west) exitwith {};

if (side player == civilian) then {

Player enableFatigue false;

_markRadio = createMarkerLocal ["markerRadio", position radio];
_markRadio  setMarkerShapeLocal "ICON";
_markRadio  setMarkerTypeLocal "mil_destroy";
_markRadio  setMarkerColorLocal "ColorRED"
и т.д.
};

  • 1

#119 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 06 July 2015 - 20:00

 

EH_keyDown = (findDisplay 46) displayAddEventHandler ["keyDown", "_this call keyspressed"];

 

Играю за одну сторону, там есть евентхэндлер на нажатие клавиши. 

Перехожу за другую сторону, действия по нажатию остаются.

 

Вопрос, если я удалю евент хендлер таким способом

(findDisplay 46) displayRemoveEventHandler ["MouseButtonDown", EH_keyDown];

то удалится он у всех, или только у меня?
Всё же надо, чтобы он оставался у одной стороны всегда. 


  • 0

#120 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 06 July 2015 - 20:09

TankiSD, изучите программирование, совместно читая описание команд на вики БИС'ов и тогда вы сами найдете ответ на этот вопрос
  • 1




Яндекс.Метрика