
O ile mi wiadomo wszystkie addony zombiaków do OFP wymagają skryptów by wykazać się jakąś aktywnością (szukanie ofiar, atak). Zastanawiam się czy nie można by tego obejść, bo wszystkie obliczenia jakie musżą zostać wykonane obciążają bardzo procek. W końcu trzeba sprawdzić jaki spośród celów znajduje się najbliżej, skierować do niego zombiaka na bierząco sprawdzając czy nadal jest najbliższy i gdzie jest i wreszcie sprawdzić czy just jest na tyle blisko by można było zaatakować.
Nie wiem na ile badano tą sprawę, ale zaryzykowałbym zbadanie broni jaką jest strokeFist. Teoretycznie żołnierz w OFP stara się znaleźć w takiej odległości by mógł przeprowadzić atak, a to wyznacza zasięg posiadanej broni. W przypadku strokeFist tak nie jest, ale jest to broń pochodząca od granatów ręcznych, a więc jakieś parametry to powodują. Config strokeFistHit (amunicja) wygląda tak:
A strokeFist (broń) tak:
Uwagę zwracają wpisy:
enableAttack=false;
primary = 1; // very low priority
Większość broni ma primary = 10;, a enableAttack=false; brzmi dosyć zniechęcająco i jest to jedyny przypadek użycia tego wpisu w całym configu.
...oraz zasięg i prawdopodobieństwo użycia broni (w sumie niewielki):
minRange=0;minRangeProbab=0.30;
midRange=0.5;midRangeProbab=0.8;
maxRange=1;maxRangeProbab=0.00;
Co ciekawe jest też druga tego typu broń
Możłiwe że ona działa lepiej bo nie ma tych wpisów na które zwróciłem uwagę.
IMHO warto pokombinować
Nie wiem na ile badano tą sprawę, ale zaryzykowałbym zbadanie broni jaką jest strokeFist. Teoretycznie żołnierz w OFP stara się znaleźć w takiej odległości by mógł przeprowadzić atak, a to wyznacza zasięg posiadanej broni. W przypadku strokeFist tak nie jest, ale jest to broń pochodząca od granatów ręcznych, a więc jakieś parametry to powodują. Config strokeFistHit (amunicja) wygląda tak:
- Kod: Zaznacz cały
class StrokeFistHit: Default // soldier
{
// fist hit is simulated by small explosion
hit=2;indirectHit=0.5;indirectHitRange=0.2;
minRange=0;minRangeProbab=0.30;
midRange=0.5;midRangeProbab=0.8;
maxRange=1;maxRangeProbab=0.00;
model=granat;
simulation=shotStroke; // no simulation - direct explosion
cost=1;
simulationStep=0.05;
soundHit[]={,db-90,1};
soundFly[]={objects\noise,db-90,4};
soundEngine[]={,db-80,4};
visibleFire=2; // how much is visible when this weapon is fired
audibleFire=0.25;
visibleFireTime=1; // how long is it visible
};
A strokeFist (broń) tak:
- Kod: Zaznacz cały
class StrokeFist: Default
{
//--
scopeWeapon = protected; // do not show in briefing
scopeMagazine = protected; // enable weapon selection
ammo = StrokeFistHit;
weaponType = WeaponNoSlot;
magazineType = WeaponNoSlot;
displayName=$STR_DN_FIST;
displayNameMagazine=$STR_MN_FIST;
shortNameMagazine=$STR_SN_FIST;
sound[]={Weapons\grenade_launch,db-50,1};
reloadSound[]={,db-70,1};
aiDispersionCoefX=2.0;
aiDispersionCoefY=2.0;
enableAttack=false;
primary = 1; // very low priority
showEmpty = false;
autoReload = true;
burst=0; // do not waste any ammo
multiplier=0; // do not show any ammo
magazines[] = {StrokeFist};
reloadTime=0;
initSpeed=0;
canLock=LockNo;
ffMagnitude=0.1;
ffFrequency=1;
ffCount=1;
recoil=Empty;
dispersion=0.015;
maxLeadSpeed = 15;
optics = false;
muzzlePos="";
muzzleEnd="";
count=100;
canDrop = false;
};
Uwagę zwracają wpisy:
enableAttack=false;
primary = 1; // very low priority
Większość broni ma primary = 10;, a enableAttack=false; brzmi dosyć zniechęcająco i jest to jedyny przypadek użycia tego wpisu w całym configu.
...oraz zasięg i prawdopodobieństwo użycia broni (w sumie niewielki):
minRange=0;minRangeProbab=0.30;
midRange=0.5;midRangeProbab=0.8;
maxRange=1;maxRangeProbab=0.00;
Co ciekawe jest też druga tego typu broń

- Kod: Zaznacz cały
class FistHit: HandGrenade
{
scopeWeapon = private;
scopeMagazine = protected;
magazineType = WeaponSlotNone;
ammo = StrokeFistHit;
displayName="Fist";
displayNameMagazine="Fist";
shortNameMagazine = "Fist";
initSpeed=10;
maxLeadSpeed = 7;
reloadTime=1.5;
count=1000;
model=;
explosive=false;
sound[]={,db-70,1};
};
Możłiwe że ona działa lepiej bo nie ma tych wpisów na które zwróciłem uwagę.
IMHO warto pokombinować