Это дополнение к моему предыдущему вопросу:
Как искать строку с помощью Effective ("flyer", 100%);в файле и получить номер, присвоенный переменной?
Код, который у меня пока есть:
@echo off
set "Effective="
for /F "tokens=2 delims=%%) " %%I in ('%SystemRoot%\System32\find.exe /I "flyer" file.cfg') do set "Effective=%%I"
if defined Effective echo The effective value is: %Effective%
Этот код принимает число 100
из строки Effective("flyer", 100%);
в file.cfg
.
Но что делать, если есть две строки с flyer
в file.cfg
?
Я уже пробовал это, и этот код принимает значение последнего флаера 50
.
Effective("flyer", 100%);
Effective("flyer", 50%);
Как выбрать между ними?
Первый блок кода, содержащий первый флаер:
CreateWeaponType("jda.weapon.aatower")
{
Style("Projectile");
MaxRange(96);
HorizAngle(90);
HorizSeparation(180);
VertAngle(0);
VertSeparation(120);
TurnRate(90);
Speed(100);
Fixed(1);
Damage()
{
Amount(10);
Effective("infantry", 0%);
Effective("vehicle", 0%);
Effective("structure", 0%);
Effective("flyer", 100%);
Effective("mine", 0%);
}
Projectile("jda.proj.aatower");
Delay(1);
FirePoints()
{
Add("HP-Fire1");
Add("HP-Fire2");
Add("HP-Fire3");
Add("HP-Fire4");
}
}
Второй флаер находится в:
CreateObjectType("jda.exp.aatower", "Explosion")
{
MapObj()
{
Mesh();
GenericFX()
{
Add("ExplosionObj::Explode", "jda.fx.aatower.exp");
}
}
ExplosionObj()
{
Damage()
{
Amount(16);
Effective("infantry", 0%);
Effective("vehicle", 0%);
Effective("structure", 0%);
Effective("flyer", 50%);
Effective("mine", 0%);
}
AreaInner(4);
AreaOuter(4);
Persist(0);
}
}
Как установить разные переменные для каждого?