That is a relatively simple to do-
Please an actor in the oil pit of your desire, change the actor to type 9999 [Actors hits floor.]
Check the box labelled "Dormant."
Change the action under the "action" tab to 226- Script Execute Always. Then change the script number to which ever number you wish [preferably 1].
Apply a sector tag to the sector with your oil. Place a series of map spots in the same sector and tag them as the same and set argument 1 of the actorhitsfloor actor to the same number as the tags given to the map spots and sector.
Finally, copypaste this script into your scripts file.
#include "zcommon.acs"
Script X (int WhichPit)
{
if(CheckInventory("OilPitFlag") && ClassifyActor(0) == 256)
{
If(WhichPit==0 || CheckActorFloorTexture(0,"FIRELAV") == 1){Terminate;}
ChangeFloor(WhichPit,"FIRELAV");
Sector_SetDamage(WhichPit,255,MOD_LAVA);
SpawnSpot("FlameOily", WhichPit);
Delay(525);
Sector_SetDamage(WhichPit,0,0);
ChangeFloor(WhichPit,"FLAMOIL");
}
}
Replace "X" in the code given here with the script number you provided in the actorhitsfloor thing.
The oil sector should ignite properly now.