ARMA 3 & OFP

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ARMA 3 & OFP » Картостроение » Активный текст


Активный текст

Сообщений 1 страница 20 из 34

1

Активный текст - с его помощью можно делать RPG миссии,систему торговли,диалоги,скилл,прокачку.В его нетрудно освоить,но труднее понять.Я более-менее разобрался с этим,но у меня есть вопрос,который давно бьёт меня об стенку головой.Можно ли как то,создав квадратное окно,округлить его?Вот пример,я хочу сделать что то вроди плеера,который можно вызывать по рации(доработаю до совершенства).Мне надо округить его,пока что на нём тока игровые трэки,ну вот вообщем:
    файл Description.ext

#define FontM "tahomaB36"
#define FontHTML "CourierNewB64"

#define ST_LEFT       0
#define ST_RIGHT      1
#define ST_CENTER     2
#define ST_FRAME      64

#define CT_STATIC     0
#define CT_BUTTON     1
#define CT_EDIT       2
#define CT_COMBO      4
#define CT_LISTBOX    5
#define CT_ACTIVETEXT 11

class RscText
{
    type = CT_STATIC;
    idc = -1;
    style = ST_LEFT;
    colorBackground[] = {0, 0, 0, 0};
    colorText[] = {1, 1, 1, 1};
    font = FontM;
    sizeEx = 0.04;
};

class RscActiveText
{
    type = CT_ACTIVETEXT;
    idc = -1;
    style = ST_LEFT;
    color[] = {1, 1, 1, 1};
    colorActive[] = {1, 0, 0, 1};
    font = FontM;
    sizeEx = 0.04;
    soundEnter[] = {"ui\ui_over", 0.2, 1};
    soundPush[] = {, 0.2, 1};
    soundClick[] = {"ui\ui_ok", 0.2, 1};
    soundEscape[] = {"ui\ui_cc", 0.2, 1};
    default = false;
};

class RscButton
{
    type = CT_BUTTON;
    idc = -1;
    style = ST_CENTER;
    colorText[] = {0, 0, 0, 1};
    font = FontHTML;
    sizeEx = 0.025;
    soundPush[] = {, 0.2, 1};
    soundClick[] = {"ui\ui_ok", 0.2, 1};
    soundEscape[] = {"ui\ui_cc", 0.2, 1};
    default = false;
};

class RscEdit
{
    type = CT_EDIT;
    idc = -1;
    style = ST_LEFT;
    font = FontHTML;
    sizeEx = 0.02;
    colorText[] = {0, 0, 0, 1};
    colorSelection[] = {0.5, 0.5, 0.5, 1};
    autocomplete = false;
    text = ;
};

class RscLB_C
{
    style = ST_LEFT;
    idc = -1;
    colorSelect[] = {0.4, 0.4, 0.4, 1};
    colorSelectBackground[] = {0.2, 0.2, 0.2, 1};
    colorText[] = {0.2, 0.2, 0.2, 1};
    colorBackground[] = {0.4, 0.4, 0.4, 1};
    font = FontHTML;
    sizeEx = 0.025;
    rowHeight = 0.04;
};

class RscListBox : RscLB_C
{
    type = CT_LISTBOX;
};

class RscCombo : RscLB_C
{
    type = CT_COMBO;
    wholeHeight = 0.3;
};

class DlgTutorial
{
    idd = -1;
    movingEnable = true;
    controlsBackground[] = { MY_BACKGROUND, MY_FRAME };

    class MY_BACKGROUND : RscText
    {
        colorBackground[] = {0.4, 0.4, 0.4, 0.75};
        text = ;
        x = 0.01;
        y = 0.63;
        w = 0.5;
        h = 0.35;
       
    };

    class MY_FRAME : RscText
    {
        idc = 103;
        style = ST_FRAME;
        colorText[] = {0, 0, 0, 1};
        text = "Музыка на плеере";
        font = FontHTML;
        sizeEx = 0.025;
        x = 0.01;
        y = 0.63;
        w = 0.5;
        h = 0.35;
    };

    objects[] = { };
    controls[] = { HELLO_WORLD,  MY_BUTTON, MY_LIST, MY_BUTTON2, MY_BUTTON3};

    class HELLO_WORLD : RscText
    {
        idc = 100;
        style = ST_CENTER;
        x = 0.06;
        y = 0.46;
        w = 0.5;
        h = 0.4;
        text = "аудиотрэк";
    };

     

    class MY_BUTTON : RscButton
    {
        idc = 102;
        x = 0.3;
        y = 0.7;
        w = 0.12;
        h = 0.04;
        text = "Включить";
        action = "[] exec ""play.sqs""";
    };

class MY_BUTTON2 : RscButton
    {
        idc = 101;
        x = 0.3;
        y = 0.75;
        w = 0.1;
        h = 0.04;
        text = "Стоп";
        action = "[] exec ""stop.sqs""";
    };

class MY_BUTTON3 : RscButton
    {
   idc = 103;
   x = 0.2;
   y = 0.9;
   w = 0.1;
   h = 0.04;
   text = "Выход";
   action ="closeDialog 0";
    };

    class MY_LIST : RscCombo
    {
        idc = 104;
        x = 0.03;
        y = 0.7;
        w = 0.15;
        h = 0.04;
    };
};

class CfgMusic
{
   
  tracks[]=
  {
     
  };

   
  class stop
  {
     
    name = "stop";

     
    sound[] = {stop.ogg, db+0, 1.0};
  };
};

        скрипт play.sqs

ctrlSetText [100, lbData[104, lbCurSel 104]]
_music=LbValue[104, (lbcursel 104)]
?(_music==1):playmusic "Track1"
?(_music==2):playmusic "Track2"
?(_music==3):playmusic "Track3"
?(_music==4):playmusic "Track4"
?(_music==5):playmusic "Track5"
?(_music==6):playmusic "Track6"
?(_music==7):playmusic "Track7"
?(_music==8):playmusic "Track8"
?(_music==9):playmusic "Track9"
?(_music==10):playmusic "Track10"
?(_music==11):playmusic "Track11"
?(_music==12):playmusic "Track12"
?(_music==13):playmusic "Track13"
?(_music==14):playmusic "Track14"
?(_music==15):playmusic "Track15"
?(_music==16):playmusic "Track16"
?(_music==17):playmusic "7thdecide"
?(_music==18):playmusic "7thiamgonafly"
?(_music==19):playmusic "7thlifeless"
?(_music==20):playmusic "7thoverdose"
?(_music==21):playmusic "Rtrack1a"
?(_music==22):playmusic "Rtrack1b"
?(_music==23):playmusic "Rtrack2"
?(_music==24):playmusic "Rtrack3"
?(_music==25):playmusic "Rtrack4"
?(_music==26):playmusic "Rtrack5"
?(_music==27):playmusic "Rtrack6"
?(_music==28):playmusic "Rtrack7"
?(_music==29):playmusic "Rtrack8"
?(_music==30):playmusic "Rtrack9"
?(_music==31):playmusic "Rtrack10"
?(_music==32):playmusic "7thmylife"
?(_music==33):playmusic "7thDarken"

     скрипт stop.sqs

playmusic "stop"

       скрипт createDialog.sqs

_ok = createDialog "DlgTutorial"
?(!_ok): hint "Error!"; exit

