Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Показано с 1 по 15 из 15
  1. #1

    По умолчанию Можно ли где-нибудь узнать формулы прироста скила?

    Качаю химию, и вот буквально с 50 бутылок, прирост на 0.4, а потом сто бутылок и прирост 0. Или с магией, качаешь полтора часа на инноксах, не прирастает, а потом в течение 1 минуты на 0.2 вырастет.
    Мне кажется, что если это и рандом, то какой-то гнилой. Хотелось бы увидеть формулы этого самого рандома. Наверное это не такая закрытая информация, которую надо прятать от игроков. Вон выложили ведь на стратиксе точные формулы расчета повреждения. И не совсем понятно, почему бытует мнение, что когда народу много - качается плохо, качается помоему так же. Тогда это странная формула, если в ней ограничение на общий прирост скила на шарде, или на количество игроков.

  2. Expert
    [Banned]
    Регистрация
    03.01.2004
    Адрес
    ThreeLoN, SHopox
    Сообщений
    458
    #2

    По умолчанию

    прокачай себе все и не парься подобными вопросами

  3. не беспокойте мертвых
    Аватар для baal
    Регистрация
    14.02.2002
    Адрес
    главный диджей Ада
    Сообщений
    10,476
    #3

    По умолчанию

    В сфере для роста скилла обычно указывается, вроде , 3 числа, например: (0, 10, 500)
    Где ориентировочно в промежутке роста от 0 до 50 нужно сделать 0-10 удачных попыток для повышения на 0,1, от 50 до 100 - 10-500
    Это 3 циферки в скрипте для каждого скилла девелоперами прописываются индивидуально.
    Все остальное высчитается некими формулами, с использованием этих 3х циферок, скрытыми в исходниках сферы.
    Если вкратце - рандом дикий

    ЗЫ: могу ошибаться ввиду плохой памяти т.к. последний раз в скрипты сферы лазил года 1.5 назад.
    но вроде так, во всяком случае смысл таков

  4. Neophyte

    Регистрация
    29.04.2004
    Адрес
    ЕСТЬ !!!
    Сообщений
    26
    #4

    По умолчанию

    Возмём 20,60,200
    точно не помною но что 200 это точно это очень долгая скорость прокачки !
    +чесло 20 это скорость роста от 0-35
    +чесло 60 это скорость роста от 30-70
    +чесло 200 скорость роста от 70 до гма
    .
    К томуже прошитывает сфера такие веши как айтем который ты крафтиш то биш нужный скилл на него ! И вычесляет определённый шанс роста скила и примерно рандомит его !
    Я думаю не выдавать полностью все формулы потомучно ! там рандомит сама сфера так что ! это уже её дело !

  5. Novice

    Регистрация
    11.09.2003
    Сообщений
    94
    #5

    По умолчанию

    Еще, насколько я знаю, рост скила очень сильно зависит от колличества игроков, качающих данный скил. Т.е. если в данный момент магию качает одновременно 100 человек (+к этому же относить любое ее использование), скил будет расти медленнее, чем при цифре в 10 человек. Например: когда я качал тэйлоринг, Наилучший рост был только с 5-6 утра до 11-12 часов дня при условии, что до этих 5-6 часов утра был дисконнект и народ, который на ночь ставил чара макросить слетал. Соответственно, народ, качающий тот же самый тэйлоринг уменьшался втрое, скилл летел как на дрожжах., после 11-12 дня, появлялись "слетевшие" макросники, и рост скила понижался в 1.5 раза. (Данные проверены неоднократно, на многих скилах).

  6. #6

    По умолчанию

    Цитата Сообщение от Graf Lvov
    Еще, насколько я знаю, рост скила очень сильно зависит от колличества игроков, качающих данный скил. Т.е. если в данный момент магию качает одновременно 100 человек (+к этому же относить любое ее использование), скил будет расти медленнее, чем при цифре в 10 человек. Например: когда я качал тэйлоринг, Наилучший рост был только с 5-6 утра до 11-12 часов дня при условии, что до этих 5-6 часов утра был дисконнект и народ, который на ночь ставил чара макросить слетал. Соответственно, народ, качающий тот же самый тэйлоринг уменьшался втрое, скилл летел как на дрожжах., после 11-12 дня, появлялись "слетевшие" макросники, и рост скила понижался в 1.5 раза. (Данные проверены неоднократно, на многих скилах).
    Скорее всего это стало не потому , что меньше народу перестало кочать конкретное умение, а попросту потому, что на сервере стало меньше народу.
    [*] Assaulter: Оверквотинг.

  7. #7

    По умолчанию

    И все таки непонятно, может кто-нибудь из стаффа, или девелопперы скажут по каким формулам расчет идет? Или информация в исходника настолько закрыта, что даже девелопперы не знают как там все считается? Или хотя бы скрипты сферовские на скилы разные киньте, чтобы знать что тяжело качать, а что нет. Ответы типа карпу качать проще чем инскрипт не устраивают, а устраивают ответы типа иннскрипт качать в 2.83 раза тяжелее чем карпу.

  8. Journeyman
    [Banned]
    Регистрация
    15.02.2004
    Адрес
    Не гамаю в УО
    Сообщений
    269
    #8

    По умолчанию

    Код:
    [SKILL 23]
    DEFNAME=Skill_Inscription
    KEY=Inscription
    TITLE=Scribe
    PROMPT_MSG=
    DELAY=3.0
    STAT_STR=15
    STAT_INT=100
    STAT_DEX=15
    BONUS_STR=0
    BONUS_DEX=0
    BONUS_INT=100
    BONUS_STATS=90
    ADV_RATE=800.0,200.0,10.0
    VALUES=200,30,1
    //ADV_RATE=800.0,200.0,10.0 - это 800.0 удачных попыток при 100% чтобы получить 0.1, 200.0 удачных попыток при 50% чтобы получить 0.1, 10.0 удачных попыток при 0% чтобы получить 0.1

    P.S. более подробная инфа о других скиллах в spheretables.scp

  9. #9

    По умолчанию

    А как формулы узнать?

  10. Journeyman
    [Banned]
    Регистрация
    15.02.2004
    Адрес
    Не гамаю в УО
    Сообщений
    269
    #10

    По умолчанию

    Цитата Сообщение от Luckas
    А как формулы узнать?
    Формулы к сожалению хардкодед в исходниках сферы. У меня есть исходники от 54, но я думаю в 55 примерно тоже самое.
    Код:
    //
        // Calc.cpp
        //
        // Basic Numeric formulas.
        
        #ifdef GRAY_AGENT
        #include "../grayagent/stdafx.h"
        #include "../grayagent/grayagent.h"
        #elif defined(GRAY_MAP)
        #include "../graymap/stdafx.h"
        #include "../graymap/graymap.h"
        #else
        #include "graycom.h"
        #endif
        
        int Calc_GetLog2( UINT iVal )
        {
            // This is really log2 + 1
            int i=0;
            for ( ; iVal; i++ )
            {
                    ASSERT( i < 32 );
                    iVal >>= 1 ;
            }
            return( i );
        }
        
        int Calc_GetRandVal( int iqty )
        {
            if ( iqty <= 0 )
                    return( 0 );
            if ( iqty > RAND_MAX )
            {
                    return( IMULDIV( rand(), (DWORD) iqty, RAND_MAX + 1 )) ;
            }
            return( rand() % iqty );
        }
        
        int Calc_GetBellCurve( int iValDiff, int iVariance )
        {
            // Produce a log curve.
            //
            // 50+
            //       |
            //       |
            //       |
            // 25|  +
            //       |
            //       |         +
            //       |                +
            //      0 --+--+--+--+------
            //    iVar                              iValDiff
            //
            // АРГУМЕНТЫ:
            //  iValDiff = даёт значение близкое к 0
            //              0 = 50.0% chance.
            //  iVariance = точка 25.0% различия в кривой нормального распределения
            // ВОЗВРАЩАЕТ:
            //  (0-100.0) % шанс при этом iValDiff'е.
            //  шанс становится меньше Diff становится больше.
            // ПРИМЕР:
            //  if ( iValDiff == iVariance ) return( 250 )
            //  if ( iValDiff == 0 ) return( 500 );
            //
        
            if ( iVariance <= 0 )   // это реально не должно произайти, только ради случая.
                    return( 500 );
            if ( iValDiff < 0 ) iValDiff = -iValDiff;
        
        #ifdef _DEBUG
            int iCount = 32;
        #endif
        
            int iChance = 500;
            while ( iValDiff > iVariance && iChance )
            {
                    iValDiff -= iVariance;
                    iChance /= 2;   // шанс усреднён для каждого периода колебания.
        #ifdef _DEBUG
                    iCount--;
                    ASSERT( iCount );
        #endif
            }
        
            return( iChance - IMULDIV( iChance/2, iValDiff, iVariance ));
        }
    
    
    int Calc_GetSCurve( int iValDiff, int iVariance )
        {
            // АРГУМЕНТЫ:
            //   iValDiff = Различие между уровнем вашего скилла и сложностью.
            //              positive = болшьшой шанс, negative = маленький шанс
            //              0 = 50.0% шанс.
            //   iVariance = точка 25.0% различия в кривой нормального распределения
            // ВОЗВРАЩАЕТ:
            //       какой (0-100.0)% шанс удачной попытки = 0-1000
            // ЗАМЕТКА:
            //   Шанс прироста скилла это противоположность шанса удачной попытки.
            //
            int iChance = Calc_GetBellCurve( iValDiff, iVariance );
            if ( iValDiff > 0 )
                    return( 1000 - iChance );
            return( iChance );
        }
    P.S. комментарии переводил сам.

  11. #11

    По умолчанию

    Старый добрый СЯ. Где брал...?
    [*] Paulene: оффтопик

  12. Journeyman
    [Banned]
    Регистрация
    15.02.2004
    Адрес
    Не гамаю в УО
    Сообщений
    269
    #12

    По умолчанию

    Цитата Сообщение от Luckas
    Старый добрый СЯ. Где брал...?
    Один добрый человек дал исходники Если надо могу дать.. только вот я толком и не пойму от сферы они или от Grayworld'a... мне сказали от 54той сферы но я что-то не очень в этом уверен

  13. #13

    По умолчанию

    Еще, насколько я знаю, рост скила очень сильно зависит от колличества игроков, качающих данный скил. Т.е. если в данный момент магию качает одновременно 100 человек (+к этому же относить любое ее использование), скил будет расти медленнее, чем при цифре в 10 человек. ит.д.(Данные проверены неоднократно, на многих скилах).
    чушь. не верьте в это.

  14. Journeyman
    [Banned]
    Регистрация
    11.07.2004
    Адрес
    [DarK Forces]
    Сообщений
    293
    #14

    По умолчанию

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

  15. #15

    По умолчанию

    по поводу хавки это мое конечно чубъективное мнение но по моему если и влияет то незначительно

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения