Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - fh_spitfire

Pages: [1] 2
Gaming / Combat Mission
« on: 02-04-2014, 23:04:19 »
Inspired by WInSPWW2 hassle going on in this forum I feel growing nostalgia for another awesome WW2 turn strategy game that Combat Mission series are.

Now, I'd really like to play some missions, against a human opponent, as I never really ahd the chance to do it back then when CM was "new".

So, if there are any other CM enthusiast that would like to kick my ass ;) we can set up a "mail" based game and play it for quite a long time (sorry, don't really have time for true network play, mailing the saves to eahc other, or attaching to forum posts is ideal for my time schedule).

I have CM Beyond Overlord; CM Barbarossa to Berlin & CM Afrika Korps.

Anyone? :>

Modding / Custom maps - making NCO kits work
« on: 03-08-2012, 15:08:22 »
Since our wiki is down, I'll quickly post a tutorial here on how to make rifle NCO kits work in a custom map.

If Sfakia was a custom map, I'd modify it's file to look like this (compare with original):

Code: [Select]
from game.plugins import plugin, limitKit, ticketLoss, NCOrifleData

kit_limits = [
    plugin(limitKit, team = 1, kit = 'GM_Limited_Assault_MP40_K98', slot = 1, limit = 0.07),
    plugin(limitKit, team = 2, kit = 'BA_Limited_Assault_TommygunD_No4', slot = 1, limit = 0.07),
    plugin(limitKit, team = 1, kit = 'GM_Limited_Support_MG34_K98', slot = 3, limit = 0.09),
    plugin(limitKit, team = 2, kit = 'BA_Limited_Support_Bren_No4', slot = 3, limit = 0.1),
tickets = [
plugin(ticketLoss, ticketLoss1 = 4, ticketLoss2 = 4)


rifleNCO = [plugin(NCOrifleData, kits = ('GM_NCOMP40', 'BA_NCOTommygunS')),]

gpm_cq = {
  64: tickets + kit_limits + rifleNCO,
  16: kit_limits + rifleNCO,

Notice the additional plugin "NCORifleData" imported and used. It provides info on what NCO kits are used on a map, this should always be the same as kits set in Init.con !

I've prepared some eyecandy to make your waiting for release party easier ;) Here is the YT video:

== best experience in HD ==

== video got corrupted in few places, but it is still pretty nice to watch IMO 8) ==

Developement of Forgotten Hope 2 version control repository visualized with Gource

This shows how the file structure of FH2 evolved from first days of 2.0 developement till 2.45. Each little dot represents a single file. This might give you an idea how many different files we have to deal with when developing FH2...

Music: zero-project - The age of the Unicorn

Announcements / Awards downtime
« on: 01-07-2012, 21:07:15 »
Awards will be down for (maximum) of few days, there also might be database rollback of few days. It is all due to awards being moved to new (faster) server. Sorry for the downtime.

Modding / FH 2.3 + custom map
« on: 09-10-2010, 22:10:54 »
One of new features of FH 2.3, the NCO weapon selection system requires some additional info to be provided by map to make it work. You can read the tiny manual on FHWiki:

Off-Topic / City of Ruins
« on: 01-08-2010, 13:08:12 »
Today's the 66th anniversary of Warsaw Uprising.

According to that, 5 minute digital reconstruction of flight over Warsaw in August '44 premieres. You can watch short trailer here: Based on photos and movies, to be as accurate as it can be.

When I get the full movie I will of course post it here.

Chwała poległym.

Modding / [Tutorial] teamSPs
« on: 19-05-2010, 14:05:13 »
This is a small tutorial for team-assigned spawnpoints plugin. I assume you have basic experience with working with

#1 Import the plugin
Just like ony other plugin, you have to import 'teamSPs" in the beginning of your Example:
Code: [Select]
from game.plugins import plugin, limitKit, teamSPsThis is how it should look if you're going to use kitlimits and teamSPs in your map (example).

#2 Configuration
Code: [Select]
spawns = [
    plugin(teamSPs, sps = ['spawnpoint1', 'spawnpoint2', 'spawnpoint3'], team = 1),
    plugin(teamSPs, sps = ['spawnpoint4', 'spawnpoint5', 'spawnpoint6'], team = 2),   
SpawnpointN is the spawnpoint template name, team defines the team that will be able to use this spawnpoint. Any spawnpoints not specified here will be available to both teams.

#3 Mount it to desired gamemode/mapsize
Just like any other plugin, for example:
Code: [Select]
gpm_cq = {
  64: kit_limits + spawns,

#4 The example
Look at Port en Bessin :)

If you have Windows Vista or Windows 7 and FH2 crashes often for you, this may help you.

1) Go to the folder where you have Battlefield 2 installed.

2) Find FH2.exe and right-clik on it, than select Properties

3) Select "compatibility" tab and tick (turn on) "Disable desktop composition". Like here:

4) Click OK and enjoy the game :)

