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


Фотография

Создание скриптом юнита с Нужным именем.


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

#1 OFFLINE   Gjes

Gjes

    Рядовой

  • Пользователи
  • 4 сообщений
  • Отряд:ARMATOP

Отправлено 07 February 2016 - 19:28

Добрый день, прошу сильно не пинать, так как в скриптах я пока не очень.

 

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

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

 

//создаю видимый маркер.

 

_markerstr = createMarker ["m1", [14388.1, 16209.9]];
_markerstr setMarkerShape "ELLIPSE";      
_markerstr setMarkerSize [2,2];     
_markerstr setMarkerColor "ColorRed";     
_markerstr setMarkerBrush "BORDER";

 

sleep 5; //ожидание пока прогрузится клиент.

 

//создаю задание.

 

Task1 = player createSimpleTask ["Kill Charly"];   
Task1 setSimpleTaskDescription ["Today we kill Charly!", "Kill All Human", "All people are here"];  
Task1 setSimpleTaskDestination (getMarkerPos "m1");  
Task1 setTaskState "Assigned";  
["TaskAssigned",["", "Kill All Human"]] call bis_fnc_showNotification;  
player setCurrentTask Task1;

 

//Создаю юнита.

 

_Alpha = createGroup west;
_veh = "rhsusf_army_ucp_rifleman_m4" createUnit [ getMarkerPos "m1", _Alpha];
_veh setIdentity "MyLittleSoldier";

 

// в дескрипшн пишу.

 

class CfgIdentities
{
    class MyLittleSoldier
    {
        name = "Givens";
        nameSound = "Givens";
        face="WhiteHead_06";
        glasses="None";
        speaker="Male05ENG";
        pitch=1.1;
    };
};

 

// вот тут и не работает, то есть скрипт не видит что данный юнит имеет имя Givens.

 

waitUntil {!alive Givens };
    Task1 setTaskState "Succeeded";
    ["TaskSucceeded",["", "Kill All Human"]] call bis_fnc_showNotification;

 

 

Если я вручную на карте ставлю противника с именем Givens, то всё прекрасно работает.

 

 

 

 

 


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 07 February 2016 - 20:38

name = "Givens";

Это не ссылка на объект, а его имя отображаемое, например, когда в него прицелился


  • 0

#3 OFFLINE   Gjes

Gjes

    Рядовой

  • Пользователи
  • 4 сообщений
  • Отряд:ARMATOP

Отправлено 08 February 2016 - 15:18

А как ссылку то прописать?
  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 08 February 2016 - 16:02

_veh - вы же сами её и получаете из createUnit
Что бы сделать её глобальной то просто уберите нижнее подчеркивание в начале

Сообщение отредактировал vlad333000: 08 February 2016 - 16:02

  • 0

#5 OFFLINE   ruPal

ruPal

    Мл. лейтенант

  • HMG-RO
  • 914 сообщений

Отправлено 08 February 2016 - 16:18

Может EventHandler на него повесить?

_veh addEventHandler ["killed", {Task1 setTaskState "Succeeded"; ["TaskSucceeded",["", "Kill All Human"]] call bis_fnc_showNotification;}];


  • 0

#6 OFFLINE   Gjes

Gjes

    Рядовой

  • Пользователи
  • 4 сообщений
  • Отряд:ARMATOP

Отправлено 08 February 2016 - 22:03

попробовал,так не работает.

 

Alpha = createGroup west;
veh = "rhsusf_army_ucp_rifleman_m4" createUnit [ getMarkerPos "m1", Alpha];
veh setIdentity "MyLittleSoldier";

waitUntil {!alive veh};
    Task1 setTaskState "Succeeded";
    ["TaskSucceeded",["", "Kill All Human"]] call bis_fnc_showNotification;

 

 

и так не работает.

 

_Alpha = createGroup west;
_veh = "rhsusf_army_ucp_rifleman_m4" createUnit [ getMarkerPos "m1", _Alpha];
_veh setIdentity "MyLittleSoldier";

waitUntil {!alive veh};
    Task1 setTaskState "Succeeded";
    ["TaskSucceeded",["", "Kill All Human"]] call bis_fnc_showNotification;

 

где косяк?


  • 0




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