The New Future :: FOnline Roleplay 2019 :: Действующий ролевой сервер  

Вернуться   The New Future :: FOnline Roleplay 2019 :: Действующий ролевой сервер > Fallout Roleplay 2019 > FOmod > Учебка

Важная информация

Учебка Обучающие материалы.

Ответ
 
Опции темы Опции просмотра
Старый 18.03.2015, 20:58   #161
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 525
Вес репутации: 366
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

Может StatBase на Stat поменять? Вангую, что Stat[ST_MAX_LIFE] вычисляется на лету в dll (сила*множитель + выносливость*множитель + StatBase[ST_MAX_LIFE]), а следовательно в нормальном состоянии StatBase[ST_MAX_LIFE] равно нулю.


upd:
Скрытый текст:

Код:
if( attack.Attacker.Trait[TRAIT_JINXED] != 0 && attack.Attacker.Stat[ ST_MAX_LIFE ] > 0) 
{
    float life = float(attack.Attacker.Stat[ ST_CURRENT_HP ]) / float(attack.Attacker.Stat[ ST_MAX_LIFE ]);
    float negative_percent = (1.0f-life)*100.0f;
    const float dmg_mult = 1.5f; //~149 dmg with 1hp

    float huskar = float(totalDmg) + negative_percent * dmg_mult;
    totalDmg = int(huskar);
}
__________________
 qthree has been possessed!

Последний раз редактировалось qthree; 19.03.2015 в 14:46.
qthree вне форума   Ответить с цитированием
2 Пользователей сказали спасибо qthree За этот пост:
PowerMagic (19.03.2015), tester (19.03.2015)
Старый 19.03.2015, 21:41   #162
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 644
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию

я уж и забыл про разницу StatBase и Stat ^_^
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
Старый 19.03.2015, 22:45   #163
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 153
Вес репутации: 148
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от qthree Посмотреть сообщение
Может StatBase на Stat поменять? Вангую, что Stat[ST_MAX_LIFE] вычисляется на лету в dll (сила*множитель + выносливость*множитель + StatBase[ST_MAX_LIFE]), а следовательно в нормальном состоянии StatBase[ST_MAX_LIFE] равно нулю.


upd:
Скрытый текст:

Код:
if( attack.Attacker.Trait[TRAIT_JINXED] != 0 && attack.Attacker.Stat[ ST_MAX_LIFE ] > 0) 
{
    float life = float(attack.Attacker.Stat[ ST_CURRENT_HP ]) / float(attack.Attacker.Stat[ ST_MAX_LIFE ]);
    float negative_percent = (1.0f-life)*100.0f;
    const float dmg_mult = 1.5f; //~149 dmg with 1hp

    float huskar = float(totalDmg) + negative_percent * dmg_mult;
    totalDmg = int(huskar);
}
Действительно надо использовать Stat. Спасибо.
Еще небольшой вопрос. Где настраивается количество опыта до следующего уровня?

Последний раз редактировалось tester; 19.03.2015 в 22:46.
tester вне форума   Ответить с цитированием
Старый 21.03.2015, 16:20   #164
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 525
Вес репутации: 366
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

parameters.fos
__________________
 qthree has been possessed!
qthree вне форума   Ответить с цитированием
Старый 03.04.2015, 13:34   #165
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 153
Вес репутации: 148
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию

Как называется скрипт отвечающий за наносимый броне износ?
tester вне форума   Ответить с цитированием
Старый 03.04.2015, 17:13   #166
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 525
Вес репутации: 366
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

У брони есть износ? о_О
В combat.fos посмотри.
__________________
 qthree has been possessed!
qthree вне форума   Ответить с цитированием
Старый 03.04.2015, 17:33   #167
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 153
Вес репутации: 148
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию

В фаиле fonline_tla.cpp изменил формулу для переносимого веса.
Код:
EXPORT int getParam_MaxWeight( CritterMutual& cr, uint )
{
    int val = max( cr.Params[ ST_CARRY_WEIGHT ] + cr.Params[ ST_CARRY_WEIGHT_EXT ], 0 );
    val += 10000 + getParam_Strength( cr, 0 ) * 15000;
    return CLAMP( val, 0, 2000000000 );
}
То же самое сделал в parameters.fos
Код:
  _param_[ ST_CARRY_WEIGHT ] += 10000 + _param_[ ST_STRENGTH ] * 15000;
в итоге при регистрации все отображается правильно. Но захожу в игру, при силе 10 должно быть 160 веса, а в игре 50.
Может где-то еще нужно изменить что-то?
tester вне форума   Ответить с цитированием
Старый 03.04.2015, 17:58   #168
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 153
Вес репутации: 148
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от qthree Посмотреть сообщение
У брони есть износ? о_О
В combat.fos посмотри.
Смотрел там нечего нет.
tester вне форума   Ответить с цитированием
Старый 03.04.2015, 19:38   #169
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 525
Вес репутации: 366
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

Плохо смотрел значит.
Трудно armor в поиск вбить?
Код:
int   armorDr = target.Stat[ ST_NORMAL_RESIST + dmgType - 1 ];
Item@ armor = _CritGetItemArmor( target );
if( valid( armor ) && targetIsPlayer )
    DeteriorateItem( target, armor, ( ( 100 - armorDr ) * rounds + totalDmg ) / 3 );
__________________
 qthree has been possessed!
qthree вне форума   Ответить с цитированием
Старый 04.04.2015, 15:43   #170
PigBoss
Senior Member
 
Аватар для PigBoss
 
Регистрация: 07.03.2011
Адрес: Samara
Сообщений: 257
Вес репутации: 258
PigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond reputePigBoss has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от tester Посмотреть сообщение
В фаиле fonline_tla.cpp изменил формулу для переносимого веса.
Код:
EXPORT int getParam_MaxWeight( CritterMutual& cr, uint )
{
    int val = max( cr.Params[ ST_CARRY_WEIGHT ] + cr.Params[ ST_CARRY_WEIGHT_EXT ], 0 );
    val += 10000 + getParam_Strength( cr, 0 ) * 15000;
    return CLAMP( val, 0, 2000000000 );
}
То же самое сделал в parameters.fos
Код:
  _param_[ ST_CARRY_WEIGHT ] += 10000 + _param_[ ST_STRENGTH ] * 15000;
в итоге при регистрации все отображается правильно. Но захожу в игру, при силе 10 должно быть 160 веса, а в игре 50.
Может где-то еще нужно изменить что-то?
Сервер не компилирует fonline_tla.cpp автоматически, надо запускать make_tla.bat насколько я помню, а вообще в новых версиях сдк функции getParam_ вынесены в parameters.fos
PigBoss вне форума   Ответить с цитированием
Данный человек сказал спасибо PigBoss за этот пост:
Черт (05.04.2015)
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:21.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot
Для внутреннего пользования