P.S. Remember to ALWAYS run your Forgotten Hope 2 via FH2.exe or a shortcut on your desktop created by installer.

Modding / For serveradmins - hotfix
« on: 22-03-2010, 19:03:25 »
In 2.25's python there is a glitch that can cause an entire python on your server to fail, if somehow it cannot reach fh2's server. We had an example of this few days ago, unfortunately. From now on the server should be online all the time, but since it is better to be safe than sorry, I give you a hotfix for this glitch.

Replace file fh2/python/game/stats/ with the one you find in attached archive.

Of course 2.26 will contain this fix.

Cheers :)

FH2 Help / Support / Debugger problem
« on: 30-05-2009, 12:05:58 »
When I try to run bf2 debugger, it gives me an error:

Strange is that it was working before I reinstalled bf2 :/ Any ideas?

Modding / [Tutorial] Push Mode
« on: 18-05-2009, 23:05:16 »
This tutorial is basically about adding push mode to a map. I'll try to make it understandable even for someone who doesn't have any idea about the very basics of coding.

#1 is a file that makes FH2's custom scripts by map possible. Create a blank text file, name it "" and place in your map folder. From now on the game will run scripts you insert there on your map.

#2 Import needed plugins into your
The first step to do with your is to import needed plugins. Let's say that besides push mode we want to have kit limits in our map (to make it more complicated and thus teaching you more about how to add custom scripts in future). You add this line at the beginning of
Code: [Select]
from game.plugins import plugin, limitKit, pushAs you can see it imports "plugin", "limitKit" nad "push" plugins. You can add further plugins by keeping the template.