_index = lbAdd [104, "Track 1"]
lbSetData [104, _index, "Track1"]
lbSetValue [104, _index, 1]
_index = lbAdd [104, "Track 2"]
lbSetData [104, _index, "Track2"]
lbSetValue [104, _index, 2]
_index = lbAdd [104, "Track 3"]
lbSetData [104, _index, "Track3"]
lbSetValue [104, _index, 3]
_index = lbAdd [104, "Track 4"]
lbSetData [104, _index, "Track 4"]
lbSetValue [104, _index, 4]
_index = lbAdd [104, "Track 5"]
lbSetData [104, _index, "Track5"]
lbSetValue [104, _index, 5]
lbSetCurSel [104, 0]
_index = lbAdd [104, "Track 6"]
lbSetData [104, _index, "Track 6"]
lbSetValue [104, _index, 6]
_index = lbAdd [104, "Track 7"]
lbSetData [104, _index, "Track7"]
lbSetValue [104, _index, 7]
_index = lbAdd [104, "Track 8"]
lbSetData [104, _index, "Track 8"]
lbSetValue [104, _index, 8]
_index = lbAdd [104, "Track 9"]
lbSetData [104, _index, "Track 9"]
lbSetValue [104, _index, 9]
_index = lbAdd [104, "Track 10"]
lbSetData [104, _index, "Track 10"]
lbSetValue [104, _index, 10]
lbSetCurSel [104, 0]
_index = lbAdd [104, "Track 11"]
lbSetData [104, _index, "Track11"]
lbSetValue [104, _index, 11]
_index = lbAdd [104, "Track 12"]
lbSetData [104, _index, "Track12"]
lbSetValue [104, _index, 12]
_index = lbAdd [104, "Track 13"]
lbSetData [104, _index, "Track13"]
lbSetValue [104, _index, 13]
_index = lbAdd [104, "Track 14"]
lbSetData [104, _index, "Track 14"]
lbSetValue [104, _index, 14]
_index = lbAdd [104, "Track 15"]
lbSetData [104, _index, "Track15"]
lbSetValue [104, _index, 15]
lbSetCurSel [104, 0]
_index = lbAdd [104, "Track 16"]
lbSetData [104, _index, "Track 16"]
lbSetValue [104, _index, 16]
_index = lbAdd [104, "7thdecide"]
lbSetData [104, _index, "7thdecide"]
lbSetValue [104, _index, 17]
_index = lbAdd [104, "7thiamgonafly"]
lbSetData [104, _index, "7thiamgonafly"]
lbSetValue [104, _index, 18]
_index = lbAdd [104, "7thlifeless"]
lbSetData [104, _index, "7thlifeless"]
lbSetValue [104, _index, 19]
_index = lbAdd [104, "7thoverdose"]
lbSetData [104, _index, "7thoverdose"]
lbSetValue [104, _index, 20]
_index = lbAdd [104, "Rtrack1a"]
lbSetData [104, _index, "Rtrack1a"]
lbSetValue [104, _index, 21]
_index = lbAdd [104, "Rtrack1b"]
lbSetData [104, _index, "Rtrack1b"]
lbSetValue [104, _index, 22]
_index = lbAdd [104, "Rtrack2"]
lbSetData [104, _index, "Rtrack2"]
lbSetValue [104, _index, 23]
_index = lbAdd [104, "Rtrack3"]
lbSetData [104, _index, "Rtrack3"]
lbSetValue [104, _index, 24]
_index = lbAdd [104, "Rtrack4"]
lbSetData [104, _index, "Rtrack4"]
lbSetValue [104, _index, 25]
_index = lbAdd [104, "Rtrack5"]
lbSetData [104, _index, "Rtrack5"]
lbSetValue [104, _index, 26]
_index = lbAdd [104, "Rtrack6"]
lbSetData [104, _index, "Rtrack6"]
lbSetValue [104, _index, 27]
_index = lbAdd [104, "Rtrack7"]
lbSetData [104, _index, "Rtrack7"]
lbSetValue [104, _index, 28]
_index = lbAdd [104, "Rtrack8"]
lbSetData [104, _index, "Rtrack8"]
lbSetValue [104, _index, 29]
_index = lbAdd [104, "Rtrack9"]
lbSetData [104, _index, "Rtrack9"]
lbSetValue [104, _index, 30]
_index = lbAdd [104, "Rtrack10"]
lbSetData [104, _index, "Rtrack10"]
lbSetValue [104, _index, 31]
_index = lbAdd [104, "7thmylife"]
lbSetData [104, _index, "7thmylife"]
lbSetValue [104, _index, 32]
_index = lbAdd [104, "7thDarken"]
lbSetData [104, _index, "7thDarken"]
lbSetValue [104, _index, 33]

Я выкладываю туть всё,дабы вы всё поняли правильно.Вызвав по рации в нижней левой части экрана появляетсо окошко с выбором всех трэков,доступных в игре.Моя проблема простая,как округлить этот квадрат?Какие компоненты надо добавить?Можит кито разбирается?Если да то подскажите,если нет,то используйте на здоровье) http://i.smiles2k.net/lol_smiles/thumbsup.gif

Кстати,JTS мне выложить туториал по активу?Елси да то куда?в эту тему или в Hints & Tips?

Отредактировано Роберт (2009-12-16 23:51:41)

+1

2

если я не ошибаюсь, то можно создать только окно, т.е - квадрат(прямоугольник). округлить окно невозможно.
а за плеер спасибо) интересненько)

0

3

Жаль,чито низя овальнуть квадратиг...Ну вы пользуйтесь,можете свои музоны вставлять,если непонятно как,объясню))Ну,вообщем это тока половина работы)дальше  планирую ему добавить цвета,ну согласитесь,серый не очень подходит плееру.И кстати,кнопкой "выход" можете не пользоваться,можно закрыть просто нажав ESC.Со временем я добавлю функцию выключение только через кнопку "выход".Но пока я сижу и думаю,какой цвет лучше подойдёт?И кстати,если в плеере что нить не понравилось,кроме цвета,вы говорите,может я что упустил)

Отредактировано Роберт (2009-12-17 13:42:25)

0

4

а ну ка выложи скрин плеера

0

5

Ну,воть.
В принципе это даже не сколько плеер,сколько окно с выбором всех трэков ОФП.Я его так назавал потому что планировал его округлить,добавить(если получится) всякие примочки.А так,это наработка.А скока билсо над ней...Изучая тутор от Rinza)))

Отредактировано Роберт (2009-12-17 23:34:28)

0

6

у меня по лучше будет )) и убери "музыка на плеере", ето и так понятно )) Вот мой:

Тут прописываешь название трека и врубаешь нажимая "Вперёд"... можно громкость изменять

+1

7

