Это сообщение было отредактировано 2 раз(а), последнее редактирование в "NooBPlayeR" (16 января 2012, 11:01)
Код |
|
1 2 3 4 5 6 7 8 9 10 |
void CFists::OnAction(EntityId actorId, const ActionId& actionId, int activationMode, float value) { if (IsSelected()/* && !m_underWater*/) //закомментировал { if (!s_actionHandler.Dispatch(this, actorId, actionId, activationMode, value)) { CWeapon::OnAction(actorId, actionId, activationMode, value); } } } |
Это сообщение было отредактировано 1 раз(а), последнее редактирование в "NooBPlayeR" (16 января 2012, 11:13)
А вот если заменить CryGame.dll на Mod dll переименованную в CryGame.dll,
Ну я в общем то и говорил об этом, хотя сборку сделать все равно можно, да и выдать её за отдельную игру тоже, причем не пользуясь строчкой в ярлыке -mod. Меня беспокоит больше тот факт, что CryTek подобными действиями официально пытается максимально ограничить возможность создания
новых бесплатных игр на своём движке, хотя по идее они должны быть наоборот в этом заинтересованы. Хотя, судя по всему, с 2006 года у них другая политика.
Код |
|
1 2 3 4 5 6 7 8 |
//3- Player can not fire while his weapon is underwater level // (doesn't apply in vehicles - CVehicleWeapon::CanFire() takes care of this, // else it breaks in 3rd person view) if (!GetLinkedVehicle() && m_stats.worldWaterLevel > m_stats.FPWeaponPos.z) return false; return true; } |
Код |
|
1 |
&& m_stats.worldWaterLevel > m_stats.FPWeaponPos.z |
Код |
|
1 |
&& m_stats.worldWaterLevel < m_stats.FPWeaponPos.z |
Это сообщение было отредактировано 1 раз(а), последнее редактирование в "NooBPlayeR" (23 января 2012, 11:52)
Код |
|
1 |
&& m_stats.worldWaterLevel = m_stats.FPWeaponPos.z |
Код |
|
1 |
m_stats.worldWaterLevel |
Код |
|
1 |
m_stats.FPWeaponPos.z |
Это сообщение было отредактировано 4 раз(а), последнее редактирование в "Red-Cat-Fat" (23 января 2012, 14:04)
Это сообщение было отредактировано 3 раз(а), последнее редактирование в "NooBPlayeR" (23 января 2012, 14:10)
- это огонь над водой
- огонь под водой. И их надо приравнять.
if (!GetLinkedVehicle() && m_stats.worldWaterLevel > m_stats.FPWeaponPos.z)
return false;
1.Ошибка компилятора т.к. знак "=", потому что это логическое сравнение там, а если бы было вычисление, то == надо. В начале функции надпись bool CPlayer::CanFire() говорит, что речь о логике пойдёт.
Для логики можно <= , правда всё равно смысла маловато будет. Можно попробовать добавить || вместо знака > и посмотреть, но return false на true полюбому менять также. Я не пробовал и ещё учусь, так что не ругайте, если хрень.
2. про закомментировать - я если честно не понял. Объясните о чем речь. Хочется быть в теме тоже
Код |
|
1 2 |
if (!GetLinkedVehicle() && m_stats.worldWaterLevel > m_stats.FPWeaponPos.z) return false; |