Портал игровых серверов GMNET.RU - Red Orchestra
spacerspacer Главная spacerspacer Форум spacerspacer Игровые Сервера spacerspacer Правила Игровых Серверов spacerspacer
Старый 03.02.2012, 00:43   #121
Lomovsky
Рядовой
 
Регистрация: 30.10.2011
Сообщений: 3
Сказал cпасибо: 0
Поблагодарили 1 раз в 1 сообщении
Бронестекол не было на Т-26, на Т-34 и КВ уже должны были стоять, танкисты из наганов должны были стрелять через специальные амбразуры, которые закрывались пробками. Еще ТТ поначалу не хотели принимать на вооружение, т.к он был непригоден для стрельбы через эти самые амбразуры.
Lomovsky вне форума   Ответить с цитированием
Старый 23.03.2012, 04:06   #122
Sigel
Рядовой
 
Регистрация: 20.09.2011
Сообщений: 25
Сказал cпасибо: 0
Поблагодарили 3 раз в 2 сообщениях
Цитата:
Сообщение от Preadator Посмотреть сообщение
До качал бронебойщика до ветерана , дали на выбор нашу и немецкую птрс.
Шансов у немецких танков нет.
Немецкая лупит "на смерть" с одного , максимум трёх, выстрелов эту консервную банку вермахта.А при наличии 5-ти патронов в обойме , сами понимаете каковы шансы у "фашика" не сгореть.
докачал до ветерана, в списке появился выбор какую пт брать, но что бы не выбрал - выдают птрс 41 онли
ну ладно бы если бы только за советов так, за немцев теперь только с 41 играть

собсно вопрос - этот баг только у меня ?

п.с. ради чистоты эксперимента из принципа докачаю до хайли декорейдет, расскажу можно ли будет выбрать с какой пт бегать
Sigel вне форума   Ответить с цитированием
Старый 23.03.2012, 12:14   #123
Preadator
RO Admin
 
Аватар для Preadator
 
Регистрация: 15.09.2008
Адрес: Москва
Сообщений: 12,625
Сказал cпасибо: 4,910
Поблагодарили 6,295 раз в 3,814 сообщениях
Этот баг встречается не только у тебя , но вот у меня пока не проявился.
Preadator вне форума   Ответить с цитированием
Старый 23.03.2012, 15:02   #124
IGNAT
Лейтенант
 
Аватар для IGNAT
 
Регистрация: 14.03.2009
Сообщений: 1,192
Сказал cпасибо: 910
Поблагодарили 1,133 раз в 697 сообщениях
Этот баг неизлечим, теперь тебе сужденно за немцев царапать краску у Т-34 с PZ еще можно что то сделать в основном рандомно от балды
IGNAT вне форума   Ответить с цитированием
Старый 23.03.2012, 19:11   #125
Sigel
Рядовой
 
Регистрация: 20.09.2011
Сообщений: 25
Сказал cпасибо: 0
Поблагодарили 3 раз в 2 сообщениях
Цитата:
Сообщение от IGNAT Посмотреть сообщение
Этот баг неизлечим, теперь тебе сужденно за немцев царапать краску у Т-34 с PZ еще можно что то сделать в основном рандомно от балды
угу, в том то и дело что царапать

Цитата:
Сообщение от Preadator Посмотреть сообщение
Этот баг встречается не только у тебя , но вот у меня пока не проявился.
вероятно и не проявится, ибо у меня он проявился сразу по достижении ветерана и не проходит

возможно, если бы я ветерана вкачал бы за русских и с птрс 41 то все бы было наоборот
кто нибудь еще также влетел ? или никто больше ат райфл не любит ?
Sigel вне форума   Ответить с цитированием
Старый 23.03.2012, 21:41   #126
IGNAT
Лейтенант
 
Аватар для IGNAT
 
Регистрация: 14.03.2009
Сообщений: 1,192
Сказал cпасибо: 910
Поблагодарили 1,133 раз в 697 сообщениях
У всех кто прокачал так, вот только Предатор избежал этой участи пока что
IGNAT вне форума   Ответить с цитированием
Старый 24.03.2012, 01:39   #127
Sigel
Рядовой
 
