1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Колесо Йорм Поэзия Календарь Гильдия Дайджест Календарь событий в Aion

Макросы домов

Discussion in 'Гайды' started by Карабаська, May 11, 2012.

  1. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    1. оглавление
    2. окно редактора
    3. примеры скриптов
    4. музыка для скриптов
    5. общий синтаксис
    6. константы и коллекции
    7. функции обработки событий
    8. методы инициализации
    9. звуковые методы и свойства
    10. методы анимации
    11. методы сообщений
    12. методы свечения
    13. методы и функции управления музыкальным аппаратом (не актуально до появления музыкального аппарата)

    видео
    видео к скриптам из гайда
    приветствие:
    светомузыка (4 ролика):







    творения зарубежных авторов :)
     
    Last edited by a moderator: May 29, 2015
    Leenali, Faithy, KingKazma and 16 others like this.
  2. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    окно редактора

    чтобы перейти к редактированию скриптов дома, обратитесь к помощнику вашего дома и выберите пункт меню "редактировать скрипт". появится редактор скриптов
    [​IMG]

    [​IMG]

    итак, что мы тут имеем:

    1. список скриптов
    [​IMG]
    это список всех установленных в данный момент в доме скриптов. максимум их может быть 8
    для редактирования скрипта выберите его иконку
    при нажатии правой мышью по иконке скрипта получаем дополнительное меню.
    [​IMG]

    • удалить - удаляет скрипт безвозвратно
    • удалить после хранения - удаляет, занося скрипт в список сохраненных скриптов
      [​IMG]
    • сменить ярлык - появляется окно выбора иконки скрипта
      [​IMG]
    • сохранить - создает кодированный "слепок" скрипта для последующего импортирования например, другим пользователем. (сохраняет внутренние ссылки). данная опция не сохраняет скрипт в списке скриптов для последующей вставки
      [​IMG]

    2.
    кнопка добавления скриптов [​IMG]
    при нажатии на эту кнопку появляется окно выбора скрипта, в котором можно выбрать новый скрипт (пустая заготовка), один из стандартных скриптов - примеров или свой ранее сохраненный, но не используемый сейчас скрипт, перейдя на вкладку "сохранение". выберите нужный скрипт или образец и нажмите "установка".
    [​IMG] [​IMG]


    3. имя: название скрипта (максимальная длина 10 знаков)

    4. описание: в это поле можно ввести описание того, что делает данный скрипт.
    введенное в имени и описании отображается на сплывающей подсказке при наведении на иконку скрипта:
    [​IMG]

    5. outlet
    [​IMG]

    аутлеты - это объекты, задействованные в макросе (максимальное число - 16).
    такими объектами могут являтся: помощник (это существующий всегда нулевой outlet), элементы меблировки, декора, фиоры, фотии, нпс, стоящие в доме, посетители дома
    число используемых в макросе аутлетов задается в функции oninit() при помощи метода h.setoutletcount([число]);

    пример:
    Code:
    function oninit()
       h.setoutletcount(6);
    end
    outlet-ам нужно назначить объекты, которым они соответствуют.
    outlet-ам, которым назначены объекты, подсвечиваются
    [​IMG] - outlet-ам 1 и 2 не назначен объект, 3,4,5, 6 - назначен
    для назначения аутлету объекта, щелкаем правой мышкой по иконке, выбираем "установить аутлет" и щелкаем по объекту в доме, который хотим назначить
    [​IMG] [​IMG]
    если outlet-у уже назначен объект, то в меню будет еще 2 пункта:
    "проверить аутлет" - помечает все объекты, назначенные outlet-ам соответствующими маркерами
    [​IMG]
    "удалить аутлет" - удаляет привязку к объекту

    6. импорт скрипта

    если у вас есть кодированный текст скрипта, его можно добавить к скриптам при помощи кнопки "импортировать", по нажатии на которую откроется окно для вставки кода скрипта
    [​IMG] [​IMG]
    7. переход к редактированию скрипта [​IMG]

    чтобы перейти к редактированию скрипта, нужно нажать на [​IMG] появится окно скрипта (8) и окно списка ошибок (9). для сохранения внесенных в скрипт изменений нужно нажать на кнопку "применить" (10)
    [​IMG] [​IMG]

    изменение ссылок
    если в скрипте есть "ссылки", то появляется кнопка [​IMG], поднимающее окно быстрой замены значений ссылок. ссылки могут быть 4х видов: выбор инструмента для звуков (1), выбор звука из коллекции звуков (2), выбор эмоции из коллекции эмоций (3), просто строка (4)

    [​IMG] [​IMG]
     
    Last edited by a moderator: May 14, 2012
    Araym, KingKazma, Deivra and 4 others like this.
  3. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    список шаблонов (из кодов шаблонов по умолчанию удалены комментарии)
    1. приветствовать
    скрипт приветствия пришедшего в дом персонажа. в стандартном варианте можно настроить отдельные приветствия на 3 персонажей
    запуск скрипта: приблизиться на 3м к помощнику
    настройка скрипта:

    1. открываем окно редактирования скрипта
    2. переходим к окну настроек ссылок
    [​IMG]

    3. в этом окне:
    [​IMG]

    1, 2,3 - ники персонажей, для которых настраивается отдельное приветствие (свой ник тоже нужно прописывать, если на себя нужно отдельное приветствие)
    1, 2,3 - тексты приветствия для выбранных персонажей
    1, 2,3 - звуки приветствия для выбранных персонажей
    4 - текст приветствия для всех остальных, приходящих. будет собран из (ник приходящего) + (указанная строка), т.е. в моем варианте: "карабаська, приветик :) заходи, гостем будешь :)"
    5 - звук приветствия для всех остальных
    6 - эмоция помощника
    код шаблона по умолчанию:
    Code:
    hellotable = {
    ["[kvalue:имя персонажа 1;имя персонажа1;str]"] =  {"[kvalue:приветствие1;привет!;str]", [kvalue:эффект  приветствия1;h.percussion.fx2;fx] },
    ["[kvalue:имя персонажа 2;имя персонажа2;str]"] =  {"[kvalue:приветствие2;приветствствую!;str]", [kvalue:эффект  приветствия2;h.percussion.fx11;fx] },
    ["[kvalue:имя персонажа 3;имя персонажа3;str]"] =  {"[kvalue:приветствие3;добро пожаловать!;str]", [kvalue:эффект  приветствия3;h.percussion.fx6;fx] },
    };
    
    function gethellostring(desc)
    if (hellotable[desc] == nil) then
    return desc.."[kvalue:обычное приветствие; здравствуйте!;str]";
    end
    return hellotable[desc][1];
    end
    
    function gethellosound(desc)
    if (hellotable[desc] == nil) then
    return [kvalue:обычный эффект;h.percussion.fx9;fx];
    end
    return hellotable[desc][2];
    end
    
    function oninit()
    h.setsensor(3, 30);
    end
    
    function onuserentered(desc)
    h.playsound(0, "r[1]r[2]");
    if (gethellosound(desc) ~= nil) then
    h.setpercussion(1, gethellosound(desc));
    h.playsound(1, "x");
    end
    
    h.startanimation(0, 1, [kvalue:приветственное движение;h.emotion.wave;moti]);
    
    h.say(2, gethellostring(desc));
    end
    
    модификация скрипта приветствия
    отличие от стандартного:
    добавлено 2 аутлета. если на них назначить нпсов, то они также будут выполнять эмоции с помощником.
    отдельно настраиваются эмоции для помощника и каждого аутлета через настройки (для 3-х персонажей и персонажа "по умолчанию")
    окно настройки:
    [​IMG]

    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    [oamaafisaadjq53r6xoqjz7ckqnybov6ylspyyh8pscb77q4j8  4q6srr8zexzctedrtipyyrzvpxnuxmxticm3sh0xgznj5bhjaf  kqtavdyz+f47swil/6/0ub5ocichfdr9fertwwoals+c/jacdalewxixxteecq3jlft4anzc2+ur4pz2hamptr73tdlvvsm  q+l3s0kcu1dvoduuv8drxgl6ylrq2rme9rkevwm7q48n9povaj  3bw0jtn6stz3abpzlyxbwmlcbw4oyhv4/upeaop83rdtdyajadh8wund5ilfroqljqdgghbnbmeje0gakc5   dfmuvkqwit9a5fbftuwmrbj+/9pa7o35iv41ln7wkvfyx+kzgtazt3roq5ib2q2q3/iwnhqnlkmshr9uryvrle8incidbftdp4tyvhyn7omjwhihvmyl   rdyv35qt7hvlqh96dpwi9qv/bozc6dyajexerewxgetk2cisr8ogat4yezzexmybzmteylyir1  hhwbip+cmu2ius82o9kbwsonqnekwawogclucxhlfahhwswyet  swmwagqk4kflc3c9x/znpgsylcxosveowxofj3ev99cykmgqf6uz+ecq5+biil4kofox  vuzctr4krar+pxjpeipktng4j+izbybl1x/mwfbl6chng+nzie7br75xivhbhgec8pt28avqeichqwzxxvpqt   szvvr/ety9gu58lssy0qcjdrw/puumu26orp442sshzhzp23fd954uif1aobjyzsa/b6v1iframbbwyy41stzpdzucn/5aaioraha9lk73dhjtt8bcvnybieue34numzukxczdcpr4snjj  pw7b5wkty6v6ayaz1lnavwud7jiqriify9uqyy7qhmpq6fwh2s  ox/ywm6ghn2r2eicjkuou6t7bmxuibo4qrmsczj8cayr5m5mqkbcz  uk4lm+xllolofyxkdy3ow6ie0roonp2camlaumk5kewbsh2v/4qh/8b/rk2iaaetrdzmap2dcw49mxtbt7jv+lousz31slsagpqqubzuna  703pp4q0egpjsqwswv9znszco13hhhws11n7jramjdmyplckfh  dk0yuqbxzb1hzgaammo8lx5fzkblzgsjeh/oede5so8vemycif8pbzozsaegfvabp5wykngotj2por96gk8rs  dggklmz3zf8v2d4fhjnr7jieukn05jeefmmaziwbl]
    код скрипта: (изменения помечены красным)
    Code:
    hellotable = {
    ["персонаж 1"] = {"привет!", h.percussion.fx6, h.emotion.salute, h.emotion.salute, h.emotion.salute},
    ["персонаж 2"] = {"приветствую!", h.percussion.fx6, h.emotion.salute, h.emotion.salute, h.emotion.salute},
    ["персонаж 3"] = {"добро пожаловать!", h.percussion.fx6, h.emotion.salute, h.emotion.salute, h.emotion.salute}
    };
    
    function gethellostring(desc)
    if (hellotable[desc] == nil) then
    return desc..", добро пожаловать!";
    end
    return hellotable[desc][1];
    end
    
    function gethellosound(desc)
    if (hellotable[desc] == nil) then
    return h.percussion.fx9;
    end
    return hellotable[desc][2];
    end
    
    function gethelloemotion(desc,i)
    if (hellotable[desc] == nil) then
    if (i==0) then
    return h.emotion.salute;
    elseif (i==1) then
    return h.emotion.salute;
    elseif (i==2) then
    return h.emotion.salute;
    end
    end
    return hellotable[desc][3+i];
    end
    
    function oninit()
     h.setoutletcount(2);
     h.setsensor(3, 30);
    end
    
    function onuserentered(desc)
    h.playsound(0, "r[1]r[2]");
    if (gethellosound(desc) ~= nil) then
    h.setpercussion(1, gethellosound(desc));
    h.playsound(1, "x");
    end
    h.startanimation(0, 1, gethelloemotion(desc,0));
     h.startanimation(1, 1, gethelloemotion(desc,1));
    h.startanimation(2, 1, gethelloemotion(desc,2));
     h.say(2, gethellostring(desc));
    end

    2. светомузыка
    в скрипте задана звуковая мелодия на 7 каналов, в зависимости от того, на каком канале играет звук, подсвечивается аутлет.
    запуск скрипта: сказать внутри дома "огонь"
    настройка скрипта: назначить аутлетов на объекты
    код шаблона по умолчанию:
    Code:
    function oninit()
    h.setoutletcount(7);
    h.enablesoundcallback(1)
    end
    
    function playnow()
    h.setpercussion(1, h.percussion.kick);
    h.setpercussion(2, h.percussion.snare);
    h.setpercussion(3, h.percussion.hihatclose);
    h.setpercussion(4, h.percussion.hihatopen);
    h.setpercussion(5, h.percussion.fx5);
    h.setpercussion(6, h.percussion.fx14);
    h.setpercussion(7, h.percussion.fx18);
    h.setpercussion(0, h.percussion.fx11);
    h.playsound(1, "t150 x_rrx_r_x_xrx_rrx_ r_x_xrx_rrrrx_rrx_rrrrx");
    h.playsound(2, "t150 rrx_r rrx_r rrx_r rrx_r rrx__x rrx_r rrx__x rrx_r ");
    h.playsound(3, "t150 x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x"); -- hit close
    h.playsound(4, "t150 rrrrrr_xr rrrr _xr_xr rrrr rrr_x");
    h.playsound(5, "t150 _xrrrrrr_x_xrrrrr_x_rxrrrrrrr_x");
    h.playsound(6, "t150 r_xrrrr_xrr_xrrrrr_xrrrrrrrrrx");
    h.playsound(7, "t150 rrr_x_xrrrrrr_x_xrrrrx_rrrrrrrrrr_x");
    h.playsound(0, "t150 rrrrrrrrrrrrrrrrx");
    end
    
    function onusersay(str)
    if (string.find(str, "огонь")) then
    playnow()
    end
    end
    
    function onsoundplay(channel, note, len, label)
    if (note == 'x') then
    h.glownow( h.outlet.outlet0+channel, 0.1, 0, 0, 255);
    end
    end
    

    модификация скрипта светомузыки
    отличие от стандартного: рассчитан на "музыкальную" мелодию (с нотами, а не только звуками). аутлеты подсвечиваются в зависимости от звучащей ноты независимо от канала звучания. максимум аутлетов 8 (7 нот + звук). в настройках можно указать какой аутлет для какой ноты. объекты, назначенные на аутлеты при звучании соответствующей ноты подсвечиваются и подпрыгивают (высота прыжка в настройках, 0 - чтобы не прыгали). музыку можно остановить, сказав назначенное слово.
    настройки:
    [​IMG]
    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    
    [eayaaaqjaach+u/d0lbj3lcu+jnsnnlyixeo2wxwgy6lpjx01thxk+vv5pye6x7tz  ggbzk5vazuevo+gxqnhyppwg5oh4+tj8vyurbqpbunh0tcxylc  8dvx46cjpch6bp8yrpnctjbpdywwluqerbwyga7bpzhwrlkpkh  id1jebksa/ar70db2xaxcj4t/cqafbyfgpkmupxnezz7mhomkqpqpz6nlijdub5von9lvndpsur   yaqrw1ww3ir/jv5uhv7ez89pj50uthj/shztssda0yhxzgawxmap+uxjfrfnletkkd8u10jrt7z9+or6rr   4lvqpionlzb4inae4bu2jgv/0dffosxfca6s00pgemsarqyzukq5vbz69vbdqcmtqpapgtqstv   tiwkkgkibrgpdv/voj69zmgrmdjleuklnvczdzckowp32n8q6+synipe9liojnkpd/7j/nol8tbl1efwprryi4engkho+g8ntg198y9nepyirwyui9pkyou  ab+lovhsmf1lmwkf5vjj75ndfann4kl1thch1wascgm1+sca4i  1omeaplxqqle2gxrptl+lqonnyftiikb3+8drvqvntcvx7pisc  ufj3gitjsr4d8ezahayglyyk6avdex4by/3hxiqci/gwy0ahfv6jkeuyewoeb8jew8n/xezzfxswvnquik+ukl2cb3oxwc5s6bd2gsl38fjeuosjxwb1sy  lw2ku1kfmvyp+lhofkf5dm1j0bupqddtbexahhpgpjhka1hiix  ejf/owygyox3mufpj1g1cpri5r3xo1jpnqir+hhod5yuzyhfql88bb  26nssu7aspcoxv7kf501+wrdaprk2k24ahu2nriigcc7s7k9ya  k8mlp7nvqyyuld9e1sfaghszalsh3p8ofuq98hl1hnma9agpha  ckog1feonvhby3mbkgf7wz4p1+e8g2ltt/btt0yxmklvc8bdef2k7tcjsxywc0mdul5uhv0w8phx4g0rf+0o  dj+ja0n3wq6eigbt7imcrtoct8tgeql1cts7dp2edup8ram2sa  cm/108ryykpe9r+el6utm3zgyk0m4tuu0kj3ms4ijb3zgfkcz4ivc  ljcbh3t7wykst8r95cfjqovuojuos5hku38w15ntghhs/zccsrkkiixrh06zp2xvs/yyvbnesqtluu8wydisdfmp9s6qidh+qjvv/60lrpjoz7pip/tzpbcrwo3ftvb5x9kfbmu06rd6w7ydvdphochpadfro4qhwosp  zzrrq0up9wgb+kfmxfr0f4zu2jevwje0bhbhrhqacdsudzrqbc  5lojlaxkv32dvd/ph933yghstq1s140it+dfteqcusfxybjy/asfxwag1n6llnjecvw4ue2+f8cpikazdz5or3h+cl7lva5wodm  3ouksktbh6jheyymojgol35mw4rh694s47w4bjqg1i0oihvtw7  axkgsufyivnsvplqvhpkpnwdig1cp81xcjhzvjev63aqyhyxrr  qwlzhjfgohjngw6llbpt0ttybuabgf/nprfibyqebfunzqjvn5t+gv+w9/dyehinbqlvcrtmpsegoxpjlsyihhpaeza8qyk9axvkwj8new/ufhhyuxgajk9dlm9r78z91/g2jl1oaio2p9eyosyvlumsvmvrdr7nxofkbxpdel2iq65c+0qj  juejwavwtlszeoqve1+mmyiecrt33zalvcdkoh38duwalyxiuo  xrdjyyjehk6n5d91ka0ws6hs3jafocjj9fegddkq+cbvm3ldqh  kc/rbm9fycxlsnfslhur0uctwkccxj2p3xnvxqfhi+ocwl4qqvzt5  yettszklawdztucbqxnh39mf1xblc0y6cw84ormy27tbvdsy80  y/7hz6uakljdaclgpqloxzyrbvurjzsjzw4n9v09mehbgedbmbgp  2fafcxrwisr0elqk4qfzhrrfhtndtafdmpqscmoekxo4wm9woc  u/s3ayth/8anjfiygw2oat4vrtuenpui0lvc12xsro9krdvihxw1qbxjkc]
    
    
    
    код для импорта для разноцветной модификации (объекты подсвечиваются случайными цветами)
    Code:
    [qayaajojaadlkmsnvp7cv8idfu4fjzziruyiyggnh5k7abeulnrhywtvy5ns7hyywc0emqmfoxwufgpztiy5ccw7k26fjrrgevvmxox8mfzux6ya88qdiyerbu5ul0iywwjt++aflxzvyqkivrkvlcpy61gzcxho4utssntgplfdfx7fqvi0v7j995o+ywylgezv50sgsx7mcxk3bgw4h2ubeuvjc6a+xm5fpsz92g115luvp4tqsetuhp0wypha/qwykudgns41rm777wtflsgcd/xufg+slachxk7p0co3kqtblmarw4c5ktiombpkmqaxdcsqbcpbdvkvwmes56xywgmayksphbttn5tz+ltawgyci2rweporhlkq8qltkexa8q4bbieluagvy+gpjg1/qjvyugy4pjrrjwlnvau/l2rkv/0t09+ahmcsjmfkau6ydm+cxumqu6wj/k+wa6ebafesbh4d5zpmclwn25kxobvjrfrazldox23y5yw6doiwqptkgw4+lemdeybei+7pvfl27tnh2xxlfsrbnvdfxmarlh48senhtpqrbfckw7kec2ertry5elzbnyrdnm0iphkfpbpnmrgmbyzhwhco0mlpl4id4q9fzbhu5fymvmxyn8lvhy4ljzv4d50f6i1iqpjftca4v7v7ogxycbwxm3csnxpmnbbolk7fkr+hxlklbex38mohfexuexrxkg0lzqqvvig8rcbcombhnldyrdtxcidn3c6bisbrguu1zxr/epcjogxryw9g0s+oz4ttbuf0wvz0o83oafngioqmbjomamovvprjl7tmuvied47plawzjacmzoq7ohkisv5vgi9ylxdkubw/nmagjg0wbjgpapjnmng48fkizbrq5kgbqitb1e8vxo4nlql2ca/lcev6qyudeiy89pmkgef8ejl+d3gtfx9mcsd97sqwssfmxedtj0zft4bbcbvaebhba3ng8fq1jibof4bldzezylvygsfcgywrmq79hzh1u9ufuu9q2snxgozvfxum5a2uv5ak9kbwsgfigpm5xgmt9nf4bh6zc4dwzkuujm74tjr3diyzuirger0ypjvzqybm/vvnujn3dcsctgwvvqpdhqmztiu3kddalv2ceippluxzzrihigjn+w3ja+6vcnp0hntspp+lj3o5za2ml42gd1v5rsoegvty9xicdwixzlpwewc+rfi9jsbsqvkxmeu18osi7fjl83xli0sqslvfwxsozmb/qzpmien/dv2io78fal5wr/y8nsjyk6qk/qeetxzs7c562z29cougnnlfi2upjknkmuem+niagyo5k9npj+t33nahvqyj/jwrzyzh5orp+d4bnzbba5r6bnkj5upwl9k6usehsdflf52fr/eqccf6vaviqpxtqxlywfywjmh5vaiqsjnwiasqmqicqesi9npdj87ua3a9jwaw+7lh1l6pygfloxwdkxwiozsaxb3ebsrpvute8mvato+z0kn1ozhv1cdorm+pgefvxahchagvbwfks+5l9x5qbiy7hnjtoygb3zb2q6a+3c5qamyw91pjqw5nxay1z7klzntkr2f9ol0renlz6wxsinhr1pa/t2t7g1oqust3/pwpfu0jioqz6nx9shhlt4lfwijegiq5zhc/kxsbmdy1dgsznvu4uckkv8hy0hjcuvkkhpxc2plrflcsh4bcjomeiasxikz6ye/yfprn5x5r2rprdwf31jpjjqqr+kc+hxxf/esdqpm2tuyfajtns+goaaskxywpi2pjcfol7ggxeop+t8j1n36eeccvku2wyzhaspr1smf/bizbdhtwtwjy0ltllmlbnt/kpuvmrallkh0nb8ynawsoocdfnozqglnpgfvanuv9zi8xvu3i0mj7dexahks8hrryhkv9h8jo/01jq7yxem2q75e3ryoznr5okgij0sxd5vuhmtzr53ji/u+fezoqbbbjt1hm45mmhyxoklxpoesmadm5hrkvv4yrwmdzx1jws+giwxrbk2cxx2ynkomekzunbl6fx5ydkzj6zspiioaa7bto5wobbukhg9a+td4yq/6cth0z3y9w3fbdztawfevna5m+tjdhswomw6w+asi4]
    
    код скрипта:
    Code:
    
    function oninit()
    h.setoutletcount(8);
    h.enablesoundcallback(1);
    end
    
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2  f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b  o5 c o4 e a b o5 c g2r o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2#  f# o4 f# a e d#2 r o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b  o5 e o4 e g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5  g2 a a2 b g o4 g b g o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b  o4 b g o5 a b2 o6 d2 o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2  b2 b d f# d o4 d1 o5 e f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5  o6 c o5 e b e a2 g2 b o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6  d2. o5 b o4 d b g f2# o5 b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2  r o5 g a2 g a o4 d2 o5 f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f#  g2 b2 f# b o5 d o4 b o5 f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2  o3 b b o4 c g o5 e o3 b o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5  c# o4 c# c2# f2# o3 b o4 f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b  o5 d o4 b d2 b2 o5 e o4 e g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g  f# o3 a o4 e o5 g2 a2 b g o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g  o3 e2 o5 e f# g f# e2 f2# d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r  r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2  r2 b r2 r r2 r r e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r  r2 r2 a r2 r r2 r b r2 r e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r  e2 r2 o4 f# r2 r r2 r2 e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r  b r2 r a r2 r o5 e2 r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c  r2 r r2 r2 d2 r r2 o4 d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r  r2 r2 d2 r2 r2 r2 o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r  r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2  o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2  r2 o4 b2 r2 r r2 r o5 c r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3  e r2 r o3 r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r  r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2  r2 b r2 r r2 r r e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r  r2 r2 a r2 r r2 r g r2 r e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r  e2 r2 o4 f# r2 r r2 r2 e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r  b r2 r a r2 r o4 c2 r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c  r2 r r2 r2 d2 r r2 o4 d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r  r2 r2 d2 r2 r2 r2 o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r  r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2  o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2  r2 o4 g2 r2 r r2 r o4 g r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e  r2 r o3 r2 r2");
    end
    
    function stopsound()
    tishina=""
    for i = 1, 30 do
    tishina=tishina.."rrrrrrr" 
    end
    for j = 0, 7 do
    h.playsound(j, tishina);
    end
    end
    
    function onusersay(str)
    if (string.find(str, "музыка")) then
    playnow();
    end
    if (string.find(str, "стоп")) then
    stopsound();
    end
    end
    
    function onsoundplay(channel, note, len, label)
    if (note=="c") then
    n=1
    elseif (note=="d") then
    n=2
    elseif (note=="e") then
    n=3
    elseif (note=="f") then
    n=4
    elseif (note=="g") then
    n=5
    elseif (note=="a") then
    n=6
    elseif (note=="b") then
    n=7
    elseif (note == "x") then
    n=8
    else 
    n = -1
    end
    h.glownow(n, 1, 100, 100, 100);
    h.jump(n, -1,0.2);
    end
    

    модификация 2 скрипта светомузыки
    отличие от стандартного: рассчитан на "музыкальную" мелодию (с нотами, а не только звуками). аутлеты подсвечиваются в зависимости от звучащей ноты независимо от канала звучания. максимум аутлетов 8 (7 нот + звук). в настройках можно указать какой аутлет для какой ноты. объекты, назначенные на аутлеты при звучании соответствующей ноты подсвечиваются и подпрыгивают (высота прыжка в настройках, 0 - чтобы не прыгали).
    запускается по появлению посетителя в доме, повтор мелодии - по ключевому слову (назначается в настройках), остановка мелодии - по ключевому слову (назначается в настройках)
    настройки:
    [​IMG]
    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    
    [qayaakqjaab2wyp4cqdsrjbb3mhxngcdgoy9bghabreqestghvefl9vsd+pfeq4vgs/tuzmcxat/unheawcgvthgw7ah1bo9argjjniuwnqhmqxcv2vbon0dfcamqumriq2wgpahg8a67kabuamfndhfjurqaqpg5jfqmgg2uqsqnuw48u1axrwtxxtrwx2hmynuwu76gpwmrgd3/fkbluij0gdd1hz/gisiim3v0zae7pxy4sphluahl5chvakzbxtg4dyod3o2gamooqikxt10seovedabbmafimkfucff3gzkai+84w8qx2mcy2+9ybtfedonmv35vfrdbtofkuri/gessgke1kknrglizxbtiippvhepr9wjewjopjsjbr15i6veaucwbfdpzr0fg1hs/1ans7brzpvzkmc8n8dakibdwd/v9fh+9qyjj2ad1+lhczo8cuiudo3iiln2fvnqi+tw05wenmq0k4t9vn920wpul5v76nelvzzkhoh4rqmtywpl0dl0xuleq1qdfyrtvpxibmzgbhs+in00juvryn6swcpa/kgytr3saqbopafdatx+lx4/cboubhs/ws9h0bjgbw95k1bhxq73cstf5jm2k8tfmpza3vtg0zuigh+uqp/xiuablanzsjmkx/6h2w175/mdhmlmhyg5szk0yyvhzbfozujjdpiiufgyrbgjireck+fr+tr+egoaz/idopg395kz4kcfaoqxlcjefet3jc8ae3hjamh8wd+vdfve7wkchtvotu/zqqfrum/641ijohnuvsptlsltojvxryxqge/dejot9b/fwitsfdej+gzo4sqitpo3cwntmukkwkdkp4sa2hcp+h7cmjhmbnufxbdjwg3l4t1u18dnzmxcptogsoimirm/rzgtwm5rvsuc/r8rxtowtusmwq7boefjmj9rz3qf+uj7hipy5ehpw1pnsrysor4lnccjiujxfok67muejtpx+pfxeqd7dcf/qg6hq0qr60pz7qrhg+of23nqqzgjen4zy1dha5cunyswtuhxi9v0j7vyd8++t6hfaxq0swoqpeq7pckryo9xg8ydp65rxqn7b66rgmyc3qi+z10ve7gudoop2ulnpypa/w234efgkey+tdqor/uxzmeplui5imst2i4qs9bv7qp5fsexal1vq/mftkukyc+homa6l/d2xulhhr4nhmv/masbqvfezrlsx8ja8fp6qbwfzpteva0qzesevwyvdmmrl2mpl0af413gptqt7mwnq9lgcdayv0dfxsuaj4x3rroqwy+r8do0wyyrnywnqo171wfaf1dkse3xq62gxc6bariu7q0fwidm7v1fwkr3yknb+wtdgqgqeqhu2gql44xowhj3skumctlhqpuersjs4hnfvvg5msec/abvudvaayony7/qz+jwlz735yuq/auudul7iz8mi1qawxpfz6tg63vsitmfss+tgpxprl9arxe992xununcjhl7xbjyacbrig0v2juapkf6tegcgziutxonquw/yp821a7quhvde13lprbqfhnfvlyph0s5xkm8a85pt7tek83aed9xo3xtjctkwiz4nuirnnwvccmzaqxm98tpk4gfovlnka5bqzs+901t8ap09capbj/lcswrdw9osatamsil985bcolwvp7tcrd3tyxffxdbqgo0tyagfl5dqqai0urmfgnhyufptno3cqgdcpnrznxmvpo/jhhwtybx2esg0zqv6w6zd0y1zvrsef/bkqpjrvklptjklhyrgxhjksddv+6ybdt0hokv//xjnxbfonfieuxyzhxnrbs7qq1jh9llr5w3nslgdxzbsukcpbv8xzrxxxoi+lfilp4ho1by8mgykajk86vkhui3szqtqafyeojsfaixvbc8caicauvdvfnx2yxoggsxfry9rr+rim2w7hk+tigmhkie162y0ua10tok1kjptmeucxuniiy8acyqwjvqbyjbuw1kpncomfs/ovjvvrs5upkksfvm3o5joq+yhu2ogdaeh7wq6gifnqexsnj9prydzcuc0zwe0wkuftocino/7+qoextxfgul3d61swuigdjax9p5hlkxa10dl6bkgm7avjgn]
    
    

    код для импорта для разноцветной модификации (объекты подсвечиваются случайными цветами)
    Code:
    
    [yayaadakaacxzkqsvgfd3hqpairbohp5gc8+eo38h2c+lbcgo38iljpgcddqwdab+5pospejslb3ksdxso1n4fb9wn3hnnpjedevzdeta0wkpw5e3eqwnyjxjjbcxxrcm3x9eus54muc6icm8/o2csdkyuc/bjyydqzi+grqoi86vqbn03deeeizts8mncom4vmol3evk6eaf8czvkwke/rx7vphj1a9mc+l5+uimrbmmr8mgen0pzcwshzeszqfemtlwrlxt02bx2ngeohqqijdg7zf5vx91v2pv2ijrjsaa1wrp2dhlosmxuzxzrtm+1lykavi+ryfpzqg0mctewqlhmojyydarejcj0+ugbsrnlko0wsqdedduypeoofno1zjz+fsp8p9fbieyf5lvd2pz5qiamxrkcdcspy+duiectog7rsweycmik91n5ug6tojilwnbdxhh1p17gxulp/fxwj3dnkmybywrmmcttemyvqykw+mlbdozvndz8lcj3+yfnbk8jzjfcgtd4f2rjsohlioqmq3ujmaeg2opfpxxbscqq98bhnsowup0xm8qareicbkzwqtto3u2tsjize9ulcup75gaeqhgd0zvlesq21l4nvro/+mibxopgkaq19jhpb/yaxlagogiqfovibna6uppmaymqspqzrvwnrqeoduyygkkvtbhb4hpbqfcomujtujxekryqhoamyluwm3pytngvzjflffvb1fmktwht4smw6nbt6sq1xe4vgshwqaujdue1bgsjnnuvlpy2uetugllawzmv3qaxcf7v0vdd2meookwpgiw0lxr13s72afcomv6xwfe0hrqncaa4cqkycaz1ywkkmt/+bcboxqqcsr9kuekuugbzcv6d/eyeuancif5gqf/7+y51q1gjzceh88rg3970rmhzk7pcc93zk6nqi8tiofcqroy5h4i5bpkx5wekya0qlaaxtvcx1crsntwtxb/g/vocizn/ga6p53+gphzqmwagio54fngd1ckup6rmz+fwcq45rbatfyqipwnvjbs6cnuceqtlgknf5hikat+8h9jqow5o+odgmzutnddhjorc4ozeqpvu+gjxfz3dmt+8xusutcm6q/dsoaeckx1uudsoijxagvltn1jszonthuwcrrtpzicd3kggdhgphk5mipi7yqy6ruzjp62vjfiererp9tuoah9+/n5a1y9nrf/9rgjengw88natnuxtvcrxrcozib2goujys8dn58oa0wj71vqyfutyyry4+ua0kf79t4zvtnf24wbnaibhb/5wxewzgd+eolilzz8eoqit3va6x3bkwsshpi1wwfl2lktsjf1qvmxoyxojptuvd2n2psjndhpjvel+7rdvk4jjkvfpdmyx+knd4ducuoofvhh7axsxedn0f3qgnberwfhtdbvjrdymuewvmpx3nkbm6zlgn3aux60cvuxe1hlqxjqllsst1ohqvloot27g6xxhmh4er0gfdlpdrlxiarb3n62vdinkqlnapi/6ax4mk2qql6qacz1+xqodui7ccfz0h7h/0vkikthy/px3f+totcgncfswazewt6bv/pgfg71dqlcencrhbgzn/6texlxk1x1xqucpegd1o0dwlzfypatadfrjoto2/qhtbfq60vonmv/jfbeou96lgtpvdkq8q4tamysavf11tknlljx/1wqtbkhfo3usq+aowgm9jmey/qpsnfxzggycsnmkv61u7s9ftojvpggpr3plzgd4g+ddvarkvccgstvfk6watbbc4ihnslqszkq4+nbyw5u7lcmqqhnbowhfwabcf2mvzmuuxhk++c3qjrz+0saxob/obbqblrjvvzo/kvjr1oaycysrcm3fingt3xjdxa9765utlxvvv3hj39uyj/p0iussjeo6eea27eohmwu7pk/p2apcrd9sdj3ebbqof1ipquhgeisoqthopxrid4i00ehjc+f82cwzamangi+zhvp9vqd5napdv9vccpeey/uetwsjwf/dbhoxdqomfx/togv8+lbvfogd3wgqp+kgwxvte9tewbw1dxh7ddezqaieywiy0y3v1xqaknaukftw8dkmtnksvqv0rklujwpse+ik+ypejgwnaownk+ent6sszqicfilzmlyp47quh0tsu=]
    
    
    код скрипта: (отличие от предыдущей модификации выделены красным)
    Code:
    
    function oninit()
        h.setoutletcount(8);
    [color=#ff0000]    h.setsensor(30, 40);
    [/color]    h.enablesoundcallback(1);
    end
    
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b  b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b o5 c o4 e a b o5 c g2r  o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2# f# o4 f# a e d#2 r o5 e  f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d e2 g2  d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a a2 b g o4 g b g  o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b o4 b g o5 a b2 o6 d2  o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2 b2 b d f# d o4 d1 o5 e  f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5 o6 c o5 e b e a2 g2 b  o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2 b2 o6 e o4 g b g o6 d  o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6 d2. o5 b o4 d b g f2# o5  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 r o5 g a2 g a o4 d2 o5  f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f# g2 b2 f# b o5 d o4 b o5  f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2 o3 b b o4 c g o5 e o3 b  o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5 c# o4 c# c2# f2# o3 b o4  f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b2 o5 e o4 e  g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a2 b g  o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g o3 e2 o5 e f# g f# e2 f2#  d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r b r2 r  e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r b r2 r a r2 r o5 e2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 b2 r2 r r2 r o5 c  r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3 e r2 r o3 r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r g r2 r  e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r b r2 r a r2 r o4 c2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 g2 r2 r r2 r o4 g  r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e r2 r o3 r2 r2");
    end
    
    function stopsound()
       tishina=""
       for i = 1, 60  do
          tishina=tishina.."rrrrrrr" 
       end
       for j = 0, 7 do
          h.playsound(j, tishina);
       end
    end
    
    [color=#ff0000]function onuserentered(desc)
       playnow()
     end[/color]
    
    function onusersay(str)
      if (string.find(str, "музыка")) then
         playnow();
      end
      if (string.find(str, "стоп")) then
         stopsound();
      end
    end
    
    function onsoundplay(channel, note, len, label)
      if (note=="c") then
          n=1
      elseif (note=="d") then
          n=2
      elseif (note=="e") then
          n=3
      elseif (note=="f") then
          n=4
      elseif (note=="g") then
          n=5
      elseif (note=="a") then
          n=6
      elseif (note=="b") then
          n=7
      elseif (note == "x") then
          n=8
      else 
          n = -1
      end
      h.glownow(n, 1, 100, 100, 100);
      h.jump(n, -1,0.2);
    end
    
    
    

    модификация 3 скрипта светомузыки
    отличие от стандартного: настройками можно установить свое слово для запуска скрипта, можно установить запуск ритма на вход посетителя, можно установить разноцветное свечение (случайные цвета), можно задать цвет для одноцветного свечения.
    * часть объектов не имеют цвета свечения
    настройки:
    [​IMG]
    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    
    [maqaah4raab+bk3aisxvgggnoghdmo4k8y/sg9b6lkwbpekcbauve5ntbhqe+qrutpy0wsbjzz4wlxtehzu/wqrjb+ah24useo1p5pvhomv6f1klpac5lq6kzznkqw3qnlqkgzzuw9tm/t3qvzcl0ekj+myjdl44s4hjue+xhftpp9htrea+dkuaszcmq87isxdxlsr2vchpowkddxanfqrggkdvi7dp4rz3diwj81s2bhfrxsakj2hnzg67/tyxeqpdbwot3f2bxjqqmeolfheh3/dwh/b8ukul/e22q4b4etb3z9ipmtgrlhm3dazy8ak2mcspalpxnnirr/hitpkrv0iq0cjaqmru/dhqszzxi7d2v8sgzh+h3ifrcwgvpthilgvr0pql8ih6hm2x91lirbf/epjm/uwh6yclkwa6d9qslgtybxe3l40cda06yrtyjpgx/xvzjlhjttyreawwods888uilq6jaqazpcblwdg8je7rb3geeg0l/u3hpfj+hmbmvzy9buuh+0b5kmmuzn/aa2yn3x/yepk9ukwzafzlgi0bifeqw5nqtlwp+qsgxec16/uiv9jk483v/rqkcmhgmzg5saulmkoxkyrkijuks5j9e9yhwyhfblxcsrmwkphcadzosbsivzadi0gsc2yu06yr4pc0ongy4evf/7isghavo80kki8o/c3kpsgw5ldchsbaf+wy9/73d25btsk8ovkfbegrpbpdba7zhfaljf16wajd7295kicdqdsg+r8nc8c1cew/knbvkvccw2fjlb2elb772rolmjtkn+bikfdqayrxtxzvdftdencprgeakh0cjoun1fcoet2uoqpjqal6ekilywnwxetjg+mfzmodgu/r/gaa6ohchuhthp7++mnz8rlsk9pgtrhylpw5nfkbwx/pzqqosflil1hlftwtb/u5zi7e4+gpmpnahiwsjrqbc4u8fvvn51ev4twfvao2zevjqamxo3tpou7c+nbmihifvjxcbibu3qgbj9y6yxelbrk9bn/yeybxoph6hhi5elgsrtcshqvq22k0odwjb4vch3lxluj2ikiatry3dpwdm1uovs6cz1dpllnbooal8ydbkq12kl3vnkqxexvkyunokcrzlqn562a7oczucwouzqyzesur05qgohavjvnuqtawzscekujcig66ahf3mhxm7a0+7atvtqevy/jsvncs56qfglqc+tiheidyylqxzs7dni+c0mcd59ugpvbtjv1py1tm9y36j1ox0ywhlj172xpdqactv2w3los2ok0u0yjdjnsq5g8wr1o+g8q8pssyhpvgykmf0i+w4/jqag/e6yvubpjnnotm9e8kxdlouumptwdrq4nuqiv90vk2oosvlkkewio4khztjamqs0lktrqkbhim06psjc1o2jhy]
    
    
    код скрипта:
    Code:
    
    function oninit()
        h.setoutletcount(7);
        h.setsensor(30, 40);
        h.enablesoundcallback(1);
        start= "огонь";
         onenter="1";
         random="1";
    end
    
    function playnow()
        h.setpercussion(1, h.percussion.kick);
        h.setpercussion(2, h.percussion.snare);
        h.setpercussion(3, h.percussion.hihatclose);
        h.setpercussion(4, h.percussion.hihatopen);
        h.setpercussion(5, h.percussion.fx5);
        h.setpercussion(6, h.percussion.fx14);
        h.setpercussion(7, h.percussion.fx18);
        h.setpercussion(0, h.percussion.fx11);
        h.playsound(1, "t150 x_rrx_r_x_xrx_rrx_ r_x_xrx_rrrrx_rrx_rrrrx");
        h.playsound(2, "t150 rrx_r rrx_r rrx_r rrx_r rrx__x rrx_r rrx__x rrx_r ");
        h.playsound(3, "t150 x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x"); -- hit close
        h.playsound(4, "t150 rrrrrr_xr rrrr _xr_xr rrrr rrr_x");
        h.playsound(5, "t150 _xrrrrrr_x_xrrrrr_x_rxrrrrrrr_x");
        h.playsound(6, "t150 r_xrrrr_xrr_xrrrrr_xrrrrrrrrrx");
        h.playsound(7, "t150 rrr_x_xrrrrrr_x_xrrrrx_rrrrrrrrrr_x");
        h.playsound(0, "t150 rrrrrrrrrrrrrrrrx");
    end
    
    function onusersay(str)
      if (string.find(str, start)) then
         playnow()
      end
    end
    
    function onuserentered(desc)
    if ( onenter=="1") then
       playnow()
     end
    end
    
    function onsoundplay(channel, note, len, label)
        if (note == 'x') then
            if  (random == "1") then
                r=math.random(0,255)
                g=math.random(0,255)
                b=math.random(0,255)
             else
                r=0
                g=125
                b=255
            end
            h.glownow( h.outlet.outlet0+channel,0.1, r,g,b);
        end
    end
    

    3. зум объектов
    скрипт изменяет размеры назначенных на аутлеты объектов. рассчитан на 16 объектов. коэффициент масштаба каждого аутлета изменяется через настройки. коэффициенты от 0.1 до 2 (разделитель дробной части - точка). запускается сразу по появлению персонажа в доме и действует оооочень долго
    * не все объекты умеют изменять размеры
    настройки:
    [​IMG]
    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    
    [yaiaaaahaabgay1gqaurabjldozzqs8g0hf+mmrne3qckflx/7vi2hgzovpkurv1cd97tnvhhjh4vri42rpwrd4krz/6/dxwduqtsduv+f3bduoz4iwxukjn4xlezqlfzehrz10hj7alvuiborp22xrlgv/v4k+uyklp6kvm5hqbqaxl7dlvvxls3qy6z7bxyjtpmuffiypq/oh6ydliwlkcai7biabpkwqydh7oyxoht7xfg8aozumosdudh/umpqdpmocx4id0sqlruizpsrejx4vaad7jjwnwu8s9dzq4/rcxgl2khnbdccrxuiewtd7zzca/uayjrik9tiwywn9hy8jokycw+h2nptssu/leplsnhdcurky56qapzc0/xdjxb1dgepfninvpvt/ebotustgodbc7fpqz//9fqjxnem9jlmwj+h6d7vsvmnnndfm3gwpemlfo0g5icym+tonr23j+zdqjtv2h2d+fffupx3vjnl9gjomriv1pfpc6h3sy3+j+dzm7oewft6axbyiqefxd/pbrbx4zyej5jsa5g1fdiwrolge5nkljb2xho63biluisxm01oiofpz+zbzgyaww6xikrbcljzqsdqqduqbodm499jck/rlowaorjv5zxodycx4bxvcs2vi1a6jw1hj/lzubljvcxbswwrixok96p23amluzh/zd6hjh5o9vy7m0yaq3hhqkcxmantne0yy8c1tvora1yh8f92obrlrtl9hjuc6skrucqwz0ourfubfu83nlhgjqu27tbch8ugflsvw7dpzd/yry1sfnxcr5nltztq==]
    
    
    код скрипта:
    Code:
    zoom = {0.5,2, 1.5, 0.5, 2, 1.5, 0.5, 2, 1.5, 2, 2, 2, 2, 2, 2, 2  };
    
    function oninit()
       h.setoutletcount(16);
       playnow()
    end
    
    function playnow()
       m=""
       for i=1, 200 do
          m=m.."r r r r r r r r r r r r "
       end
       h.playsound(0, "t1 r[1] "..m);
       for i=1,16  do
          h.scale(i,1,2000,zoom[i] )
       end
    end
    
    4. свечение объектов
    скрипт подсвечивания объектов. рассчитан на 16 объектов. запускается сразу по появлению персонажа в доме и действует оооочень долго
    * не все объекты умеют светится
    код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек)
    Code:
    
    [0aeaaeieaaaueqvb6d2kmgoxxrmuxakemrpexat6yeknb7efqtuawcl7cmhm7fcnwty4ill0xv2jec/ovur5rhu79lbthzwtkwncr/hcfgr4ybhearsmfuuskx0zkyfg6syxj79mjczavlkjiph4qjchemzea+w2nxyr0zij8ciyhcnlgr6qc4zvks2zjhj1p+fdxke7dh811hkwwpo7s/l7l/sef+1z2z+wrhy28jr6kzmywhhfiso+6zfbln/fbog0v6is0w9017xuozkaxx72ocnxt9r8i8kniwasesvxjfeirg5vtctkkkbqo59azamlcww7rk7fmmwxkie6zcesyksaisi3tmcydh5vffr7nmxerdngzb11z/yccirbiqb2d3sogika/gyxejyf+xqtkmek0rryeiqxewd1dah/gcnbvcpow5p3b2ybqhi3awrbrioaz3l25eag4f+mug0jxfmunmgdk3lda75/+xkalgkrggc/h39v2gq2edfh1/k/gtujkvp3upn4lo+mjyxwvkx0pw9cvqcpcnt8ysclea2vnub72rks2p7x6mvtd5wwmdwy2bgs7cneetqdxbt8kuz6lobnhjt+xxvwba69esg7johe0g==]
    
    
    код скрипта:
    Code:
    function oninit()
        h.setoutletcount(16);
       playnow()
    end
    
    function playnow()
    m=""
    for i=1, 200 do
    m=m.."r r r r r r r r r r r r "
    end
    h.playsound(0, "t1 r[1] "..m);
    for i=1,16  do
    h.glow(i,1,8000,255,255,255)
    end
    end
    
     
    Last edited by a moderator: Jul 6, 2012
    ZeeKa, Leenali, KingKazma and 4 others like this.
  4. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    мелодии

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

    1. мелодия из модификаций скрипта

    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b  b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b o5 c o4 e a b o5 c g2r  o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2# f# o4 f# a e d#2 r o5 e  f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d e2 g2  d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a a2 b g o4 g b g  o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b o4 b g o5 a b2 o6 d2  o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2 b2 b d f# d o4 d1 o5 e  f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5 o6 c o5 e b e a2 g2 b  o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2 b2 o6 e o4 g b g o6 d  o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6 d2. o5 b o4 d b g f2# o5  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 r o5 g a2 g a o4 d2 o5  f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f# g2 b2 f# b o5 d o4 b o5  f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2 o3 b b o4 c g o5 e o3 b  o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5 c# o4 c# c2# f2# o3 b o4  f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b2 o5 e o4 e  g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a2 b g  o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g o3 e2 o5 e f# g f# e2 f2#  d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r b r2 r  e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r b r2 r a r2 r o5 e2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 b2 r2 r r2 r o5 c  r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3 e r2 r o3 r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r g r2 r  e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r b r2 r a r2 r o4 c2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 g2 r2 r r2 r o4 g  r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e r2 r o3 r2 r2");
    end
    

    2. рождественская
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.piano);
    h.playsound(1, "v15l8o5[1]dbagd4.d16d16dbage4.e16e16eo6co5baf#4o6d16d16edco5ab8d4.ddbagd2ddbage4.eeo6co5bao6dddd16d16edco5ag4o6d4o5.bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co5bbb16b16baaga4o6d4o5bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co5bbb16b16o6ddco5ag2");
    
    h.setinstrument(2, h.instrument.piano);
    h.playsound(2, "v13l8o3gbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3df#df#df#df#gbdbgbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3gbgbdaf#ag2gbgbgbgbgbgo4co3gbgbgo4co3go4co3gbgbao4c#o3ao4c#o3df#df#gbgbgbgbgbgo4co3gbgbgo4co3go4co3gbgbdf#df#g2");
    
    h.setinstrument(3, h.instrument.piano);
    h.playsound(3, "v13l8o4rdrdrdrdrdrdrererereo3rarararao4rdrdrdrdrdrdrdrdrererererdrdrcrco3b2o4rdrdrdrdrdrerdrdrererdrdrereo3rarao4rdrdrdrdrdrerdrdrererdrdo3rarab2");
    end
    

    3. гаммы
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1,h.instrument.piano);
    h.setinstrument(2,h.instrument.ebass);
    h.setinstrument(3,h.instrument.piano);
    
    h.playsound(1,"t150 o3 v7 l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged    ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b  l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged    ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b  v5l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged   ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged   ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b l8a<cfga<cfga<cfga<cfgagfc>agfc>agfc>agfc   >b<dgab<dgab<dgab<dgabagd>bagd>bagd>bagd  >a-<ce-ga-<ce-ga-<ce-ga-<ce-ga-ge-c>a-ge-c>a-ge-c>a-ge-c> b-<dfab-<dfab-<dfab-<dfab-afd>b-afd>b-afd>b-afd l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged");
    
    h.playsound(2,"t150 o3 v7 l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged    ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b  l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged    ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b  v5 l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged   ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged   ab<ceab<ceab<ceab<ceaec>baec>baec>baec>b l8a<cfga<cfga<cfga<cfgagfc>agfc>agfc>agfc   >b<dgab<dgab<dgab<dgabagd>bagd>bagd>bagd  >a-<ce-ga-<ce-ga-<ce-ga-<ce-ga-ge-c>a-ge-c>a-ge-c>a-ge-c> b-<dfab-<dfab-<dfab-<dfab-afd>b-afd>b-afd>b-afd l8cdeg<cdeg<cdeg<cdeg<c>gedc>gedc>gedc>ged");
    
    h.playsound(3,"t150 o5 v10 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr c1&c1>b1<d1c1&c1 rrrr rrrr c1&c1>b1<d1dec1&c1 rrrr rr>a1&a1g1a1b1&b2<c2d1g1 f2e-dc1&c1 rrrr g2fe-d1&d1");
    
    end
    

    4. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.playsound(1,"t80 o5 v10 rrrr rrrr a1 b1 ebba8g8 f8+g8 a&a8r16 g32a32g8f8+ f8+r16g32f32+e2&e rrrr ebbb8<c8+ d8e16d32e32d8c8+>ba8g8 a8b16a32b32a2&a rrab g8f8+g2&g rrga b&b8g8a2 g&g8f16+g32f32+e&e8d8 b&b8b32<c32>b16a8g8f+ e&e2 f32+e16d8 t110 e2rr rrrr rrrr");
    
    h.playsound(2,"t80 o4 v10 l8 eb<f+g<d>f+g<d>> eb<f+g<d>f+g<d>> eb<f+g<d>f+g<d>> eb<f+g<e2>> eb<f+g<d>f+g<d>> eb<f+g<d>f+g<d>> cf+gb<c>f+gb cf+gb<c>f+gb eb<f+g<d>f+g<d>> ef+g<df16+e16d>gd> f<cfa<efef>> f<cfa<efef>> eb<f+g<d>f+g<d>> e<f+g<df16+e16d>gd> g<dgd<d>a<d>a ef+gb>cege> g<dg<d> da<d>a cf+l4g2l8<d>a>");
    end
    

    5. ритм из оригинального скрипта светомузыки
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setpercussion(1, h.percussion.kick);
    h.setpercussion(2, h.percussion.snare);
    h.setpercussion(3, h.percussion.hihatclose);
    h.setpercussion(4, h.percussion.hihatopen);
    h.setpercussion(5, h.percussion.fx5);
    h.setpercussion(6, h.percussion.fx14);
    h.setpercussion(7, h.percussion.fx18);
    h.setpercussion(0, h.percussion.fx11);
    h.playsound(1, "t150 x_rrx_r_x_xrx_rrx_ r_x_xrx_rrrrx_rrx_rrrrx");
    h.playsound(2, "t150 rrx_r rrx_r rrx_r rrx_r rrx__x rrx_r rrx__x rrx_r ");
    h.playsound(3, "t150 x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x"); -- hit close
    h.playsound(4, "t150 rrrrrr_xr rrrr _xr_xr rrrr rrr_x");
    h.playsound(5, "t150 _xrrrrrr_x_xrrrrr_x_rxrrrrrrr_x");
    h.playsound(6, "t150 r_xrrrr_xrr_xrrrrr_xrrrrrrrrrx");
    h.playsound(7, "t150 rrr_x_xrrrrrr_x_xrrrrx_rrrrrrrrrr_x");
    h.playsound(0, "t150 rrrrrrrrrrrrrrrrx");
    end
    

    6. веселая мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.piano);
    h.playsound(1, "t120 v10 o5 g4 f8# g8 r8 g8 f8# g8 e4 d8# e8 r8 e8 d8# e8 c4 e4 g4 o6c4 o5b4 a8 a2 r8 a4 g8# a8 r8 a8 g8# a8 f4 e8 f8 r8f8 e8 f8 d4 f4 a4 o6c4 d8 c4 o5b2 r8 g4 f8# g8 r8 g8 f8# g8 e4 d8# e8 r8 e8 d8# e8 c4 e4 g4 c4 a2 r8 a8 b8 o6c8 d4 c4 o5b4 a4 g4 g8 o6c2 r8 o5b2 a4 b4 o6c0 r");
    
    h.setinstrument(2, h.instrument.piano);
    h.playsound(2, "t120 v10 o5 e4 d8# e8 r8 r8 r8 r8 c4 o4b8 o5c8 r8 r8 r8 r8 r4 r4 r4 r4 g4 f8 f2 r8 f4 e8 f8 r8 r8 r8 r8 d4 c8# d8 r8 r8 r8 r8 r4 r4 r4 r4 b8 a4 g2 r8 e4 d8# e8 r8 r8 r8 r8 c4 o4b8 o5c8 r8 r8 r8 r8 r4 r4 r4 r4 f2# r8 r8 r8 r8 b4 a4 g4 f4# e4 r8 e2 r8 f2% f4# f4# g0 r");
    
    h.setinstrument(3, h.instrument.piano);
    h.playsound(3, "t120 v10 o4 c8 g8 e8 g8 c8 g8 e8 g8 c8 g8 e8 g8 c8 g8 e8 g8 c8 g8 e8 g8 e8 o5c8 o4g8 o5c8 o4f8 o5c8 o4b8 o5c8 o4f8 o5c8 o4b8 o5c8 o4d8 a8 f8 a8 d8 a8 f8 a8 c8# a8 f8 a8 c8 a8 f8 a8 c8# a8 f8 a8 c8 a8 f8 a8 o3b8 o4d4 g4 r8 o4b4 c8 g8 e8 g8 c8 g8 e8 g8 c8 g8 e8 g8 c8 g8 e8 g8 c8 b8- e8 b8- c8 b8- e8 b8- f8 o5c8 o4a8 o5c8 o4f8 o5c8 o4a8 o5c8 o4d8 a8 f8 a8 d8 a8 f8 a8 c8 g8 e8 g8 c8 g8 e8 g8 d2 g4 o3g4 o4c0 r");
    
    h.setinstrument(4, h.instrument.ebass);
    h.playsound(4, "t120 v5 o5 g4 f8# g8 r8 g8 f8# g8 e4 d8# e8 r8 e8 d8# e8 c4 e4 g4 o6c4 o5b4 a8 a2 r8 a4 g8# a8 r8 a8 g8# a8 f4 e8 f8 r8f8 e8 f8 d4 f4 a4 o6c4 d8 c4 o5b2 r8 g4 f8# g8 r8 g8 f8# g8 e4 d8# e8 r8 e8 d8# e8 c4 e4 g4 c4 a2 r8 a8 b8 o6c8 d4 c4 o5b4 a4 g4 g8 o6c2 r8 o5b2 a4 b4 o6c0 r");
    
    h.setinstrument(5, h.instrument.ebass);
    h.playsound(5, "t120 v5 o5 e4 d8# e8 r8 r8 r8 r8 c4 o4b8 o5c8 r8 r8 r8 r8 r4 r4 r4 r4 g4 f8 f2 r8 f4 e8 f8 r8 r8 r8 r8 d4 c8# d8 r8 r8 r8 r8 r4 r4 r4 r4 b8 a4 g2 r8 e4 d8# e8 r8 r8 r8 r8 c4 o4b8 o5c8 r8 r8 r8 r8 r4 r4 r4 r4 f2# r8 r8 r8 r8 b4 a4 g4 f4# e4 r8 e2 r8 f2% f4# f4# g0 r");
    
    h.setpercussion(6, h.percussion.tambourine);
    h.playsound(6, "t120 v5 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x_ x8 x"); 
    end
    

    7. еще веселая мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1,
    h.instrument.piano);
    h.setinstrument(2,
    h.instrument.piano);
    h.setinstrument(3,
    h.instrument.piano); 
    h.playsound(1,"t134 o6 v10 l8 d >a< d l4 a g f8+ e8 l4 c+ rrr8 l8 c+ > a < c+ l4 f+ e l8 c+ d l4 f+ rrr8 o6 v10 l8 d >a< d l4 a g f8+ e8 l4 c+ rrr8 l8 c+ > a < c+ l4 f+ e l8 c+ d2 rrrr  l4 f2+ a2 l8 g a g f+ l4e2 c2+ e2  l8f+ g f+ e l4d2 l4 f2+ a2 l8g f+ g a l4b2 a g8 f8+ g2 l8 f+ g f+ e l4d2");
    h.playsound(2,"t134 o4 v8 l8 f+af+af+af+agagagagagagagaga f+ab<c+dc+>ba f+af+af+af+agagagagagagagaga f+af+af+af+a f+af+af+af+agagagagagagagaga f+af+af+af+af+af+af+af+a b<e>b<e>b<e>b<e>gagagaga f+af+af+af+a");
    h.playsound(3,"t134 o4 v8 l8 drdrdrdr erererer erererer drdrdrdr drdrdrdr erererer erererer drdrdrdr drdrdrdr erererer erererer drdrdrdr drdrdrdr grergrer erererer drdrdrdr");
    h.setpercussion(4, h.percussion.tambourine);
    h.playsound(4, "t134 l8xrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxr");
    end
    

    8. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1,h.instrument.piano);
    h.setinstrument(2,h.instrument.ebass);
    h.setinstrument(3,h.instrument.abass);
    h.setinstrument(4,h.instrument.aguitar);
    h.playsound(1,"t84 o6 v10 rrab l8 <c>bgel4a&a8l8a gecdl4ed l8>b<cegl4b<c>g2&gb l8<c>bgel4a&a8l8a gecdl4ed l8>b<cegbaga l4a2 ab l8 <c>bgel4a&a8l8a gecdl4ed l8>b<cegl4b<c>g2&gb l8<c>bgel4a&a8l8a gecdl4ed l8>b<cegbaga l4a2&a&a8<e8 e2dc >b2<cd >b2&b g e2&eg f2ga b2<cd >b2&b2 rrrr <e2dc >b2<cd e2dc >bab<c e2dc >bag+a b2&b2");
    h.playsound(2,"t84 o4 v8 rrrr a8<e8bf8c8g l8>e<c>g<g>c<c>b<b l8>a<gl4bl8dal4<d l8>>g<da<c>l4b2> a8<e8bf8c8g l8>e<c>g<g>c<c>b<b l8>a<gl4bl8>d<d>e<e >a<eb<dc2+ l4c2c2 >bagg+ a2a2 <c2>b2 <c2c2 >bagg+ a2a2 <d2c2+ c2ba g2ab g2&ge c>b<ce d2ef g2ab gede >b-<cl8defg l4<c2>ba g2ab <c2>bae2l8edeg l4e2e2 f2+f2+ f2f2 v10 g2+ab");
    h.playsound(3,"t84 o4 v7 rrrr l8arrafrrf ergr<c>rbr arradrrd grrdgrrr arrafrrf ergrcrbr arradrer l4a8r8rrr <g2a2 dfe2 e2e2 d2d2 g2a2 dfe2 e2e2 e2e2 l8aaraaara ggrgggrg ggrgggrg eereeere ffrfffrf ddrdddrd eereeere eereeere  aaraaara ggrgggrg aaraaara aaraaara aaraaara aaraaara aaraaara  g2+g2+");
    h.playsound(4,"t84 o4 v7 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr a2f2 eg<c>b a2d2 g2g2 a2f2 eg<c>b a2de a2a2 l8ffrfffrf ffrfffrf eereeere aaraaara ddrdddrd ggrgggrg ccrcccrc ccrcccrc ffrfffrf ffrfffrf f+f+rf+f+f+rf+ f+f+rf+f+f+rf+ ddrdddrd d+d+rd+d+d+rd+ eereeere e2e2");
    h.setpercussion(5, h.percussion.triangle);
    h.playsound(5, "t84 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr xrxxrr8 xrxxrr8 xrxxrr8 xrxxrr8 xrxxrr8 xrxxrr8 xrxxrr8 xrxxrr8 ");
    
    h.setpercussion(6, h.percussion.hihatclose);
    h.playsound(6, "t84 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx xxr8xr8xxx ");
    
    h.setpercussion(7, h.percussion.tanbourine);
    h.playsound(7, "t84 rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rrrr rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8 rxrr8xr8");
    end
    

    9. короткий проигрыш
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(3, h.instrument.piano);
    h.setinstrument(4, h.instrument.piano);
    h.playsound(1,"v8 l16 o7ccccro6b-ro7dro6c1&c1");
    h.playsound(2,"v5 l16 o6gf#f#-erdrf#re1&e1");
    h.playsound(3,"v5 l16 o5gf#ferdrf#re1&e1");
    h.playsound(4,"v3 l16 ccccro3b-ro4drc1&c1");
    end
    

    10. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.playsound(1,
    "t115v15o5l2r1r1r2f#edc#>bab<c#4l8def2#egf32#g32f16#ed4.e16d16c#f#abgf32#g32f16#egf#ed32e32d16>abag<dl32c#dc#dc#dc#dc#dc#dc#dc#dt200>l4drg8f8#r>ar<e8f8#r>b<rl8c#rdr>f4#r4erf#rg4r4.b<cc#d4r4gf#ed>g4r4b<c#dc#>a4r4.<<<c4.#>f1#e2r2d2rdedc2#>a4ddb2.l4a8g8a<d>f2#b2ba8g8<l8c2.#del4f2#r8g4.e2.rd2r8ed8c#f#arbagbagf#abagb<c4#>r1r1r2a4l8f#ga4f#ga>ab<c#def#gf4#def4#>f#gabaga<dc#d>g4bag4f#ef#edef#gbag4bab4<c#d>ab<c#def#gaf4#def4#edec#def#edc#d4>b<c#d4>f#gabaga<dc#d>b4<dc#>b4agagf#gab<c#d>b4<dc#d4c#>b<c#dedc#d>b<c#d1");
    h.setinstrument(2, h.instrument.eabass); h.playsound(2,"t115v10l1r2r1r1r8r16r32r64rrrrrrrro2d>t200ab<f#>l8g4gggggg<d4dddddd>g4gggggga4aaaaaa<dddddddd>aaaaaaaabbbbbbbbf#f#f#f#f#f#f#f#gggggggg<ddddddddggggggggaaaaaaaa<dddddddd>aaaaaaaabbbbbbbb>f#f#f#f#f#f#f#f#gggggggg<dddddddd>ggggggggaaaaaaaa>dddddddd16r1");
    h.playsound(3, "r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1r1");
    end
    

    11. happy birthday
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.piano);
    h.playsound(1, "t500 o5 g8 r16 g16 a4 g4 o6 c4 o5 b2 g8 r16 g16 a4 g4 o6 d4 c2 o5 g8 r16 g16 o6 g4 e4 c4 o5 b4 a1 o6 f8 r16 f16 e4 c4 d4 c1 r "); 
    end
    

    12. ритм
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setpercussion(1, h.percussion.hihatopen);
    h.playsound(1, "t150 v10 r4 r4 r4 r4 x4 x4 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x4 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x4 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x4 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8 r8 r8 r8 x16 r16 r16 r16 x16 r16 r16 r16 x4 x8 x16 r16 x16 r16 x8 x16 r16 x8 x8 x8 x16 r16 x16 r16 x8 x8 x16 r16 x8 x8 x8 x16 r16 x16 r16 x8 x8 x16 r16 x8 x8 x8 x16 r16 x16 r16 x8 x8 x16 r16 x4 x8 x16 r16 x16 r16 x8 x8 x16 r16 x8 x8 x8 x16 r16 x16 r16 x8 x8 x16 r16 x8 x8 x8 x16 r16 x16 r16 x8 x8 x16 r16 ");
    
    h.setpercussion(2, h.percussion.snare);
    h.playsound(2, "t150 v10 r4 r4 r4 r4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r4 x4 r8 x16 x16 x16 x16 x16 x16 r16 x16 x16 x16 r16 x16 x16 x16 r4 x8 r16 x16 r16 x16 r8 x8 r16 x16 r8 r8 x8 r16 x16 r16 x16 r8 x8 r16 x16 r8 r8 x8 r16 x16 r16 x16 r8 x8 r16 x16 r8 r8 x8 r16 x16 r16 x16 r8 x8 r16 x16 r4 x8 r16 x16 r16 x16 r8 x8 r16 x16 r8 r8 x8 r16 x16 r16 x16 r8 x8 r16 x16 r8 r8 x8 r16 x16 r16 x16 r8 x8 r16 x16")
    
    h.setpercussion(3, h.percussion.kick);
    h.playsound(3, "t150 v10 r4 r4 x4 x4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x8 x8 r4 x4 r4 x4 x4 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 x8. x16 r4 x8. x16 r8 x8 ")
    end
    

    13. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    
    h.setinstrument(1, h.instrument.piano);
    h.playsound(1, "t110 v10 o5g4- o5g8+ o5a8 o6e8o6c4+ o6c8+ o5b16 o6c16+ o6c2.+o5b8 o6c8+ o6e8 o5a8 o5g8+ o5a8o5g4+ o5g8+ o5g8- o5c2.+ r8 o5g4- o5g8+ o5a8 o6e8o6c4+ o6c8+ o5b16 o6c16+ o6c2.+ o5b8 o6c8+ o6e8 o6c8+ o6e8 o6a8o6g8.+ o6g8.-o6c4.+ r8 o5b8o6c4+ o6e4 o6g4- o6g4+o6c4+ o6c8+ o5b16 o6c16+ o6c2.+ o5b8 o6c8+ o6e8 o5a8 o5g8+ o5a8o5g+ o5g8+ o5g8- o5c2.+r8 o5g4- o5g8+ o5a8 o6e8o6c4+ o6c8+ o5b16 o6c16+ o6c2.+ o5b8 o6c8+ o6e8 o6c8+ o6e8 o6a8o6g1+o6a2. o6a4o6b2. r8 o6a8 o6a2 o6c2+ ");
    
    h.setinstrument(2, h.instrument.piano);
    h.playsound(2, "t110 v7 r4 r8 r8 r8 o5g4- o5c8+ o4b16 o5c16+ o5c2.+o4b8 o5c8+ o5e8 o4a8 o4g8+ o4a8o4c4+ o4g8+ o4g8- o4c2.+ r8 o4g4- o4g8+ o4a8 o5e8o5g4- o5c8+ o4b16 o5c16+ o5c2.+o4b8 o5c8+ o5e8 o5c8+ o5e8 o5a8o5c8.+ o5c8.+ o4a4. r8 o4b8 o4a4 o4a4 o5c4+ o5c4+ o5g4- o5c8+ o5b16 o5c16+ o5c2.+ o4b8 o6c8+ o5e8 o4a8 o4g8+ o4a8 o4c4+ o4g8+ o4g8- o4c2.+ r8 o4a4 o4g8+ o4a8 o5e8 o5g4- o5c8+ o4b16 o5c16+ o5c2.+ o4b8 o5c8+ o5e8 o5c8+ o5e8 o5a8 o5e1 o5c2.+ o5c4+ o5b2. r8 o5a8 o5c2+ o6g2- ");
    
    h.setinstrument(3, h.instrument.piano);
    h.playsound(3, "t110 v8 r4 r8 r8 r8o4d8 o4a8 o5d8 o5g4- o4a8 o5d8 o5g8-o4e8 o4b8 o5e8 o5g4+ o4b8 o5e4o4g8- o4a8 o5c8+ o5g- o4a8 o5c8+ o5g8-o4g8- o5c8+ o5g8- o5a8 o5g8+ o5g8- o5c4+o4d8 o4a8 o5d8 o5g4- o4a8 o5d8 o5g8-o4e8 o4b8 o5e8 o5g4+ o4b8 o5e4o4g8- o5c8+ o5g8- o5a4 o5c8+ o5g8- o5a8o4g8- o5c8+ o5g8- o5g8+ o5a8 o6c8+ o6g8- o4c8+o4d8 o4a8 o5d8 o5g4- o4a8 o5d8 o5g8-o4e8 o4b8 o5e8 o5g4+ o4b8 o5e4o4g8- o4a8 o5c8+ o5g- o4a8 o5c8+ o5g8-o4g8- o5c8+ o5g8- o5a8 o5g8+ o5g8- o5c4+o4d8 o4a8 o5d8 o5g4- o4a8 o5d8 o5g8-o4e8 o4b8 o5e8 o5g4+ o4b8 o5e4o4g8- o5c8+ o5g8- o5a4 o5c8+ o5g8- o5a8o4g8- o5c8+ o5g8- o5g8+ o5a8 o6c8+ o5d8 o5e8o4g8- o5c8+ o5g8- o5b4 o5c8+ o5g8- o6g8-o3g8- o5c8+ o5g8- o5b8 o5g2-");
    end
    

    14. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    
    h.playsound(1, "t90 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4 o3f8 o4c8 o4e4-o3d8- o3a8- o4c4 o3e8- o3b8- o4d4- o3a8- o4e8- o4g4");
    
    h.setinstrument(2, h.instrument.piano);
    h.playsound(2, "t90 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 o5f4 o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5e4- o6c16 o5b16- o5a8- o5e8- o6e8- o5b4-o5f4 o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5e4- o6c16 o5b16- o5a8- o5e2-");
    
    h.setinstrument(3, h.instrument.piano);
    h.playsound(3, "t90 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 r4 o5b4- o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5b4- o6c16 o5b16- o5a8- o5a8- o6e8- o5b4- o5b4- o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5b4- o6c16 o5b16- o5a8- o5a2-o5b4- o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5b4- o6c16 o5b16- o5a8- o5a8- o6e8- o5b4- o5b4- o6c16 o5b16- o5a8- o5b8- o5e8- o6c16 o5b16- o5a8- o5b4- o6c16 o5b16- o5a8- o5a2-");
    
    end
    

    15. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    
    h.setinstrument(1,h.instrument.aguitar);
    h.playsound(1,"l32t225v0av15&a&a&a&a&a&a&a&a&a&a&a&a&a&a&at155v15r2.r8l32dfa<dl8.ddc8ddc8ddc8d4f4ddc8ddc8l4>a<cdeg8a8l16dcdcg8a8dcdcg8a8dcdcf8e32fe32d8c8g8a8dcdcg8a8dcdcg8a8<c8f8efedc8>a8g8a8dcdcg8a8dcdcg8a8dcdcf8e32fe32d8c8aga<cdc>agl8dfgad.d.cd2d.d.cdffgd.d.cdc>a<cd.d.cdfgaa4ga16g16f4d4d.d.cdffgd.d.cdc>a<cd.d.cdfgaa4gl16agl4fdfedcc8l16dcl8>aga2a<cl4dgefe8c8d2fedcc8l16dcl8>aga4a<cdd4df4g4e2.dfg.g.aa4.a<cd>aga4dfg.g.aa4.aa+agff4dfg.g.aa4.f<cd>aga4dfa+4a4g4f4gfga<d2ddddddd16c16>aggggggg16f16dddddddl16dc>a8g8aga<cdfd32fa32<dfe8de>afda8afdafda8afda+gda+8a+gda+gda+8a+gda+fda+8a+fda+fda+8a+fdgecg8gecaeca8aecadfa<d>afdadfa<f32ed32c>aa+dga+<d>a+gda+dga+<g32fe32d>a+a+dfa+<fn70dfa+gd>a+a+gd>a+n46c+egc+ega+ega+n61l32aa+<cdefgal16a+.aa+.agaga.ga.gfgfg.fg.fefed2l8>dfgaa<ce32l16fe32dcf4l8gd2&d>dcfdgfagb+a<fcd2fl16d>a+fa+<dfg8ec>g<cegl8.aga8a2");
    h.setinstrument(2,h.instrument.aguitar);
    h.playsound(2,"l32t225r2v10r1l8.o2ddc8ddc8ddc8d4f4ddc8ddc8l4dfgal8n22fn22fcgcgdadadadan22fn22fcgcgdadadadan22fn22fcgcgdadadadan22fn22fcgcgd.d.fl4dddd8.l16d<d>d<d8l4>dddffdd8.l16d<d>d<d8l4>dddccdd8.l16d<d>d<d8l4>dddfedd8.l16d<d>d<d8l4>ddagf<dddd>ffffggaa<dddddddd>ffffg8gg8ggal8aa2&adadan22fn22fcgcgfb+fb+dadan22fn22fcgcgfb+fb+dadan22fn22fcgcgfb+fb+dadan22fn22fl4n22cddl2dn22cddn22l8cb+c<cn25d-n25d->dadadadae-n39e-n39e-n39e-n39n22fn22fn22fn22fcgcgd-a-d-a-d<d>d<d>d<d>d<dn27e-n27e-n27e-n27e-n22>b-n22");
    h.setinstrument(3,h.instrument.aguitar);
    h.playsound(3,"l32t225r2v10r2.r8r8l8.ddc8ddc8ddc8d4f4ddc8ddc8d4f4g4l1.rrrrrrrrrrrrrrrrrrrrrrrrrrrrr2r8l8o2b-n22b-n22b-cb+c<cn25d-n25d-o1b-4b-4<cb+cb+d<d>d<d>d<d>d<dn22>b-n22b-cb+cb+d<d>d<d>d<d>d<dn22>b-n22b-cb+cb+d<d>d<d>d<d>d<dn22>b-n22b-cb+cb+d4.dd2");
    
    end
    

    16. мелодия
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(4,h.instrument.aguitar)
    h.setinstrument(3,h.instrument.piano);
    h.setinstrument(5,h.instrument.ebass);
    
    h.playsound(1,"l8t73v6<<d+a+>d+f+a+>d+4.<c+g+>c+d+f4g+4<c-f+b>d+f+2<f+f+>c+ff+4g+4<g+b>d+f+b+d+ff+<d+a+>d+f+d+a+f+4<g+g+b>");
    
    h.playsound(2,"l8t73v6r1r1r1r1r1rr<<d+d+4f>+4o2a+<dfa+<dff+g+<d+a+>f+a+d+a+f+4<c+g+>c+d+f4g+4<c-f+b>d+f+2<f+f+>f+g+a+c+f+a+o2b<f+b<d+<c+g+>+f+f+a+fa+d+f+a+4g+g+b+d+<a+>dg+a+a+g+a+d+<a+>cd+f+a+<c-f+b><d+f+g>+a+d+o2a+c+fa+");
    
    h.playsound(3,"l8t73v15<a+g+f+ff+4g+4f2.rg+a+g+g+f+f+ff+g+a+2.ra+a+g+g+a+g+4.f+f4f+4d+4rf+g+f+f+g+f+g+f+d+f2.+a+g+f+ff+4.g+f2.rg+a+g+g+f+f+ff+c+<a+2.r>c+d+c+c+<a+g+4.>c+a+4g+4f+4.f+a+g+g+f+f4f4d+1d+<a+>d+<a+>d+4.d+c+<a+>c+<a+>c+4.r<bbg+d+fg+>d+rc+2<a+2>d+<a+>d+<a+>d+4.d+c+a+4ff+2g+a+ba+g+4f+4f2a+2");
    
    h.playsound(4,"l8t73v9<a+g+f+ff+4g+4f2.rg+a+g+g+f+f+ff+g+a+2.ra+a+g+g+a+g+4.f+f4f+4d+4rf+g+f+f+g+f+g+f+d+f2.+a+g+f+ff+4.g+f2.rg+a+g+g+f+f+ff+c+<a+2.r>c+d+c+c+<a+g+4.>c+a+4g+4f+4.f+a+g+g+f+f4f4d+1d+<a+>d+<a+>d+4.d+c+<a+>c+<a+>c+4.r<bbg+d+fg+>d+rc+2<a+2>d+<a+>d+<a+>d+4.d+c+a+4ff+2g+a+ba+g+4f+4f2a+2");
    
    h.playsound(5,"l1t73v4<<d+c+c-f+g+d+c-dd+c+c-f+l2c-c+f+4f4d+c-c+d+1<b1a+1>g+c+f+1<b1a+>d+g+1<a+1");
    
    end
    

    17. коротенький проигрыш
    Code:
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    
    h.setinstrument(1, h.instrument.piano); 
    h.playsound(1, "t90 o6 v100 g8 f8 e8 d4 c8 o5 b4 o6 c2");
    
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t90 o6 g8 f8 e8 d4 c8 o5 b4 o6 c2");
    
    h.setinstrument(3, h.instrument.aguitar);
    h.playsound(3, "t90 o6 d8 f8 e8 d4 c8 o5 b4 a2");
    
    h.setinstrument(4, h.instrument.aguitar);
    h.playsound(4, "t90 o6 c8 f8 e8 d4 c8 o5 b4 g2");
    
    h.setinstrument(5, h.instrument.abass);
    h.playsound(5, "t90 o4 c4 r o3 g4 r f4");
    
    h.setinstrument(6, h.instrument.piano);
    h.playsound(6, "t90 o4 c4 r o3 g4 r f4"); 
    end
    

    18. реквием по мечте (спасибо banana cake)
    Code:
    function playnow()
    h.playsound(0);
      
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(3, h.instrument.piano);
    h.setinstrument(4, h.instrument.piano);
    h.setinstrument(5, h.instrument.piano);
    h.setinstrument(6, h.instrument.piano);
    
    ni=4;
    me={};
    tp="t62";
    pr00="o5r1r1r1r1g1a2a2#g1f2d2#";
    pr01="o5g1a2a2#g1f2d2#g1a2a2#g1f2d2#";
    pr02="o6a8#g8r8a16#g16a16#g16ra16#g16a16#g16ra16#g16a16#  g16a16#g16a16#g16a16#g16a16#a16ra16#a16a16#a16ra16  #a16a16#a16ra16#a16a16#a16a16#a16a16#a16a16#a16";
    pr03="o6a16#a16#a16a16g8a16#a16#a16#a16#a16a16g8a16#a16#  a16#a16#a16a16g8g16g16g16a16a8a16a16#a8#a16#a16#a1  6a16g8a16#a16#a16#a16#a16a16g8a16#a16#a16#a16#a16a  16g8g16g16g16a16a8a16a16#a8#r1a2o7c2r1o6f2d2#";
    pr04="o6a8#g8r8a16#g16a16#g16ra16#g16a16#g16ra16#g16a16#  g16a16#g16a16#g16a16#g16";
    me[0]=tp..pr00..pr01..pr02..pr02..pr03..pr02..pr04;
    pr10="r1r1r1r1r1r1r1r1";
    pr11="ggggggggffffaaaf";
    pr12="ggggggggffff";
    me[1]="tp..pr10..pr11..pr11..pr11..pr11..pr11..pr11..pr11  ..pr12";
    pr20="o4a8#a8g8d8a8#a8g8d8a8#a8g8d8o5c8o4a8#a8d8";
    pr21="o4a8#a8g8d8a8#a8g8d8a#agd1";
    me[2]=tp;for i=1,19 do me[2]=me[2]..pr20;end me[2]=me[2]..pr21;
    pr30="g1d2#d2";
    pr31="g1";
    me[3]=tp.."o3";for i=1,19 do me[3]=me[3]..pr30;end me[3]=me[3]..pr31;
    me[4]=tp.."o2";for i=1,19 do me[4]=me[4]..pr30;end me[4]=me[4]..pr31;
    for i=0,ni do
    h.setinstrument(i,h.instrument.piano);
    end
    for i=0,ni do
    h.playsound(i,me[i]);
    end
    end
    

    19. амели (спасибо banana cake)
    Code:
    function playnow()
    h.playsound(0);
    h.alertall(1)
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(3, h.instrument.abass);
    h.setinstrument(4, h.instrument.abass);
    h.playsound(1, "t170  o5 r d d f# f#__ r r r c# c# d  d__ r r r c# c# f# f#__ r r r c# c#____ r r r o5 r d d f# f#__ r r r c# c# d  d__ r r r c# c# f# f#__ r r r c# c#____ r r r b____ f# r______ a____ f# r______ o6c#____ o5f# r______ o6c#____ o5e r______ o6d____ o5b r______ o6d____ o5a r______ o6c#____ o5a r______ o6c#____ o5a r______                                     f# o6f# o5b f# o6f# o5b f# g f# o6f# o5a f# o6f# o5a f# e c# o6c# o5f# c# o6c# o5f# c# d e o6e o5a o5e o6e o5a e d f# o6f# o5b f# o6f# o5b f# g f# o6f# o5a f# o6f# o5a f# e c# o6c# o5f# c# o6c# o5f# c# d e o6e o5a o5e o6e o5a e o6e o6 r d d f# f#__ r r        r c# c# d  d__ r r r c# c# f# f#__ r r r c# c#____ r r r o6 r d d f# f#__ r r r c# c# d  d__ r r r c# c# f# f#__ r r r c# c#____ r r r o6b____ f# r______ a____ f# r______ o7c#____ o6f# r______ o7c#____ o6e r______ o7d____ o6b r______ o7d____ o6a r______ o7c#____ o6a r______  o7c#____ o6a r______ f# o7f# o6b f# o7f# o6b f# g f# o7f# o6a f# o7f# o6a f# e c# o7c# o6f# c# o7c# o6f# c# d    e o7e o6a o6e o7e o6a e d f# o7f# o6b f# o7f# o6b f# g f# o7f# o6a f# o7f# o6a f# e c# o7c# o6f# c# o7c# o6f# c# d e o7e o6a o6e o7e o6a e o7e o6f#______");
    h.playsound(2, "t170  o5 r_ c# r g r r r r r d r e r r r r r o4b r o5g r r r r r o4b r r r r r r o5 r c# r g r r r r r d r e r r r r r o4b r o5g r r r r r o4b r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r_ o5f#____ d r______      f#____ d r______ f#____ o5c# r______ o5e____ c# r_______ b f# o6f# o5b f# o6f# o5b b a f# o6f# o5a f# o6f# o5a a f# o5c# o6c# o5f# c# o6c# o5f# f# a e o6e o5a e o6e o5a a b f# o6f# o5b f# o6f# o5b b a f# o6f# o5a f# o6f# o5a a  f# o5c# o6c# o5f# c# o6c# o5f# f# a e o6e o5a e o6e o5a r o6 r c# r g r r r r r d r e r r r r r o5b r o6g r r r r r o5b r r r r r r o6 r c# r g r r r r r d r e r r r r r o5b r o6g r r r r r o5b r r r r r r o6 r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r_ o6f#____ d r______ f#____ d r______ f#____ o6c# r______ o6e____ c# r_______ b f# o7f# o6b f# o7f# o6b b a f# o7f# o6a f# o7f# o6a a f# o6c# o7c# o6f# c# o7c# o6f# f# a e o7e o6a e o7e o6a a b f# o7f# o6b f# o7f# o6b b a f# o7f# o6a f# o7f# o6a a f# o6c# o7c# o6f# c# o7c# o6f# f# a e o7e o6a e o7e o6a o7d o6b______");
    h.playsound(3, "t170  o4      b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f#      a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f#  a f# a f# a f# a f# a e a e a e a e b f# b f# b f# b f# a f# a f# a f# a f# a f# a f# a f# a f# a e a e a e a e              b f# b f# b f# b f#      a f# a f# a f# a f#      a f# a f# a f# a f#    a e a e a e a e  b f# b f# b f# b f#      a f# a f# a f# a f#      a f# a f# a f# a f#    a e a e a e a e b f# b f# b f# b f#      a f# a f# a f# a f#      a f# a f# a f# a f#    a e a e a e a e o4b______ ");
    h.playsound(4, "t170 o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r  o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r o4d r o3b r o4d r o3a r o4d r o3a r o4d r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3a r o4c# r o3b r    o4f#______"); 
    
    end
    

    21. адель (спасибо banana cake)
    Code:
    function playnow()
    h.playsound(0);
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(3, h.instrument.piano);
    h.setinstrument(4, h.instrument.piano);
    h.playsound(0, "t250 o3 a o4 c# e c# o3 a o4 c# e c# o3 a o4 c# e c# o3 a o4 c# e c# o3 g# o4 c# e c# o3 g# o4 c# e c# o3 g# o4 c# e c# o3 g# o4 c# e c# o3 f# o4 c# f# c# o3 f# o4 c# f# c# o3 f# o4 c# f# c# o3 f# o4 c# f# c# o3 a o4 d f# d o3 a o4 d f# d o3 a o4 d f# d o3 a o4 d f# d o4 a o5 c# a c# o4 a o5 c# a c# o4 g# b o5 g# o4 b o4 g# b o5 g# o4 b o4 a o5 c# f# c# o4 a o5 c# f# c# o3 a o4 d f# d o3 a o4 d f# d o4 a o5 c# a c# o4 a o5 c# a c# o4 g# b o5 g# o4 b o4 g# b o5 g# o4 b o4 a o5 c# f# c# o4 a o5 c# f# c# o3 a o4 d f# d o3 a o4 d f# d o4 a o5 c# a c# o4 a o5 c# a c# o4 g# b o5 g# o4 b o4 g# b o5 g# o4 b o4 a o5 c# f# c# o4 a o5 c# f# c# o3 a o4 d f# d o3 a o4 d f# d o4 a o5 c# a c# o4 a o5 c# a c# o4 g# b o5 g# o4 b o4 g# b o5 g# o4 b o4 a o5 c# f# c# o4 a o5 c# f# c# o3 a o4 d f# d o3 a o4 d f# d o4 a o5 c# a c# o4 a o5 c# a c# o4 g# b o5 g# o4 b o4 g# b o5 g# o4 b o4 a o5 c# f# c# o4 a o5 c# f# c# o3 a o4 d f# d o3 a o4 d f# d");
    h.setinstrument(1, h.instrument.piano); 
    h.playsound(1, "t250 o2 a r r r r r r r r r r r r r r r g# r r r r r r r r r r r r r r r c# r r r r r r r r r r r r r r r d r r r r r r r r r r r r r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r");
    h.setinstrument(2, h.instrument.piano); 
    h.playsound(2, "t250 o3 e r r r r r r r r r r r r r r r e r r r r r r r r r r r r r r r f# r r r r r r r r r r r r r r r a r r r r r r r r r r r r r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r a r r r a r r r e r r r e r r r f# r r r f# r r r d r r r d r r r");
    h.setinstrument(3, h.instrument.piano); 
    h.playsound(3, "t250 o2 r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r a");
    
    end
    

    22. nyan nyan cat (спасибо banana cake)
    Code:
    function playnow()
    h.playsound(0);
      
    h.setinstrument(1, h.instrument.piano);
    h.setinstrument(2, h.instrument.piano);
    h.setinstrument(3, h.instrument.piano);
    h.setinstrument(4, h.instrument.piano);
    h.setinstrument(5, h.instrument.piano);
    h.setinstrument(6, h.instrument.piano);
    
    re=[kvalue:#nyan ?;5;str];
    me = {};
    tp = "t135";
    
    --1-2
    pr00="o6 d16+ e16 f8+ b8 d16+ e16 f16+ b16 <c16+ d16+ c16+ >a16+ b16 <d16+ >f8+ d16+ e16 f8+ b8 <c16+ >a16+ b16 <c16+ e16 d16+ e16 c16+";
    --3-4 / 7-8
    pr01="o6 f8+ g8+ c16+ d8+ >b16 <d16 c16+ >b8 b8 <c8+ d8 d16 c16+ >b16 <c16+ d16+ f16+ g16+ d16+ f16+ c16+ d16 >b16 <c16+ >b16";
    --5-6
    pr02="o6 d8+ f8+ g16+ d16+ f16+ c16+ d16+ >b16 <d16 d16+ d16 c16+ >b16 <c16+ d8 >b16 <c16+ d16+ f16+ c16+ d16 c16+ >b16 <c8+ >b8 <c8+";
    --9-10
    pr03="o6 d8+ f8+ g16+ d16+ f16+ c16+ d16+ >b16 <d16 d16+ d16 c16+ >b16 <c16+ d8 >b16 <c16+ d16+ f16+ c16+ d16 c16+ >b16 <c8+ >b8 b8";
    --11-12 / 15-16 
    pr04="o6 >b8 f16+ g16+ b8 f16+ g16+ b16 <c16+ d16+ >b16 <e16 d16+ e16 f16+ >b8 b8 f16+ g16+ b16 f16+ <e16 d16+ c16+ >b16 f16+ d16+ e16 f16+";
    --13-14
    pr05="o6 >b8 f16+ g16+ b8 f16+ g16+ b16 b16 <c16+ d16+ >b16 f16+ g16+ f16+ b8 b16 a16+ b16 f16+ g16+ b16 <e16 d16+ e16 f16+ >b8 a8+";
    --17-18
    pr06="o6 >b8 f16+ g16+ b8 f16+ g16+ b16 b16 <c16+ d16+ >b16 f16+ g16+ f16+ b8 b16 a16+ b16 f16+ g16+ b16 <e16 d16+ e16 f16+ >b8 <c8+";
    
    --1-2
    pr10="r1 r1";
    --3-4 / 7-8 / 11-12 / 15-16
    pr11="o3 >e8 <e8 >f8+ <f8+ >d8+ <d8+ >g8+ <g8+ >c8+ <c8+ >f8+ <f8+ >>b8 <b8 d8+ <d8+";
    --5-6 / 9-10 / 13-14 / 17-18
    pr12="o3 >e8 <e8 >f8+ <f8+ >d8+ <d8+ >g8+ <g8+ >c8+ <c8+ >f8+ <f8+ >>b8 <b8 >b8 <b8";
    
    me[0]=tp..pr00;
    me[1]=tp..pr10;
    for i=1, re do
     me[0]=me[0]..pr01..pr02..pr01..pr03..pr04..pr05..pr04..pr06;
     me[1]=me[1]; for j= 1, 4 do me[1]=me[1]..pr11..pr12; end
    end
    
    
    for i=0,1 do
     h.setinstrument(i, h.instrument.piano);
    end
    for i=0,1 do
     h.playsound(i, me[i]);
    end
    end
    

    23. doomsday (взято http://forums.na.aiononline.com/na/showthread.php?p=1507244#)
    Code:
    function playnow()
    h.playsound(0, "r[1]r");
      
    h.setinstrument(1, h.instrument.accordion);
    h.setinstrument(2, h.instrument.accordion);
    h.setinstrument(3, h.instrument.piano);
    h.setinstrument(4, h.instrument.piano);
    h.setinstrument(5, h.instrument.abass);
    h.setinstrument(6, h.instrument.abass);
    
    h.playsound(1, "t100    rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro6g____e#dd#do5bo6c__o5g__g__g__o6c____dco5bo6cdo6d#____e#g____e#d____d#d______o6c____do5b______g______g#gf#go6g______g____g#g______g____ca#bg__g______g____e#d______c______o5g______o5g______o6g____e#dd#do5bo6c__o5g__g__g__o6c____dco5bo6cdo6d#____e#g____e#d____d#d______o6c____do5b______g______g#gf#go6g______g____g#g______g____ca#bg__g______g____e#d______c______o5b______o6c______    ");
    h.playsound(2, "t100   rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr__o6g___d#_rrr__o6c__o5g__g__g__o6c__rrrrrro6d#__rrg___d#_d__rrd____ro6c__rro5b____rg____rrrrro6g____rg___e#_g____rg__rrrrgrg____rg___d#_d____c______o5g______o5g________o6g___d#_rrr__o6c__o5g__g__g__o6c__rrrrrro6d#__rrg___d#_d__rrd____ro6c__rro5b____rg____rrrrro6g____rg___e#_g____rg__rrrrgrg____rg___d#_d____c______o5b______o6c______      ");
    h.playsound(3, "t100    rrrro7c__c__c__c__o7c__c__c__c__o7c__c__c__c__o7c__c__c__c__rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr   ");
    h.playsound(4, "t100  rrrro6c__c__c__c__o6c__c__c__c__o6c__c__c__c__o6c__c__c__c__rrrrrrrrrrrrrrrr    "); 
    h.playsound(5, "t100  rrrro4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#ggggo4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#gggga#a#a#a#g#g#g#g#g#g#g#g#ggggggggggggd#d#d#d#d#d#d#d#e#e#e#e#e#e#e#e#gggggggggggggggggggggggggrrro4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#gggga#a#a#a#g#g#g#g#g#g#g#g#ggggggggggggd#d#d#d#d#d#d#d#e#e#e#e#e#e#e#e#gggggggggggggggg     "); 
    
    h.playsound(6, "t100  rrrr_o4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#ggggo4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#gggga#a#a#a#g#g#g#g#g#g#g#g#ggggggggggggd#d#d#d#d#d#d#d#e#e#e#e#e#e#e#e#gggggggggggggggggggggggggrrro4ccccccccd#d#d#d#d#d#d#d#o3g#g#g#g#g#g#g#g#e#e#e#e#gggga#a#a#a#g#g#g#g#g#g#g#g#ggggggggggggd#d#d#d#d#d#d#d#e#e#e#e#e#e#e#e#gggggggggggggggg   ");
    end
    

    24. kimi wo nosete from laputa castle in the sky (взято http://forums.na.aiononline.com/na/showthread.php?p=1507244#)
    Code:
    function playnow()
    h.setinstrument(1,h.instrument.piano);
        h.setinstrument(2,h.instrument.accordion);
        h.setinstrument(3,h.instrument.accordion);
        h.setinstrument(4,h.instrument.abass);
    h.playsound(1,"t130rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro5bo6c#d____c#d__f#__c#______rro5f#__b____ab__o6d__o5a______rrf#f#g____f#go6d____o5f#______ro6dddc#____o5g#g#__o6c#__c#______rro5bo6c#d____c#d__f#__c#______rro5f#f#b____ab__o6d__o5a______rrrf#g__o6dc#c#__d__eef#rd__rrdc#o5bbo6c#__o5a#__b______rro6def#____ef#__a__e______rro5aao6d____c#d__f#__f#__________rro5bo6c#d__c#deed____o5aa__rro6g__f#__e__d__f#______________o6f#______rrf#__b______a____ao6f#ed______rde__deea____f#______rrf#__b______a______f#ed______rde__dee__c#__o5b______rrrrrro6f#__b______a______f#______rro6d__g______f#______d______rro5b__o6e______d____ef#______rro6e#______f#g#f#______rro5bo6f#d#____f#d__f#__c#______rro5f#__b____ab__o6d__o5a______rrrf#g__o6dc#c#__d__e__f#dd__rrdc#o5bbo6c#__o5a#__b__________rro6df#o5bbo6c#__o5a#__b______________o7b______rrrr");
    h.playsound(2,"t130o5f#__o5b______a__a__f#ed__do4gbo5de______edc#de______f#______o5b______a__a__f#ed__do4bo5dee____de__c#__o4b______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro3c#__________o4c#__o3f#__o2f#______o3f#__o3b____bb______a____aa______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro4e____ef#o3f#__o4f#o3bo4b__bo3b__o4b__o5f#____f#f#o4ao5df#e____eeo4ao5c#eo5d____ddo4f#bo5dc#____c#c#o4f#ao5c#o4b______o5c#______d____o4aaao5df#o5g__f#__e__d__f#f#__f#f#__f#__o5f#f#__f#f#f#f#f#o3b____bb__b__o3g____gg__g__a____aa__a__o4d____do3a#__f#__b____bb__b__o3g____gg__g__a____aa__a__o3b____bb______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro3c#__________o4c#__o3f#__o2f#______o3f#__o3b____bb______a____aa______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro4e____ef#o3f#__o4f#o3bo4b__o3bo4ao3a__o4ag______f#______b______________o5b______rrrr");
    h.playsound(3,"t130o4f#__o5f#______d__d__o4b______brrrb______brrrb______a______o5f#______d__d__o4b______rrrrb____rb__a__f#______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro3c#______o4c#__o3f#__ro2f#____o3f#__ro3b__brb____ra__ara____rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro4g______f#______rrrrrrrro5d____ddrrrc#____c#c#rrro4b____bbrrro4a____aarrro4g______a______a____f#f#rrro5d__o4b__b__b__bb__bb__b__o5c#c#__c#c#c#c#c#o2b____bb__b__o2g____gg__g__a____aa__a__o3d____do2a#__f#__b____bb__b__o2g____gg__g__a____aa__a__o2b____bb______rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro4g______f#______f#______f#______e______a#______o3f#______________o5g______rrrr");
    h.playsound(4,"t130rro3bo4f#bo5c#d__f#__o3go4dgab__o5d__o3ebo4ef#g__b__f#o5c#__c#o4f#o5c#__o5c#o3bo4f#bo5c#d__f#__o3go4dgab__o5d__o3ebo4ef#g__b__o3bo4f#bo5c#d__f#__o3bo4f#bo5c#do4f#o5f#o4f#o3ao4f#ao5c#f#c#o4af#o3go4dgabgo5do4go3f#o4f#ao5df#do4af#o3eo4gbo5dgdo4bgo3do4f#bo5df#do4bf#re#g#o5c#e#c#o4bo5c#ro4f#a#o5c#f#edc#ro4f#bo5c#do4f#o5f#o4f#rf#ao5c#f#c#o4af#o3bo4f#bo5c#do4f#o5f#o4f#o3ao4f#ao5c#f#c#o4af#ro4dgabgo5do4gro4f#ao5df#do4af#o5dc#o4b__o5c#__o4a#__bf#bo5c#do4bo5deo4dao5df#f#__o4a__o4c#ao5c#ee__o4a__o3bo4f#bo5dd__o3f#__o3ao4f#ao5c#c#__o4f#__o4go3g__go4go3g__go4f#o3f#__o4f#f#__o3f#__o4eo3e__o4eeo3e__o4ef#o3f#__o4f#f#o3f#o4f#o3f#f#o3f#__o4f#f#o3f#o4f#o3f#ro6f#edo5bf#do4bro6f#edo5bf#do4bro6edc#o5aec#o4ao5do4ao5def#edc#ro6f#edo5bf#do4bro6f#edo5bf#do4bro6edc#o5aec#o4ao5dc#o4bf#df#bo5c#o5do4f#bo5c#do4f#o5f#o4f#o3ao4f#ao5c#f#c#o4af#o3go4dgabgo5do4go3f#o4f#ao5df#do4af#o3eo4gbo5egeo4bgo3c#o4f#bo5df#do4bf#ro4e#g#o5c#e#c#o4bg#a#f#a#o5c#f#edc#ro4f#bo5c#do4f#o5f#o4f#rf#ao5c#f#c#o4af#ro4dgabgo5do4grf#ao5df#do4af#rgbo5dgeo4bf#rf#ao5df#do4af#o5dc#o4b__b__a#__b______b______o5dc#o4b__o5c#______o4bf#bo5c#df#bo6f#b______rrrr");
    end
    

    25. song from a secret garden by rolf lovland (взято http://forums.na.aiononline.com/na/showthread.php?p=1507244#)
    Code:
    function playnow()
    h.playsound(0, "r[1]r");
    h.setinstrument(1, h.instrument.accordion);
    h.setinstrument(2, h.instrument.abass);
    h.setinstrument(3, h.instrument.abass);
    h.setinstrument(4, h.instrument.abass);
    h.playsound(1, "t110 o6 r r r r r r r r r r r r r r r r r r r r r r r r r r r r   r   r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r o6d g a a#____ a a#______ a# o7c o6a g a______ a a# g f g____ f d______ r d g a a#____ a a#______ a# o7c o6a g a______ a a# g f g____ f g______ r a a# o7f g____ g g a f d# f______ r o6a a# o7d d#____ d# d# f d c                d______ r o6a a# o7f g____ g g a f e f______ f g d# d d#____ d# d# f d c d______ r o6d g a a#____ a a#______ a# o7c o6 a g a______ a a# g f g____ f d______ r o5d g a a#____ a a#______ a# o6c o5a g a______ a a# g f g____ f g______ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r o6d g a a#____ a a#______ a# o7c o6a g a______ a a# g f g____ f                     d______ r o5d g a      a#____ a a#______         a# o6c o5a g a______    a a# g f g____ f          g______ r r r r            r r r r r r r r           r r r r r r r r");
    h.playsound(2, "t110 v15 o5 r d g a a#____ a a#______ a# o6c o5a g a______ a a# g f g____ f d________ d g a o5a#____ a a#______ a# o6c o5a g a______ a a# g f g____ f g______________ d__________ d d# c__________ c d o4a#______________ a______________ o5d____ c d______ d d# c o4a# o5c______ c d o4a# a a#____ a g______________ o5g______ g__ a__ f______________ d#______ d#__ f__ d______________ g______ g__ a__ f______ f__ g__ d#______ d#______ d#______ d__ c__ d__________ d d# c__________ c d o4a#______________ a______________ o6d____ c d______ d d# c o5a# o6c______ c d o5a# a a#____ a g______ r a a# o6f g____ g g a f d# f______ r o5a a# o6d d#____ d# d# f d c o5a______ r a a# o6f g____ g g a f e f____ f f g d# d d#______ d# f d c d__ o5d#__ d__ c__ d__________ d d# c__________ c d o4a#______________              a______________ o6d____ c d______ d d# c o5a# o6c______  c d o5a# a a#____ a   g______________         o4a a# g f g____ f              g______________");
    h.playsound(3, "t110 v15 o5 r r r r d____ c d______ d d# c o4a# o5c______ c d o4a# a  a#____ a a______ r r r r o5d____ c d______ d d# c o4a# o5c______ c d o4a# a a#____ a a#______ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r  a#____ a a#______ a# o5c o4a g a______ a a# g f g____ f d______________ o5d#______ c______ o4a______ a#______ g______ a______            a______ g__ f__ b______ o5e______ o4a______ g______ g______ g______ g______ f#__ d#__ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r o5a#____ a a#______ a# o6c o5a g a______ a a# g f g____ f d______ r r r r a#______ a# o6c o5a g a______ r c d f g______ g a f d# d______________ a#______ a______ a______ g______ g______ g______ r r o4g__ f#__ d#__ r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r o5a#____ a a#______  a# o6c o5a g a______ a a# g f g____ f     r r r r r r r r           o4d#______ d______ o3a#______________");
    h.playsound(4, "t110 v15 o3 r r r r g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c g o4d#__ o4g d g a a#______ o3g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c g o4d#__ o3g o4d g a a#______ o3g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c g o4d#__ o3d a o4d e f#______ o3g o4d g__ o3c g o4d#__ o3f o4c f__ o2a# o3f o4d a o3d# a# o4d#__ o3c g o4d#__ o2g o3d g a a#______ o4a# o3a# o4g__ a c f__ o3d a o4f o3a g o4d g__ o3c g o4d#__ o3f o4c f__ o2a# o3f o4d o3f o2a# o3f o4d__ o3e o4d g__ o3c# o3a o4e__ o3d a o4d o3a o2b o3g o4d__ o3c g o4d# o3g o2a# o3g o4d#__ o2a o4c d# g d______ o3g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c g o4d#__ o3d a o4d e f#______ o3g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o4d# a# o4g__ o3c g o4d#__ o3g o4d g a a# o5c d__ o3d# a# o4g__ o3d# o4c a__ o3d a o4f o3a g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a g__ f__ o3e o4d a#__ o3c# a o4e__ o3d a o4f__ o2b o3g o4d__ o3c g o4d#__ o2a# o3g o4d#__ o2a o3a o4c__ d______ o3g o4d a#__ o3c g o4d#__ o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c a# o4d#__ o3d a o4d e f#______ o3g o4d a#__ o3c g o4d#__  o3f o4c a__ o2a# o3f o4d a o3d# a# o4g__ o3c g o4d#__ o2g o3d g a a# o4d g__ o3a#______ a______ g______________"); 
    end
    

    26. forgotten sorrow from aion (взято http://forums.na.aiononline.com/na/showthread.php?p=1507244#)
    Code:
    function playnow()
    h.playsound(0,"r[1]r");
    
    h.setinstrument(1,h.instrument.piano);
    h.setinstrument(2,h.instrument.piano);
    h.setinstrument(3,h.instrument.accordion);
    h.setinstrument(4,h.instrument.accordion);
    h.setinstrument(5,h.instrument.aguitar);
    h.setinstrument(6,h.instrument.aguitar);
    
    h.playsound(1, "t800   rrrro5f#c#o6c#__o5a______o6c#__e__o5b______rf#bo6c#dec#o5bo6c#______c#__f#__f#__r__r____c#f#____o5bo6c#______ro5f#bo6c#ec#o5b__o6f#____o5bo6c#______ro5bo6c#o5bo6ec#o5b__o6f#____g#ag#f#o5bo5g#__e__d#______o5c#o6c#f#g#ag#f#ag#______g#______o4f#__eaf#__ea_o5c#__o4baf#______rf#bo5c#dec#o4bo5c#____o6e#o6c#o5a#e#__o4f#__eaf#__ea_o5c#__o4baf#______ref#o5dc#__o4a__b______o5d#f#bo6d#o6b__d#__o5f#f#__o6c#f#____o5bo6c#______ro5f#bo6c#ec#o5b__o6f#____o5bc#______rbo6c#o5bo6ec#o5b__o6f#____g#ag#f#bc#______o5d#______c#o6c#f#g#ag#f#ag#______g#f#d#o5bo4f#__eaf#__eao5c#__o4baf#______ref#o5dc#__o4a__o4bo6f#d#o5b_o4bo5d#ao6c#_o6f#____c#o5b__o6e__o6c#__f#__e______c#o6g#ag#ag#e__o5br o6c#ag#baf#o5ao6c# f#____c#o5b__e__    o6c#__f#__g#__");
    
    h.playsound(2, "t800   rrrro5r_f#_rd______a_e_re______rrf#__b__a__f#______f#__f#__f#__c#__o6f#__r__rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro6c#____rdrrrr__r__o4b______o4aro6c#rdrrrc#______o5b______o4r__rrr___f#bo4f#__e__d#______rrf#rbrara#______________o4r__rrr___f#bo4f#__e__d#______rrraf#__e__f#______rrrro6f#___o5b_rrro6c#rf#__o5bro6c#____rrrrrrrrrrrrrrrrrrrrrrrro6c#____rdrrro5g#__e__o4b______aro6c#rdrrrc#______o5bf#rro4rrrrrr_f#b_re__d#______rrro4af#__e__o4f#o5bf#d# rc#eg#o6do6c#____c#o5g#__o6e__   o5a__o6f#__o5b______o6c#ef#ef#ec#__o5braag#b_g#__o5bo6e_rrc#o5b__e__");
    
    h.playsound(3, "t800   rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro6c#f#____bo6c#______ro5f#bo6c#ec#o5b__o6f#____o5bo6c#______ro5bo6c#o5bo6ec#o5b__o6f#____g#ag#f#o5bo6c#______o5d#______o5c#o6c#f#g#ag#f#ao5g#__e__d#______o4f#__eaf#__ea_o5c#__o4baf#______rf#bo5c#dec#o4bo5c#______________o4f#__eaf#__ea_o5c#__o4baf#______ref#o5dc#__o4a__o4b______________o6b__d#__o5f#f#____rc#c#____g#g#__ro5f#bo6c#ec#o5b__rc#c#ec#______rbo6c#o5bo6ec#o5b__o6f#____g#ag#f#bc#______o5d#______c#o6c#f#g#ag#f#ag#______o5b______o4b______o4b______o5c#__o4baf#______ref#o5dc#__o4a__b_______o4bo5dao6c#_o5ao6____c#o5e__o6e__o5f#__o6f#__o5g#______o6c#o5bo6ag#ao5bg#__bro6c#ag#baf#o5ao6c#f#____c#o5b__e__");
    
    h.playsound(4, "t800   rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro6c#rf#__bor6c#____ro5f#bo6c#ec#o5b__ro6f#__o5bo6c#______ro5bo6c#o5bo6ec#o5b__o6c#____g#dg#f#o5brro6c#__o4b______o4ao6c#c#g#dg#f#ao5g#__e__o4b______o4b______b___f#bo4f#__e__d#______rf#do5c#o4f#o5eo4e#bo4e#______________o4f#__eaf#__ea_o5c#__o4baf#______rrraf#__e__rro4b__________o6d__r_o5b_f#____r_o4b_rr_o5f#___ro5f#bo6c#ec#o5b__r_o4bbf#_c#____rbo6c#o5bo6ec#o5b__o5f#____o6g#o5ao6g#f#brc#____ro5d#____c#o6c#f#g#ag#f#arg#____ro5b____o4e______o4e______o4f#__e__d#______ref#o5do4f#__e__rb____o5rc#eg#o6do5f#o6____c#o4bo5__o6e__o5c#__o6f#__o5e______o6c#o5g#o6f#ef#o5g#e__braag#b_g#__o5bo6e_rrc#o5b__e__  ");
    
    h.playsound(5, "t800   rrrro4f#______________a______g#______d__d__d__c#__o5c#______c#__r__o4a#__r__________o4f#o5c#o6f#__o4eo5c#o6c#__o4do5f#b__o4eo5f#g#__o4f#o5c#o6f#__o4eo5c#o6c#__o4eo5ag#__o4dab__o3f#o4c#a__o3f#o4da__o3f#o4eb__o4f#______o3f#o4c#a__o3f#o4da__o3f#o4eb__o4f#______o4bdd__o5c#o4ee___o2bo3f#b__________o3b__a__g#__g__o2f#o3c#a#__________o4bdd__o5c#o4ee___o2bo3f#b__rb__o2go3db__o2ao3eo4c#__o2bo3f#bo4d#f#____o5f#d#rrrrrrro4f#o5c#a__o4eo5c#g#__o4do5f#b__o4eo5f#g#__o4f#o5c#a__eo5c#g#__o4eo5ag#__o4dab__o3f#o4c#a__o3f#o4da__o3f#o4eb__f#______o3f#o4c#a__o3f#o4da__o3f#o4eb__f#______o3bdd__o4c#o3ee__ro2bo3f#b__rrb__o2g#o3db__aeo4c#__o2bo3f#bo4d#f#_dbf#_o3dao4f#do3dbo4g#eo3do4c#af#o3dbo4g#eo3c#bo4g#eo3c#g#o4eo3bo3f#o4c#g#bo3eo4f#g#eo3dao4f#do3dbo4g#e");
    
    h.playsound(6, "t800   rrrro4f#______________a______g#______o3b__a__g#__f__f#o4c#f#bb__rg#o3f#o4c#c#__________o4f#o5c#a__o4eo5c#e__o4do5db__o4eo5dg#__o4f#o5c#a__o4eo5c#e__o4eo5ef#__o4dab__o3f#o4c#f#__o3f#o4df#__o3f#o4eg#__o4d#______o3f#o4c#f#__o3f#o4df#__o3f#o4eg#__o4d#______o3go4dd__o3ao4ee___o2bo3f#b__________o3b__a__g#__g__o2f#o3c#a#__________o4bdd__o5c#o4ee___o2bo3f#b__rb__o2go3db__o2ao3eo4c#__o2bo3f#bo4d#f#_____o5c#_rrrrrrrro4f#o5c#a__o4eo5c#e__o4do5eb__o4eo5eg#__o4f#o5c#a__eo5c#g#__o4eo5eg#__o4dab__o3f#o4c#f#__o3f#o4df#__o3f#o4eg#__d#______o3f#o4c#f#__o3f#o4df#__o4eo5eg#__o4dab__o2go3dd__o2ao3ee__o2bo3f#b__rrb__o2g#o3db__aeo4c#__o2bo3f#bo4d#f#_dbf#_o3dao4f#do3dbo4g#eo3do4c#af#o3dbo4g#eo3c#bo4g#eo3c#g#o4eo3bo3f#o4c#_a_o3eo4f#g#eo3dao4f#do3dbo4g#eo3do4c#af#o3dbo4g#e");
    
    end
    
     
    Last edited by a moderator: Jan 7, 2013
    Leenali, homind, KingKazma and 6 others like this.
  5. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    общий синтаксис

    * имеется ограничение на размер макроса, которое составляет 4599 символов, включая пробелы

    1. каждая строка должна заканчиваться ";"
    2. операции сложения: 1+2 - числа; "абв".."где" - строки
    3. операции сравнения
    [table1]меньше|больше|равно|не равно|меньше или равно|больше или равно|и|или
    <|>|==|~=|<=|>=|and|or[/table1]
    4. комментарии: для обозначения комментариев используется "--"
    5. работа со строками:
    [table1]string.find(str1, str2)|ищет подстроку str2 в строке str1[/table1]
    6. массивы:
    [table1]№|тип|запись|обращение
    1|одномерный массив|array = {"значение 1", ..,"значение n"};|array[номер элемента]
    2|одномерный массив с ключами|array = {["ключ1"] = "значение1",... , ["ключn"] = "значениеn"};|array[ключ элемента]
    3|двухмерный массив|array = {{"значение 1",...,"значение n"}, ... , {"значение 1", ...,"значение n"}};|array[номер элемента][номер подэлемента]
    4|двухмерный массив с ключами|array = {["ключ1"] = {"значение 1",...,"значение n"}, ... , ["ключn"] = {"значение 1", ...,"значение n"}};|array[ключ элемента][номер подэлемента][/table1]
    7. условие:
    Code:
    if (условие1) then
             действия при выполнении условия1;
    elseif (условие2) then
             действия при выполнении условия2;
    else
             действия при невыполнении условий
    end
    8. циклы:
    повторяется до тех пор, пока выполняется условие. если условие ложное, действия внутри цикла не выполняются
    Code:
    while (условие) do
        действия;
    end
    повторяется при условии, что выполняется условие. проверка на выполнение условия происходит после выполнения действий в цикле. т.е. действия будут повторены минимум 1 раз
    Code:
    repeat
        действия;
    until (условие);
    "счетчик" (повторяется пока счетчик в заданном диапазоне, с каждым повтором увеличивая его значение)
    Code:
    for i=0, 3 do --счетчик от 0 до 3
        действия;
    end
    9. функции:
    Code:
    function имяфункции(параметр_1, ..., параметр_n)
         действия, выполняемые в функции;
         return [что возвращает данная функция];
    end
    10. "ссылки"
    для вставки ссылки в код скрипта можно использовать такую конструкцию:
    [kvalue:название поля в окне ввода полей;значение;тип]

    на данный момент известно 4 типа:
    [table1]str|строка
    fx|звуки
    perc|звуковые инструменты
    moti|эмоции[/table1]
    примеры:
    [kvalue:приветствие;привет тебе [​IMG];str]

    [​IMG]

    [kvalue:звук;h.percussion.fx18;fx]

    [​IMG]

    [kvalue:зв.инструмент;h.percussion.tambourine;perc]

    [​IMG]

    [kvalue:эмоция;h.emotion.salute;moti]

    [​IMG]
    * спасибо nighthawk-у за нахождение информации, как создавать ссылки :)
     
    Last edited by a moderator: Jun 15, 2012
  6. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    константы и коллекции

    1. обозначение неопределенной переменной: nil
    (if (var1==nil) then ... - примет значение истины, если переменная var1 не определена)

    2. аутлеты
    h.outlet.outlet0 ~ 16
    h.outlet.outlet0 - всегда существующий в скрипте аутлет, обозначающий помощника
    h.outlet.outlet1 - h.outlet.outlet16 - назначенные объекты
    так же можно указывать просто номер аутлета
    пример:
    h.glow(h.outlet.outlet1,1, 50, 0, 50, 50);
    и
    h.glow(1,1, 50, 0, 50, 50);
    выполняют одно и тоже действие - подсвечивают аутлет1

    3. эмоции
    (вставка ссылкой: [kvalue:эмоция;h.emotion.salute;moti] )
    [table1]h.emotion.point|направление
    h.emotion.sleep|сон
    h.emotion.angry|гнев
    h.emotion.blush|смущение
    h.emotion.dance|танцевать
    h.emotion.clap|аплодисменты
    h.emotion.comfort|поддержка
    h.emotion.drink|пить
    h.emotion.eat|есть
    h.emotion.laugh|смех
    h.emotion.kneel|приклонить колени
    h.emotion.no|отрицание
    h.emotion.otl|уныние
    h.emotion.pat|утешение
    h.emotion.plead|мольба
    h.emotion.ready|разминка
    h.emotion.sad|печать
    h.emotion.slap|пощечина
    h.emotion.surprise|удивление
    h.emotion.taunt|дразнить
    h.emotion.thanks|благодарность
    h.emotion.thunder|звук движения после удара молнией
    h.emotion.useup|звук движения после использования предмета
    h.emotion.victory|победа
    h.emotion.yes|согласие
    h.emotion.wave|помахать рукой
    h.emotion.boo|насмешка
    h.emotion.charge|ускорение
    h.emotion.dislike|отказаться
    h.emotion.panic|страх
    h.emotion.salute|приветствие
    h.emotion.smile|улыбка
    h.emotion.sorry|извинение
    h.emotion.think|думать
    h.emotion.blueflag|синий флаг
    h.emotion.twoflag|оба флага
    h.emotion.whiteflag|белый флаг
    h.emotion.sing|петь
    h.emotion.jump|прыжок на месте[/table1]

    4. музыкальные инструменты
    [table1]h.instrument.piano |пианино
    h.instrument.abass |акустический бас
    h.instrument.ebass|электрический бас
    h.instrument.aguitar|акустическая гитара
    h.instrument.accordion|аккордеон[/table1]

    5. звуковые инструменты
    (вставка ссылкой: [kvalue:звук;h.percussion.tambourine;perc] )

    [table1]h.percussion.tambourine|бубен
    h.percussion.triangle|треугольник
    h.percussion.cymbal|кимвал
    h.percussion.hihatclose|закрыть шляпку
    h.percussion.hihatopen|открыть шляпку
    h.percussion.kick|удар
    h.percussion.snare|силок
    h.percussion.tomtom1|там-там1
    h.percussion.tomtom2|там-там2
    h.percussion.tomtom3|там-там3[/table1]

    6. звуки
    (вставка ссылкой: [kvalue:звук;h.percussion.fx18;fx] )
    h.percussion.fx1 - h.percussion.fx20

    7. музыка

    ноты
    [table1]до|ре|ми|фа|соль|ля|си
    c|d|e|f|g|a|b
    [/table1]
    [​IMG]

    длина ноты
    [table1]1/2|1/3|1/4|1/8|1/16
    2|3|4|8|16[/table1]
    остальные команды
    [table1]пауза|звук|октава|громкость|темп|тон на октаву ниже|тон на октаву выше|диез|метка
    r|x|o|v|t|<|>|#|[номер метки][/table1]
     
    Last edited by a moderator: Apr 9, 2013
    Leenali, KingKazma, Brookiyn and 2 others like this.
  7. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    функции обработки событий

    function oninit() - установка начальных параметров
    [table1]на что активируется|запуск скрипта
    параметры|-
    необходимая настройка| - [/table1]
    function onuserentered(desc) - приближение к помощнику
    [table1]на что активируется|приближение игрока к помощнику на заданное расстояние
    параметры|desc (тип: строка) - ник игрока
    необходимая настройка|для работы данной функции необходимо в функции oninit указать h.setsensor([растояние, на которое надо подойти к помощнику для срабатывания], [расстояние, на которое надо удалиться для сбрасывания]);[/table1]

    пример: при приближении на 2 метра к помощнику раздастся звуковой сигнал, а помощник скажет ваш ник. для повторения требуется отбежать более чем на 3 метра и подбежать обратно
    Code:
    function oninit()
         h.setsensor(2, 3);
    end
    
    function onuserentered(desc)
         h.playsound(1, " x[1]x");
         h.say(1, desc);
    end
    
    function onusersay(str) - реакция на сказанное в доме
    [table1]на что активируется|на сказанное игроком внутри дома
    параметры|str (тип: стока) - сказанная игроком фраза
    необходимая настройка| - [/table1]

    пример: помощник повторяет все сказанное в доме
    Code:
    function oninit()
    end
    
    function onusersay(str)    
        h.playsound(1, " x[1]x");
        h.alertall(1, str);
    end
    
    function onusersay(str, username) - реакция на сказанное в доме с определением ника сказавшего
    [table1]на что активируется|на сказанное игроком внутри дома
    параметры|str (тип: стока) - сказанная игроком фраза
    |username (тип: строка) - ник сказавшего игрока
    необходимая настройка| - [/table1]

    пример: помощник повторяет все сказанное в доме, указывая ник сказавшего
    Code:
    function oninit()
    end
    
    function onusersay(str, username)
       h.say(1, username..": "..str);
       h.playsound(0, "r[1]r");
    end
    
    function onuseremotion(motion) - реакция на эмоцию в доме
    [table1]на что активируется|на эмоцию игрока
    параметры|motion (тип: h.emotion) - эмоция игрока
    необходимая настройка| - [/table1]

    пример: помощник повторяет эмоции игрока в доме. имейте ввиду, что помощник умеет выполнять не все доступные игроку эмоции
    Code:
    function oninit()
    end
    
    function onuseremotion(motion)
        h.playsound(1, "rx[1]xr");
        h.startanimation(0, 1, motion);
    end   
    
    function onmenu(menunum) - нажатие на созданный в макросе пункт меню
    [table1]на что активируется|по выбору меню у помощника (правой мышью по помощнику)
    параметры|menunum (тип: число) - номер выбранного меню
    необходимая настройка|в функции oninit должно быть создано меню при помощи h.registermenu([название], [номер меню]);[/table1]

    пример: в контекстном меню помощника появится 2 пункта меню. щелкните по ним для проигрывания мелодий
    Code:
    function oninit()
    h.registermenu("мелодия 1",1);
    h.registermenu("мелодия 2",2);
    end
    
    function onmenu(menunum)  
    if  (menunum == 1)  then
    melody1()
    elseif  (menunum == 2 )  then
    melody2()
    end
    end  
    
    function melody1()
    h.setinstrument(5, h.instrument.piano);
    h.playsound(5,  "v15l8o5[1]dbagd4.d16d16dbage4.e16e16eo6co5baf#4o6d16d16edco5ab8d4.ddbagd2ddbage4.eeo6co5bao6dddd16d16edco5ag4o6d4o5.bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co   5bbb16b16baaga4o6d4o5bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co5bbb16b16o6ddco5ag2");
    
    h.setinstrument(6, h.instrument.piano);
    h.playsound(6,  "v13l8o3gbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3df#df#df#df#gbdbgbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3gbgbdaf#ag2gbgbgbgbgbgo4co3gbgbgo4co3go4co3g  bgbao4c#o3ao4c#o3df#df#gbgbgbgbgbgo4co3gbgbgo4co3go4co3gbgbdf#df#g2");
    
    h.setinstrument(7, h.instrument.piano);
    h.playsound(7,  "v13l8o4rdrdrdrdrdrdrererereo3rarararao4rdrdrdrdrdrdrdrdrererererdrdrcrco3b2o4rdrdrdrdrdrerdrdrererdrdrereo3rarao4rdrdrdrdrdrerdrdrererdrdo3  rarab2");
    end
    
    function melody2()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b  b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b o5 c o4 e a b o5 c g2r  o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2# f# o4 f# a e d#2 r o5 e  f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d e2 g2  d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a a2 b g o4 g b g  o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b o4 b g o5 a b2 o6 d2  o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2 b2 b d f# d o4 d1 o5 e  f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5 o6 c o5 e b e a2 g2 b  o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2 b2 o6 e o4 g b g o6 d  o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6 d2. o5 b o4 d b g f2# o5  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 r o5 g a2 g a o4 d2 o5  f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f# g2 b2 f# b o5 d o4 b o5  f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2 o3 b b o4 c g o5 e o3 b  o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5 c# o4 c# c2# f2# o3 b o4  f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b2 o5 e o4 e  g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a2 b g  o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g o3 e2 o5 e f# g f# e2 f2#  d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r b r2 r  e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r b r2 r a r2 r o5 e2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 b2 r2 r r2 r o5 c  r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3 e r2 r o3 r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r g r2 r  e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r b r2 r a r2 r o4 c2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 g2 r2 r r2 r o4 g  r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e r2 r o3 r2 r2");
    end
    
    function onplayerjumpend(outletindex) - окончание прыжка игроком
    [table1]на что активируется|на окончание прыжка игроком
    параметры|outletindex (тип: число) - номер аутлета, на который "приземлился" игрок
    необходимая настройка| - [/table1]

    пример: назначьте 3 объекта в доме на аутлеты. при прыжке на назначенный объект он подсветится, а помощник скажет номер назначенного аутлета (outletindex = 0 - прыжок не на аутлет)
    Code:
    function oninit()
       h.setoutletcount(3);
    end
    
    function onplayerjumpend(outletindex)
        h.playsound(1, "rx[1]xr");
        h.alertall(1, outletindex);
        h.glow(outletindex, 1, 1, 0, 0, 255);
    end
    

    function onsoundplay(channel, note, len, label) - реакция на звуки
    [table1]на что активируется|на звучание музыки
    параметры|channel (тип: число) - канал
    |note (тип: строка) - прозвучавшая нота
    |len (тип: число) - длительность звучания ноты
    |label (тип: число) - вызванная метка
    необходимая настройка|в функции oninit должно быть указано h.enablesoundcallback(1);[/table1]

    пример: назначьте аутлеты на 7 объектов и скажите "огонь"
    Code:
    function oninit()
        h.setoutletcount(7);
        h.enablesoundcallback(1);
    end
    
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b  b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b o5 c o4 e a b o5 c g2r  o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2# f# o4 f# a e d#2 r o5 e  f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d e2 g2  d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a a2 b g o4 g b g  o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b o4 b g o5 a b2 o6 d2  o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2 b2 b d f# d o4 d1 o5 e  f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5 o6 c o5 e b e a2 g2 b  o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2 b2 o6 e o4 g b g o6 d  o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6 d2. o5 b o4 d b g f2# o5  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 r o5 g a2 g a o4 d2 o5  f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f# g2 b2 f# b o5 d o4 b o5  f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2 o3 b b o4 c g o5 e o3 b  o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5 c# o4 c# c2# f2# o3 b o4  f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b2 o5 e o4 e  g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a2 b g  o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g o3 e2 o5 e f# g f# e2 f2#  d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r b r2 r  e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r b r2 r a r2 r o5 e2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 b2 r2 r r2 r o5 c  r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3 e r2 r o3 r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b  r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2 r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r g r2 r  e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r r2 r2  e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r b r2 r a r2 r o4 c2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2 r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2 r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 g2 r2 r r2 r o4 g  r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e r2 r o3 r2 r2");
    end
    
    function onusersay(str)
      if (string.find(str, "огонь")) then
         playnow()
      end
    end
    
    function onsoundplay(channel, note, len, label)
      if (note=="c") then
          n=1;
      elseif (note=="d") then
          n=2;
      elseif (note=="e") then
          n=3;
      elseif (note=="f") then
          n=4;
      elseif (note=="g") then
          n=5;
      elseif (note=="a") then
          n=6;
      elseif (note=="b") then
          n=7;
      else
          n=0;
      end
      h.glownow(n, len, 0, 0, 255);
    end
    
     
    Last edited by a moderator: Jun 15, 2012
  8. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    методы инициализации:
    данные методы используются в функции
    oninit() для активации других функций и свойств скрипта

    h.setoutletcount([число]); - указывает число аутлетов в скрипте.
    outlet - объект, с которым производятся действия в скрипте. если щелкнуть правой кнопкой мыши по иконке аутлета, можно указать аутлет.
    [table1]параметры|число - количество аутлетов, используемых в скрипте
    необходим для работы функции|-[/table1]
    [​IMG]

    пример: назначим на аутлеты 1 и 2 складского нпс и бакалейщика.
    обращаться к аутлету можно h.outlet.outlet[номер] или по номеру. outlet 0 - помощник.
    Code:
    function oninit()
       h.setoutletcount(2);
       h.playsound(1, " x[1]x");      
       h.startanimation(h.outlet.outlet1, 1, h.emotion.dance);
       h.startanimation(2, 1, h.emotion.dance);
    end
    h.setsensor([число 1],[число 2]); - определяет расстояние узнавания помощником игрока.
    [table1]параметры|число 1 - расстояние, на которое надо приблизиться к помощнику, чтобы он "увидел" персонажа
    |число 2 - расстояние, на которое надо отойти от помощника, чтобы он "забыл" о приближении персонажа
    необходим для работы функции|function onuserentered(desc)[/table1]

    пример:
    при приближении на 2 метра к помощнику раздастся звуковой сигнал, а помощник скажет ваш ник. для повторения требуется отбежать более чем на 3 метра и подбежать обратно
    Code:
    function oninit()
       h.setsensor(2, 3);
    end  
    function onuserentered(desc)
       h.playsound(1, " x[1]x");      
       h.say(1, desc); 
    end
    h.enablesoundcallback(1); - активирует функцию onsoundplay.
    пример: назначьте аутлеты на 7 объектов и скажите "огонь"
    Code:
    function oninit()
        h.setoutletcount(7);
        h.enablesoundcallback(1);
    end
    
    function playnow()
    h.playsound(0, "r[1]r[2]r[3]r[4]");
    h.setinstrument(1, h.instrument.aguitar);
    h.playsound(1, "t200 o5 e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b   b o5 e o4 e g o5 d e2 g2 d o4 d g d o3 b2 o4 b b o5 c o4 e a b o5 c  g2r  o4 b d g d b o5 g g g f# o4 f# a# o5 c# c2# f2# f# o4 f# a e d#2 r  o5 e  f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b d2 b b o5 e o4 e g o5 d  e2 g2  d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a o4 e o5 g2 a a2 b g o4 g  b g  o5 g f# e2 f#2 r d#2 r e o4 g b g o3 e2// o5 g a b o4 b g o5 a b2  o6 d2  o5 a o4 a o5 d o4 a f2# o5 d d g o4 g b o5 f# g2 b2 b d f# d o4  d1 o5 e  f# g o4 c o5 f# g a c g o4 d g o5 d d o4 d g b o5 o6 c o5 e b e  a2 g2 b  o4 a o5 e f2# o4 a o5 e f# o3 b o4 a o5 d# f# b2 b2 o6 e o4 g b  g o6 d  o4 g b d o5 b a g o4 c c2 o5 r g a2 g a o4 d o6 d2. o5 b o4 d b  g f2# o5  b2 o6 e o4 g b g o6 d o4 g b d o5 b a g o4 c c2 r o5 g a2 g a  o4 d2 o5  f2# e o3 b o4 e g o5 e2 o4 e f#// g b o5 e o4 f# g2 b2 f# b  o5 d o4 b o5  f2# o3 b b o4 e g o5 c o4 d e2 g2 d g b g o5 g2 o3 b b o4 c  g o5 e o3 b  o4 c2 g2 o3 b o4 g b g o5 e o4 g g g f# a# o5 c# o4 c# c2#  f2# o3 b o4  f# a o5 e d2# e f# g o4 g b o5 f# g2 b2 f# o4 b o5 d o4 b  d2 b2 o5 e o4 e  g o5 d e2 g2 d o4 d a d g2 r b o5 c o4 e o5 g f# o3 a  o4 e o5 g2 a2 b g  o3 e o4 g b g o5 g f# e2 f2# d2# e o4 g b g o3 e2 o5 e  f# g f# e2 f2#  d2# e o4 g b g o3 e2 o5 g32 b32 o6 e32");
    h.setinstrument(2, h.instrument.aguitar);
    h.playsound(2, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b   r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2  r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r b  r2 r  e r2 r o4 c r r2 a2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r  r2 r2  e r2 r b2 r2 d r2 r r2 r2 g r2 r a r2 r o3 b r2 r b r2 r a r2 r  o5 e2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r  r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2  r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r  r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2  r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 b2 r2 r  r2 r o5 c  r r2 a2 r2 o3 e r2 r r2 r2 o5 c r r2 o4 a2 r2 o3 e r2 r o3  r2 r2");
    h.setinstrument(3, h.instrument.abass);
    h.playsound(3, "t200 r2 o3 e r2 r r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b   r2 r r2 r2 a r2 r r2 r2 g r2 r r2 r r f# r2 r r2 r2 b r2 r r2 r r e r2  r  r2 r2 o4 d r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r r2 r2 a r2 r r2 r g  r2 r  e r2 r o4 g r r2 b2 r2 o3 e r2 r e2 r2 o3 e r2 r e2 r2 o4 f# r2 r  r2 r2  e r2 r g2 r2 d r2 r r2 r2 c r2 r c r2 r o3 b r2 r b r2 r a r2 r  o4 c2  r2 o3 b r2 r r2 r r2 r r2 r2 r2 e r2 r r2 r r o4 c r2 r r2 r2 d2 r  r2 o4  d r2 o3 b r2 r r2 o5 d2# o3 e r2 r r2 r r o4 c r2 r r2 r2 d2 r2  r2 r2  o3 e r2 r o4 b2 r2 r r2 r r2 r2 r2 r r r2 r2 r r2 r r2 r2 r2 r r  r2 r2 r  r2 r r2 r2 r2 r r2 r r2 r r2 r r2 r2 r2 r r r2 r2 o3 e r2 r r2  r2 o4 d  r2 r r2 r2 c r2 r r2 r2 o3 b r2 r r2 r2 a r2 r r2 r2 o4 g2 r2 r  r2 r o4 g  r r2 r2 r2 o3 e r2 r r2 r2 o4 a r r2 r2 r2 o3 e r2 r o3 r2  r2");
    end
    
    function onusersay(str)
      if (string.find(str, "огонь")) then
         playnow()
      end
    end
    
    function onsoundplay(channel, note, len, label)
      if (note=="c") then
          n=1;
      elseif (note=="d") then
          n=2;
      elseif (note=="e") then
          n=3;
      elseif (note=="f") then
          n=4;
      elseif (note=="g") then
          n=5;
      elseif (note=="a") then
          n=6;
      elseif (note=="b") then
          n=7;
      else
          n=0;
      end
      h.glownow(n, len, 0, 0, 255);
    end
    
    h.registermenu([название], [номер меню]); - добавляет в меню помощника пункт меню с указанным заголовком
    [table1]параметры|название - имя, которым будет озаглавлен пункт в меню
    |номер меню - индекс, по которому можно будет определить что нажато это меню
    необходим для работы функции|onmenu(menunum)[/table1]

    пример: в контекстном меню помощника появится пункт меню. щелкните по нему для проигрывания мелодии
    Code:
    function oninit()
      h.registermenu("мелодия",1);
    end
    
    function onmenu(menunum)  
       if  (menunum == 1)  then
         melody()
       end
    end  
    
    function melody()
    h.setinstrument(5, h.instrument.piano);
    h.playsound(5,   "v15l8o5[1]dbagd4.d16d16dbage4.e16e16eo6co5baf#4o6d16d16edco5ab8d4.ddbagd2ddbage4.eeo6co5bao6dddd16d16edco5ag4o6d4o5.bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co     5bbb16b16baaga4o6d4o5bbb4bbb4bo6do5g8.a16b2o6ccc8.c16co5bbb16b16o6ddco5ag2");
    
    h.setinstrument(6, h.instrument.piano);
    h.playsound(6,   "v13l8o3gbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3df#df#df#df#gbdbgbgbgbgbgbgbgo4co3go4co3ao4co3ao4co3gbgbdaf#ag2gbgbgbgbgbgo4co3gbgbgo4co3go4co3g   bgbao4c#o3ao4c#o3df#df#gbgbgbgbgbgo4co3gbgbgo4co3go4co3gbgbdf#df#g2");
    
    h.setinstrument(7, h.instrument.piano);
    h.playsound(7,   "v13l8o4rdrdrdrdrdrdrererereo3rarararao4rdrdrdrdrdrdrdrdrererererdrdrcrco3b2o4rdrdrdrdrdrerdrdrererdrdrereo3rarao4rdrdrdrdrdrerdrdrererdrdo3   rarab2");
    end
    
    h.getplayername(); - получает ник персонажа
    [table1]параметры|-
    необходим для работы функции|-[/table1]

    пример: помощник говорит ник персонажа
    Code:
    function oninit()
      str = h.getplayername()
      h.playsound(0, "r[1]");
      h.say(1, str); 
    end
    
     
    Last edited by a moderator: Jun 15, 2012
  9. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    звуковые методы и свойства

    h.playsound([канал], "[код музыки и метки]"); - проигрывание музыки.
    на самом деле, этот метод является основой практически всего происходящего в макросе, т.к. является временной шкалой событий, а действия макроса привязываются к указанным меткам

    параметры: [table1]канал|число|при помощи канала можно определить "партию" для отдельного инструмента в проигрываемой музыке
    код музыки и метки|строка|содерит коды звуковых сигналов и метки[/table1]

    пример 1:
    каналы. для проигрывания мелодии задействовано 7 каналов:
    музыкальные инструменты: 0 - акустический бас, 1 - гитара, 2 - аккордион
    звуковые инструменты: 3 - хай-хэт закрытый, 4 - бубен, 5 - хай-хэт открытый, 6 - треугольник
    Code:
    function oninit()
       melody()
    end  
    
    function melody() 
      h.setinstrument([b]0[/b], h.instrument.abass);
      h.playsound([b]0[/b], "t250 o3 e2 e2 e2 a# a# a# a# a# a# a2 a2 a2 g2 g2 g2  e2 e2 e2 g2 g2 g2 f# f# f# f# f# f# a# a# o4 f# e d c# o3 b r b r");
    
      h.setinstrument([b]1[/b], h.instrument.aguitar);
      h.playsound([b]1[/b], "t250 o4 e b o5 e g e o4 b a# o5 c# e g   e o4 a# a o5 e a  e b e o4 g o5 d g f# e d o4 e b o5 e g e o4 b g b o5  g  f# e o4 b f# o5  c# e f# e g# a# a# f# e d c# o4 b r o3 b");
    
      h.setinstrument([b]2[/b], h.instrument.accordion); 
      h.playsound([b]2[/b], "t250 o6 b2 b2 f# f# a2 a2 g2 e2 f# f#   g2 f# f# f# f# c# c# d2 e2 f# f# o5 b2 b2 b2 a# a# a# a# b2 o6 c# c#  f#  e d a# b r o4 b");
    
    
      h.setpercussion([b]3[/b], h.percussion.hihatclose);
      h.playsound([b]3[/b], "t250 x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r r x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r x_ ");
    
      h.setpercussion([b]4[/b], h.percussion.tambourine);
      h.playsound([b]4[/b], "t250 r r r r r r r r r r r r r r r r r r r r r r x_ r r r r r r r r r r r r r r r r r r r r r r r r r x_r");
    
      h.setpercussion([b]5[/b], h.percussion.hihatopen);
      h.playsound([b]5[/b], "t250 r r r r x_ r r r r r r r r r r r x_ r r r r r r r r r r r x_r r r r r r r r r r r x_r r r r r x_");
    
      h.setpercussion([b]6[/b], h.percussion.triangle);
      h.playsound([b]6[/b], "t250 r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r x_");
    end
    пример 2. метки. после 3-х звуковых сигналов помощник станцует, дождавшись следующих звуковых сигналов - споет и после 3-их проаплодирует
    Code:
    function oninit()
        h.setpercussion(1, h.percussion.fx9);
        h.playsound(1, "r[color=#ff8c00] x x x [/color][b][color=#0000cd][1][/color][/b] r r r r r r r r r r r r r r r [color=#ff8c00]x x x [/color][color=#008000][b][2][/b][/color] r r r r r r r r r r r r r r r [color=#ff8c00]x x x[/color] [color=#800080][b][3][/b][/color]");
        h.startanimation(0, [color=#0000cd][b]1[/b][/color], h.emotion.dance);
        h.startanimation(0, [color=#008000][b]2[/b][/color], h.emotion.sing);
        h.startanimation(0, [color=#800080][b]3[/b][/color], h.emotion.clap);
    end  
    h.setinstrument([канал], [музыкальный инструмент]); - устанавливает, каким музыкальным инструментом будет играться мелодия на указанном канале
    параметры: [table1]канал|число|номер канала, для которого устанавливается инструмент
    музыкальный инструмент|элемент коллекции h.instrument|указывает музыкальный инструмент[/table1]

    пример:
    в контекстное меню помощника добавятся 2 пункта пианино и гитара, по выбору которых можно будет прослушать одну и ту же мелодию на пианино и гитаре соответсвенно

    Code:
    function oninit()
    h.registermenu("пианино",1);
    h.registermenu("гитара",2);
    melody="t250 o4 e b o5 e g e o4 b a# o5 c# e g e o4 a# a o5 e a  e b e   o4 g o5 d g f# e d o4 e b o5 e g e o4 b g b o5 g f# e o4 b f# o5  c# e   f# e g# a# a# f# e d c# o4 b r o3 b"
    end
    
    function onmenu(menunum)  
    if  (menunum == 1)  then
    piano()
    elseif  (menunum == 2 )  then
    guitar()
    end
    end  
    
    function piano()
      h.setinstrument(1, h.instrument.piano);
      h.playsound(1, melody);
    end  
    
    function guitar()
      h.setinstrument(1, h.instrument.aguitar);
      h.playsound(1, melody);
    end  
    

    h.setpercussion([канал], [звук или звуковой инструмент]); - задает как будет проигрываться звуковой сигнал (обозначается буквой "x" в записи мелодии)
    параметры: [table1]канал|число|номер канала, для которого устанавливается инструмент
    звук или звуковой инструмент|элемент коллекции h.percussion|указывает какой звук использовать для звукового сигнала[/table1]

    пример:
    в контекстное меню помощника добавятся 2 пункта, по выбору которых можно будет прослушать одни и те же звуковые сигналы в разном звучании

    Code:
    function oninit()
    h.registermenu("звук 1",1);
    h.registermenu("звук 2",2);
    melody="r r x r r x r r x r r x"
    end
    
    function onmenu(menunum)  
    if  (menunum == 1)  then
    perc1()
    elseif  (menunum == 2 )  then
    perc2()
    end
    end  
    
    function perc1()
      h.setpercussion(1, h.percussion.fx20);
      h.playsound(1, melody);
    end  
    
    function perc2()
      h.setinstrument(2, h.percussion.triangle);
      h.playsound(2, melody);
    end  
    
     
    Last edited by a moderator: Jun 15, 2012
  10. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    методы анимации

    h.startanimation([аутлет], [метка], [эмоция]); - эмоция, которую может выразить помощник, нпс или персонаж
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    метка|число|указывает метку, на которую будет совершаться эмоция
    эмоция|элемент коллекцииh.emotion|указывает какая эмоция будет исполнена[/table1]

    пример:
    помощник повторяет эмоции игрока в доме. имейте ввиду, что помощник умеет выполнять не все доступные игроку эмоции
    Code:
    function oninit()
    end
    
    function onuseremotion(motion)
        h.playsound(1, "rx[1]xrrr");
        h.startanimation(0, 1, motion);
    end
    h.startanimationnow([аутлет], [эмоция]); - эмоция, которую может выразить помощник, нпс или персонаж
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    эмоция|элемент коллекцииh.emotion|указывает какая эмоция будет исполнена[/table1]

    пример:
    помощник повторяет эмоции игрока в доме. имейте ввиду, что помощник умеет выполнять не все доступные игроку эмоции, так же обратите внимание, что помощник повторяет эмоцию синхронно с персонажем, а h.playsound не содержит меток. но при этом наличие h.playsound все равно обязательно.
    Code:
    function oninit()
    end
    
    function onuseremotion(motion)
        h.playsound(1, "rrrrrrrrrrrrrr");
        h.startanimationnow(0, motion);
    end

    h.jump([аутлет], [метка], [высота]); - предмет, на который поставлен аутлет начинает прыгать
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    метка|число|указывает метку, на которую будет совершаться эмоция
    высота|число от 0.1 до 2|высота "подпрыгивания". влияет только на высоту "прыжков" предметов. нпс и помощник подпрыгивают на постоянную высоту[/table1]

    пример:
    назначьте на аутлет предмет мебели и скажите "прыг". помощник и назначенный предмет совершат 5 прыжков (помощник на постоянную высоту, независимо от указанной)
    Code:
    function oninit()
      h.setoutletcount(1);
    end
    
    function onusersay(str)
       h.playsound(0, "r[b][color=#0000ff][1][/color][/b]rr[color=#008000][b][2][/b][/color]rr[b][color=#800080][3][/color][/b]rr[b][color=#ff8c00][4][/color][/b]rr[b][color=#696969][5][/color][/b]rr");
       if (string.find(str, "прыг")) then 
    [color=#0000ff]      h.jump(0, 1, [b]0.1[/b]);
          h.jump(1, 1, [b]0.1[/b]);
    [/color][color=#008000]      h.jump(0, 2,[b] 0.5[/b]);
          h.jump(1, 2,[b] 0.5[/b]);
    [/color][color=#800080]      h.jump(0, 3, [b]1[/b]);
          h.jump(1, 3, [b]1[/b]);
    [/color][color=#ff8c00]      h.jump(0, 4, [b]1.5[/b]);
          h.jump(1, 4, [b]1.5[/b]);
    [/color][color=#696969]      h.jump(0, 5, [b]2[/b]);
          h.jump(1, 5, [b]2[/b]);
    [/color]  end
    end

    h.setpos([аутлет], [метка], [смещение по х], [смещение по y], [смещение по z], [время]); - передвигает предмет на указанное растояние. применимо только для специальных объектов, таких как коробка, настенные символы

    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    метка|число|указывает метку, на которую будет совершаться передвижение
    смещение по х|число|смещение вдоль оси х
    смещение по y|число|смещение вдоль оси y
    смещение по z|число|смещение вдоль оси z
    время|число|время, в течении которого предмет будет смещен (если время указано больше, чем заложено во временном отрезке в h.playsound, движение закончится с окончанием h.playsound)[/table1]

    расположение осей относительно комнаты:
    [​IMG]

    пример:
    назначьте на аутлет коробку и скажите "прыг". коробка начнет двигаться
    Code:
    function oninit()
      h.setoutletcount(1);
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]rr[2]rr[3]rr[4]rr[5]rr[6]rr");
       if (string.find(str, "прыг")) then
          h.setpos(1, 1,1,0,0,3);
          h.setpos(1, 2,1,1,0,3);
          h.setpos(1, 3,1,1,1,3);
          h.setpos(1, 4,0,1,1,3);
          h.setpos(1, 5,0,0,1,3);
          h.setpos(1, 6,0,0,0,3);
      end
    end

    h.setposlinear([аутлет], [метка], [смещение по х], [смещение по y], [смещение по z], [время]); - передвигает предмет на указанное растояние. применимо только для специальных объектов, таких как коробка, настенные символы. отличие от h.setpos - постоянная скорость движения (h.setpos постепенно замедляется)

    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    метка|число|указывает метку, на которую будет совершаться передвижение
    смещение по х|число|смещение вдоль оси х
    смещение по y|число|смещение вдоль оси y
    смещение по z|число|смещение вдоль оси z
    время|число|время, в течении которого предмет будет смещен (если время указано больше, чем заложено во временном отрезке в h.playsound, движение закончится с окончанием h.playsound)[/table1]

    расположение осей относительно комнаты:
    [​IMG]

    пример:
    назначьте на аутлет 2 коробки и скажите "прыг". коробки начнут двигаться. первая с высокой постоянной скоростью, вторая - замедляясь
    Code:
    function oninit()
      h.setoutletcount(2);
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]rr[2]rrrrrrrrrr");
       if (string.find(str, "прыг")) then
          [color="#008000"]h.setposlinear[/color](1, 1,1,1,1,3);
          [color="#0000cd"]h.setpos[/color](2, 1,1,1,1,3);
      end
    end

    h.target([метка], [цель], [время]); - помощник поворачивается в сторону цели
    параметры: [table1]метка|число|указывает метку, на которую будет совершаться передвижение
    цель|строка|имя персонажа, к которому поворачивается помощник
    время|число|время, в течении которого помощник смотрит на цель (если время указано больше, чем заложено во временном отрезке в h.playsound, движение закончится с окончанием h.playsound)[/table1]
    пример: помощник смотрит на говорящего
    Code:
    function oninit()
    end
    
    function onusersay(str)
    
    function onusersay(str, username)   h.target(1, username, 2);   h.playsound(0, "r2[1] r2"); end
    

    h.scale([аутлет], [метка], [длительность], [масштаб]); - предмет, на который поставлен аутлет изменяет размер.
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять действие
    метка|число|указывает метку, на которую будет совершаться действие
    длительность|число|указывает сколько по времени будет выполняться действие
    масштаб|число от 0.1 до 2|масштаб[/table1]

    пример:
    назначьте на аутлет 5 предметов мебели и скажите "размер". (имейте ввиду, что далеко не все предметы умеют менять свой размер)
    назначенные предметы изменять свои размеры от 0,1 до 2
    Code:
    function oninit()
      h.setoutletcount(5);
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]r[2]");
       if (string.find(str, "размер")) then 
          h.scale(1, 1, 2, 0.1);
          h.scale(2, 1, 2, 0.5);
          h.scale(3, 1, 2, 1);
          h.scale(4, 1, 2, 1.5);
          h.scale(5, 1, 2, 2);
      end
    end
     
    Last edited by a moderator: Jun 15, 2012
  11. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    методы сообщений
    сообщения все идут от лица помощника

    h.say([метка], "[сообщение]"); - сообщение от помощника. над помощником появляется "облако" со сказанным
    [table1]параметры: [table1]метка|число|указывает метку, на которую будет совершаться эмоция
    сообщение|строка|текст, который должен сказать помощник[/table1]

    пример:
    помощник повторяет сказанное игроком в доме. фраза помощника появляется над ним и в чате
    Code:
    function oninit()
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]r");
       h.say(1,str)
    end
    [/spoiler]
    h.saynoballoon([метка], "[сообщение]"); - сообщение от помощника. над помощником не появляется "облако" со сказанным
    параметры: [table1]метка|число|указывает метку, на которую будет совершаться эмоция
    сообщение|строка|текст, который должен сказать помощник[/table1]

    пример:
    помощник повторяет сказанное игроком в доме. фраза помощника появляется только в чате
    Code:
    function oninit()
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]r");
       h.saynoballoon(1,str)
    end
    h.alertall([метка], "[сообщение]"); - сообщение от помощника. сообщение появляется в центре экрана.
    параметры: [table1]метка|число|указывает метку, на которую будет совершаться эмоция
    сообщение|строка|текст, который должен сказать помощник[/table1]
    пример: помощник повторяет сказанное игроком в доме. фраза помощника появляется в центре экрана и в чате
    Code:
    function oninit()
     end
     
     function onusersay(str)
        h.playsound(0, "r[1]r");
        h.alertall(1,str)
     end
     
    Last edited by a moderator: Jun 15, 2012
  12. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    методы свечения
    h.glow([аутлет], [метка], [время], [ r ], [ g ], [ b ]); - свечение объекта указанным цветом. часть объектов не восприимчива к цвету и светится всегда белым
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    метка|число|указывает метку, на которую будет совершаться передвижение
    время|число|время, в течении которого предмет будет светиться (если время указано больше, чем заложено во временном отрезке в h.playsound, свечение закончится с окончанием h.playsound)
    r|число от 0 до 255|код красной составляющей цвета в палитре rgb
    g|число от 0 до 255|код зеленой составляющей цвета в палитре rgb
    b|число от 0 до 255|код синей составляющей цвета в палитре rgb[/table1]
    пример: назначьте на аутлеты коробку и например свечу и скажите "свет". коробка и свеча засветятся. оба свечения заданы синим цветом
    Code:
    function oninit()
      h.setoutletcount(2);
    end
    
    function onusersay(str)
       h.playsound(0, "r[1]rrrrrrrrrrrrr");
       if (string.find(str, "свет")) then
         h.glow(1, 1, 10, 0, 0, 255);
         h.glow(2, 1, 10, 0, 0, 255);
      end
    end
    куб светится синим, как и указано в настройках, а свеча - белым, игнорируя указание на синий цвет
    [​IMG]
    h.glownow([аутлет],[время], [ r ], [ g ], [ b ]); - свечение объекта указанным цветом. не зависит от метки. часть объектов не восприимчива к цвету и светится всегда белым
    параметры: [table1]аутлет|элемент коллекции h.outlet или номер аутлета|аулет, который будет выполнять эмоцию
    время|число|время, в течении которого предмет будет светиться (если время указано больше, чем заложено во временном отрезке в h.playsound, свечение закончится с окончанием h.playsound)
    r|число от 0 до 255|код красной составляющей цвета в палитре rgb
    g|число от 0 до 255|код зеленой составляющей цвета в палитре rgb
    b|число от 0 до 255|код синей составляющей цвета в палитре rgb[/table1]
    пример: назначьте на аутлеты коробку и например свечу и скажите "свет". коробка и свеча засветятся. оба свечения заданы синим цветом
    Code:
    function oninit()
      h.setoutletcount(2);
    end
    
    function onusersay(str)
       h.playsound(0, "rrrrrrrrrrrrrr");
       if (string.find(str, "свет")) then
         h.glownow(1, 10, 0, 0, 255);
         h.glownow(2, 10, 0, 0, 255);
      end
    end
    куб светится синим, как и указано в настройках, а свеча - белым, игнорируя указание на синий цвет
    [​IMG]
    цвета
    [​IMG]
     
    Last edited by a moderator: Jun 15, 2012
  13. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    методы и функции управления музыкальным аппаратом
    будет расписано подробно при введении музыкального аппарата

    h.playjukeboxsong(index); - воспроизведение песни с соответствующим index. h.playjukeboxnextsong(); - воспроизвести следующий трек h.playjukeboxprevsong(); - воспроизвести предыдущий трек h.pausejukeboxsong(); - остановить музыку h.resumejukeboxsong(); - возобновить проигрывание музыки h.replayjukeboxsong(); - повторить проигрываемый трек h.setjukeboxvolume(); - изменить громкость музыкального автомата (0~100)
    function onjukeboxready(desc)
     
    Last edited by a moderator: Jun 15, 2012
    KingKazma and Brookiyn like this.
  14. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    резерв (10 резервов)
     
    Last edited by a moderator: May 14, 2012
    KingKazma likes this.
  15. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    все остальные шаблоны (буду доставать по мере описания. приоритеты описания - по вопросам :) )
    игра: синий флаг - белый флаг
    Code:
    [/color]
    [color=#bb0000]-- игра доступна после смены следующих команд:[/color]
    [color=#bb0000]g_flagtable = {[/color]
    [color=#bb0000]{ "[kvalue:команда1;синий флажок;str]", [kvalue:динамика1;h.emotion.blueflag;moti] },[/color]
    [color=#bb0000]{ "[kvalue:команда2;не белый флаг, а синий;str]", [kvalue:динамика2;h.emotion.blueflag;moti] },[/color]
    [color=#bb0000]{ "[kvalue:команда3;белый флажок;str]", [kvalue:динамика3;h.emotion.whiteflag;moti] },[/color]
    [color=#bb0000]{ "[kvalue:команда4;не синий флаг, а белый;str]", [kvalue:динамика4;h.emotion.whiteflag;moti] },[/color]
    [color=#bb0000]{ "[kvalue:команда5;поднять флажки;str]", [kvalue:динамика5;h.emotion.twoflag;moti] },[/color]
    [color=#bb0000]{ "[kvalue:команда6;не только синий флаг, а оба флага;str]", [kvalue:динамика6;h.emotion.twoflag;moti] },[/color]
    [color=#bb0000]};[/color]
    
    [color=#bb0000]-- вызывается во время сброса скрипта на начальные настройки.[/color]
    [color=#bb0000]g_playername = "";[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]h.setsensor(20, 30);[/color]
    
    [color=#bb0000]-- активирует функцию onsoundplay.[/color]
    [color=#bb0000]h.enablesoundcallback(1);[/color]
    
    [color=#bb0000]g_playername = h.getplayername();[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]g_usertable = {};[/color]
    [color=#bb0000]g_failtable = {};[/color]
    [color=#bb0000]g_curflagcount = 0;[/color]
    [color=#bb0000]g_curflagmotion = "";[/color]
    [color=#bb0000]g_ingame = 0;[/color]
    [color=#bb0000]g_hostgame = 0;[/color]
    
    [color=#bb0000]function startgame()[/color]
    [color=#bb0000]g_ingame = 1;[/color]
    [color=#bb0000]for k,v in pairs(g_usertable) do g_usertable[k] = 0 end;[/color]
    [color=#bb0000]for k,v in pairs(g_failtable) do g_usertable[k] = 0 end;[/color]
    [color=#bb0000]g_failtable = {};[/color]
    [color=#bb0000]g_curflagcount = 0;[/color]
    [color=#bb0000]g_curflagmotion = "";[/color]
    [color=#bb0000]math.randomseed(h.getgametime());[/color]
    [color=#bb0000]h.say(1, "готовность: синий флаг - белый флаг!");[/color]
    [color=#bb0000]h.playsound(1, "r[1]rrrrr x[2]rrrrr x[3]rrrrr x[4]rrrrr x[5]rrrrr x[6]rrrrr x[7]");[/color]
    [color=#bb0000]if (g_hostgame == 1) then[/color]
    [color=#bb0000]h.broadcast("ready", 0, 0);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function adduser(desc)[/color]
    [color=#bb0000]g_usertable[desc] = 0;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onbroadcasted(fromuser, msg, param1, param2)[/color]
    [color=#bb0000]-- участвовать в игре[/color]
    [color=#bb0000]if (msg == "ready") then[/color]
    [color=#bb0000]if (g_hostgame == 0 and g_playername ~= fromuser) then[/color]
    [color=#bb0000]h.broadcast("join", 0, 0);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]elseif (msg == "join") then[/color]
    [color=#bb0000]if (g_hostgame == 1 and g_playername ~= fromuser) then[/color]
    [color=#bb0000]adduser(fromuser);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- отображение победы, поражения, звуковые эффекты[/color]
    [color=#bb0000]elseif (string.find(msg, "success")) then[/color]
    [color=#bb0000]h.saynoballoon(1, msg.sub(msg, 8, -1) .. " успех!");[/color]
    [color=#bb0000]if (string.find(msg, g_playername)) then[/color]
    [color=#bb0000]h.setpercussion(5, h.percussion.fx7);[/color]
    [color=#bb0000]h.playsound(5, "x");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]elseif (string.find(msg, "failure")) then[/color]
    [color=#bb0000]h.saynoballoon(1, msg.sub(msg, 8, -1) .. " неудача!");[/color]
    [color=#bb0000]if (string.find(msg, g_playername)) then[/color]
    [color=#bb0000]h.setpercussion(5, h.percussion.fx4);[/color]
    [color=#bb0000]h.playsound(5, "x");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function endgame()[/color]
    [color=#bb0000]for k,v in pairs(g_usertable) do[/color]
    [color=#bb0000]h.sayallnoballoon(1, "победа в игре синий флаг - белый флаг: "..k);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]for k,v in pairs(g_failtable) do[/color]
    [color=#bb0000]h.sayallnoballoon(1, "неудача в игре синий флаг - белый флаг: "..k);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]h.playsound(4, "r[1]");[/color]
    [color=#bb0000]g_hostgame = 0;[/color]
    [color=#bb0000]g_ingame = 0;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function failuser(desc)[/color]
    [color=#bb0000]h.broadcast("failure" .. desc, 0, 0);[/color]
    [color=#bb0000]g_failtable[desc] = 1;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function outfailedusers()[/color]
    [color=#bb0000]for k, v in pairs(g_failtable) do[/color]
    [color=#bb0000]g_usertable[k] = nil;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function checkplayerflag()[/color]
    [color=#bb0000]for k, v in pairs(g_usertable) do[/color]
    [color=#bb0000]if (v ~= g_curflagcount) then[/color]
    [color=#bb0000]failuser(k);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]outfailedusers();[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается эмоцией владельца.[/color]
    [color=#bb0000]function onuseremotion(motion, desc)[/color]
    [color=#bb0000]if (motion == h.emotion.blueflag or motion == h.emotion.whiteflag or motion == h.emotion.twoflag) then[/color]
    [color=#bb0000]if (g_hostgame == 1) then[/color]
    [color=#bb0000]if (g_usertable[desc] ~= nil) then[/color]
    [color=#bb0000]if (motion == g_curflagmotion) then[/color]
    [color=#bb0000]h.broadcast("success" .. desc, 0, 0);[/color]
    [color=#bb0000]g_usertable[desc] = g_curflagcount;[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]failuser(desc);[/color]
    [color=#bb0000]outfailedusers();[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]h.playsound(2, "r[1]");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function setrandomflagtype()[/color]
    [color=#bb0000]randval = math.random(#g_flagtable);[/color]
    [color=#bb0000]g_curflagmotion = g_flagtable[randval][2];[/color]
    [color=#bb0000]randflagname = g_flagtable[randval][1];[/color]
    [color=#bb0000]g_curflagcount = g_curflagcount+1;[/color]
    
    [color=#bb0000]h.alertall(1, randflagname);[/color]
    [color=#bb0000]h.playsound(3, "r[1]");[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function getusercount()[/color]
    [color=#bb0000]count = 0;[/color]
    [color=#bb0000]for k,v in pairs(g_usertable) do count = count + 1; end[/color]
    [color=#bb0000]return count;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается во время проигрывания музыки.[/color]
    [color=#bb0000]function onsoundplay(channel, note, len, label)[/color]
    [color=#bb0000]if (g_hostgame == 1) then[/color]
    [color=#bb0000]if ((1 &lt; label) and (label &lt; 7)) then[/color]
    [color=#bb0000]checkplayerflag();[/color]
    [color=#bb0000]if (getusercount() == 0) then[/color]
    [color=#bb0000]endgame();[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]setrandomflagtype();[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (label == 7) then[/color]
    [color=#bb0000]checkplayerflag();[/color]
    [color=#bb0000]endgame();[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]if (label == 7) then[/color]
    [color=#bb0000]g_ingame = 0;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onuserentered(desc)[/color]
    [color=#bb0000]adduser(desc);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onusersay(str, desc)[/color]
    [color=#bb0000]if (string.find(str, "игра: синий флаг - белый флаг")) then[/color]
    [color=#bb0000]if (g_ingame == 0) then[/color]
    [color=#bb0000]if (desc == g_playername) then[/color]
    [color=#bb0000]g_hostgame = 1;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]startgame();[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]

    поймай жука
    Code:
    [/color]
    [color=#bb0000]conststagenum = 10;[/color]
    [color=#bb0000]constmolenum = 6;[/color]
    [color=#bb0000]constmolenumperstage = 2; -- достаточно 1/3 constmolenum[/color]
    
    [color=#bb0000]gsready = 0;[/color]
    [color=#bb0000]gsingame = 1;[/color]
    
    [color=#bb0000]ishost = false;[/color]
    [color=#bb0000]gamestate = gsready;[/color]
    [color=#bb0000]outletstate = {};[/color]
    [color=#bb0000]userscore = {};[/color]
    
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]if (constmolenum &lt; 3) then constmolenum = 3; end[/color]
    [color=#bb0000]if (constmolenum &gt; 9) then constmolenum = 9; end[/color]
    [color=#bb0000]h.setoutletcount(constmolenum);[/color]
    [color=#bb0000]h.enablesoundcallback(true);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onplayersay(str)[/color]
    [color=#bb0000]if (string.find(str, "игра: поймай жука")) then[/color]
    [color=#bb0000]ishost = true;[/color]
    [color=#bb0000]h.broadcast("begingame", 0, 0);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function begingamehost()[/color]
    [color=#bb0000]if (gamestate == gsready) then[/color]
    [color=#bb0000]gamestate = gsingame;[/color]
    
    [color=#bb0000]--сброс[/color]
    [color=#bb0000]for i = 1, constmolenum do[/color]
    [color=#bb0000]outletstate[i] = 0;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]math.randomseed(h.getgametime());[/color]
    
    [color=#bb0000]--string для установки раковины[/color]
    [color=#bb0000]local str = "";[/color]
    [color=#bb0000]for i = 1, conststagenum do[/color]
    [color=#bb0000]str = str .. "r1r1[" .. i .. "]";[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]h.playsound(0, str);[/color]
    
    [color=#bb0000]-- сброс игры "поймай жука"[/color]
    [color=#bb0000]for i = 1, constmolenum do[/color]
    [color=#bb0000]h.broadcast("setoutletstate", i, 0);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- обнуление очков[/color]
    [color=#bb0000]userscore = {};[/color]
    
    [color=#bb0000]-- играть[/color]
    [color=#bb0000]h.sayall(-1, "игра: поймай жука ===========");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function endgamehost()[/color]
    [color=#bb0000]if (gamestate == gsingame) then[/color]
    [color=#bb0000]h.sayall(-1, "игра закончена");[/color]
    [color=#bb0000]h.sayall(-1, "================");[/color]
    [color=#bb0000]for k, v in pairs(userscore) do[/color]
    [color=#bb0000]if (k) then[/color]
    [color=#bb0000]h.sayall(-1, k .. ": " .. (v or 0));[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]h.sayall(-1, "================");[/color]
    [color=#bb0000]ishost = false;[/color]
    [color=#bb0000]gamestate = gsready;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function begingameguest()[/color]
    [color=#bb0000]if (gamestate == gsready) then[/color]
    [color=#bb0000]gamestate = gsingame;[/color]
    
    [color=#bb0000]for i = 1, constmolenum do[/color]
    [color=#bb0000]outletstate[i] = 0;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]local str = "";[/color]
    [color=#bb0000]for i = 1, conststagenum do[/color]
    [color=#bb0000]str = str .. "r1r1"[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]str = str .. "r1[" .. conststagenum .. "]"; -- добавить время[/color]
    
    [color=#bb0000]h.playsound(0, str);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function newstage()[/color]
    [color=#bb0000]-- игра начнется снова, если еще раз выбрать "игра: поймай жука"[/color]
    [color=#bb0000]local i = 1;[/color]
    [color=#bb0000]local count = 0;[/color]
    [color=#bb0000]repeat[/color]
    [color=#bb0000]local newmole = math.random(constmolenum);[/color]
    [color=#bb0000]local state = outletstate[newmole][/color]
    [color=#bb0000]if (state == nil or state == 0) then[/color]
    [color=#bb0000]outletstate[newmole] = 100;[/color]
    [color=#bb0000]count = count + 1;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]i = i + 1;[/color]
    [color=#bb0000]until count &gt;= constmolenumperstage or i &gt; 100;[/color]
    
    [color=#bb0000]-- сообщить другому игроку[/color]
    [color=#bb0000]for i = 1, constmolenum do[/color]
    [color=#bb0000]if (outletstate[i] == 1 or outletstate[i] == 2) then[/color]
    [color=#bb0000]h.broadcast("setoutletstate", i, 0);[/color]
    [color=#bb0000]elseif (outletstate[i] == 100) then[/color]
    [color=#bb0000]outletstate[i] = 1;[/color]
    [color=#bb0000]h.broadcast("setoutletstate", i, 1);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onsoundplay(channel, note, len, label)[/color]
    [color=#bb0000]if (ishost and channel == 0 and label &gt; 0) then[/color]
    [color=#bb0000]newstage();[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]if (label == conststagenum) then[/color]
    [color=#bb0000]if (ishost) then[/color]
    [color=#bb0000]h.broadcast("endgame", 0, 0);[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]gamestate = gsready;[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onbroadcasted(fromuser, msg, outletindex, state)[/color]
    [color=#bb0000]if (msg == "setoutletstate") then[/color]
    [color=#bb0000]-- 0: сброс, 1: highlight, 2: очки[/color]
    [color=#bb0000]if (ishost and state == 2 and outletstate[outletindex] ~= 1) then[/color]
    [color=#bb0000]return;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]outletstate[outletindex] = state;[/color]
    [color=#bb0000]if (state == 0 or state == 2) then[/color]
    [color=#bb0000]h.glownow(outletindex, -1, 0, 0, 0);[/color]
    [color=#bb0000]h.setposnow(outletindex, 0, 0, -0.3, 0.5);[/color]
    [color=#bb0000]elseif (state == 1) then[/color]
    [color=#bb0000]h.glownow(outletindex, 100, 0, 0, 255);[/color]
    [color=#bb0000]h.setposnow(outletindex, 0, 0, 0, 0.5);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]if (state == 2) then[/color]
    [color=#bb0000]-- оценка хозяина (host)[/color]
    [color=#bb0000]if (ishost) then[/color]
    [color=#bb0000]userscore[fromuser] = userscore[fromuser] and (userscore[fromuser]+1) or 1;[/color]
    [color=#bb0000]h.sayall(-1, "очки:".. fromuser);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- звуковые эффекты[/color]
    [color=#bb0000]h.setpercussion(1, h.percussion.fx2);[/color]
    [color=#bb0000]h.playsound(1, "x");[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]elseif (msg == "begingame") then[/color]
    [color=#bb0000]if (ishost) then[/color]
    [color=#bb0000]begingamehost();[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]begingameguest();[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]elseif (msg == "endgame") then[/color]
    [color=#bb0000]if (ishost) then[/color]
    [color=#bb0000]endgamehost();[/color]
    [color=#bb0000]else[/color]
    [color=#bb0000]gamestate = gsready;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- местонахождение жука[/color]
    [color=#bb0000]for i = 1, constmolenum do[/color]
    [color=#bb0000]h.setposnow(i, 0, 0, 0, 0.5);[/color]
    [color=#bb0000]h.glownow(i, -1, 0, 0, 0);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function onplayerjumpend(outletindex)[/color]
    [color=#bb0000]if (outletstate[outletindex] == 1) then[/color]
    [color=#bb0000]h.broadcast("setoutletstate", outletindex, 2);[/color]
    [color=#bb0000]h.glownow(outletindex, 1, 255, 0, 0);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]

    выступить
    Code:
    [/color]
    [color=#bb0000]-- вызывается во время сброса скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- меню добавляется щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- первая переменная - название меню.[/color]
    [color=#bb0000]-- вторая переменная - соответствующий id меню.[/color]
    [color=#bb0000]-- такое значение используется в функции onmenu().[/color]
    [color=#bb0000]h.registermenu("выступить", 1);[/color]
    
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- меню выбирается и запускается щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- menunum - соответствующий id, установленный в registermenu.[/color]
    [color=#bb0000]function onmenu(menunum)[/color]
    
    [color=#bb0000]-- соответствующий id определяет, "выступить" ли.[/color]
    [color=#bb0000]if (menunum == 1) then[/color]
    
    [color=#bb0000]h.setinstrument(2, h.instrument.accordion); -- настройка инструмента.[/color]
    [color=#bb0000]h.playsound(2, "t250 o6 b2 b2 f# f# a2 a2 g2 e2 f# f# g2 f# f# f# f# c# c# d2 e2 f# f# o5 b2 b2 b2 a# a# a# a# b2 o6 c# c# f# e d a# b r o4 b");[/color]
    
    [color=#bb0000]h.setinstrument(1, h.instrument.aguitar);[/color]
    [color=#bb0000]h.playsound(1, "t250 o4 e b o5 e g e o4 b a# o5 c# e g e o4 a# a o5 e a e b e o4 g o5 d g f# e d o4 e b o5 e g e o4 b g b o5 g f# e o4 b f# o5 c# e f# e g# a# a# f# e d c# o4 b r o3 b");[/color]
    
    [color=#bb0000]h.setinstrument(0, h.instrument.abass);[/color]
    [color=#bb0000]h.playsound(0, "t250 o3 e2 e2 e2 a# a# a# a# a# a# a2 a2 a2 g2 g2 g2 e2 e2 e2 g2 g2 g2 f# f# f# f# f# f# a# a# o4 f# e d c# o3 b r b r");[/color]
    
    [color=#bb0000]h.setpercussion(3, h.percussion.hihatclose); -- настройка перкуссии.[/color]
    [color=#bb0000]h.playsound(3, "t250 x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r r x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r x_ ");[/color]
    
    [color=#bb0000]h.setpercussion(4, h.percussion.tambourine);[/color]
    [color=#bb0000]h.playsound(4, "t250 r r r r r r r r r r r r r r r r r r r r r r x_ r r r r r r r r r r r r r r r r r r r r r r r r r x_r");[/color]
    
    [color=#bb0000]h.setpercussion(5, h.percussion.hihatopen);[/color]
    [color=#bb0000]h.playsound(5, "t250 r r r r x_ r r r r r r r r r r r x_ r r r r r r r r r r r x_r r r r r r r r r r r x_r r r r r x_");[/color]
    
    [color=#bb0000]h.setpercussion(6, h.percussion.triangle);[/color]
    [color=#bb0000]h.playsound(6, "t250 r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r x_");[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- ноты: до (c), ре (d), ми (e), фа (f), соль (g), ля (a), си (b)[/color]
    [color=#bb0000]-- длина ноты: четвертная (4), восьмая (8), шестнадцатая (16)[/color]
    [color=#bb0000]-- остальные команды: точка (r), октава (o), громкость (v), темп (t)[/color]
    [color=#bb0000]-- инструмент:[/color]
    [color=#bb0000]-- используются в setinstrument(): базовое значение - пианино.[/color]
    [color=#bb0000]-- h.instrument.abass (акустический бас), h.instrument.ebass (электрический бас),[/color]
    [color=#bb0000]-- h.instrument.aguitar (акустическая гитара), h.instrument.accordion (аккордеон)[/color]
    [color=#bb0000]-- используются в setpercussion(): базовое значение - бубен.[/color]
    [color=#bb0000]-- h.percussion.tambourine (бубен) h.percussion.triangle (треугольник)[/color]
    [color=#bb0000]-- h.percussion.cymbal (цимбалы) h.percussion.hihatclose (хай-хэт закрытый)[/color]
    [color=#bb0000]-- h.percussion.hihatopen (хай-хэт открытый) h.percussion.kick (кик)[/color]
    [color=#bb0000]-- h.percussion.snare (малый барабан) h.percussion.tomtom1 (том-том1)[/color]
    [color=#bb0000]-- h.percussion.tomtom2 (том-том2) h.percussion.tomtom3 (том-том3)[/color]
    [color=#bb0000]-- h.percussion.fx1 ~ h.percussion.fx20 (эффект 1-20)[/color]
    [color=#bb0000]

    выступить (эффект)
    Code:
    -- вызывается во время сброса скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- меню добавляется щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- первая переменная - название меню.[/color]
    [color=#bb0000]-- вторая переменная - соответствующий id меню.[/color]
    [color=#bb0000]-- такое значение используется в функции onmenu().[/color]
    [color=#bb0000]h.registermenu("выступить (эффект)", 1);[/color]
    
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- меню выбирается и запускается щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- menunum - соответствующий id, установленный в registermenu.[/color]
    [color=#bb0000]function onmenu(menunum)[/color]
    
    [color=#bb0000]-- соответствующий id определяет, "выступить" ли.[/color]
    [color=#bb0000]if (menunum == 1) then[/color]
    
    [color=#bb0000]h.setinstrument(2, h.instrument.accordion); -- настройка инструмента.[/color]
    [color=#bb0000]h.playsound(2, "t250 o6 b2 b2 f# f# a2 a2 g2 e2 f# f# g2 f# f# f# f# c# c# d2 e2 f# f# o5 b2 b2 b2 a# a# a# a# b2 o6 c# c# f# e d a# b r o4 b");[/color]
    
    [color=#bb0000]h.setinstrument(1, h.instrument.aguitar);[/color]
    [color=#bb0000]h.playsound(1, "t250 o4 e b o5 e g e o4 b a# o5 c# e g e o4 a# a o5 e a e b e o4 g o5 d g f# e d o4 e b o5 e g e o4 b g b o5 g f# e o4 b f# o5 c# e f# e g# a# a# f# e d c# o4 b r o3 b");[/color]
    
    [color=#bb0000]h.setinstrument(0, h.instrument.abass);[/color]
    [color=#bb0000]h.playsound(0, "t250 o3 e2 e2 e2 a# a# a# a# a# a# a2 a2 a2 g2 g2 g2 e2 e2 e2 g2 g2 g2 f# f# f# f# f# f# a# a# o4 f# e d c# o3 b r b r");[/color]
    
    [color=#bb0000]h.setpercussion(3, h.percussion.hihatclose); -- настройка перкуссии.[/color]
    [color=#bb0000]h.playsound(3, "t250 x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r r x_ r x_ r r r r r x_ r x_ r x_ r x_ r r r r r x_ r r x_ ");[/color]
    
    [color=#bb0000]h.setpercussion(4, h.percussion.fx2);[/color]
    [color=#bb0000]h.playsound(4, "t250 r r r r r r r r r r r r r r r r r r r r r r x_ r r r r r r r r r r r r r r r r r r r r r r r r r x_r");[/color]
    
    [color=#bb0000]h.setpercussion(5, h.percussion.fx9);[/color]
    [color=#bb0000]h.playsound(5, "t250 r r r r x_ r r r r r r r r r r r x_ r r r r r r r r r r r x_r r r r r r r r r r r x_r r r r r x_");[/color]
    
    [color=#bb0000]h.setpercussion(6, h.percussion.fx13);[/color]
    [color=#bb0000]h.playsound(6, "t250 r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r x_");[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- ноты: до (c), ре (d), ми (e), фа (f), соль (g), ля (a), си (b)[/color]
    [color=#bb0000]-- длина ноты: четвертная (4), восьмая (8), шестнадцатая (16)[/color]
    [color=#bb0000]-- инструмент: базовое значение - пианино.[/color]
    [color=#bb0000]-- h.instrument.abass (акустический бас), h.instrument.ebass (электрический бас),[/color]
    [color=#bb0000]-- h.instrument.aguitar (акустическая гитара), h.instrument.accordion (аккордеон)[/color]
    [color=#bb0000]-- остальные команды: точка (r), октава (o), громкость (v), темп (t)

    посмеяться
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать"ха-ха", то будет смех.[/color]
    [color=#bb0000]if (string.find(str, "ха-ха")) then[/color]
    
    [color=#bb0000]-- первая переменная 0 активирует помощника.[/color]
    [color=#bb0000]-- вторая переменная 1 активирует label номер [1] playsound.[/color]
    [color=#bb0000]-- третья переменная настраивает в качестве эмоции помощника смех.[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.laugh);[/color]
    
    [color=#bb0000]-- во время проигрывания label номер [1] появляется команда.[/color]
    [color=#bb0000]h.playsound(0, "r[1]");[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end

    танцевать
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается эмоцией владельца.[/color]
    [color=#bb0000]function onuseremotion(motion)[/color]
    
    [color=#bb0000]-- эмоция определяет, "танец" ли.[/color]
    [color=#bb0000]if (motion == h.emotion.dance) then[/color]
    
    [color=#bb0000]-- первая переменная 0 активирует помощника.[/color]
    [color=#bb0000]-- вторая переменная 1 активирует label номер [1] playsound.[/color]
    [color=#bb0000]-- третья переменная настраивает в качестве эмоции помощника пение.[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.sing);[/color]
    
    [color=#bb0000]-- во время проигрывания label номер [1] появляется команда.[/color]
    [color=#bb0000]h.playsound(2, "t250 o5 a[1] g f r e r d r g1");[/color]
    
    [color=#bb0000]h.setinstrument(1, h.instrument.accordion);[/color]
    [color=#bb0000]h.playsound(1, "t250 o4 c o3 b a r g r f r e e e2 e2");[/color]
    
    [color=#bb0000]h.setinstrument(0, h.instrument.abass);[/color]
    [color=#bb0000]h.playsound(0, "t250 o4 c[1] c o2 a# r a r g r o3 c r o2 c2 c2");[/color]
    
    [color=#bb0000]h.setpercussion(3, h.percussion.hihatclose);[/color]
    [color=#bb0000]h.playsound(3, "t250 x_ r r r x_ r x_ r ");[/color]
    
    [color=#bb0000]h.setpercussion(4, h.percussion.tambourine);[/color]
    [color=#bb0000]h.playsound(4, "t250 r r x_");[/color]
    
    [color=#bb0000]h.setpercussion(5, h.percussion.cymbal);[/color]
    [color=#bb0000]h.playsound(5, "t250 r r r r r r r r x_");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end

    передвинуть декорации
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- активируется в 4 м от дома.[/color]
    [color=#bb0000]h.setsensor(4, 4);[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 1.[/color]
    [color=#bb0000]-- если щелкнуть правой кнопкой мыши по иконке аутлета, можно выбрать аутлет.[/color]
    [color=#bb0000]h.setoutletcount(1);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать "перемещение", то декорации с аутлетом перемещаются.[/color]
    [color=#bb0000]if (string.find(str, "перемещение")) then[/color]
    
    [color=#bb0000]-- [1]. настройка label как [2].[/color]
    [color=#bb0000]h.playsound(0, "r2[1] r2[2]");[/color]
    
    [color=#bb0000]-- перемещает декорации с аутлетом при label номер [1].[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet1, 1, 0, 0, 0.5, 1);[/color]
    
    [color=#bb0000]-- еще перемещает декорации с аутлетом при label номер [2].[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet1, 2, 0, 0, 1, 1);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]

    подсветить декорации
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- меню добавляется щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- первая переменная - название меню.[/color]
    [color=#bb0000]-- вторая переменная - соответствующий id меню.[/color]
    [color=#bb0000]-- такое значение используется в функции onmenu().[/color]
    [color=#bb0000]h.registermenu("подсветить", 2);[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 1.[/color]
    [color=#bb0000]h.setoutletcount(1);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- меню выбирается и запускается щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- menunum - соответствующий id, установленный в registermenu.[/color]
    [color=#bb0000]function onmenu(menunum)[/color]
    
    [color=#bb0000]-- соответствующий id меню определяет, "подсветить" ли.[/color]
    [color=#bb0000]if (menunum ~= 2) then[/color]
    [color=#bb0000]return;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- первая переменная означает первый аутлет.[/color]
    [color=#bb0000]-- вторая переменная означает label номер [1] playsound.[/color]
    [color=#bb0000]-- третья переменная означает появление огня в течение 1 сек.[/color]
    [color=#bb0000]-- четвертая переменная - красный (r),[/color]
    [color=#bb0000]-- пятая переменная - зеленый (g),[/color]
    [color=#bb0000]-- шестая переменная - синий (b).[/color]
    [color=#bb0000]-- некоторые декорации не имеют цвета.[/color]
    [color=#bb0000]h.glow( h.outlet.outlet1, 1, 1, 255, 0, 0);[/color]
    
    [color=#bb0000]-- настраивает label [1].[/color]
    [color=#bb0000]h.playsound(0, "r2[1]");[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]

    подбросить декорации
    Code:
    [/color]
    [color=#bb0000]-- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 1.[/color]
    [color=#bb0000]-- если щелкнуть правой кнопкой мыши по иконке аутлета, можно выбрать аутлет.[/color]
    [color=#bb0000]h.setoutletcount(1);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать "прыжок", то мебель с аутлетом подпрыгнет.[/color]
    [color=#bb0000]if (string.find(str, "прыжок")) then[/color]
    
    [color=#bb0000]-- настраивает label [1].[/color]
    [color=#bb0000]h.playsound(0, "r2[1]");[/color]
    
    [color=#bb0000]-- декорации с аутлетом подпрыгивают при label номер [1].[/color]
    [color=#bb0000]-- первая переменная означает первый аутлет.[/color]
    [color=#bb0000]-- вторая переменная означает label номер [1] playsound.[/color]
    [color=#bb0000]-- третья переменная настраивает высоту.[/color]
    [color=#bb0000]h.jump(h.outlet.outlet1, 1, 1);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end

    глазеть
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]-- первый фактор - содержание чата, второй фактор - имя владельца.[/color]
    [color=#bb0000]function onusersay(str, username)[/color]
    
    [color=#bb0000]-- если сказать "помощник", то помощник будет глазеть.[/color]
    [color=#bb0000]if (string.find(str, "помощник")) then[/color]
    
    [color=#bb0000]-- первая переменная - label.[/color]
    [color=#bb0000]-- вторая переменная - название объекта.[/color]
    [color=#bb0000]-- третья переменная - время действия.[/color]
    [color=#bb0000]-- например, 2 сек. с label [1][/color]
    [color=#bb0000]-- глазеет на цель с именем в desc.[/color]
    [color=#bb0000]-- если завершается playsound, возвращает в исходное состояние без связи со временем.[/color]
    [color=#bb0000]h.target(1, username, 2);[/color]
    
    [color=#bb0000]-- настраивает label [1].[/color]
    [color=#bb0000]h.playsound(0, "r2[1] r2");[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end

    синий флаг - белый флаг
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать "белый флаг", то будет белый флаг.[/color]
    [color=#bb0000]if (string.find(str, "белый флаг")) then[/color]
    
    [color=#bb0000]-- первая переменная 0 означает помощника.[/color]
    [color=#bb0000]-- вторая переменная 1 - [1] label.[/color]
    [color=#bb0000]-- третья переменная настраивает в качестве эмоции помощника белый флаг.[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.whiteflag);[/color]
    
    [color=#bb0000]-- настраивает label [1] на канале 0.[/color]
    [color=#bb0000]h.playsound(0, "r[1]");[/color]
    
    [color=#bb0000]-- если сказать "синий флаг", то будет синий флаг.[/color]
    [color=#bb0000]elseif (string.find(str, "синий флаг")) then[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.blueflag);[/color]
    [color=#bb0000]h.playsound(0, "r[1]");[/color]
    
    [color=#bb0000]elseif (string.find(str, "поднять")) then[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.twoflag);[/color]
    [color=#bb0000]h.playsound(0, "r[1]");[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end

    время вечеринки
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 1.[/color]
    [color=#bb0000]-- если щелкнуть правой кнопкой мыши по иконке аутлета, можно выбрать аутлет.[/color]
    [color=#bb0000]h.setoutletcount(5);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function partytime()[/color]
    
    [color=#bb0000]-- первая переменная 0 активирует помощника.[/color]
    [color=#bb0000]-- вторая переменная 1 активирует label номер [1] playsound.[/color]
    [color=#bb0000]-- третья переменная настраивает в качестве эмоции помощника аплодисменты.[/color]
    [color=#bb0000]h.startanimation(0, 1, h.emotion.clap);[/color]
    
    [color=#bb0000]-- первая переменная означает первый аутлет.[/color]
    [color=#bb0000]-- вторая переменная означает label номер [2] playsound.[/color]
    [color=#bb0000]-- третья переменная означает появление огня в течение 1 сек.[/color]
    [color=#bb0000]-- четвертая переменная - красный (r),[/color]
    [color=#bb0000]-- пятая переменная - зеленый (g),[/color]
    [color=#bb0000]-- шестая переменная - синий (b).[/color]
    [color=#bb0000]-- некоторые декорации не имеют цвета.[/color]
    [color=#bb0000]h.glow( h.outlet.outlet1, 2, 1, 0, 0, 255);[/color]
    
    [color=#bb0000]-- наделяет красным цветом из [3] label.[/color]
    [color=#bb0000]h.glow( h.outlet.outlet1, 3, 1, 255, 0, 0);[/color]
    
    [color=#bb0000]h.glow( h.outlet.outlet2, 4, 1, 0, 0, 255);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet2, 5, 1, 255, 0, 0);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet3, 6, 1, 0, 0, 255);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet3, 7, 1, 255, 0, 0);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet4, 8, 1, 0, 0, 255);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet4, 9, 1, 255, 0, 0);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet5, 10, 1, 0, 0, 255);[/color]
    [color=#bb0000]h.glow( h.outlet.outlet5, 11, 1, 255, 0, 0);[/color]
    
    [color=#bb0000]h.setpercussion(1, h.percussion.kick); -- настраивает канал 1 с помощью kick sound.[/color]
    [color=#bb0000]h.setpercussion(2, h.percussion.snare);[/color]
    [color=#bb0000]h.setpercussion(3, h.percussion.hihatclose);[/color]
    [color=#bb0000]h.setpercussion(4, h.percussion.hihatopen);[/color]
    [color=#bb0000]h.setpercussion(5, h.percussion.cymbal);[/color]
    [color=#bb0000]h.setpercussion(6, h.percussion.tomtom1);[/color]
    [color=#bb0000]h.setpercussion(7, h.percussion.tomtom2);[/color]
    [color=#bb0000]h.setpercussion(0, h.percussion.tomtom3);[/color]
    
    [color=#bb0000]-- далее музыка, закодированная с помощью x, _, r .[/color]
    [color=#bb0000]h.playsound(1, "r[1]r r r x[2] _ r[3] r _ x x[4] r16 x[5] r16 x r r x[6]_ r[7] r _x x[8] x x[9] x x[10] x x[11] x r r r r"); -- kick[/color]
    [color=#bb0000]h.playsound(2, "r r r r r r x _ r r r x _ r r r x_ r r r x _ r r r r r"); -- snare[/color]
    [color=#bb0000]h.playsound(3, "r r r r x x x x x x x x x x x x x x _ x x x x x x x x x x x x x x x x _ r r r r"); -- hit close[/color]
    [color=#bb0000]h.playsound(4, "x _ x _ x _ x _ r r r r r r r x _ r r r r r r r _ x r r r r"); -- hihatopen[/color]
    [color=#bb0000]h.playsound(5, "r r r r x _ r r r r r r r x _ r r r r r r r x_r r r");[/color]
    [color=#bb0000]h.playsound(6, "r r _ x r r r r r r r _ x r r r r r r r x x x x r r r r");[/color]
    [color=#bb0000]h.playsound(7, "r r r _ x r r r r r r r _ x r r r r r x x x x r r r r r");[/color]
    [color=#bb0000]h.playsound(0, "r r r _ r16 x16 r r r r r r r _ r16 x16 r r r r x x x x r r r r r r");[/color]
    
    [color=#bb0000]end[/color]
    
    
    [color=#bb0000]-- вызывается эмоцией владельца.[/color]
    [color=#bb0000]function onuseremotion(motion)[/color]
    
    [color=#bb0000]-- эмоция определяет, "победа" ли.[/color]
    [color=#bb0000]if (motion == h.emotion.victory) then[/color]
    [color=#bb0000]partytime()[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать "начать", активируется partytime().[/color]
    [color=#bb0000]if (string.find(str, "начать")) then[/color]
    [color=#bb0000]partytime()[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end


    танец с белым и синим флажками
    Code:
    -- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 3.[/color]
    [color=#bb0000]-- если щелкнуть правой кнопкой мыши по иконке аутлета, можно выбрать аутлет.[/color]
    [color=#bb0000]h.setoutletcount(3);[/color]
    
    [color=#bb0000]-- активирует функцию onsoundplay.[/color]
    [color=#bb0000]h.enablesoundcallback(1)[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]function playnow()[/color]
    [color=#bb0000]h.setpercussion(1, h.percussion.kick);[/color]
    [color=#bb0000]h.setpercussion(2, h.percussion.snare);[/color]
    [color=#bb0000]h.setpercussion(3, h.percussion.hihatclose);[/color]
    [color=#bb0000]h.setpercussion(4, h.percussion.hihatopen);[/color]
    [color=#bb0000]h.setpercussion(5, h.percussion.fx5);[/color]
    [color=#bb0000]h.setpercussion(6, h.percussion.fx14);[/color]
    [color=#bb0000]h.setpercussion(7, h.percussion.fx18);[/color]
    [color=#bb0000]h.setpercussion(0, h.percussion.fx11);[/color]
    [color=#bb0000]h.playsound(1, "t150 x_rrx_r_x_xrx_rrx_ r_x_xrx_rrrrx_rrx_rrrrx");[/color]
    [color=#bb0000]h.playsound(2, "t150 rrx_r rrx_r rrx_r rrx_r rrx__x rrx_r rrx__x rrx_r ");[/color]
    [color=#bb0000]h.playsound(3, "t150 x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x_ x"); -- hit close[/color]
    [color=#bb0000]h.playsound(4, "t150 rrrrrr_xr rrrr _xr_xr rrrr rrr_x");[/color]
    [color=#bb0000]h.playsound(5, "t150 _xrrrrrr_x_xrrrrr_x_rxrrrrrrr_x");[/color]
    [color=#bb0000]h.playsound(6, "t150 r_xrrrr_xrr_xrrrrr_xrrrrrrrrrx");[/color]
    [color=#bb0000]h.playsound(7, "t150 rrr_x_xrrrrrr_x_xrrrrx_rrrrrrrrrr_x");[/color]
    [color=#bb0000]h.playsound(0, "t150 rrrrrrrrrrrrrrrrx");[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается чатом владельца.[/color]
    [color=#bb0000]function onusersay(str)[/color]
    
    [color=#bb0000]-- если сказать "знамя", активируется playnow().[/color]
    [color=#bb0000]if (string.find(str, "знамя")) then[/color]
    [color=#bb0000]playnow()[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- вызывается во время проигрывания музыки.[/color]
    [color=#bb0000]function onsoundplay(channel, note, len, label)[/color]
    [color=#bb0000]if (note == 'x') then[/color]
    [color=#bb0000]if (channel == 1) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet1, h.emotion.whiteflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (channel == 2) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet1, h.emotion.blueflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (channel == 3) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet2, h.emotion.whiteflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (channel == 4) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet2, h.emotion.blueflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (channel == 5) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet3, h.emotion.whiteflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]if (channel == 6) then[/color]
    [color=#bb0000]h.startanimationnow(h.outlet.outlet3, h.emotion.blueflag);[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    [color=#bb0000]

    живая коробка
    Code:
    [/color]
    [color=#bb0000]-- вызывается во время сброса домашнего скрипта на начальные настройки.[/color]
    [color=#bb0000]function oninit()[/color]
    
    [color=#bb0000]-- меню добавляется щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- первая переменная - название меню.[/color]
    [color=#bb0000]-- вторая переменная - соответствующий id меню.[/color]
    [color=#bb0000]-- такое значение используется в функции onmenu().[/color]
    [color=#bb0000]h.registermenu("живая коробка", 1);[/color]
    
    [color=#bb0000]-- устанавливает количество аутлетов на 14.[/color]
    [color=#bb0000]h.setoutletcount(14);[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- меню выбирается и запускается щелчком правой кнопкой мыши по помощнику.[/color]
    [color=#bb0000]-- menunum - соответствующий id, установленный в registermenu.[/color]
    [color=#bb0000]function onmenu(menunum)[/color]
    
    [color=#bb0000]-- соответствующий id меню определяет, "живая коробка" ли.[/color]
    [color=#bb0000]if (menunum ~= 1) then[/color]
    [color=#bb0000]return;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- настраивает label [1] с [4].[/color]
    [color=#bb0000]h.playsound(0, "t130 r2[1] r2 r2 r2[2] r2 r2 r2[3] r2 r2 r2[4]");[/color]
    
    [color=#bb0000]h.setinstrument(1, h.instrument.aguitar);[/color]
    [color=#bb0000]h.playsound(1, "t130 o5 e f# g o6 c o5 d# e f# b e f# g o6 c o5 d# e f# b o5 g8 f8# g8 o4 b8 o5 e g a8 o4 a8 o5 g8 o4 b8 o5 d8# o4 b8 g8 d8# e");[/color]
    
    [color=#bb0000]h.playsound(2, "t130 o6 c8 o5 g8 f8# e8 o6 c8 o5 g8 f8# e8 o6 c8 o5 b8 f8# d8# o6 c8 o5 b8 f8# d8# o6 c8 o5 g8 f8# e8 o6 c8 o5 g8 f8# e8 o6 c8 o5 b8 f8# d8# o6 c8 o5 b8 f8# d8# e8 f8# g8 b8 o6 e8 f8# g8 f8# d8# o5 a8 g8 d8# o4 b8 r8 d8# r8 e");[/color]
    
    [color=#bb0000]h.setinstrument(3, h.instrument.accordion);[/color]
    [color=#bb0000]h.playsound(3, "t130 v15 r r8 o4 g8 o5 c8 d8 e8 g8 b2 f2# r r8 o4 g8 o5 c8 d8 e8 g8 b2 d# f# b8 r8 b g8 r8 g o6 c8 r8 o5 a8 r8 d8# r8 o4 b8 r8 o5 e");[/color]
    
    [color=#bb0000]h.playsound(4, "t130 x_ r x_ r x_ r x_ r x_ r x_ r x_ r x_ r x_ x_ x_ r x_ r x_ x_ x_ ");[/color]
    
    [color=#bb0000]h.setpercussion(5, h.percussion.hihatopen);[/color]
    [color=#bb0000]h.playsound(5, "t130 rrrr rrrx_ rrrr rrrx_ rrrx_ ");[/color]
    
    [color=#bb0000]h.setpercussion(6, h.percussion.fx10);[/color]
    [color=#bb0000]h.playsound(6, "t130 rrrr rrrr rrrr rrrr rrrr rrrr x");[/color]
    
    [color=#bb0000]h.setpercussion(7, h.percussion.fx15);[/color]
    [color=#bb0000]h.playsound(7, "t130 rrrr rrrr rrrr rrrr rrrr rx");[/color]
    
    [color=#bb0000]-- первая переменная - аутлет.[/color]
    [color=#bb0000]-- вторая переменная означает label номер [1] playsound.[/color]
    [color=#bb0000]-- третья, четвертая, пятая переменные - длина передвижения x, y, z.[/color]
    [color=#bb0000]-- шестая переменная - время движения.[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet1, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet2, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet3, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet4, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet5, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet6, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet7, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet8, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet9, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet10, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet11, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet12, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet13, 1, 0, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(h.outlet.outlet14, 1, 0, 0, 0.5, 1);[/color]
    
    [color=#bb0000]-- используется также 1 вместо h.outlet.outlet1.[/color]
    [color=#bb0000]h.setpos(1, 2, 1, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(2, 2, 0, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(3, 2, 0, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(4, 2, 1, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(5, 2, 0, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(6, 2, 0, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(7, 2, 1, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(8, 2, 0, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(9, 2, 0, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(10, 2, 1, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(11, 2, 0, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(12, 2, 0, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(13, 2, 1, 0, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(14, 2, 0, 1, 0.5, 1);[/color]
    
    [color=#bb0000]h.setpos(1, 3, 1, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(2, 3, 0, 1, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(3, 3, 1, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(4, 3, 1, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(5, 3, 0, 1, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(6, 3, 1, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(7, 3, 1, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(8, 3, 0, 1, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(9, 3, 1, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(10, 3, 1, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(11, 3, 0, 1, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(12, 3, 1, 0, 1.5, 1);[/color]
    [color=#bb0000]h.setpos(13, 3, 1, 1, 0.5, 1);[/color]
    [color=#bb0000]h.setpos(14, 3, 0, 1, 1.5, 1);[/color]
    
    [color=#bb0000]h.setpos(1, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(2, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(3, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(4, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(5, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(6, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(7, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(8, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(9, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(10, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(11, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(12, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(13, 4, 0, 0, 2, 1);[/color]
    [color=#bb0000]h.setpos(14, 4, 0, 0, 2, 1);[/color]
    
    [color=#bb0000]end

    управление музыкальным автоматом
    Code:
    -- песни меняются в зависимости от гостя.[/color]
    [color=#bb0000]-- в таблице ниже представлены имена персонажей. им можно присвоить индекс соответствующей песни (порядок в списке композиций).[/color]
    
    [color=#bb0000]songtable = {[/color]
    [color=#bb0000]["[kvalue:имя персонажа1;имя персонажа1;str]"] = 2,[/color]
    [color=#bb0000]["[kvalue:имя персонажа2;имя персонажа2;str]"] = 3,[/color]
    [color=#bb0000]["[kvalue:имя персонажа3;имя персонажа3;str]"] = 6,[/color]
    [color=#bb0000]};[/color]
    
    [color=#bb0000]g_playername = "";[/color]
    [color=#bb0000]function oninit()[/color]
    [color=#bb0000]g_playername = h.getplayername();[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- после входа в дом музыкальный автомат, если он готов, начинает играть.[/color]
    [color=#bb0000]function onjukeboxready(desc)[/color]
    [color=#bb0000]if (songtable[desc] ~= nil) then[/color]
    
    [color=#bb0000]-- проигрывает для гостя установленную на него песню.[/color]
    [color=#bb0000]h.playjukeboxsong(songtable[desc]);[/color]
    
    [color=#bb0000]end[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- управление музыкальным автоматом осуществляется через окно чата.[/color]
    [color=#bb0000]function onusersay(str, desc)[/color]
    
    [color=#bb0000]if (desc ~= g_playername) then[/color]
    [color=#bb0000]return;[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]if (string.find(str, "следующий трек")) then[/color]
    [color=#bb0000]h.playjukeboxnextsong();[/color]
    [color=#bb0000]elseif (string.find(str, "предыдущий трек")) then[/color]
    [color=#bb0000]h.playjukeboxprevsong();[/color]
    [color=#bb0000]elseif (string.find(str, "играть")) then[/color]
    [color=#bb0000]h.resumejukeboxsong();[/color]
    [color=#bb0000]elseif (string.find(str, "остановить")) then[/color]
    [color=#bb0000]h.pausejukeboxsong();[/color]
    [color=#bb0000]elseif (string.find(str, "проигрываемый трек")) then[/color]
    [color=#bb0000]h.replayjukeboxsong();[/color]
    [color=#bb0000]elseif (string.find(str, "громкость")) then[/color]
    [color=#bb0000]local index = string.match(str, "громкость ([%d]+)");[/color]
    [color=#bb0000]h.setjukeboxvolume(tonumber(index));[/color]
    [color=#bb0000]end[/color]
    
    [color=#bb0000]end[/color]
    
    [color=#bb0000]-- возможное управление музыкальным автоматом :[/color]
    [color=#bb0000]-- управление музыкальным автоматом: одна манипуляция в секунду.[/color]
    [color=#bb0000]-- h.playjukeboxsong(index); -&gt; воспроизведение песни с соответствующим index.[/color]
    [color=#bb0000]-- h.playjukeboxnextsong(); -&gt; воспроизвести следующий трек[/color]
    [color=#bb0000]-- h.playjukeboxprevsong(); -&gt; воспроизвести предыдущий трек[/color]
    [color=#bb0000]-- h.pausejukeboxsong(); -&gt; остановить музыку[/color]
    [color=#bb0000]-- h.resumejukeboxsong(); -&gt; возобновить проигрывание музыки[/color]
    [color=#bb0000]-- h.replayjukeboxsong(); -&gt; повторить проигрываемый трек[/color]
    [color=#bb0000]-- h.setjukeboxvolume(); -&gt; изменить громкость музыкального автомата (0~100)[/color]
    
    [color=#bb0000]
     
    Last edited by a moderator: Jun 15, 2012
    KingKazma, Immortal22 and Brookiyn like this.
  16. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    резерв (10 резервов)
     
    Last edited by a moderator: May 14, 2012
    KingKazma likes this.
  17. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    резерв (10 резервов)
     
    KingKazma likes this.
  18. Карабаська

    Карабаська User

    Joined:
    17.12.09
    Messages:
    815
    Likes Received:
    302
    резерв (10 резервов)
     
  19. eXaCuRa

    eXaCuRa User

    Joined:
    11.07.11
    Messages:
    4,899
    Likes Received:
    1,008
    спасибки за гайд. :)
     
  20. zeruel

    zeruel User

    Joined:
    13.01.10
    Messages:
    1,800
    Likes Received:
    46
    спасибо за гайд.
    жаль времени на это все не будет, и так уже забил на дер, на осаду, половину еж делаю и немного по оку бегаю, вот и вся игра :)