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


Фотография

Проблема с наполнением квадроцикла


Лучший Ответ SteelRat , 19 May 2015 - 18:26

Мультиплеер?


В init.sqf

if (isServer) then {
    [q1] execVM "cargo_quad.sqf";
    [q2] execVM "cargo_quad.sqf";
};
Перейти к сообщению


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

#1 OFFLINE   SomeOneAndrey

SomeOneAndrey

    Ефрейтор

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

Отправлено 19 May 2015 - 17:20

На карте стоит два квадроцикла, q1 и q2

В init.sqf

[q1] execVM "cargo_quad.sqf";
[q2] execVM "cargo_quad.sqf";

В cargo_quad.sqf

_veh = _this select 0;
{deleteVehicle _x;} forEach crew _veh;
clearItemCargoGlobal _veh;
_veh addItemCargoGlobal ["cse_bandage_basic", 20];
_veh addItemCargoGlobal ["cse_bandageElastic", 20];
_veh addItemCargoGlobal ["cse_packing_bandage", 20];
_veh addItemCargoGlobal ["cse_tourniquet", 5];
_veh addItemCargoGlobal ["cse_blood_iv", 5];
_veh addItemCargoGlobal ["cse_morphine", 20];
_veh addItemCargoGlobal ["cse_epinephrine", 20];
_veh addWeaponCargoGlobal ["launch_NLAW_F", 2];
_veh addMagazineCargoGlobal ["NLAW_F", 2];
_veh addMagazineCargoGlobal ["7Rnd_408_Mag", 14];

Но вместо двух гранатометов, двух ракет и 14 обойм, спавнится всего в 3 раза - 6 гранатометов, 6 ракет и 42 обоймы

В чем дело? Причем медикаментов спавнится как положено

 

Если в init.sqf написать

_cargo_quad = compile preprocessFile "cargo_quad.sqf";
[q1] call _cargo_quad;
[q2] call _cargo_quad;

То патронов будет в два раза больше, а не три


Сообщение отредактировал SomeOneAndrey: 19 May 2015 - 17:34

  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 19 May 2015 - 18:22

SomeOneAndrey, в МП запускаете вместе с еще 2 игроками?

Сообщение отредактировал vlad333000: 19 May 2015 - 18:23

  • 0

#3 OFFLINE   SomeOneAndrey

SomeOneAndrey

    Ефрейтор

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

Отправлено 19 May 2015 - 18:24

SomeOneAndrey, в МП запускаете вместе с еще 2 игроками?

 

Да, МП был с двумя игроками, init.sqf для каждого игрока вызывается?


Сообщение отредактировал SomeOneAndrey: 19 May 2015 - 18:24

  • 0

#4 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 19 May 2015 - 18:26   Лучший Ответ

Мультиплеер?


В init.sqf

if (isServer) then {
    [q1] execVM "cargo_quad.sqf";
    [q2] execVM "cargo_quad.sqf";
};

  • 1

#5 OFFLINE   SomeOneAndrey

SomeOneAndrey

    Ефрейтор

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

Отправлено 19 May 2015 - 18:29

 

Мультиплеер?


В init.sqf

if (isServer) then {
    [q1] execVM "cargo_quad.sqf";
    [q2] execVM "cargo_quad.sqf";
};

Думаю это то, что нужно, чуть позже проверю. Проверка, сервер ли это? Выходит, init.sqf вызывается не один раз?

 

Переименовал init.sqf в initServer.sqf, и все стало хорошо. Но вопрос остался, когда вызывается init.sqf? Для каждого игрока?


Сообщение отредактировал SomeOneAndrey: 19 May 2015 - 18:36

  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 19 May 2015 - 20:23

Но вопрос остался, когда вызывается init.sqf? Для каждого игрока?

Init - На каждом клиенте и сервере в момент старта миссии (Включая старт брифинга)
InitServer - На сервере в момент старта миссии (Включая старт брифинга)
InitPlayerLocal - Локально на каждом клиенте, который вошел в игру (Включая JIP (Join in Progres)
initPlayerServer - На сервере в момент присоединения игрока (Включая JIP)

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


Сообщение отредактировал vlad333000: 19 May 2015 - 20:29

  • 1




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