Jump to content


Photo

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Please log in to reply
1486 replies to this topic

#1221 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 31 May 2018 - 23:05

 

 

Что написано насчёт попытки вызова в отчёте?

А что там будет написано? Да ни чего).

Вызывающий вызвал функцию у себя, а клиенту отправил результат. Всё норм, как написано, то и исполнено).

 

не ну так то да в принципе это логично =))но есть идеии  у когонить как это дело обыграть? там тупо одна строка в функции которую нужно исполнить именно клиенту  просто если вот например результатом окажется  еще раз вызов функции?

getinvite = call{
h = call fn_getinvite;
h
};

Edited by lopster102, 31 May 2018 - 23:10.

  • 0

#1222 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1831 posts

Posted 31 May 2018 - 23:21

но есть идеии  у когонить как это дело обыграть? там тупо одна строка в функции которую нужно исполнить именно клиенту

Ну так передавать нужно код. Но это тупой вариант. Более правильно определить функцию у клиента и запускать её с помощью

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

.


  • 0

#1223 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 31 May 2018 - 23:46

вообщем ток такой вариант в голвоу лезет!

зацените как вам

----------client------
fn_getinvite = {code};
------server------
getinvite = {call fn_getinvite};
getinvite  remoteExec["bis_fnc_call",owner client];

Edited by lopster102, 01 June 2018 - 05:28.

  • 0

#1224 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1831 posts

Posted 01 June 2018 - 00:11

вообщем ток такой вариант в голвоу лезет!
зацените как вам

----------client------
_fn_getinvite = {code};
fn_getinvite = call compileFinal "_fn_getinvite";
------server------
getinvite = []spawn fn_getinvite;
owner client publicvariableclient "getinvite";

Полный отстой. Вижу непонимание того, что происходит и как используется, так что изучаем матчасть.

 

Тупой вариант:

if (isServer) then {
	_fn_getinvite = {...};

	_fn_getinvite remoteExec ["call", _player];
};

Предпочтительный вариант:

if (hasInterface) then {
	fn_getinvite = {...};
};
if (isServer) then {
	[] remoteExecCall ["fn_getinvite", _player];
};

Edited by Schatten, 02 June 2018 - 00:20.

  • 0

#1225 OFFLINE   J7EXA7733

J7EXA7733

    Рядовой

  • Пользователи
  • 2 posts
  • Откуда:Не отвечать

Posted 09 June 2018 - 00:04

Всем доброго времени суток, товарищи. Прошу помощи, по редактору, как всегда. :acute:  Новый комп, аккаунт и всё как с чистого листа.

 

Сам вопросы:

-Как сделать переход между юнитами в стиле Call of Duty или Battlefield 3(4)? Мол те же события но только от другого персонажа. Сама команда выглядит, что-то вроде "P1 play in P2". Где Р1(2) - это играбельные персонажи.

-Как сделать нормальный(не кривой) спуск по тросу вертолета? Моды AGM и RHS

 

Ранее этот вопрос мною задавался, но опять же новая система и всё с нуля.

 

 

Заранее спасибо!


Edited by J7EXA7733, 09 June 2018 - 00:06.

  • 0

#1226 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 09 June 2018 - 08:58

Всем доброго времени суток, товарищи. Прошу помощи, по редактору, как всегда. :acute:  Новый комп, аккаунт и всё как с чистого листа.

 

Сам вопросы:

-Как сделать переход между юнитами в стиле Call of Duty или Battlefield 3(4)? Мол те же события но только от другого персонажа. Сама команда выглядит, что-то вроде "P1 play in P2". Где Р1(2) - это играбельные персонажи.

-Как сделать нормальный(не кривой) спуск по тросу вертолета? Моды AGM и RHS

 

Ранее этот вопрос мною задавался, но опять же новая система и всё с нуля.

 

 

Заранее спасибо!

