MOTR logo
    • Категории
    • Последние
    • Популярные
    • Метки
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Гайд по написанию скриптов для гомункулусов

    Запланировано Прикреплена Закрыта Перенесена Жизнь в пробирке
    528 Сообщения 60 Posters 51.3k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • iDityanI Не в сети
      iDityan
      отредактировано

      ..Ошибочка вышла с кодом из мира. 😢

      1 ответ Последний ответ Ответить Цитировать 0
      • A Не в сети
        Ave
        отредактировано

        остаётся надеяться, что кто-то увидит недочет в скрипте 🙂

        1 ответ Последний ответ Ответить Цитировать 0
        • Aiko StarA Не в сети
          Aiko Star
          отредактировано

          Не даблпостим.

          Какой BeAction, кстати? Что это вообще за нафиг? х_х

          1 ответ Последний ответ Ответить Цитировать 0
          • ГеоПакГ Не в сети
            ГеоПак Заблокирован
            отредактировано

            как прописать в мираи данс атак?

            1 ответ Последний ответ Ответить Цитировать 0
            • MerlM Не в сети
              Merl
              отредактировано

              ГеоПак,

              Не забываем делать бэкап перед изменениями

              Для MirAI в AI.lua замените это:
              [code:2xafm5qg]elseif (Mystate == ATTACK_ST) then
              OnATTACK_ST()[/code:2xafm5qg]
              На это:
              [code:2xafm5qg]elseif (MyState == ATTACK_ST) then
              if ((GetV( V_SP, MyID) * 100) / GetV( V_MAXSP, MyID) > 80) then
              OnATTACK_ST ()
              local zx, zy = GetV( V_POSITION, MyEnemy )
              Move(MyID,zx+1,zy)
              Move(MyID,zx-1,zy)
              OnATTACK_ST ()
              Move(MyID,zx,zy+1)
              Move(MyID,zx,zy-1)
              else
              OnATTACK_ST ()
              end [/code:2xafm5qg]
              80 это СП в процентах выше которого гомункул танцует, цифру можно заменить на ту которая устраивает (например 0).

              Мопед не мой, не тестил, но выглядит неплохо.

              Для RampageAI:
              Файл Conf/Custom.lua
              найти:
              [code:2xafm5qg]--[[

              Initialize your customizations here.

              Hook or replace functions, and set some settings if you like.

              --]]

              -- An example to initialize the Advanced Movement Commands
              InitCustomAMCs()[/code:2xafm5qg]
              

              Добавить после этого:
              [code:2xafm5qg] SavedAttack = Attack
              Attack = DancingAttack[/code:2xafm5qg]
              Найти
              [code:2xafm5qg]----------------------
              -- Custom Functions --

              --[[

              Put any extra functions here.

              --]]
              [/code:2xafm5qg]
              Добавить после этого:
              [code:2xafm5qg]-- Dancing Attack
              function DancingAttack(homunID, targetID)
              -- stop dancing if hp or sp lower then 0%, or 25%, or the homunculus is too far from its owner
              -- this schould fix the "dance out of range bug"
              -- Dancing Attack is also disabled for Monsters, which are to be kited
              local t = MDBTable(actor)
              if ((ActorHPPercent(HomunID) >= 0) and (ActorSPPercent(HomunID) >= 25) and (AABlocks(HomunID,OwnerID) <= 12) and (not t[11])) then
              -- determine the targets position
              local x, y = GetV(V_POSITION, targetID)
              SavedAttack(homunID, targetID)
              Move(homunID, x+1, y)
              Move(homunID, x-1, y)
              SavedAttack(homunID, targetID)
              Move(homunID, x, y+1)
              Move(homunID, x, y-1)
              else SavedAttack(homunID, targetID)
              end
              end[/code:2xafm5qg]

              0 и 25 это ХП и СП гомункула в процентах выше которого активируется танцующая атака.

              1 ответ Последний ответ Ответить Цитировать 0
              • LisandreLL Не в сети
                LisandreL
                отредактировано

                @"ГеоПак":
                как прописать в мираи данс атак?1) FastAttack_Mod.lua закидываем в папку с игрой.
                2) запускаем gui (Config.exe), открываем закладочку Extra, в окошечке Plugin выбираем FastAttack_Mod.lua
                3) Жмём Save configuration
                4) ????
                5) Profit! (в смысле наслаждаемся результам)

                1 ответ Последний ответ Ответить Цитировать 0
                • iDityanI Не в сети
                  iDityan
                  отредактировано

                  @"Aiko-Star":
                  Не даблпостим.

                  Какой BeAction, кстати? Что это вообще за нафиг? х_х
                  Это остатки которые я не вычистил. Удалил.
                  Я пытался сделать гомункула активнее, чтобы он не ждал следующего вызова AI() а сразу переходил к выполнению действия, и заканчивал работу только если была отправлена команда (на сервер) атаковать, использовать скилл или идти. Если прирост и был то он был незначительный.

                  1 ответ Последний ответ Ответить Цитировать 0
                  • E Не в сети
                    Euthanasia M_D_ Заблокирован
                    отредактировано

                    @"iSe":
                    Интересует такой вопрос: у меня стоит Rampage AI rc6 - ничего в нем не правил - т.к. разбиратся долго и тяжело поэтому спрашиваю мэтров - что в нем поправить чтобы хом (ванилька) при начале атаки сразу же сплавлял все СП на болты и как только у него скопится сп во время боя с мобом он сразу же бил болтом на все что есть?) ато чот он у меня постоянно с полным СП ходит, и всегда умирает)

                    и еще вопрос - встречал на просторах сети RampageAI_v1.0_rc7_by_Nakayama стоит ли ставить его? он с какого то левого сайта... или лучше остановится на rc6 с его офа?

                    Не только можно, но и НУЖНО использовать именно этот вариант Rampage. В исходном есть опечатка из-за которой ГОМ КИЛСТИЛИТ чужих мобов.

                    1 ответ Последний ответ Ответить Цитировать 0
                    • K Не в сети
                      Kitsune18
                      отредактировано

                      при испотльзование Rampage AI очень часто в чате появляеться надпись Not Enought SP, что подправить и где нужно в срипте, чтобы эта надпись пореже возникала?

                      1 ответ Последний ответ Ответить Цитировать 0
                      • ZenoZ Не в сети
                        Zeno Модераторы
                        отредактировано

                        В настроках поставить минимальное сп у гомункула равным единице.

                        Правила общения на форуме

                        1 ответ Последний ответ Ответить Цитировать 0
                        • CombichristC Не в сети
                          Combichrist
                          отредактировано

                          Расскажите пожалуйста, как заставить его патрулировать вокруг меня в поисках жертвы?

                          1 ответ Последний ответ Ответить Цитировать 0
                          • Aiko StarA Не в сети
                            Aiko Star
                            отредактировано

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

                            1 ответ Последний ответ Ответить Цитировать 0
                            • CombichristC Не в сети
                              Combichrist
                              отредактировано

                              Sanq!

                              1 ответ Последний ответ Ответить Цитировать 0
                              • LisandreLL Не в сети
                                LisandreL
                                отредактировано

                                @"Aiko-Star":
                                Смысла в "патрулировании" нет, т.к. функция, используемая для получения списка присутствующих (мобы-игроки-etc), не имеет радиуса и действует где-то на экран. Т.е. что он в одном углу экрана будет, что в другом - результат получится один и тот же, лишних мобов хомяк не поймаетХомяк-то больше не увидит, а вот мобы увидят хомяка с большей площади и если агресвные - нападут. Так что смысл всё же есть.

                                1 ответ Последний ответ Ответить Цитировать 0
                                • Aiko StarA Не в сети
                                  Aiko Star
                                  отредактировано

                                  @"LisandreL":
                                  Хомяк-то больше не увидит, а вот мобы увидят хомяка с большей площади и если агресвные - нападут. Так что смысл всё же есть.
                                  Ну тогда еще можно в подобные плюсы записать и то, что покемон может оказаться ближе к мобу и быстрее до него бежать будет 🙂 Крайне сомнительное преимущество, если честно.

                                  1 ответ Последний ответ Ответить Цитировать 0
                                  • ZenoZ Не в сети
                                    Zeno Модераторы
                                    отредактировано

                                    Может оказаться и дальше, если по кругу. Но приманивание издали агрессивных монстров - несомненный плюс.

                                    Правила общения на форуме

                                    1 ответ Последний ответ Ответить Цитировать 0
                                    • CombichristC Не в сети
                                      Combichrist
                                      отредактировано

                                      Так как реализовать?

                                      1 ответ Последний ответ Ответить Цитировать 0
                                      • Aiko StarA Не в сети
                                        Aiko Star
                                        отредактировано

                                        Как вариант - уменьшить значение хп-сп для функции прохода по кругу и поставить ей радиус побольше (RampageAI).

                                        1 ответ Последний ответ Ответить Цитировать 0
                                        • MJM Не в сети
                                          MJ
                                          отредактировано

                                          вопрос следующий.
                                          при поставленном мираи хом носится от моба к мобу как ужаленный, а при рампейже - тормозит после каждого убийства секунд 5-6. в чем разница и где поправить скрипт? )

                                          1 ответ Последний ответ Ответить Цитировать 0
                                          • xMysTicaLxX Не в сети
                                            xMysTicaLx
                                            отредактировано

                                            Предположу что в файле Config.lua нужно выставить значение 0 тут:
                                            -- Check for a new target only once every this many milliseconds
                                            AcquireTargetTimeout = 0

                                            Кто знает, как в ремпедже включить автокастом скилл лифки - Emergency Avoid? В мирке срабатывает сразу если лиф начинает бить моба, а тут никак. Все перерыл...

                                            1 ответ Последний ответ Ответить Цитировать 0
                                            • Первое сообщение
                                              Последнее сообщение