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

    А верите ли вы что...

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

      а к чему они?? каждый проголосовал или высказал свою точку зрения ...

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

        Ну а дальше? А доказать, что все это фигня? Должны же простые нубики знать мифы и легенды покемоноводчества.

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

          а как ты это докажешь? 🙂
          каждый проголосовал за что то, пока лидер последний вариант знач все с этим согласны

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

            По порядку.
            1, 2 - исходники сервера
            3 - теория вероятности, основанная на пунктах 1,2
            4 - есть пример (кто-то отписывался в свое время о том, что после копирования чаров на тестовый существующий хомяк получился отличным от исходного)
            5 - исходники сервера или много тестов
            6 - очевидно для разбирающихся в скриптостроении :lol:
            7 - тесты или исходники
            8 - нужно уточнение, что имеется в ввиду под "нужным болтом". А так - исходники сервера + теория вероятностей
            9 - факты + обоснование на основе обработки команд сервером
            10 - здравый смысл + привет от Кэпа: десятый пункт - наглое и бессовестное вранье :lol:

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

              ничё не понял при чём тут исходники сервера, думаю если бы можно было это посмотреть, как минимум это где то бы указали, на всех форумах одни и те же споры по первым 2-м пунктам,
              наёмы так же настраиваются как и гомы, только не видел патруля у наёма, правда небыло особого желания разбирацо

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

                Контроль хомяка с компьютера игрока заключается исключительно в отправке команд поведения (для этого скрипты и нужны). Все остальное, в том числе шансы варки, вылупления и развития хомяка обсчитывает сервер. Так же, как и дроп с мобов, к примеру. Отсюда логичный вывод - все алгоритмы можно посмотреть в исходниках. Другое дело, что исходники Aegis (или что там официалки используют) недоступны простым смертным, но нам это и не надо. Мотр основан на еафине, а ее код открыт. Так что вот.

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

                  интересно как рандом описан в еафине? я не силён в програмизме, поэтому у меня удивление в твоей уверености об исходниках ... если исходники еафины открыты и ты в этом нехило шариш, раздупли мотровцев хотябы ...

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

                    [code:3tfnwgry]/* generates a random number on [0,0xffffffff]-interval /
                    static unsigned long atn_int32_randommt(void)
                    {
                    unsigned long y;
                    static unsigned long mag01[2]={0x0UL, MATRIX_A};
                    /

                    = x * MATRIX_A for x=0,1 */

                    if (mti >= N) { /* generate N words at one time */
                        int kk;
                    
                        if (mti == N+1)   /* if init_genrand() has not been called, */
                            atn_srandommt(5489UL); /* a default initial seed is used */
                    
                        for (kk=0;kk<N-M;kk++) {
                            y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
                            mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
                        }
                        for (;kk<N-1;kk++) {
                            y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
                            mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
                        }
                        y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);
                        mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
                    
                        mti = 0;
                    }
                    
                    y = mt[mti++];
                    
                    /* Tempering */
                    y ^= (y >> 11);
                    y ^= (y << 7) & 0x9d2c5680UL;
                    y ^= (y << 15) & 0xefc60000UL;
                    y ^= (y >> 18);
                    
                    return y;
                    

                    }

                    long atn_int31_randommt(void)
                    {
                    return (long)(atn_int32_randommt()>>1);
                    }[/code:3tfnwgry]
                    Код функции генератора случайных чисел еафины за билдом нумер 2268. Не вдаваясь в подробности и ОЧЕНЬ утрированно - при запуске сервер создает случайное число. Все дальнейшие вызовы этой функции (а вызывается она часто - перемещение мобов по локации, дроп, скиллы, заточка и куча всего другого) над этим числом производятся хитрые преобразования, по результатам которых получается следующее число. И т.д. для каждого рандомайза. Суть в том, что теоретически возможно предсказать следующее значение, которое выдаст данная функция. Но для этого надо, чтобы данную функцию не вызывал вообще никто, кроме игрока (т.е. сервер должен держать абсолютно пустые локации. К примеру, замки не во время гв). Зная начальное значение генератора, можно добиться нужного нам результата, если рассчитать последовательность случайных чисел на мноооого шагов вперед и "сбрасывать" неподходящие значения ненужным вызовом этой функции (к примеру, быть мсом и пытаться нубоножик заточить). Отсюда вывод - при наличии сферического сервера в вакууме и большого количества упрямства можно корейским рандомом рулить.

                    Теперь что касается покемончиков. Т.к. сейчас на компе афины у меня нет, а качать билд мне лень, точно сказать не могу. Но с огромной долей уверенности предположу, что в описании обработки левел апа гомункулуса идет вызов этого самого генератора, дабы определить рост статов. Учитывая вывод предыдущего абзаца - при наличии сферического сервера в вакууме и ОЧЕНЬ большого количества упрямства можно наутюжить себе идеального покемона, у которого рост статов на каждом уровне будет максимален для своего вида.
                    Но, повторюсь, это не в реалиях игровых серваков. Это на локальном-то фиг сделаешь (да и зачем?).

                    Кстати, отсюда же опровержение того, что рост хомяка закладывается при рождении. Я крайне сомневаюсь, что на каждого покемона сервер создает файл, в котором закладывает значения для роста статов на левел-апы. Ибо нафиг надо разработчикам так делать. Логичнее при каждом уровне взывать ко всемогущему рандому.

                    Так что вот. Надеюсь, хоть сколько-то стало понятнее х___х

                    PS Цензура десу х_х заменила нехорошие слова на хорошие, но смысл остался тот же.

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

                      [code:18sdic9l]int merc_hom_levelup(struct homun_data *hd)
                      {
                      тут было бла бла про получение скилпоинтом и много чего еще, но не хочу огромных цитат

                      growth_max_hp = rand(min->HP, max->HP);
                      growth_max_sp = rand(min->SP, max->SP);
                      growth_str = rand(min->str, max->str);
                      growth_agi = rand(min->agi, max->agi);
                      growth_vit = rand(min->vit, max->vit);
                      growth_dex = rand(min->dex, max->dex);
                      growth_int = rand(min->int_,max->int_);
                      growth_luk = rand(min->luk, max->luk);
                      
                      //Aegis discards the decimals in the stat growth values!
                      growth_str-=growth_str%10;
                      growth_agi-=growth_agi%10;
                      growth_vit-=growth_vit%10;
                      growth_dex-=growth_dex%10;
                      growth_int-=growth_int%10;
                      growth_luk-=growth_luk%10;
                      
                      hom->max_hp += growth_max_hp;
                      hom->max_sp += growth_max_sp;
                      hom->str += growth_str;
                      hom->agi += growth_agi;
                      hom->vit += growth_vit;
                      hom->dex += growth_dex;
                      hom->int_+= growth_int;
                      hom->luk += growth_luk;
                      

                      тут было еще немного бла бла
                      }
                      [/code:18sdic9l]

                      Это к теме левел апа. Считается прирост, откидываются знаки после запятой, прирост прибавляется к статам. Функция rand генерирует случайные числа между min и max. Значения статов для аргументов (например min->str, max->str) указаны в отдельном файле и для каждого типа свои.

                      Почему иначе было бы крайне нелогично хорошо расписано у Aiko Star.
                      Код из Revision 13695.

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

                        А я верю в то, что если накормить хомячка до 200%, он раздуется и лопнет :sorry:

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

                          а ешё его разорвёт капля никатина

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

                            вот вам для раздумий:
                            Был у меня на сервере Терра хим с гомункулом Филир. очень хотелось посмотреть, что с ним(гомом) будет на 99 лвле..
                            Когда появился тестовый Альтаир, и был произведен перенос персов туда, то я решил исполнить свою мечту и покачать его там, заодно посмотреть как раскидываются статы... следил за ними последующие 10 лвлов
                            прокачал его на АЛьтаире, удовлетворился тестами и решил докачать на терре...
                            и что бы вы могли подумать? статы у гома вкачивались именно так, как это происходило на Альтаире.. точь-в-точь..
                            Совпадение?

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

                              На Терре не могло быть гома, лол.

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

                                терра наверно нынешний мотр, ибо сириус на терру переносили

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

                                  Переноса с сервера на сервер с гомункулами не было.
                                  Сначала были терра+сириус, потом открыли альтаир, на который в какой-то момент перенесли дб с терры, а потом с сириуса.
                                  Потом альтаир вайпнули, а на новый сервер, мотр, перенесли дб с сириуса и терры, где гомов не было.

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

                                    Мда долги был процесс.
                                    Думаю парень чтото напутал, но суть в том, что гом получился такойже...

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

                                      Переноса с сервера на сервер с гомункулами не было.

                                      был перенос, альтаир зимой запускали, моего гома тоже переносили, но я первого гома удалял и не следил одинаково качался или нет

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

                                        Вы про зиму 08—09?

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

                                          не помню зима какого года была... но факт имеет место быть...
                                          или вы думаете я вам тут сказки придумываю?

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

                                            Ни на Терре, ни на Сириусе гомункулусов не было.

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