The New Future :: FOnline, Half-life 2 :: Roleplay It!  

Вернуться   The New Future :: FOnline, Half-life 2 :: Roleplay It! > Прочее > FOmod > Учебка

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

Ответ
 
Опции темы Опции просмотра
Старый 14.09.2013, 16:34   #1
Gekko
Senior Member
 
Регистрация: 14.04.2013
Сообщений: 112
Вес репутации: 54
Gekko is on a distinguished road
По умолчанию HEALING_RATE в fonline_tla.cpp

Поменял int e с
PHP код:
int e getParam_Endurancecr);
    
int val cr.ParamsST_HEALING_RATE ] + cr.ParamsST_HEALING_RATE_EXT ] + max1); 
на
PHP код:
EXPORT int getParam_HealingRateCritterMutualcruint )
{
    
int e cr.ParamsST_MAX_LIFE ] * 0.10;
    
int val cr.ParamsST_HEALING_RATE ] + cr.ParamsST_HEALING_RATE_EXT ] + e;
    return 
CLAMPval0999 );

И теперь батник make_tla.bat выдает мне такую ошибку:

Сервер работает и не выдает ошибок, хотелось бы понять, почему батник беснуется.
Gekko вне форума   Ответить с цитированием
Старый 14.09.2013, 16:57   #2
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

На русском написано же!

int e = cr.Params[ ST_MAX_LIFE ] * 0.10;

Умножение на 0.1 дает double.
__________________
011000100110100101101110011110010110000101101110

Последний раз редактировалось binyan; 14.09.2013 в 17:00.
binyan вне форума   Ответить с цитированием
2 Пользователей сказали спасибо binyan За этот пост:
Gekko (14.09.2013), PowerMagic (14.09.2013)
Старый 14.09.2013, 17:02   #3
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
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
По умолчанию

Он ведь сообщает - беда при переводе одного типа данных в другой. Тобишь дабл в инт.
Почему это происходит?
Всё просто из-за умножения на 0.*
Как решить?
Преобразован тип данных
int(ваше выражение)
Пс 0.10 - это круто)

Биня опередил(
Используйте тег [code] для вставки кода.
__________________
Jet Rock's

Последний раз редактировалось PowerMagic; 14.09.2013 в 17:05.
PowerMagic вне форума   Ответить с цитированием
Данный человек сказал спасибо PowerMagic за этот пост:
Gekko (14.09.2013)
Старый 14.09.2013, 17:11   #4
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

Цитата:
Сообщение от PowerMagic Посмотреть сообщение
Как решить?
Преобразован тип данных
int(ваше выражение)
Это помогает избавиться от варнингов при компиляции, но не решает проблемы. Если автора устраивает округленное значение, то н.п., но если нет - автор должен исправить код так чтобы функция возвращала истинное значение. Типа так:
PHP код:
EXPORT double getParam_HealingRateCritterMutualcruint 

    
double e cr.ParamsST_MAX_LIFE ] * 0.10
    
double val cr.ParamsST_HEALING_RATE ] + cr.ParamsST_HEALING_RATE_EXT ] + e
    return 
CLAMPval0999 ); 

__________________
011000100110100101101110011110010110000101101110
binyan вне форума   Ответить с цитированием
Данный человек сказал спасибо binyan за этот пост:
Gekko (14.09.2013)
Старый 14.09.2013, 17:28   #5
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
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
По умолчанию

Можешь умножать на 1/10.
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
Старый 14.09.2013, 17:33   #6
Gekko
Senior Member
 
Регистрация: 14.04.2013
Сообщений: 112
Вес репутации: 54
Gekko is on a distinguished road
По умолчанию

Да, просто буду делить на 10. Впринципе получается тоже самое число.
Gekko вне форума   Ответить с цитированием
Ответ

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

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

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

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


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


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