Ух-ты!!Слушай,поделись,как ты смог создать компонент "Громкость"?Я долго мудился над етим,и так не смог понять)Остальное в принципе понятно.'Выбор композиций' тут у нас по другому,у меня при выборе стоит "COMBO" - то есть можно выбирать не вписывая название,у тебя скорее всего дело идёт по названию трэка и скрипт реагирует на название и его воспроизводит...так?Слушай,ты тоже чтоб выключить музыку использовал несуществующий трэк?как бы нажимая Выключить идёт пустой трэк,в котором нет звуков и перекрывает тот трэк что был перед этим?И кстати,точно нет способа округлить окно?Я просто хотел сделать маленький такой плеер с минимум функций.Но чтоб он красивый был надо его округлить.

0

8

та простой принцип... в скрипте Init.sqs пиши      muzon = .5

вот ето кнопки громкости:

class MINUS : RscButton
    {
    idc = 440;
    x = 0.20;
    y = 0.75;
    w = 0.03;
    h = 0.04;
    colorText[] = {1, 1, 0, 1};
    text = "-";
    action = "muzon=muzon-.1;0 fademusic muzon";
};

    class PLUS : RscButton
    {
    idc = 441;
    x = 0.23;
    y = 0.75;
    w = 0.03;
    h = 0.04;
    colorText[] = {1, 1, 0, 1};
    text = "+";
    action = "muzon=muzon+.1;0 fademusic muzon";
};

muzon=muzon+.1 ето повышаеться громкость на 0.1... fademusic muzon берёт данные из muzon=muzon и повышает или понижает громкость на число которое ты прибавил или вычислил и сохраняет её... фсё просто )) но помни шо громкость ета влияет на всю "музыку" в игре

Да и создай ешо 2 скрипта которие буду следить за громкостью...

#Again
?(muzon >1.0): muzon=muzon-.1
~0.05
goto "Again"

так как число можно повышать бесконечно, а громкость максимум 1.0, сделай етот скрипт шобы если громкость будет больше 1.0, она автоматический пойдёт вниз. Вот второй с уменьшением:

#Again
?(muzon <0.0): muzon=muzon+.1
~0.05
goto "Again"

Роберт написал(а):

Слушай,ты тоже чтоб выключить музыку использовал несуществующий трэк?как бы нажимая Выключить идёт пустой трэк,в котором нет звуков и перекрывает тот трэк что был перед этим?И кстати,точно нет способа округлить окно?Я просто хотел сделать маленький такой плеер с минимум функций.Но чтоб он красивый был надо его округлить.

Да... играет просто односекудный звук без звука ))

+1

9

Слушай, ты не знаешь прогу какую нибудь,где можно все цвета посмотреть?А то влом эксперементировать,влом записывать)

0

10

нету такой

0

11

JTS все идеально, но еще идеальней было-бы сделать понижение(повышение) громкости ползунком, а не кнопками)

0

12

ну вот тебе надо ты и делай http://i.smiles2k.net/lol_smiles/1_007.gif

0

13

Вобщем,поэксперементировав с цветом получилось так:

0

14

Люди,оцените,только что сделал вот это:
Всё заскриптено и готово к использованию :jumping: ,но мне интересно узнать критику сего изображения.  ^^
И кстати,случайно я нашел прогу,с помощью который можно создать нужный тебе ...оттенок цвета!Если кому нибудь понадобится,могу здесь выложить. :cool:

Отредактировано Роберт (2010-02-04 13:20:04)

0

15

после чисел добавь $. А то непонятно, то-ли это цена, то-ли кол-во оружия :D
В целом неплохо)

0

16

Вот последняя версия:
Теперь надо делать продавца американского оружия :writing:

Отредактировано Роберт (2010-02-04 14:35:13)

0

17

хз у меня проще как то было... http://www.youtube.com/watch?v=yiBwztQkFCc вот моё видео в нём есть диалог покупки оружия

0

18

Ну просто,гм,я решил сделать возможным покупку всего бисовского оружия,,но я не про это спрашивал,я про внешний вид окна у вас спрашивал.
А вот и лист покупки американского оружия:
Кстати,эта прога точно никому не нужна?Она может создать любой цвет,а тебе токо надо скопировать и вставить.Также можно изменять прозрачность окна.

Отредактировано Роберт (2010-02-05 17:53:16)

0

19

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

0

20

Ну,как знаешь ^^
Вдруг я обнаружил большой минус в покупном листе,игрок,покупая магазины,не будет знать,в каком кол-ве он купил тот или иной магазин,можно сосчитать,благо,видно наличность,но это не удобно,и я чувствую,меня из-за этого на фру (там где собираюсь выложить) будут сильно пинать.Выход я нашёл один:
1.Хинты,но тогда будет большая непонятка(если не верите,сами поставте)
Что ещё можно придумать? :idea:
Напоминаю,у меня осуществляется покупка:автоматов,пистолетов,гранатомётов и стингеров,также магазины(ракеты) к ним.

Отредактировано Роберт (2010-02-11 11:44:03)

0


Вы здесь » ARMA 3 & OFP » Картостроение » Активный текст


Рейтинг форумов | Создать форум бесплатно