у меня большие - пребольшие сундуки фиор + статуя прозрачная мужика под потолком + картина во всю стену и силач-0 ростом выше моего чара приветливо встречает нацеленным дулом - пока никто не испугался надо будет вечером наскринить
прихожая Спойлер веранда с огромными окнами Спойлер танцующие ужастики и силач-0, проверяющий приходящих Спойлер
попробую чуть другим языком и с картинками рассказать как сделать музыку при входе в дом. я сам сразу не смог понять, думаю и другим будет полезно. Спойлер 1) подходим к дворецкому и жмем редактировать скрипт 2) жмем на плюсик (добавить новый скрипт) 3) выбираем новый скрипт (не шаблон) 4) в графе имя - название крипта чтобы не путаться (музыка, например) в графе описание - описание (например музыка при входе) далее жмем на outlet 5) появилось собственно поле скрипт, сюда мы будем вставлять наш скрипт. берем шаблон из поста #9 звуковые методы и свойства пример 1: каналы. копируем вставляем. сохраняем. теперь выбегаем из дома и возвращаемся обратно, должна заиграть музыка. если нет, проверяем не отключена ил музыка в меню (настройки \ звук) если заработало, идем в пост #4 мелодии выбираем понравившуюся (или все по очереди) и кидаем их в наш скрипт, заменять надо все, кроме первых четырех строчек function oninit() melody() end function melody() вот это остается, остальное меняется. мелодии соответственно копируем без первой строчки (function playnow()) примерно так...
карабаська, огромное спасибо за такой потрясающий гайд и огромный труд!! теперь каждый раз возвращаясь домой - радуюсь =) нпс склоняются в поклоне, играет приятная музыка, фиоры ненавязчиво подмигивают в такт, а сундук каруна, картина и макет атреи вырастают. мне, как хозяйке дома, в который могут зайти обе расы, очень приятно, что все так мило. p.s.: кстати обе расы одинаково могут поливать фиоры и кушать со стола =) вообщем вэлком =))
свечение объектов скрипт подсвечивания объектов. рассчитан на 16 объектов. запускается сразу по появлению персонажа в доме и действует оооочень долго * не все объекты умеют светится Спойлер код для импорта: (рекомендуется импортировать скрипт, чтобы иметь возможность настраивать его через окно настроек) Код: [0aeaaeieaaaueqvb6d2kmgoxxrmuxakemrpexat6yeknb7efqtuawcl7cmhm7fcnwty4ill0xv2jec/ovur5rhu79lbthzwtkwncr/hcfgr4ybhearsmfuuskx0zkyfg6syxj79mjczavlkjiph4qjchemzea+w2nxyr0zij8ciyhcnlgr6qc4zvks2zjhj1p+fdxke7dh811hkwwpo7s/l7l/sef+1z2z+wrhy28jr6kzmywhhfiso+6zfbln/fbog0v6is0w9017xuozkaxx72ocnxt9r8i8kniwasesvxjfeirg5vtctkkkbqo59azamlcww7rk7fmmwxkie6zcesyksaisi3tmcydh5vffr7nmxerdngzb11z/yccirbiqb2d3sogika/gyxejyf+xqtkmek0rryeiqxewd1dah/gcnbvcpow5p3b2ybqhi3awrbrioaz3l25eag4f+mug0jxfmunmgdk3lda75/+xkalgkrggc/h39v2gq2edfh1/k/gtujkvp3upn4lo+mjyxwvkx0pw9cvqcpcnt8ysclea2vnub72rks2p7x6mvtd5wwmdwy2bgs7cneetqdxbt8kuz6lobnhjt+xxvwba69esg7johe0g==] код скрипта: Спойлер Код: 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
спасибо за большой труд и гайд, некоторыми макросами для дома пользуюсь)) назрел вопрос. Спойлер вот нашел два макроса ,можно ли как-то их совместить чтоб предметы в доме подпрыгивали при завершении прыжка персонажем Спойлер function onplayerjumpend(outletindex) - окончание прыжка игроком 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 h.jump([аутлет], [метка], [высота]); - предмет, на который поставлен аутлет начинает прыгать function oninit() h.setoutletcount(1); end function onusersay(str) h.playsound(0, "r[1]rr[2]rr[3]rr[4]rr[5]rr"); if (string.find(str, "прыг")) then h.jump(0, 1, 0.1); h.jump(1, 1, 0.1); h.jump(0, 2, 0.5); h.jump(1, 2, 0.5); h.jump(0, 3, 1); h.jump(1, 3, 1); h.jump(0, 4, 1.5); h.jump(1, 4, 1.5); h.jump(0, 5, 2); h.jump(1, 5, 2); end end
замечательная вещь, но результат, к сожалению, очень сильно зависит от настроек клиента гостя например, я вижу домик так: Спойлер но если на улучшенном графическом движке установить параметр "улучшенные шейдеры" на любое значение, выше "мин" или поменять движок на обычный и поставить галку "световые эффекты", получается такая беда: Спойлер
свечение действительно очень яркое, но это к корейцам или же поставить цвет не белый, а что-то потусклее - можно поиграться
я ж не обвиняю, как раз наоборот - хочу сказать огромное спасибо за гайды! просто когда внезапно выяснилось, что половина моего френдлиста играет на старом движке и видит мои дома в совершенно неудобоваримом виде, захотелось что-то изменить, чтобы и у них все отображалось нормально. может, инфа о настройках клиента кому-то поможет... независимо от выбранного цвета мебель светится так, как на втором скрине. пробовала ставить (255,255,255), (100,100,100), (0,0,0) - результат один и тот же
здравствуйте, вопросы к карабаське: 1. когда гость заходит в дом, у нас есть две возможности реагирования скрипта.. на непосредственно вход гостя или же на произношение кодового слова, но каким образом обеспечить зацикливание? например проигрывание мелодии по ее окончании, она начинала бы снова проигрываться сначала. 2. можно ли побольше информации по "константы и коллекции" ... по нотам, длинам нот, и командам... может какие-нибудь короткие примеры... в общем всё что возможно найти; так как очень загорелись переводом наших любимых мелодий на скрип. заранее спасибо =^^=
1. по циклу - только включив в цикл. но! если музыка "многоканальная" то надо следить чтобы длительность всех каналов совпадала полностью, т.е. если на 1-м канале длина играния 1 минута, а на втором пол минуты, то второй канал с половины минуты повторяться начнет... коряво объяснила, если осталось непонятным, напишите, придумаю как по другому объяснить 2. по музыке в начале канала задается темп ( может быть свой для каждого канала). темп обозначается "t" и параметр темпа от 1 до 250 вроде. (1/t будет темп) потом октава ("o" и номер октавы) далее сама музыка в общем, ничего сокрытого от общественности нету, кроме того, что в 6-м посте ну а примеры все, что найдены в 4-м посте
а как выглядит сам по себе скрипт цикла? часть скрипта вставляется для каждого канала куда? пожалуйста на примере покажите.. не совсем поняла ваш ответ...
ну вот на примере светомузыки: оригинал кода Спойлер Код: 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 если надо повторить конечное число раз (в примере 101 повторов): Спойлер Код: 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 [b]for i=0, [color="#ff0000"]100[/color] do playnow(); end[/b] end end если бесконечное, можно сделать так: Спойлер Код: 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 [b]while 1=1 do playnow(); end[/b] end end
оригинал кода Спойлер Код: 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 спасибо огромное за ответ, но сразу возникло масса вопросов, которые так же интересны: 1. что означает нижнее подчеркивание и х 2. например запись r4 означает четвертную паузу? 3. а просто r тогда какой длительности пауза 4. и тогда уж встает вопрос rr это пауза в 2 раза большая чем r? 5. как воспроизвести программно увеличение длительности ноты, на половину ее, которое на нотном письме обозначается точкой рядом с нотой заранее спасибо
я к сожалению муз. школу бросила уже... больше 20 лет назад... о_0 и очень многое из нотной грамоты просто не помню но _ подозреваю что как раз та самая точка (хотя... людииии кто для ударных партитуры читать умеет? ) х - звук ударного инструмента. какого - указано в h.setpercussion(..., h.percussion....); r4 - да, пауза длиной в 1/4 r - пауза длиной в 1 , rr = длиной 2
ничего не поняла( для тупых пожалуйста,покажите подробно как сделать скрипт чтоб ширму например уменьшить.ну ничего не поняла.а так хочется.заранее спасибо