Novik
-
Posts
98 -
Joined
-
Last visited
Posts posted by Novik
-
-
anyone know a way to get sentinal using a modified input.cfg file?
Anyone know. Use correct bindsection to add your binds. Add new lines to *begin* of file, not to it end.
-
It is not far from reality:
For reality termin "weapon repairing" in game must be replaced with "weapon cleaning". I thinked about that, but a lot of items and texts is need to change...
-
Five men, and you've got one grenade?
See here: https://vif2ne.ru/nvk/stuff/novik/ScrnShot_301205_004936.jpg
This is a start of second turn. Are you need any additional comments?
-
Create and open a direct connect to your mod's database (Accees/Blueshell data guy). There open DBDifficultys
Anather way - set field DurabilityStep of table RPGWeaponTypes to zero for all records in table.
-
Do you think it's fine that we add it to the files section?
I think no. Really this is bad wrapper of good idea. And it contain a russian strings. May be interesting for modders, not for end players.
-
Here - https://forum.nival.com/rus/attachment.php?...31&d=1144166731
Author's remarks (on russian) here - https://forum.nival.com/rus/showthread.php?t=32676
Mod realize morale factor for your units (like Ja2)
Great idea. But realization is not very good - status of morale doesn't displaying on unit's tooltip, mod contain russian strings for morale status identification etc.
All code placed in external file, code contain english comments, may be somebody develop this...
-
there's no freedom, which is what we've come to expect from rpgs over the years.
First mission is a continue of learning curve. Some freedom you will receive at future missions. May be
-
Yes please - I would be very interested!
"This mode realized hotseat for H&S between some (up to 16) human and AI players.
Installation: unpack to game directory (N: i think for english version this mean "to Run subfolder"), start game, attach mod in custom menu, start new company. Map "Bridge" with 2 human players will be loaded.
(N: in first step you need to talk with gun seller, it placed near your units, don't miss that)
If you want change something you need to change some constant in file scripts\s3PvPmod.l
That is:
1) Constant PVP_MAP, it may be 1,2 or 3. (Three maps exists at this moment)
1 - "Bridge"
2 - "Destroyed town"
3 - "Defence of base". First team must to destroy PK on base, second - defend it.
2) Array PVP_UNIT[0] - this is a units for first player.
3) Array PVP_UNIT[1] - this is a units for second player.
(N: I don't know, is existing maps designed for 2 or for more players count. If yes, then you need to change PVP_UNIT[2] for 3 player etc.)
Current configuration:
PVP_UNIT[0]={5,5,5,0,0,0,0}
PVP_UNIT[1]={5,5,5,0,0,0,0}
PVP_UNIT[2]={0,0,0,0,0,0,0}
this mean: "exist two players, 3 units of 5 level for first player and some for second".
4) Array PVP_AIPLAYER.
If element of array = 0 then corresponding player is human, if = 1 then AI.
Current configuration:
PVP_AIPLAYER={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
this mean: "exist two human players"
5) Array PVP_PLAYERTEAM.
For setting diplomacy between players. Allied players has equal digits.
Current configuration:
PVP_PLAYERTEAM={1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
this mean: "exist two human players, and they are enemy"
Err... May be i'm better BabelFish, may be not I hope you understand something.
From what I can gather it is a hotseat mod for H&S only.Yes.
Is that right? Or can it be played on S^2 / S^3 also?No. But may be you may decompile mod and adaptate it for S^2 / S^3, don't know.
-
it didn't support hotseat
That all about hotseat? Beta version for H&S located here -
https://forums.nival.com/rus/attachment.php...20&d=1141730412
Download, unpack, edit scripts\s3PvPmod.l for mod configure. (Beta version hasn't configuration utilite)
Authors remarks and discussion here -
https://forums.nival.com/rus/showthread.php?t=32212 (on russian)
If somebody wants, i may try to translate authors readme.
-
From: StrategyCore Forums [admin@strategycore.co.uk]
Details for this message:
X-Message-Status: n:0 X-SID-PRA: StrategyCore Forums <admin@strategycore.co.uk> X-SID-Result: TempError X-Message-Info: txF49lGdW43qh9ZrZgxsknFVncjDJaijTadVXmf+JoU= Received: from traffix.multisite.site5.com ([216.118.97.133]) by bay0-mc4-f1.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.1830); Sun, 7 May 2006 11:29:49 -0700 Received: from strategy by traffix.multisite.site5.com with local (Exim 4.52) id 1Fco0o-0008VO-T0 for novik65@hotmail.com; Sun, 07 May 2006 14:29:46 -0400 To: novik65@hotmail.com Subject: From strategycore.co.uk. Try our new service! ( StrategyCore Forums ) Content-type: text/plain; charset="iso-8859-1" From: "StrategyCore Forums" <admin@strategycore.co.uk> X-Priority: 3 X-Mailer: IPB PHP Mailer Message-Id: <E1Fco0o-0008VO-T0@traffix.multisite.site5.com> Date: Sun, 07 May 2006 14:29:46 -0400 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - traffix.multisite.site5.com X-AntiAbuse: Original Domain - hotmail.com X-AntiAbuse: Originator/Caller UID/GID - [32322 32003] / [47 12] X-AntiAbuse: Sender Address Domain - traffix.multisite.site5.com X-Source: /usr/bin/php X-Source-Args: /usr/bin/php index.php X-Source-Dir: strategycore.co.uk:/public_html/forums Return-Path: strategy@traffix.multisite.site5.com X-OriginalArrivalTime: 07 May 2006 18:29:50.0155 (UTC) FILETIME=[39C909B0:01C67204]
-
If I set them to "Guard" does this mean they will still all run out, but only when they have spotted me?
Unit with this logic will shoot when *this* unit will see you. With logic "Sentry" shoot, run etc. - when *his allies* will see you. Simple try this method - are you units will leave bunker with this logic?
Can I restrict their movement to inside the bunker only?.. even when they spot my squad?If method, which i describe above doesn't work, you can
1) full replace AI logic from script, with combination of UnitSetScriptLogic and OnUnitNeedCommand. But this method is not very easy.
2) run background thread, and restrict moving of units in this thread. Some like this:
function unitInBunker( unit ) local ret = (UnitInArea(unit,"bunker1","bunker2") and (UnitGetFloor(unit)==0)) return(ret) end function unitsControl() local enemies = PlayerGetUnits(1) while(1) do for i = 0, GroupGetSize( enemies ) - 1 do local unit = GroupGetUnit( enemies, i ) if(UnitCanFight(unit) and (not unitInBunker( unit ))) then UnitMoveToWaypoint( unit, "bunkerCenter"..random(1,5)) end end Sleep(40) end end StartThread(unitsControl)
-
Ive noticed that when I double click on an enemy in the editor I get some sort of table of parameters, but it doesn't seem very user friendly.
Find property with name 'Logic'. Set it to 'Guard'. Now units will be guard it's place (they will be attack enemies if they see it only). Also you may set property RoamingRadius to something >0 - this is a radius of units move from guarded place.
-
Some new dialog ack's slots are 'empty', I mean dirs/names doesn't appear in slots
This is a result of "non-commercial" development. Names structure (Name od char\Nationality of char\etc) used for better localization process. We don't thinked about this at moment of dialog's creation.
And thanks about sharing 3 units dialog knowledge. Keep on trucking.BTW max count of personages in one dialog - 4. For more count engine can't draw heads.
-
Solution: Author must specify AckInfo item's folder ID manually (in the direct database connect) to bring it forth and editable in the editor.
Simple restart editor - and new AckInfo's record's will be editable.
2) While spying in the orginal Sickle's AckInfos, I noticed that String slots are empty. Why?For which AckInfos.ID?
3) How can I make those new 'douple heads on the same side' dialogs? Those are cool.Automatically, if you specify >2 persons in your dialog. Order of heads only partially under your control - you may specify second parameter in DialogPlay function. (true - hero on left, false - hero on right)
-
Tables to description:
RPGWeapons,
RPGClips,
RPGAmmos,
RPGGrenades,
RPGWeaponTypes,
RPGArmorsToDmgs.
RPGWeapons fields.
Firearms parameters.
InnerClip - reference to RPGClips.ID, used clip.
InnerClipAmmoQuantity - clip quantity. If -1, then see corresponding field of RPGClips. But may be different, for example, for nagant.
WeaponTypeID - reference to RPGWeaponTypes.ID, bonuses and penalties for this weapon type.
InitialVelocity - initial velocity of bullet. Use for calculate of penetration.
ReloadAP - AP to reload.
MinRange - "Handling" of weapon. Must be <= MaxRange. Use for ToHit calculation. If near MaxRange then handling "easy".
MaxRange - weapon range.
ShotAP - AP to shot.
Targeting - AP to targeting (AimedShot = ShotAP+Targeting).
Quality - Use for ToHit calculation. Greater value corresponding greater ToHit.
Recoil - weapon recoil. Greater value corresponding lower recoil. Must be <=100.
RoF - rate of fire * 6.
Scope - if 1, then scope present. if 0 - not.
Silencer - level of volume of shot. If 0 - no sound, silencer present. Greater value corresponding greater volume. Must be >=0.
ItemID - reference to RPGItems.ID
SnapShot,
AimedShot,
CarefulShot,
SnipeShot,
ShortBurst,
LongBurst,
FanFire,
SuppressiveFire - if true, then corresponding regim of fire is present. Two last regims really doesn't realized in game.
BPM - visual speed of bullets in game. Must be<=1700.
AIRating - rating this weapon for AI. If AI unit will see on ground weapon with greater rating, then he take this weapon (and drop his current weapon)
MaxDurability,
CurMaxDurability,
Durability - durability of weapon
ShotsInOne - bullets count per one shot.
DamageMod,
DamageModMax - damage modifiers.
Note about weapon handling (MinRange). One of the coefficients of ToHit is calculating as
nSkill * ( nMaxRange - nMinRange ) / 140 + nMinRange
Therefore, for units with shooting skill >=140, "hard handled" weapons is a better.
RPGClips fields.
Clips parameters.
Quantity - shot count.
AmmoGroup - reference to RPGAmmos.AmmoGroup. Clips with some cartridges (9x19 para, .45 ACP etc) must have some value.
ItemID - reference to RPGItems.ID
DefaultAmmo - field not in use
ClipGroup - field must be equal for clips for some weapon.
AmmoColor - reference to RPGAmmos.AmmoColor. Use for creation of clips with some cartridge but another bullets type (JHP version etc)
RPGAmmos fields.
Ammos parameters.
AmmoGroup,
AmmoColor - see RPGClips
BulletType - type of bullet, must be from 0 to 5 (Wave,Pistol,Rifle,MG,Melee,Ray) See RPGArmorsToDmgs.
DmgMin - damage modifier
DmgMax - field not in use
GrenadeID - reference to RPGGrenades.ID, if bullet is grenade really.
UnconsciousProbability - probability of enemy unconscious state after shooting.
Cost - cost of ammo.
RangeMod - field not in use
UnitWeight - weight of ammo unit. Use for calculate of penetration.
Weight - weight of ammo
Calibr - calibr of ammo
RPGGrenades fields.
Grenades parameters.
Note: grenades has two damage factors - wave and fragmens.
ItemID - reference to RPGItems.ID
WaveNumber - count of waves.
FragmentAPA - APA of fragments. Use for calculate of penetration.
FragmentNumber - fragments count.
FragmentDmgMin,
FragmentDmgMax - fragments damage modifiers.
MaxDelay - delay of explode. If zero - grenade will explode immidiatelly after throw and drop.
Quality - Use for ToHit calculation. Greater value corresponding greater ToHit.
WeaponTypeID - reference to RPGWeaponTypes.ID, bonuses and penalties for this weapon type.
CriticalProbability - probability of criticals applying
CriticalDifficulty - difficulty of critical
WaveDmgMin,
WaveDmgMax - wave damage modifiers.
WaveRadius - range of wave.
FragmentRange - range of fragments.
StructureDamageCoeff - damage for buildings, objects etc. If zero - damage not present.
RPGWeaponTypes fields.
Bonuses and penalties (for ToHit at most) for any weapon types.
SkillIndex - skill number, used for this type of weapon (For most of firearms - 1 - ST_SHOOTING)
TwoHanded - 1, if weapon is twohanded.
PrepareCost - AP for weapon prepare
HandlingEasyRange,
HandlingMediumRange - bounds of weapon handling. For use on tooltip only. If RPGWeapon.MinRange <= HandlingMediumRange, then "hard". HandlingMediumRange < RPGWeapon.MinRange < HandlingEasyRange then "medium". RPGWeapon.MinRange >= HandlingEasyRange - "easy".
DurabilityStep - quant of durability.
MovePenalty - penalty for move before shooting (really if value <0 then penalty, >0 - bonus)
CrawlBonus - penalty for shooting at crawl pose
CrouchBonus - penalty for shooting at crouch pose
MeleePenalty - melee penalty. For cold steel only.
StoreType - part of store (loot, shop) interface corresponding to this weapon type. May be 'ColdSteel', 'HeavyWeapon' etc.
RPGArmorsToDmgs fields.
Effects of shot to structures (building walls etc). See RPGAmmos.BulletType
Wave,
Pistol,
Rifle,
MG,
Melee,
Ray - how many HP will be taked from object after shot.
ThrowResult - for thowing knives only. Describe result of throw.
Database fields->InGame tooltip.
Range = RPGWeapons.MaxRange
RateOfFire = RPGWeapons.RoF/6
If weapons bullets is grenades really (MG-108, any launchers)
MinDmg = RPGGrenades.WaveDmgMin
MaxDmg = RPGGrenades.WaveDmgMax
Penetration = RPGGrenades.FragmentAPA/26
for weapons with "normal" bullets
MinDmg = RPGAmmos.DmgMin*RPGWeapons.DamageMod/100
MaxDmg = RPGAmmos.DmgMin*RPGWeapons.DamageModMax/100
Penetration = RPGAmmos.UnitWeight*RPGWeapons.InitialVelocity/26
SQL statement for quick data access:
SELECT RPGItems.ID as ItemID, a.String as Name, b.String as Type, DamageMin = case isNULL(RPGAmmos.GrenadeID,1) when 1 then cast( RPGAmmos.DmgMin*DamageMod/100 as int) else (select WaveDmgMin from RPGGrenades where RPGAmmos.GrenadeID=RPGGrenades.ID) end, DamageMax = case isNULL(RPGAmmos.GrenadeID,1) when 1 then cast( RPGAmmos.DmgMin*DamageModMax/100 as int) else (select WaveDmgMax from RPGGrenades where RPGAmmos.GrenadeID=RPGGrenades.ID) end, MaxRange as Range, AmmoQuantity = case InnerClipAmmoQuantity when -1 then RPGClips.Quantity else InnerClipAmmoQuantity end, RPGAmmos.UserName as Ammo, Durability, Penetration = case isNULL(RPGAmmos.GrenadeID,1) when 1 then cast( RPGAmmos.UnitWeight*RPGWeapons.InitialVelocity/26 as int) else (select cast( FragmentAPA/26 as int) from RPGGrenades where RPGAmmos.GrenadeID=RPGGrenades.ID) end, cast( RoF/6 as int ) as RateOfFire, SnapShot = case SnapShot when 0 then '-' else cast( ShotAP as varchar ) end, AimedShot = case AimedShot when 0 then '-' else cast( ShotAP+Targeting as varchar ) end, CarefulShot = case CarefulShot when 0 then '-' else '+' end, ShortBurst = case ShortBurst when 0 then '-' else '+' end, LongBurst = case LongBurst when 0 then '-' else '+' end, SnipeShot = case SnipeShot when 0 then '-' else '+' end, RPGItems.Cost as Cost from dbo.RPGWeapons, dbo.RPGClips, RPGAmmos, Strings a, RPGItems, RPGWeaponTypes, Strings b where InnerClip=RPGClips.ID and RPGClips.AmmoGroup=RPGAmmos.AmmoGroup and a.ID=RPGItems.NameID and RPGItems.ID=RPGWeapons.ItemID and RPGWeapons.WeaponTypeID=RPGWeaponTypes.ID and RPGWeaponTypes.NameID=b.ID order by Type,Name
Excuse me for my bad english. May be somebody understand what i write above
-
Try to rename corresponding User Data Source to "Excel Files" (without quotes, ofcourse).
(at Data Sources (ODBC)\User DSN\Configure)
Or add new with such name.
-
What kind of Data source name MapEditor is looking for? Excel-files? I got it there... hrmph.
Full connect string is:
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Excel Files;
DriverId=790;MaxBufferSize=2048;PageTimeout=5;DBQ=<name dependent from dialog>"
Does anyone knows any solution/s to this data source's driver problem?I have some problems on computers with localized (russian) version of Windows. Some of its hasn't DSN=Excel Files, DSN name on its is translated to russian.
-
Novik, could you recommed any freeware/software text-editing programs for .l files?
I use standard inner text editor of FAR manager. ( https://farmanager.com/index.php?l=en )
But if you want some special, you may try this -
https://hyperupload.com/download/01d2d38f90...Editor.rar.html
screenshorts:
https://forums.nival.com/rus/attachment.php...72&d=1144341214
https://forums.nival.com/rus/attachment.php...73&d=1144341222
https://forums.nival.com/rus/attachment.php...74&d=1144341229
Author remarks and readme (on russian) here -
https://forums.nival.com/rus/showthread.php?t=32699
I will try to translate shortly.
"Functionality:
1) Syntax hightlitning (scheme of it may be corrected by user).
2) Code Insite
3) Autocompete
4) Tooltips for function parameters
5) Search & replace
6) Syntax checking.
To install:
Unpack archive to any location.
Hotkeys:
1. Ctrl+Space - autocomplete list.
2. Shift+Ctrl+Space - tooltip for function parameters (when cursor located inside brackets)
3. Shift+Ctrl+J - automatic creation code by template.
4. Shift+CTrl+1 ... Shift+Ctrl+9 - create text markers (1-9)
5. Ctrl+1 ... Ctrl+9 - go to trext marker (1-9)
6. Alt+G - go to line with number...
7. Ctrl+R - search & replace
8. F9 - syntax check."
-
1) About initVariables/getVariables/putVariables.
This is global variables wrapper. Just for comfort.
initVariables for init global variables (one call at scenareo start).
getVariables maps block of global variables to local zone variables (at start zone), putVariables - commit changes of locals to globals (at finish zone).
If you use standart script decoration (see previous post), getVariables/putVariables is called automatically, you don't need to remember about it.
2) About addZone.
Tertiary, addZone() thread should be made a custom one with different names or edit the orginal thread. It uses old zone names (as many threads in AutoLoadScripts) ...so watch out duplicated names!Some zones are complex. For example, Zeizenburg contain 3 zones - "City","Sewerage","Railroad".
All zones placed on one chapter.
Any of calls - ScenarioAddVisibleZone("City") or ScenarioAddVisibleZone("Sewerage") or ScenarioAddVisibleZone("Railroad") - is opening this chapter.
addZone simple call ScenarioAddVisibleZone and put global markers - "Player really have access to all of three zones - "City","Sewerage","Railroad". Just for inner usage.
-
Should I replace the one in our files section with this one?
May be. But one moment - this is not replace for full editor. This is update for it. Archive don't contain database, it contain replace for exe file only.
-
Another known bug - you can't create new chapter in editor. I will fix it and upload correct editor version tomorrow.
Placed here (MapEdit.exe only) -
-
OK. "Building" in editor imports "Terrains.RES" file but in game all templates are flats.
Don't use .RES files at all. Use corresponding subdirectories.
Excuse me, but I'm not very familiar with CommandPromt or it's commandsErrr... Forget about this. When (and if) path will be realised, i will describe process more detail, OK?
I have one mod (FinnishMod) which changes strings but two other mods includesIn that case all will be normal.
-
Just one 'new' thing. I didn't mentioned in my above post that Terrain.RES doesn't appear in the game ... but maybe you already knew that.
Excuse me, don't understand. Write more detailed, please.
Should I start my current mods with an new database then?You may migrate it to new database in "semi-automatic" way. With S2Differ.
To do this you need
1) Download official editor patch, which will contain new original database.
2) Backup your mod (and old original database for some reason)
3) run
S2Differ x YouModName
This command create file YouModName\YouModName.hsm - this file contain difference between you mod and original database.
4) Stop SQL-server, install patch, start SQL-server
5) Run
S2Differ a YouModName
This command copy new original database to mod directory and apply your changes to it.
6) Delete file YouModName\sickle_original.db
7) Now you have your mod "over new database".
Ofcourse, some bad things may occured. For example, if you change some original script and patch change it too - patch changes *in this script* wil be lost. You need synchronize this changes "by hands". Etc.
-
1) ? DataImport doesn't extract buildings.files to "Buildings.RES"
2) Forget .RES files, copy-paste
Will be fixed (by normal way, with correct .RES files usage etc) in official patch only.
Another known bug - you can't create new chapter in editor. I will fix it and upload correct editor version tomorrow.
3) Console shows this message while playing campaign zones ERROR: found bad reference object on SaveWorld(9670193). This doesn't happen in the editor. What is this SaveWorld?This is a debug output. For me only All correct - forget about this message, it has'nt relation to your mod.
Diehard mod
in Modding
Posted
Err... 5 years ago...
1.1 - contain balance changes only
1.52 - some new merks, new scenario zones etc. For allies scenario only. All new dialogs - on russian.