#3 Providing data for plugins
First we define the kitlimit one. This is not the subject of this tutorial, if it is needed I'll write about this later (is it?). Just after import part you type in (for example):
Code: [Select]
kit_limits_64 = [
    plugin(limitKit, team = 2, slot = 3, kit = 'BA_Limited_Support_Bren_No4', limit = 0.2),
    plugin(limitKit, team = 1, slot = 3, kit = 'GA_Limited_Support_MG34_K98', limit = 0.2),
    plugin(limitKit, team = 2, slot = 5, kit = 'BA_ATBoys_Limited', limit = 0.2),
    plugin(limitKit, team = 1, slot = 5, kit = 'GA_ATPzB39_Limited', limit = 0.2),   

Then, goes our push mode, and here I'll try to explain everything:
Code: [Select]
name_of_code = [
    plugin(push, source = 'Sorce_controlpoint_name', target = 'Target_controlpoint_name', attacker = n),

name_of_code is just a name. Name it as you want, so you will recognize what's in it (like "push_64").

Sorce_controlpoint_name is the name of control point which is required to be taken for the attack on target control point to be possible.

Target_controlpoint_name is the target CP.

n is the ID of the attacking team.

#4 More features.
Nice thing about this code is that we can set multiple arguments for the same flag, like this:
Code: [Select]
plugin(push, source = 'flag1', target = 'flag3', attacker = 2),
plugin(push, source = 'flag2', target = 'flag3', attacker = 2),

Which means both flag 1 and 2 have to be taken by team 2 for the attack on flag 3 to be possible. Something like one flag opening attack route for multiple flags is also possible.

One more thing... if you want to have the flag takeable only once, go to gameplayobjects.con of your map, find the control point of your interest there and add this line to it's code:
Code: [Select]
ObjectTemplate.onlyTakeableByTeam nn being the attacker team Id of course.

#5 Mini-map markers
You don't place them. The push script does this automatically.

#6 Enabling the scripts
At the bottom of your you have to tell the game which scripts to run in which game mode and mapsize (let me take only conquest in consideration). The template is simple:
Code: [Select]
gpm_cq = {
  64: name1 + name2 + name3,
  16: name1 + name2,
  32: name1,

Once again you may add as many things to run for desired game mode or map size as you want.

#7 The example
OK, time to show how it works all-in-one. Let's say we have 4 flags: flag1, flag2, flag3 and flag4. 1 and 2 are front flags, they open the attack on 3 together. 3 opens an attack on 4. Moreover, we want to have 1 and 2 capturable only once. We want kit limits in our map as well (in all mapsizes). Push mode we need only in 32 and 64 size. The attacking team is team 2.

This would be my
Code: [Select]
from game.plugins import plugin, limitKit, push

kit_limits = [
    plugin(limitKit, team = 2, slot = 3, kit = 'BA_Limited_Support_Bren_No4', limit = 0.2),
    plugin(limitKit, team = 1, slot = 3, kit = 'GA_Limited_Support_MG34_K98', limit = 0.2),
    plugin(limitKit, team = 2, slot = 5, kit = 'BA_ATBoys_Limited', limit = 0.2),
    plugin(limitKit, team = 1, slot = 5, kit = 'GA_ATPzB39_Limited', limit = 0.2),

push_mode = [
plugin(push, source = 'flag1', target = 'flag3', attacker = 2),
plugin(push, source = 'flag2', target = 'flag3', attacker = 2),
plugin(push, source = 'flag3', target = 'flag4', attacker = 2),

gpm_cq = {
  64: kit_limits + push_mode,
  32: kit_limits + push_mode,
  16: kit_limits,

Of course I'd add
Code: [Select]
ObjectTemplate.onlyTakeableByTeam 2 to the definition of flag 1 and 2 in gameplayobjects.con

One more note: Make sure you have proper FH2 standardised tmp.con, otherwise it will crash. You can find out how to setup this here (point 9):


That's it, hope it's heplful :)

FH2 Help / Support / Problem with texture on LOD.
« on: 11-05-2009, 11:05:14 »
As you can see on screenshots, one of LODs of ladder seem to lack texture in my FH2. IIRC I had something like that before, and reinstall did the trick, but now I want to figure out what's the matter. I can tell you it's not GPU drivers, as I reversed it to old version that hadn't that problem.

Any ideas? :)

Zwillingssockel 36 armor seems to be coded wrong. I'll use the example of satchel.

Satchel explosion gives 60 dmg of "Shell_10KG_HE" material. Zwillingssockel 36 armor uses "Blast_sensitivity_softobject" material. The modifier for 392 vs 71 is "1", therefore satchel inflicts 60*1 dmg to Zwillingssockel 36, which has 500hp. The result is that we need 9 (!) satchels to destroy quite light double mg stand.

EDIT: Of course satchel is not the only case, most infantry explosive anti-tank weapons, like geballteladung or sticky use that material.

When you are in codriver position in civilian truck and look at the driver, there is no steering wheel, which makes it look quite odd. Happened to me in-game, didn't manage to take the screenshot, so here is editor reconstruction:

Movable 6pdr fires it's projectile at speed "420", while it's static counterpart at speed "562".

I doubt if it's feature, seems quite odd for me.

Pages: [1] 2