Регистрация: 20.09.2011
Сообщений: 25
Сказал cпасибо: 0
Поблагодарили 3 раз в 2 сообщениях
Цитата:
Сообщение от IGNAT Посмотреть сообщение
У всех кто прокачал так, вот только Предатор избежал этой участи пока что
глядите, он вампир (с)
докладаю, докачка до хайлидекорейтед, он же хировс по канадски не дала ровным счетом ничего
судя по офф форуму бага с ноября месяца обозначена, но зная теренса и филлипа править они ее (если будут) еще хз сколько времени
Sigel вне форума   Ответить с цитированием
Старый 24.03.2012, 02:08   #128
Preadator
RO Admin
 
Аватар для Preadator
 
Регистрация: 15.09.2008
Адрес: Москва
Сообщений: 12,625
Сказал cпасибо: 4,910
Поблагодарили 6,295 раз в 3,814 сообщениях
Сам удивляюсь но не проявился баг.
Я уже говорил пока нет необходимости в бронебойщиках чё толку что у меня есть убер ружо.
Preadator вне форума   Ответить с цитированием
Старый 24.03.2012, 19:44   #129
Sigel
Рядовой
 
Регистрация: 20.09.2011
Сообщений: 25
Сказал cпасибо: 0
Поблагодарили 3 раз в 2 сообщениях
Цитата:
Сообщение от Preadator Посмотреть сообщение
Сам удивляюсь но не проявился баг.
Я уже говорил пока нет необходимости в бронебойщиках чё толку что у меня есть убер ружо.
ну пока марштуток не появится (если вообще будут) то только по пехоте стрелять, но все равно обидно за криворукость создателей
Sigel вне форума   Ответить с цитированием
Старый 21.04.2012, 14:17   #130
Max Damage
Рядовой
 
Регистрация: 21.04.2012
Сообщений: 40
Сказал cпасибо: 0
Поблагодарили 4 раз в 3 сообщениях
ТАнки, противотанковые ружья, слабые места.

Привет. Если кто-то знает, поделитесь знаниями про танки в ро2. Какой танк лучше? где у танков слабые месте? куда стрелять танком в танк и куда стрелять ПТРом в танк? Что за немецкое противотанковое ружьё даётся при прокачке ПТРщика?

Спасибо.
Max Damage вне форума   Ответить с цитированием
Старый 21.04.2012, 15:21   #131
Malinovskiy
RO Admin
 
Аватар для Malinovskiy
 
Регистрация: 13.02.2007
Адрес: Москва
Сообщений: 4,789
Сказал cпасибо: 1,000
Поблагодарили 2,559 раз в 1,229 сообщениях
Осторожно! Много букавок!

Характеристики пули ПТРС


class PTRS1941Bullet_AP extends ROAntiVehicleProjectile;
defaultproperties
{
BallisticCoefficient=0.80
Speed=50500 //1010 m/s
MaxSpeed=50500
ImpactDamage=125
DamageRadius=0//50
MomentumTransfer=5000
Damage=200

Caliber=14.5
ActualRHA=36
TestPlateHardness=300
SlopeEffect=0.47989
ShatterNumber=1.1
ShatterTd=1.0
ShatteredPenEffectiveness=0.9

PenetrateShrapnelLength=75 // 1.5 meters
SpallShrapnelLength=50 // 1 Meter
PenetrateShrapnelChance=0.15 // 15% chance
SpallShrapnelChance=0.1 // 10% chance
}
[свернуть]

Характеристики пули PzB784


class PzB784rBullet_AP extends PTRS1941Bullet_AP;

defaultproperties
{
ActualRHA=55//45
TestPlateHardness=450
}
[свернуть]

Схема бронирования Pz4


