1. Партнерская программа База знаний Служба поддержки Telegram Вконтакте
Скрыть объявление
В момент загрузки/запуска игры может возникнуть ряд проблем в том числе и появление ошибок.
По ССЫЛКЕ мы опишем самые распространённые из них.

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

Тема в разделе "Гайды", создана пользователем Карабаська, 11 май 2012.

  1. Nighthawk

    Nighthawk User

    Регистрация:
    27.12.09
    Сообщения:
    1.745
    Симпатии:
    213
    а я бы предпочел не забивать гвоздь электронным микроскопом.
     
  2. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    координаты - не знаю, т.к. все, что тут расписано это результат раскопки клиентских файлов игры и сбор крох информации по корейско-китайско-японским форумам, полноценного справочника нет нигде, включая корейскую вики :( так что - нашли новую команду - напишите - добавлю :)
    опиши что хочешь сделать, попробую придумать как на основе тех команд, что известны

    коробок - поставить: сколько есть "мест" в доме (зависит от типа дома), заставить двигаться в 1 скрипте - 16, но скрипты запускаются параллельно, т.е. тебе ничего не мешает прописать 2 аналогичных скрипта, в каждом из которых движения для 16 предметов

    2 гостя - 2 работающих скрипта

    случайное число: натыкалась на такое: math.randomseed([число]); но я с ним еще не разбиралась
     
  3. Бруталик

    Бруталик User

    Регистрация:
    08.11.10
    Сообщения:
    103
    Симпатии:
    3
    спасибо!
    если есть math.randomseed, то навренео будут и синусы-косинусы.
    надо будет в свободное время поиграться :)
     
  4. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    по предположению nighthawk-а, это язык lua, и по его же предположению могут работать многое, из стандартного языка, а в таком случае вот math из стандартного языка :)
    math.abs (x) - возвращает модуль x.
    math.acos (x) - - возвращает арккосинус x (в радианах).
    math.asin (x) - возвращает арксинус x (в радианах).
    math.atan (x) - возвращает арктангенс x (в радианах).
    math.atan2 (x, y) - возвращает арктангенс x/y (в радианах), но использует знаки обоих параметров для вычисления «четверти» на плоскости. (также корректно обрабатывает случай когда y равен нулю.)
    math.ceil (x) - возвращает наименьшее целое число, большее или равное x. (округление «вверх»).
    math.cos (x) - возвращает косинус x (угол – в радианах).
    math.cosh (x) - возвращает кошинус (гиперболический косинус) x.
    math.deg (x) - переводит угол, заданный в радианах (x)в градусы.
    math.exp (x) - возвращает ex.
    math.floor (x) - возвращает наибольшее целое число, меньшее или равное x. (округление «вниз»)
    math.fmod (x, y) - возвращает остаток от деления x на y.
    math.frexp (x) - возвращает m и e такие, что x = m2e, e – целое, а модуль m находится в интервале [0.5, 1) (либо ноль, если x равен нулю). (разложение числа с фиксированной запятой).
    math.huge - значение huge_val, значение большее, либо равное любому числовому значению.
    math.ldexp (m, e) - возвращает m2e (e должно быть целым). (восстановление значения по мантиссе и показателю).
    math.log (x) - возвращает натуральный логарифм x.
    math.log10 (x) - возвращает логарифм x по основанию 10.
    math.max (x,···) - возвращает максимальный из аргументов.
    math.min (x, ···) - возвращает минимальный из аргументов.
    math.modf (x) - возвращает два числа, целую чать x и дробную часть x.
    math.pi - значение pi.
    math.pow (x, y) - возвращает xy. (вы также можете использовать запись x^y для вычисления значения этой функции.)
    math.rad (x) - конвертирует угол x, заданный в градусах, в радианы.
    math.random ([m [, n]]) - эта функция является интерфейсом к простейшему генератору псевдослучайных чисел rand, предоставляемому ansi c. (нет никаких гарантий по поводу его статистических свойств.) при вызове без аргументов, возвращает псевдо-случайное действительной число в интервале [0,1). при вызове с аргументом m, math.random возвращает псевдослучайное целое число из отрезка [1, m]. при вызове с двумя аргументами – m и n, math.random возвращает псевдослучайное целое число из отрезка [m, n].
    math.randomseed (x) - инициализирует генератор псевдослучайных чисел параметром x ("seed"): каждый параметр порождает соответствующую (но одну и ту же) последовательность псевдослучайных чисел.
    math.sin (x) - возвращает синус x (аргумент – в радианах).
    math.sinh (x) - возвращает шинус (гиперболический синус) x.
    math.sqrt (x) - возвращает квадратный корень x. (вы также можете использовать выражение x^0.5 для вычисления этого значения.)
    math.tan (x) - возвращает тангенс угла x (аргумент – в радианах)
    math.tanh (x) - возвращает гиперболический тангенс x.
     
  5. wwt999

    wwt999 User

    Регистрация:
    08.11.10
    Сообщения:
    770
    Симпатии:
    117
    чувствую с таким подходом релиз айон 4.0 будет иметь название "айон лего" и снизу подпись "сделай сам" )))
     
  6. gin4ik

    gin4ik User

    Регистрация:
    12.01.12
    Сообщения:
    697
    Симпатии:
    68
    чёт так много всего написано, что прям страшно за это браться)))) а так спасибо за гайд.... может когданить да и займусь)
     
  7. Элей_

    Элей_ User

    Регистрация:
    30.12.09
    Сообщения:
    486
    Симпатии:
    135
    молодец, карабаська, что разобралась и написала такой гайд.

    я бы на твоем месте начал с примеров и подробного описания, как ими пользоваться. чтоб любой мог скопировать себе и посмотреть "ух ты, работает, прикольно)". большинство народу, наверно, открыло тему, посмотрело "у-у, сплошное программирования, это не мое", и закрыло. как работают флаги или поймать жука, толком и я не разобрался, оно глючило на птс.

    ого, сколько программистов в аионе) тема плавно перетекает в их тусовку ;)

    да, это lua. практически во всех таких играх интерфейс и аддоны (для рифта, вова) пишутся на lua. вот официальная документация lua 5.1 reference manual, а вот какие из этих функций работают в аионе - проверять надо

    хоть в корейских играх и запрещены аддоны и модификации интерфейса, в аионе почти аддоны сделали)
     
    Последнее редактирование модератором: 16 май 2012
    Карабаська нравится это.
  8. MeitDeist

    MeitDeist User

    Регистрация:
    31.03.11
    Сообщения:
    4.661
    Симпатии:
    2.344
    правильно ли я понял, что музыку в доме постоянным фоном можно ставить любую из своего файла? или речь не об этом?)
     
  9. chidori

    chidori Знаток Aion

    Регистрация:
    22.12.09
    Сообщения:
    341
    Симпатии:
    116
    не это само собой верно :) я тоже люблю решать задачи удобным для них инструментом :)
     
  10. BloodyHands

    BloodyHands User

    Регистрация:
    28.12.11
    Сообщения:
    15
    Симпатии:
    4
    спасибо за гайд! мой моск чуть не сломался пока втыкал :113:
    з.ы. кореяки превзошли себя =/ это надо быть такими ленивыми засранцами чтоб заставить самих играков делать за них их же работу =_+ даже не написав мануала!1!1! все должно быть на уровне тыкни сюда помощник сделает так! нафига так усложнили???????:1166:
     
  11. BloodyHands

    BloodyHands User

    Регистрация:
    28.12.11
    Сообщения:
    15
    Симпатии:
    4
    кстати да тоже интересно!
     
  12. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    не совсем, музыку из файла - это к музыкальному автомату (который я еще в живую не видела и возможностей полных не знаю)
    но можно сделать музыкальную запись в midi стиле.
    судя по форумам наших азиатских братьев, для создания подходят mml редакторы, с программами как и обещала, постараюсь вечером разобраться и написать что можно использовать и как
     
  13. Ninetail

    Ninetail User

    Регистрация:
    25.05.10
    Сообщения:
    32
    Симпатии:
    15
    знает ли кто-нибудь, есть ли возможность скопировать скрипт из игры, чтобы ссылки сохранились в виде [kvalue:название поля;значение;тип], а не как простой текст?
     
  14. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    2й топик..
    правой мышью по иконке скрипта, выбрать "сохранить" - создает кодированный "слепок" скрипта для последующего импортирования например, другим пользователем. (сохраняет внутренние ссылки). данная опция не сохраняет скрипт в списке скриптов для последующей вставки
    [​IMG]
     
  15. Ninetail

    Ninetail User

    Регистрация:
    25.05.10
    Сообщения:
    32
    Симпатии:
    15
    это я видел. интересует сохранение именно в читабельном виде и с развёрнутыми ссылками.
     
  16. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    встречный вопрос: а где ты его читать хочешь с ссылками?
    я планирую выкладывать "интересности" в читабельном виде методом ctrl+с -ctrl+v и прикладывать "слепок" для импорта

    чтобы узнать как формируются ссылки, nighthawk файл клиента раскапывал.
    по идее где-то как-то скрипты должны храниться.. но где и как... есть подозрение, что на сервере :(
    если в файле, аналогичном тому, что с шаблонами скриптов, то его можно декодить
    но я не спец в том, что где хранится, декодировать - легко, найти в раскодированном - тоже без проблем, а вот что где хранится - тут спецы лучше меня есть :)

    как вариант попробуй найти софтинку, которая клипборд смотрит в разных форматах
    возможно так получится выдирать код "как есть"
     
    Последнее редактирование модератором: 16 май 2012
  17. Ninetail

    Ninetail User

    Регистрация:
    25.05.10
    Сообщения:
    32
    Симпатии:
    15
    полный исходник позволяет усовершенствовать свой или чужой код, как я уже сделал с шаблоном приветствия. когда захотел выложить свой вариант на форум, то пришлось заново ссылки писать. это для пользователя достаточно двоичного кода, а для разработчика потеря ссылок в коде - это неудобство.
     
  18. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    в гайде произошла перестановка :)
    пост с настройками и описаниями стандартных скриптов "переехал" на "сразу после описания интерфейса" :) пост буду расширять и дополняться в сторону "как легко и просто сделать чтобы стало красиво" :) (спасибо за идею элею и за перенос поста lavand-е :) )

    а так же просьба ко всем:

    информации по скриптам - не паханое поле, и не потому, что много, а потому, что никто не пахал.. полных справочников от разработчиков нет и не предвидится :( и потому, чтобы не изображать паучка, который пытался пойти сразу на 4 стороны, мне нужно знать что копать в первую очередь, что потом. потому:
    нашли неописанную команду - напишите :)
    нашли ошибку/неточность в описании - напишите :)
    возникла идея что-то сделать, но не получается - напишите :)
     
    Последнее редактирование модератором: 16 май 2012
  19. Krekep

    Krekep User

    Регистрация:
    20.01.10
    Сообщения:
    101
    Симпатии:
    36
    реально-ли сделать анимацию приветствия не только для помощника, но и для...допустим бакалейщика в доме ?
     
  20. Карабаська

    Карабаська User

    Регистрация:
    17.12.09
    Сообщения:
    826
    Симпатии:
    320
    конечно реально :)
    отличия от стандартного макроса выделила красным, на аутлеты надо назначить нпс :) добавлять лучше импортом

    код для импорта
    Код:
    [0ayaahyaaad92lujfu6egl5asuu71mwfmwqnnin5fh875vs9qtcxoh5q6qwkntshrenrclfyysovhsgdn+msp5i9ilyuxfkeykye5insdz2cy7zyce/m9690lhi+z8owmqbvpls7sp2q8hwpvqdypa7h4pjpvnljpx6sxu29heyz71aoxytxfowfjdolvsz7poowqmc1ixxyaanwf+xrjbjiqz6tcjynvm7z4tejuqhj9pcqirpap0khcag6rd3emrtmsu32kvketzn4i32/rmusa8hae/mlbfd58sz6afmh8c574fmbavfpzgj8w8tsalo58ugnn5h2llzzks45tc0e86epjrgq3lub/nejgya93dxmw4jindpnaeed4+qkr0jak1mmbwk2cs6jjyhmygpstqziottgvus1ozce+ldndq8d13nqiveib8b3r281wbxdzkke6hqjja7excg+apqucncnppm8pjagtnpi+aczmmoat5l0honc82a7r21e99ctqlpddmxmzrf/etodlxv6npcy9wt2s98cknichm4rfwn78l2xufqkuwl5g/sj7kkmyz/hmsnlxnh3spovzmrlbcuk2apb7o6z4tijb782ccbfkjj/frqhjbaiw1rtzvd836zbji7inzsfpgbbziwng60pmjno3x3tt06wjqikxvtd95bt2votbthl6pxwqra6b/rabzbingvrdrxuslmp9d4hjthyobhtdmn1iefjdaeybjljhobqly+dpfjsckbqwno+od51ui1nmdt8twwjppxth5gxw1mfss/+kpmjmn47esiin1z432yspmdcwvyfy0xtuxfwjv3uanwbi9risrc92rspn5hkdc9p5xskoi3tlw3lk4ng3m+smkek10yk3kq0ng2dn9m0s0pe0hhjeyevugootx4k58prxyi9p2lalofxiieht7b7sfwlind4fwyj4cvtx5eqivi444yc3byhxk4ukfgw5cq1lktqm0jtjwh/xfplkkrdf8jdrdeeoc9j38ugn+wyapxbdluq3m918fyguvf8cw7sitjgs/zo6dsuev65ehtzbdr9wiftjrci2fdgcplzh8bsxvgz64slmkhb9me6iopdz/fkyhukseyjiubjlf8msdypynwry8mgm9/i99htqciqb/kyfi4ic2ogcipp1re0cpnw+2owzuhtks7sdizr6rtp1bsziyr8drg4wird0vir9utb6mjswyiujib7da3/ceawey2ncemf9ranse4exe9fwm9ucy9oqotkaeyeqj/ddj3qfyfj0sg11c0rudietbqq+6ubuu0cu54dtg28mrfrong9a18qct54r0iitw07kjo8mfz9taonqydrjgvb56mxqwl2bprruxbsykqsv+k9weay7ul1z6/3n9hzysb4qt7nx9crd1twc4/uurrxivummey/mrxnn87iqy7duthbwxc/i3ompkuba2d5qf8nxqitdu0cyxagcmzzt4d2ou0pkjkoue4adfcpg5yfqpvzinbqvopt0hczo6et6uyp4m7n3voe0vnlezfgy/m80fjz6htpgldbscq+aqknfetfgufmv9tw/96na376zlfensh1ljevd+l5truqy17rgi4nn+p6rlgi64mrni3emjiqnorimidk6etyto+zxn7/6gskg5vml/8qg3d/u8j3kypn/orwe5r7krucu9yuwh4/a1ic7tzujqweve46eircz4elaqrzb1//dxgemyxq8h5d8r4d/yfhdp9joyregxe+ahg7g+tjw5b8mrqmmgoip9fjnzy1ccbu7c7jytad4k+qvabfxxqtdlhvizdillmxafo7v30uzxbkovusvipg2cpd2su+j991uhiheteyw+bya4vf1ffduxrn/8vi896nzs59zmr7bvvxmag5a2cboqwh7+gzn2odmsccmxc9fykv4tdhy/ltb7rd9d0rhyqayvqg3erina/+oddz8hzpm5mg2mwuk388/pooueg5wg6mo84uzl8nopcroph1/ucppd/pjazacj75y/czsiidswms+ehes3yn3ewj2mdmjispnfhi8cn6ttzwbz78twrzal54k/c+8bakwz67sdduv2sfpp8okywskmbd46flo3v94pfl6c9b7itnf4fxqasbdh2i+kevvl+xg1p8q86kxj8cuwg7xygdxmzibbmzr3zsi2jz65mvebrmsjc2la8qcijmlkvkcr1l/1ee5jsh13fxmcv5kaovlqpuh8kllvd0pyysat6lid0fykflyp+bzy711fodq6ekr+psy0aruwzuji2fls+m]
    код обычный (без ссылок)
    Код:
    -- можно сделать так, чтобы помощник произносил разные приветствия в зависимости от посетителя.
    -- для этого введите в таблицу ниже имя персонажа и приветствие, активируемое, когда он посещает дом.
    
    hellotable = { 
                       ["имя персонажа1"] = {"привет!",    h.percussion.fx2 },
                       ["имя персонажа2"] = {"приветствую!",    h.percussion.fx11 },
                       ["имя персонажа3"] = {"добро пожаловать!",    h.percussion.fx6 },
                     };
    
    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 oninit()
    
        -- setsensor определяет расстояние узнавания помощником владельца.
        -- при первом значении помощник узнает,
        -- при выходе из второго значения помощник игнорирует.
        -- например, помощник узнает с 3 м,
        -- при удалении на 300 м игнорирует.
        h.setsensor(3, 30);
    [color=#ff0000][b]  h.setoutletcount(2);[/b][/color]
    end
    
    -- вызывается при вхождении владельца в зону узнавания помощника.
    function onuserentered(desc)
    
        -- playsound проигрывает музыку или устанавливает label.
        -- первая переменная - канал, вторая - музыка.
        -- например, на канале 0 установлены два label.
        h.playsound(0, "r[1]r[2]");
    
        -- в зависимости от обнаруженного посетителя раздается звуковой эффект.
        if (gethellosound(desc) ~= nil) then
            -- setpercussion устанавливает звук.
            h.setpercussion(1, gethellosound(desc));
            -- "x" проигрывает сигнал, установленный setpercussion.
            h.playsound(1, "x");
        end
    
        -- помощник активирует анимацию.
        -- первая переменная 0 означает помощника.
        -- вторая переменная 1 - label номер [1] playsound.
        -- третья переменная - махание руками.
        h.startanimation(0, 1, h.emotion.wave);
    [b][color=#ff0000]   h.startanimation(1, 1, h.emotion.salute);
       h.startanimation(2, 1, h.emotion.salute);[/color][/b]
        -- помощник говорит с облаком.
        -- первая переменная 2 - label номер [2] playsound.
        -- вторая переменная - речь помощника.
        h.say(2, gethellostring(desc));
    end
    
    -- движения для настройки:
    --    point, sleep, angry, blush, dance, clap, comfort, drink, eat, laugh, kneel, no, 
    --    otl, pat, plead, ready, sad, slap, surprise, taunt, thanks, thunder,
    --    useup, victory, yes, wave, boo, charge, dislike, panic, salute, smile,
    --    sorry, think, blueflag, twoflag, whiteflag, sing, jump
    
     
    Последнее редактирование модератором: 16 май 2012