привет можно попробовать через вот эти штуки сделать переходы если я правильно понял вопрос но не уверен что правильно понял слово переходы т.к не помню переходов в батле и колде=(.....

///но тут точно не помню последовательность аргументов так что проверьте! смысл в том что от одного юнита камера перелетит к другому и будет вам счастье.

selectPlayer  _newunit;
[player,_oldunit] spawn BIS_fnc_respawnGroup;

Edited by lopster102, 09 June 2018 - 09:03.

  • 0

#1227 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 09 June 2018 - 21:27

 

т.к не помню переходов в батле и колде=(.....

что то около спектатор.


  • 0

#1228 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

  • Пользователи
  • 189 posts
  • Откуда:SPB

Posted 09 June 2018 - 21:45

ага спс!эт самое смотрите прикол  не получается вызвать функцию у клиента чето сегодня

getinvite = call fn_getinvite;
_UID  publicVariableClient "getinvite";

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

xxx = compileFinal preprocessFileLineNumbers "xxx.sqf";

_UID  publicVariableClient "xxx";


  • 0

#1229 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 10 June 2018 - 00:09

 

 

т.к не помню переходов в батле и колде=(.....

что то около спектатор.

 

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


  • 1

#1230 OFFLINE   J7EXA7733

J7EXA7733

    Рядовой

  • Пользователи
  • 2 posts
  • Откуда:Не отвечать

Posted 10 June 2018 - 21:48

 

Всем доброго времени суток, товарищи. Прошу помощи, по редактору, как всегда. :acute:  Новый комп, аккаунт и всё как с чистого листа.

 

Сам вопросы:

-Как сделать переход между юнитами в стиле Call of Duty или Battlefield 3(4)? Мол те же события но только от другого персонажа. Сама команда выглядит, что-то вроде "P1 play in P2". Где Р1(2) - это играбельные персонажи.

-Как сделать нормальный(не кривой) спуск по тросу вертолета? Моды AGM и RHS

 

Ранее этот вопрос мною задавался, но опять же новая система и всё с нуля.

 

 

Заранее спасибо!

привет можно попробовать через вот эти штуки сделать переходы если я правильно понял вопрос но не уверен что правильно понял слово переходы т.к не помню переходов в батле и колде=(.....

///но тут точно не помню последовательность аргументов так что проверьте! смысл в том что от одного юнита камера перелетит к другому и будет вам счастье.

selectPlayer  _newunit;
[player,_oldunit] spawn BIS_fnc_respawnGroup;

Слушай, ты Бог, это то что мне нужно было!  Спасибо большое :acute:  :)


  • 0

#1231 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 14 June 2018 - 23:34

Всем привет!  есть ли смысл удалять хендлер с дписплея если он вызывается через cutRsc как дополнительный интрефейс на экране?

вот пример как задумывал но так не будет работать -

Fn_ChekcStateCandler  = {
  _display = uiNamespace getVariable ["GUI_display",nil];
 if(!isnil "_display")exitWith{_display displayRemoveAllEventHandlers "Load"};
 uiNamespace setVariable ['GUI_display', _this select 0];
 nil;
};

class GUI
{
        idd = -1;
        duration = 10e10;////в качестве примера так есть дисплеи которые я вызываю на некоорое время и тут стоит вопрос о оптимизаци чтобы хендлер сработал один раз после вызова cutRsc 
        onLoad = "call Fn_ChekcStateCandler";
        fadein = 0;
        fadeout = 0;
        movingEnable = 0;
        objects[] = {}
        class controls{};
        };

         0 cutRsc ["GUI","PLAIN",1,false];                                                               

Edited by lopster102, 14 June 2018 - 23:42.

  • 0

#1232 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 15 June 2018 - 03:40

lopster102, какой? Load? А нахрена? Он один раз вызвался и все, игра про него забыла...
Использование альтернативного синтаксиса getVariable очень странно, он был придуман для того, что бы nil не получать, а вы говорите ему вернуть nil, если переменныя nil...
Данный код вообще странный, при исчезновении дисплея он не станет nil, а станет displayNull, следовательно следующий вызов данного дисплея пойдет по ветке exitWith, а значит GUI_display будет хранить ссылку на старый дисплей, который эквивалентен NULL

Edited by vlad333000, 15 June 2018 - 03:41.

  • 0

#1233 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 15 June 2018 - 04:18

lopster102, какой? Load? А нахрена? Он один раз вызвался и все, игра про него забыла...
Использование альтернативного синтаксиса getVariable очень странно, он был придуман для того, что бы nil не получать, а вы говорите ему вернуть nil, если переменныя nil...
Данный код вообще странный, при исчезновении дисплея он не станет nil, а станет displayNull, следовательно следующий вызов данного дисплея пойдет по ветке exitWith, а значит GUI_display будет хранить ссылку на старый дисплей, который эквивалентен NULL

спс!


Edited by lopster102, 15 June 2018 - 04:19.

  • 0

#1234 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 posts
  • Откуда:Холмск

Posted 15 June 2018 - 13:20

Здравствуйте.

Подскажите как задать маркеру форму (или нужно использовать drawicon) техники?

Нужно нарисовать на карте маркер спомощью скрипта, такой же какие выводятся на сложности солдат (маркер юнита из конфига этого юнита).

Подскажите пожалуйста.


  • 0

#1235 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 15 June 2018 - 14:05

Здравствуйте.
Подскажите как задать маркеру форму (или нужно использовать drawicon) техники?
Нужно нарисовать на карте маркер спомощью скрипта, такой же какие выводятся на сложности солдат (маркер юнита из конфига этого юнита).
Подскажите пожалуйста.

Тот что вы сказали в 99% случаев делается через drawIcon, т. к. маркера могут быть только заранее определенных текстур, и если делать через маркера, то придётся неслабо пописать кода
  • 0

#1236 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 posts
  • Откуда:Холмск

Posted 15 June 2018 - 14:34

Друг, подскажи пожалуйста как реализовать с помощью обоих вариантов? Но вообще мне наверное желательно через маркеры, так как логика отрисовки марекров уже написана, но сделать только значок соответствующий!

Есть возможность вызывать drawIcon без привязки к обработчику события? Мне было бы так удобно. Пытаюсь но возникает ошибка, пропущены ;

 

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

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

, 24, 24,

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

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

, 'Player Vehicle', 1, 0.03, 'TahomaB', 'right' ];


  • 0

#1237 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 posts
  • Откуда:mscw

Posted 15 June 2018 - 21:18

 

Друг, подскажи пожалуйста как реализовать с помощью обоих вариантов? Но вообще мне наверное желательно через маркеры, так как логика отрисовки марекров уже написана, но сделать только значок соответствующий!

Есть возможность вызывать drawIcon без привязки к обработчику события? Мне было бы так удобно. Пытаюсь но возникает ошибка, пропущены ;

 

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

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

, 24, 24,

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

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

, 'Player Vehicle', 1, 0.03, 'TahomaB', 'right' ];

 

Привет!вы название маркера не правильно указали поэтому наверное ошибка.вместо 'iconStaticMG' нужно указать путь к этой картинке.а через маркера как сказал уже Влад вам придется  только модом свои картинки вставлять в конфиг чтобы уже их отрисовывать через createmarker  и этот код  будет очень не производительный и довльно большой!в принципе на FT-2 так и поступили взяв с армаголика скрипт маркеров поэтому там и фпс садится    прилично так что лучше вариант через drawIcon только   единственное нужно лишние знаки удалят из пути от сценария но опять же можно модом все картинки подготовить   тогда через префикс мода все вставится

 

 

  к примеру можно вот так делать

_icon = switch true do {
              case ((vehicle player) isKindOf "Car") : {"\A3\ui_f\data\map\markers\nato\n_motor_inf.paa"};
              case ((vehicle player) isKindOf "Man") : {"\A3\ui_f\data\map\markers\nato\n_inf.paa"};
              default {"\A3\ui_f\data\map\markers\nato\n_inf.paa"};
            };
 drawIcon [ _icon, [1,0,0,1], getPos player, 24, 24, getDir player, 'Player Vehicle', 1, 0.03, 'TahomaB','right' ];

или так можно еще

_Image = getText(configFile >>  "CfgVehicles" >> (typeOf (vehicle player)) >> "icon");
_Image = getText(configFile >>  "CfgVehicleIcons" >> _Image );
  drawIcon [ _Image, [1,0,0,1], getPos player, 24, 24, getDir player, 'Player Vehicle', 1, 0.03,'TahomaB','right'];

Edited by lopster102, 16 June 2018 - 17:44.

  • 1

#1238 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 posts
  • Откуда:Холмск

Posted 16 June 2018 - 10:16

 

drawIcon ["\A3\ui_f\data\map\markers\nato\n_inf.paa", [1,0,0,1], getPos player, 24, 24, getDir player, 'Player Vehicle', 1, 0.03, 'TahomaB','right'];

 

drawIcon ["\A3\ui_f\data\map\markers\nato\n_inf.p>
17:12:43   Error position: <["\A3\ui_f\data\map\markers\nato\n_inf.p>
17:12:43   Error Потеряны ;

Не получилось :sad:


  • 0

#1239 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 posts
  • Откуда:Холмск

Posted 16 June 2018 - 10:26

Нужно передать еще контрол, из примера на их Вики я указал

findDisplay 12 displayCtrl 51 drawIcon

 

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


  • 0

#1240 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 16 June 2018 - 10:29

Ego_Brain, ну так на вики есть копипастовый пример.
  • 0




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