ArmorPlates(0)=(PlateName=FRONTLOWER,ArmorZoneType=AZT_Front,PlateThickness=50,OverallHardness=357,bHighHardness=false)
ArmorPlates(1)=(PlateName=FRONTGLACIS,ArmorZoneType=AZT_Front,PlateThickness=25,OverallHardness=347,bHighHardness=false)
ArmorPlates(2)=(PlateName=FRONTUPPER,ArmorZoneType=AZT_Front,PlateThickness=50,OverallHardness=357,bHighHardness=false)
ArmorPlates(3)=(PlateName=LEFTFRONT,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(4)=(PlateName=LEFTLOWER,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(5)=(PlateName=LEFTUPPER,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(6)=(PlateName=LEFTUPPERCENTER,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(7)=(PlateName=LEFTUPPERREAR,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(8)=(PlateName=LEFTLOWERREAR,ArmorZoneType=AZT_Left,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(9)=(PlateName=LEFTFRONTOVERHANG,ArmorZoneType=AZT_Left,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(10)=(PlateName=LEFTREAROVERHANG,ArmorZoneType=AZT_Left,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(11)=(PlateName=ROOFREAR,ArmorZoneType=AZT_Roof,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(12)=(PlateName=ROOFFRONT,ArmorZoneType=AZT_Roof,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(13)=(PlateName=FLOOR,ArmorZoneType=AZT_Floor,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(14)=(PlateName=REARLOWER,ArmorZoneType=AZT_Back,PlateThickness=20,OverallHardness=347,bHighHardness=false)
ArmorPlates(15)=(PlateName=REARUPPER,ArmorZoneType=AZT_Back,PlateThickness=20,OverallHardness=347,bHighHardness=false)
ArmorPlates(16)=(PlateName=RIGHTFRONT,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(17)=(PlateName=RIGHTLOWER,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(18)=(PlateName=RIGHTUPPER,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(19)=(PlateName=RIGHTUPPERCENTER,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(20)=(PlateName=RIGHTUPPERREAR,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(21)=(PlateName=RIGHTLOWERREAR,ArmorZoneType=AZT_Right,PlateThickness=30,OverallHardness=388,bHighHardness=false)
ArmorPlates(22)=(PlateName=RIGHTFRONTOVERHANG,ArmorZoneType=AZT_Right,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(23)=(PlateName=RIGHTREAROVERHANG,ArmorZoneType=AZT_Right,PlateThickness=10,OverallHardness=450,bHighHardness=true)
ArmorPlates(24)=(PlateName=TURRETFRONT,ArmorZoneType=AZT_TurretFront,PlateThickness=50,OverallHardness=357,bHighHardness=false)
ArmorPlates(25)=(PlateName=TURRETLEFTFRONT,ArmorZoneType=AZT_TurretLeft,PlateThickness=30,OverallHardness=347,bHighHardness=false)
ArmorPlates(26)=(PlateName=TURRETLEFTREAR,ArmorZoneType=AZT_TurretLeft,PlateThickness=30,OverallHardness=347,bHighHardness=false)
ArmorPlates(27)=(PlateName=TURRETREAR,ArmorZoneType=AZT_TurretBack,PlateThickness=30,OverallHardness=347,bHighHardness=false)
ArmorPlates(28)=(PlateName=TURRETRIGHTREAR,ArmorZoneType=AZT_TurretRight,PlateThickness=30,OverallHardness=347,bHighHardness=false)
ArmorPlates(29)=(PlateName=TURRETRIGHTFRONT,ArmorZoneType=AZT_TurretRight,PlateThickness=30,OverallHardness=347,bHighHardness=false)
ArmorPlates(30)=(PlateName=TURRETROOF,ArmorZoneType=AZT_TurretRoof,PlateThickness=20,OverallHardness=347,bHighHardness=false)
ArmorPlates(31)=(PlateName=CUPPOLA,ArmorZoneType=AZT_Cuppola,PlateThickness=50,OverallHardness=331,bHighHardness=false)
ArmorPlates(32)=(PlateName=CUPPOLAROOF,ArmorZoneType=AZT_Cuppola,PlateThickness=9,OverallHardness=450,bHighHardness=true)
ArmorPlates(33)=(PlateName=CANNONGLACIS,ArmorZoneType=AZT_TurretFront,PlateThickness=50,OverallHardness=357,bHighHardness=false)
ArmorPlates(34)=(PlateName=DRIVERFRONTVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=80,OverallHardness=150,bHighHardness=false)
ArmorPlates(35)=(PlateName=DRIVERSIDEVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(36)=(PlateName=HULLMGSIDEVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(37)=(PlateName=GUNNERFRONTVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(38)=(PlateName=GUNNERREARVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(39)=(PlateName=LOADERFRONTVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(40)=(PlateName=LOADERREARVISIONSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(41)=(PlateName=CUPPOLAVIEWSLITONE,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(42)=(PlateName=CUPPOLAVIEWSLITTWO,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(43)=(PlateName=CUPPOLAVIEWSLITTHREE,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(44)=(PlateName=CUPPOLAVIEWSLITFOUR,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(45)=(PlateName=CUPPOLAVIEWSLITFIVE,ArmorZoneType=AZT_WeakSpots,PlateThickness=70,OverallHardness=150,bHighHardness=false)
ArmorPlates(46)=(PlateName=RIGHTENGINEDECKGRATING,ArmorZoneType=AZT_WeakSpots,PlateThickness=10,OverallHardness=150,bHighHardness=false)
ArmorPlates(47)=(PlateName=LEFTENGINEDECKGRATING,ArmorZoneType=AZT_WeakSpots,PlateThickness=10,OverallHardness=150,bHighHardness=false)
[свернуть]

Схема бронирования Т34

ArmorPlates(0)=(PlateName=FRONTGLACIS,ArmorZoneType=AZT_Front,PlateThickness=45,OverallHardness=400,bHighHardness=true)
ArmorPlates(1)=(PlateName=FRONTLOWER,ArmorZoneType=AZT_Front,PlateThickness=45,OverallHardness=400,bHighHardness=true)
ArmorPlates(2)=(PlateName=LEFTLOWER,ArmorZoneType=AZT_Left,PlateThickness=45,OverallHardness=400,bHighHardness=true)
ArmorPlates(3)=(PlateName=LEFTUPPER,ArmorZoneType=AZT_Left,PlateThickness=40,OverallHardness=400,bHighHardness=true)
ArmorPlates(4)=(PlateName=LEFTOVERHANG,ArmorZoneType=AZT_Left,PlateThickness=16,OverallHardness=400,bHighHardness=true)
ArmorPlates(5)=(PlateName=REARUPPER,ArmorZoneType=AZT_Back,PlateThickness=40,OverallHardness=400,bHighHardness=true)
ArmorPlates(6)=(PlateName=REARLOWER,ArmorZoneType=AZT_Back,PlateThickness=40,OverallHardness=400,bHighHardness=true)
ArmorPlates(7)=(PlateName=ROOFFRONT,ArmorZoneType=AZT_Roof,PlateThickness=20,OverallHardness=400,bHighHardness=true)
ArmorPlates(8)=(PlateName=ENGINEDECK,ArmorZoneType=AZT_Roof,PlateThickness=20,OverallHardness=400,bHighHardness=true)
ArmorPlates(9)=(PlateName=FLOOR,ArmorZoneType=AZT_Floor,PlateThickness=16,OverallHardness=400,bHighHardness=true)
ArmorPlates(10)=(PlateName=RIGHTLOWER,ArmorZoneType=AZT_Right,PlateThickness=45,OverallHardness=400,bHighHardness=true)
ArmorPlates(11)=(PlateName=RIGHTOVERHANG,ArmorZoneType=AZT_Right,PlateThickness=16,OverallHardness=400,bHighHardness=true)
ArmorPlates(12)=(PlateName=RIGHTUPPER,ArmorZoneType=AZT_Right,PlateThickness=40,OverallHardness=400,bHighHardness=true)
ArmorPlates(13)=(PlateName=TURRETGLACIS,ArmorZoneType=AZT_TurretFront,PlateThickness=45,OverallHardness=400,bHighHardness=false)
ArmorPlates(14)=(PlateName=TURRETFRONT,ArmorZoneType=AZT_TurretFront,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(15)=(PlateName=TURRETRIGHTFRONT,ArmorZoneType=AZT_TurretRight,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(16)=(PlateName=TURRETRIGHTREAR,ArmorZoneType=AZT_TurretRight,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(17)=(PlateName=TURRETLEFTFRONT,ArmorZoneType=AZT_TurretLeft,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(18)=(PlateName=TURRETLEFTREAR,ArmorZoneType=AZT_TurretLeft,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(19)=(PlateName=TURRETREAR,ArmorZoneType=AZT_TurretBack,PlateThickness=52,OverallHardness=430,bHighHardness=true)
ArmorPlates(20)=(PlateName=TURRETROOF,ArmorZoneType=AZT_TurretRoof,PlateThickness=20,OverallHardness=400,bHighHardness=true)
ArmorPlates(21)=(PlateName=DRIVERHATCH,ArmorZoneType=AZT_Front,PlateThickness=72,OverallHardness=340,bHighHardness=false)
ArmorPlates(22)=(PlateName=LEFTTURRETVIEWSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=36,OverallHardness=150,bHighHardness=false)
ArmorPlates(23)=(PlateName=RIGHTTURRETVIEWSLIT,ArmorZoneType=AZT_WeakSpots,PlateThickness=36,OverallHardness=150,bHighHardness=false)
ArmorPlates(24)=(PlateName=ENGINEDECKGRILL,ArmorZoneType=AZT_WeakSpots,PlateThickness=10,OverallHardness=150,bHighHardness=false)
[свернуть]

Функция просчета попадания


if( NewHitInfos.Length > 0 )
{
for (i = 0; i < NewHitInfos.Length; i++)
{
HitIndex = ArmorHitZones.Find('ZoneName',NewHitInfos[i].HitInfo.BoneName);
if( HitIndex >= 0 && FirstArmorIndex < 0 )
{
FirstArmorIndex = HitIndex;

// Don't need to do a penetration calc for an insta penetrate zone
if( !ArmorHitZones[HitIndex].bInstaPenetrateZone )
{
PlateIndex = ArmorPlates.Find('PlateName',ArmorHitZones[HitIndex].ArmorPlateName);

// calc the armor penetration props we need
if( !ShellProjectile.bProjectileIsHEAT )
{
Td = ArmorPlates[PlateIndex].PlateThickness/ShellProjectile.Caliber;
SlopeCoefficient = Td + ShellProjectile.SlopeEffect; // Slope_c
}
WeakenedPlateResistance = ArmorPlates[PlateIndex].PlateThickness * ArmorPlates[PlateIndex].PlateStrength; // Weak_R

if( !ShellProjectile.bProjectileIsHEAT )
{
if( ArmorPlates[PlateIndex].bHighHardness )
{
BaseResistanceOne = WeakenedPlateResistance * ((0.2 * Td) + 0.6); // Base_R1
}
else
{
BaseResistanceOne = WeakenedPlateResistance; // Base_R1
}
BaseResistanceTwo = BaseResistanceOne * (1 - ((ShellProjectile.TestPlateHardness - ArmorPlates[PlateIndex].OverallHardness)/500)); // Base_R2
if( Td > ShellProjectile.ShatterTd )
{
bMayShatter = true;
}
MuzzleVelocityPercent = VSize(ShellProjectile.Velocity)/ShellProjectile.default.Speed;
PenetrationAmount = ShellProjectile.ActualRHA * MuzzleVelocityPercent;
}
else
{
PenetrationAmount = ShellProjectile.ActualRHA;
}

AOI = GetArmorAngleForShot(ArmorHitZones[HitIndex].PhysBodyBoneName, ArmorHitZones[HitIndex].ZoneName, ShotDirection, HitLocation, ArmorNormal);

// If less than 90 degrees
if( AOI < 1.570796326794888 )
{
if( !ShellProjectile.bProjectileIsHEAT )
{
Resistance = BaseResistanceTwo * ((1 / Cos(AOI)) ** SlopeCoefficient );
}
else
{
Resistance = WeakenedPlateResistance * ((1 / Cos(AOI)));
}
PRRatio = PenetrationAmount/Resistance;// PR
if( bMayShatter && PRRatio > ShellProjectile.ShatterNumber && !ShellProjectile.bProjectileIsHEAT )
{
bShattered = true;
FinalPRRatio = PRRatio * ShellProjectile.ShatteredPenEffectiveness;// PR_Final
}
else
{
FinalPRRatio = PRRatio;// PR_Final
}

if( FinalPRRatio < 0.89 )
{
// undermatch, no penetration chance at all, just a deflection
bUndermatched = true;
}
else if( FinalPRRatio > 1.12 )
{
// overmatch, guaranteed penetration
bOvermatched = true;
PenetrationProbability = 1.0;
}
else
{
PenetrationProbability = (1 + Sin((13.09*FinalPRRatio) - 13.046))/2;// Pen_Prob
}

if( bOvermatched || FRand() < PenetrationProbability )
{
bGotPenetration = true;
// Penetration
}
// Spalling calcs
else if( !bShattered && (FRand() < (PenetrationProbability/2)) &&
!ShellProjectile.bProjectileIsHEAT )
{
bSpalled = true;
}
}
// Greater than 90 degrees which means the shell basically hit
// the armor almost side on. Consider that an undermatch for now
else
{
// undermatch, no penetration chance at all, just a deflection
bUndermatched = true;
}

// Damage the plate
if( bGotPenetration || (!bShattered && !bUndermatched) )
{
if( ArmorPlates[PlateIndex].PlateStrength > 0 )
{
// Calc armor damage
Damage = (PenetrationProbability/2);
// No more damage than this zone has health, and never negative
ActualDamage = FMin(Damage, FMax(ArmorPlates[PlateIndex].PlateStrength, 0));
ArmorPlates[PlateIndex].PlateStrength -= ActualDamage;


// Set the values for displaying general armor damage
// to the player and replicating it to the clients.
// These values aren't used for penetration calcs, but
// rather abstract the damage into something the player
// can comprehend.
if( ActualDamage > 0 && Role == ROLE_Authority )
{
ArmorPlateZoneHealths[ArmorPlates[PlateIndex].ArmorZoneType] = ArmorPlates[PlateIndex].PlateStrength * 100;

// Call this directily on the server. Gets called on clients when
// ArmorPlateZoneHealthsCompressed is replicated which happens when PackArmorPlateZoneDamage
// changes the values on the server
ArmorZoneHealthUpdated( ArmorPlates[PlateIndex].ArmorZoneType );

// Pack this Hit Zone's new Health into the replicated array
PackArmorPlateZoneDamage(ArmorPlates[PlateIndex].ArmorZoneType);
}
}
}


if( bGotPenetration )
{
ShrapnelDamageCrew(ShotDirection, HitInfos, NewHitInfos[i], ShellProjectile.PenetrateShrapnelLength, ShellProjectile.PenetrateShrapnelChance);
if( bDebugPenetration )
{
DrawDebugSphere(HitLocation,4,12,0,255,0,true);// green = penetrate
`log("Shot penetrated Plate "$ArmorHitZones[HitIndex].ArmorPlateName$" ArmorHitZone Name "$NewHitInfos[i].HitInfo.BoneName);
}
}
else
{
if( bSpalled )
{
if( bDebugPenetration )
{
`log("Shot spalled Plate "$ArmorHitZones[HitIndex].ArmorPlateName$" ArmorHitZone Name "$NewHitInfos[i].HitInfo.BoneName);
}
ShrapnelDamageCrew(ShotDirection, HitInfos, NewHitInfos[i], ShellProjectile.SpallShrapnelLength, ShellProjectile.SpallShrapnelChance);
}

DeflectedVelocity = ShellProjectile.Velocity * (1 - Cos(AOI));

if(!IsZero(DeflectedVelocity))
{
ShellProjectile.Velocity = DeflectedVelocity;
}
else
{
ShellProjectile.Velocity = Normal(ShellProjectile.Velocity);
}
return false;
}
}
// Insta penetration zone
else
{
bGotPenetration = true;

if( bDebugPenetration )
{
DrawDebugSphere(HitLocation,4,12,0,255,0,true);// green = penetrate
`log("Shot penetrated insta penetrate zone ArmorHitZone Name "$NewHitInfos[i].HitInfo.BoneName);
}
}
}
NewHitInfos[i].RayDir = CurrentImpact.RayDir;
HitInfos[HitInfos.Length] = NewHitInfos[i];
}
}
// If we decide we want to do general vehicle damage again instead
// of only locational damage, then this is the place to do it.
else
{
//Other.TakeDamage(ImpactDamage,InstigatorController,HitLocation,MomentumTransfer * CurrentImpact.RayDir, ImpactDamageType,, self);
}

if( FirstArmorIndex >= 0 )
{
if( bGotPenetration )
{
return true;
}
// TODO: Don't think we can get here anymore. Clean this up - Ramm
else
{
DeflectedVelocity = ShellProjectile.Velocity * (1 - Cos(AOI));

if(!IsZero(DeflectedVelocity))
{
ShellProjectile.Velocity = DeflectedVelocity;
}
else
{
ShellProjectile.Velocity = Normal(ShellProjectile.Velocity);
}
return false;
}
}
else
{
return false;
}
}
[свернуть]


Считай, Сеня.
Malinovskiy вне форума   Ответить с цитированием
Сказал спасибо (1):
FOXBAT (21.04.2012)
Старый 21.04.2012, 15:59   #132
Max Damage
Рядовой
 
Регистрация: 21.04.2012
Сообщений: 40
Сказал cпасибо: 0
Поблагодарили 4 раз в 3 сообщениях
Офигеть реализм xD. То есть выходит, что в игре просчитывается заброневое действие пуль и снарядов, возникновение струи осколков при пробитии брони, разрушение снаряда/пули при попадании в броню, снижение эффективности пробития при попадании под большими углами и на больших расстояниях. И многое что ещё.

По броне я заметил, что у т4 броня толще, но её твёрдость хуже(hardiness). что даёт большая твёрдость? больший шанс разрушения пули/снаряда при попадании? надо ещё учитывать, что у т34 наклонная броня. Внизу списка брони перечисленны слабые места.

Конечно, тут без поллитры не разберёшься, я ещё погляжу что тут написано, но это на первый взгляд.

Что удивляет: у птрс скорость пули 1010 м с , а упреждение приходится брать огого какое. даже на сервакак с модом на лаг компенсацию. Имхо солдатики в ро2 слишком резво бегут ))

ДА, комментарии тех, кто разбирался с вышенаписанным приветствуются.

А что такое RHA? параметр у птрс и pzb.

Господа, всегда хотел узнать, а рикошеты в ро2 есть? похоже, что рикошеты от брони танка есть(см. ShellProjectile.Velocity = DeflectedVelocity. а от земли/камней/стен есть?

Последний раз редактировалось Max Damage; 21.04.2012 в 16:01.
Max Damage вне форума   Ответить с цитированием
Старый 21.04.2012, 19:57   #133
Malinovskiy
RO Admin
 
Аватар для Malinovskiy
 
Регистрация: 13.02.2007
Адрес: Москва
Сообщений: 4,789
Сказал cпасибо: 1,000
Поблагодарили 2,559 раз в 1,229 сообщениях
Цитата:
Сообщение от Max Damage Посмотреть сообщение
По броне я заметил, что у т4 броня толще, но её твёрдость хуже(hardiness). что даёт большая твёрдость? больший шанс разрушения пули/снаряда при попадании? надо ещё учитывать, что у т34 наклонная броня. Внизу списка брони перечисленны слабые места.
Хде это у Pz4 толще? O_o У нее только лоб толстый, а борта, корма и крыша никакие.
У 34 в среднем борта и лоб хорошие + наклон больше.

Цитата:
Сообщение от Max Damage Посмотреть сообщение
А что такое RHA? параметр у птрс и pzb.
Вкупе с TestPlateHardness задают "теоретическую" бронебойность. Но даже если параметр РХА и ТПХ больше чем у плиты - то это не факт что пуля ее пробьет. Получилось просчитать на бумажке что ПТРСу надо минимум 4 выстрела в упор по борту Pz4, чтобы полностью уничтожить его бронеплиту, хотя даже в этом случае там вероятность в 47% что при попадании плите будет нанесены повреждения. На практике пока не получается проверить, боты не могут спокойно танк на одном месте поставить чтоб популять по нему.

Цитата:
Сообщение от Max Damage Посмотреть сообщение
Господа, всегда хотел узнать, а рикошеты в ро2 есть? похоже, что рикошеты от брони танка есть(см. ShellProjectile.Velocity = DeflectedVelocity. а от земли/камней/стен есть?
Есть только по технике. От стен - в антилаге есть модуль, но его включение в разы увеличивает количество выбросов из игры.

А вы, я смотрю разбираетесь в коде. А то обычно когда я выкладываю вот такие куски из скриптов то местная публика оставляет комментарии на манер "олололо" "тролололо".
Malinovskiy вне форума   Ответить с цитированием
Старый 21.04.2012, 22:33   #134
Max Damage
Рядовой
 
Регистрация: 21.04.2012
Сообщений: 40
Сказал cпасибо: 0
Поблагодарили 4 раз в 3 сообщениях
Да я конечно разбираюсь )) Ну в смысле понятно о чём речь, сам-то я не программист. кстати говоря, вот я выяснил на что влияет твёрдость брони:

1)

if( ArmorPlates[PlateIndex].bHighHardness )
{
BaseResistanceOne = WeakenedPlateResistance * ((0.2 * Td) + 0.6); // Base_R1
}
else
{
BaseResistanceOne = WeakenedPlateResistance; // Base_R1

У брони есть параметр bHighHardness=true/false. Если true(то есть броня твёрдая, а не вязкая), то мелкокалиберные снаряды и противотанковые пули с трудом пробивают её (разбиваются). параметр Td - отношение толщины брони к калибру снаряда/пули. Если в первую формулу подставить 45 мм брони и 14.5 мм калибр, то получится, что против такой пули твёрдая броня обладает повышенной устойчивостью в 1.2 раза (на 20%).
А если подставить 45 мм броню и 75 мм калибр, то выйдет, что твёрдая броня более уязвима на 25%( она при ударе снаряда крошится или что-то там).

2)
BaseResistanceTwo = BaseResistanceOne * (1 - ((ShellProjectile.TestPlateHardness - ArmorPlates[PlateIndex].OverallHardness)/500));

Эта строчка символизирует то, что при попадании сравниваются твёрдости снаряда и брони и если снаряд твёрже брони, то он имеет больше шансов её пробить, а если броня твёрже, то снаряд имеет меньше шансов пробить(т к он разбивается и крошится при ударе).

Вообще похоже, что т4 намного уязвимее, чем т34. поглядеть бы ещё на их орудия и их характеристики снарядов, а то в ситуации 1 на 1 шансы по ощущениям на стороне т4. Может быть больший темп стрельбы решает. А вот ПТРы т4 выбивают на ура судя по всему, так как у него целая куча бронепли тс тольщинйо 30мм и меньше. ПТРС пробивает 37. А у т34 меньше 45 почти нету плюс наклонная и более твёрдая броня. У т4 также очень длинный список слабых мест. Эти участки характеризуюстя толстым слоем металла, но очень маленькой твёрдостью. Танковая пушка должна их пробивать на ура.

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

А что даёт повреждение бронеплиты? через неё автоматически снаряды проходят? или просто они проходят чаще?

Последний раз редактировалось Max Damage; 21.04.2012 в 23:02.
Max Damage вне форума   Ответить с цитированием
Сказал спасибо (1):
Dobermann081 (22.04.2012)
Старый 21.04.2012, 23:01   #135
IGNAT
Лейтенант
 
Аватар для IGNAT
 
Регистрация: 14.03.2009
Сообщений: 1,192
Сказал cпасибо: 910
Поблагодарили 1,133 раз в 697 сообщениях
Какая разница, все равно танков нет. Только на одном серваке где нет никого.
IGNAT вне форума   Ответить с цитированием
Ответ

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

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

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

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


Текущее время: 23:46. Часовой пояс GMT +3.

Powered by vBulletin®
Copyright ©2000 - 2017, vBulletin Solutions, Inc.

GMNET.RU © 2003-2017 || Дизайн студии vR