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


Фотография

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


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

#81 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 26 June 2015 - 13:10

вообще нихера не работает


  • 0

#82 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 26 June 2015 - 20:38

 

TankiSD, на стороне клиента в любом месте:

"myVar" addPublicVariableEventHandler {_var = _this select 0; _value = _this select 1; ...Ваш код... };

На стороне сервера, когда вам нужно отправить переменную:

myVar = value;
publicVariable "myVar";

 

на этом куске ошибку выдаёт. 

myVar = value;

или value - Это число?

 

И я немного не понял.

 

Вот скрипт, активация через addaction

 

if (isserver) then {
"myVar" addPublicVariableEventHandler {_var = _this select 0; _value = _this select 1;
 pobeda=pobeda+1;
 publicVariable "pobeda";
deletevehicle trigYST2; 
Ystroistvo2 removeaction YST2ACT; 
 
 hint "The device is destroyed";
if (Pobeda==1) then {titleText ["Human WIN. Thing  LOSE.", "PLAIN"];
 
if (side player == west) then
{
    ["end1", true, true] call BIS_fnc_endMission;
};
if (side player == civilian) then
{
    ["LOSER", false, true] call BIS_fnc_endMission;
};
};
};
};
 
И ничего не срабатывает. 

Я и запутался вообще, что куда и как.

  • 0

#83 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 26 June 2015 - 20:50


на этом куске ошибку выдаёт.  myVar = value; или value - Это число?   И я немного не понял.

value - необязательно число, как сейчас бы написали тру-скриптеры: anything - что-либо, то есть хоть объект, хоть текст, хоть число, хоть код


  • 0

#84 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 26 June 2015 - 20:57

зачем он вообще нужен?


  • 0

#85 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 26 June 2015 - 20:59

TankiSD, а ты, что собираешь передавать пустое место?

myVar = value; // Задаем значение нашей переменной
publicVariable "myVar"; //Отправляем это значение в сеть

  • 0

#86 OFFLINE   TankiSD

TankiSD

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

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

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

так вместо value, можно целый код написать?

myVar = (код);

publicVariable "myVar";


  • 0

#87 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

TankiSD, да, и этот код будет "засирать" трафик, если вы ее в сеть пойдете отправлять


The following Types of data are supported:
Number
Since OFP version 1.34:
Boolean
Object
Group
Since ArmA version 1.00:
String
Text
Since ArmA version 1.09:
Array
Code
Since Arma 3 version 1.26:
Nothing (nil)


  • 0

#88 OFFLINE   TankiSD

TankiSD

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

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

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

ну и поставлю я туда единичку и что толку?

 

или там можно прописать pobeda=pobeda+1?

 

тогда не проще сделать так?

 

if (isserver) then {

kodPobeda={

Pobeda=Pobeda+1;

publicVariable "Pobeda";

};

[] spawn kodPobeda;

};


  • 0

#89 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

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

#90 OFFLINE   TankiSD

TankiSD

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

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

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

А в чём тогда преимущества и недостатки моего варианта и вашего варианта? 


  • 0

#91 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 26 June 2015 - 23:17

TankiSD, начнем по порядку: какой вариант вы имеете ввиду?


  • 0

#92 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 26 June 2015 - 23:30

Ваш. 


  • 0

#93 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 26 June 2015 - 23:47

TankiSD, то есть вы предлагаете мне рассказать плюсы и минусы самого общения сервера и клиентов при помощи публичных переменных? Потому что тут нет "моего" способа - это лишь копи-паст с википедии бисовской адаптированный для большей понятности


Сообщение отредактировал vlad333000: 26 June 2015 - 23:49

  • 0

#94 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 26 June 2015 - 23:53

TankiSD, начнем по порядку: какой вариант вы имеете ввиду?

 

TankiSD, то есть вы предлагаете мне рассказать плюсы и минусы самого общения сервера и клиентов при помощи публичных переменных? Потому что тут нет "моего" способа - это лишь копи-паст с википедии бисовской адаптированный для большей понятности

 

  • 0

#95 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 June 2015 - 00:09

TankiSD, ИМХО:

+ простота

+ эффективность

+ JIP

 

- загрузит сервера и клиента, если слишком много publicVariableEventHandler

- забьет трафик, если крайне часто использовать (Так же увеличит время загрузки в игру)

- нет эффекта, если забыл добавить publicVariableEventHandler

- ручной запус скрипта на машине, где была вызвана publicVariable


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

  • 0

#96 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 27 June 2015 - 00:23

Но я ведь все равно конечный код передам в итоге всем. 

 

Спасибо за ответ! 


  • 0

#97 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 June 2015 - 00:55


Но я ведь все равно конечный код передам в итоге всем. 

Зачем передавать код, если его можно заранее определить на стороне клиента, а активировать по значению true публичной переменной! Тем самым будет меньше трафик (Все же передать булевое значение, куда быстрее и менее затратно, чем целый код из различных команд (Тем более нужно будет еще с переменными мучатся, если они есть в коде)


  • 0

#98 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 27 June 2015 - 01:09

я просто не могу понять, как использовать myvar. 

myvar вроде как переменная. 

и плюсом есть Pobeda переменная.

 

И какой-то бардак получается в итоге. 


  • 0

#99 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 June 2015 - 01:13

TankiSD, до тебя еще не дошло, что myVar ты заменяешь на то, которое тебе нужно? myVar - это лишь для примера, показать как правильно строить саму схему этой публичной переменной!


  • 1

#100 OFFLINE   TankiSD

TankiSD

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

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

Отправлено 27 June 2015 - 01:14

твою дивизию!!! 

 

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

 

все равно не прокает.

не работает и всё.

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

 

Все равно в итоге только в конце надо код всем передать.

 

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

Музыка.

 

Как музыку в МП передать всем?

Да ещё зацикленную. 

Также через spawn?

 

МП

 

Есть такой скрипт

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

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;
setDate [2035, 7, 6, 11, 0];
Player enableFatigue false;

Захожу за гражданского, пост эфеект работает.

Выхожу, перезахожу за синиге, эффект продолжает работать.

 

Почему? 

 

Отключать в onPlayerRespawn.sqf?

 

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

 

Сделал скрипт  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: 27 June 2015 - 19:29

  • 0




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