This page is located on the SimsWiki. To view it in it's original form, click here.
This article is imported from the old MTS2 wiki. You can help Sims2Wiki by cleaning it up. It's original page with comments can be found at http://old_wiki.modthesims2.com/EA5118B0
Complex Effects script format pioneered in Simcity4 and modified here (Mini-archive)

Preliminary specs


Header

SHORT
SHORT Count
SHORT 

Part 1

begin repetition using count from above
	SHORT 0X3
	SHORT
	SHORT
	22 FLOATs
	DWORD Repetition
		FLOAT
	FLOAT
	DWORD
	WORD  
	DWORD Repetition
		FLOAT
	FLOAT
	DWORD Repetition
		FLOAT
	7 FLOATs
	BYTE
	FLOAT
	FLOAT
	DWORD 0
	DWORD 0
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	FLOAT
	DWORD Repetition
		FLOAT
		FLOAT
		FLOAT
	FLOAT
	FLOAT
	FLOAT
	DWORD (String Length)	
	String (Only if String Length > 0)
	WORD
	WORD
	FLOAT
	FLOAT
	WORD
	5 FLOATs
	DWORD 0
	5 FLOATs
	DWORD Repetition
	7 FLOATs
	DWORD 0XFF00FF00 or 0x 40404040 OR 0X FF003330
	DWORD Repetition 
	begin
		DWORD 0
		DWORD (string Length)
		String
		13 FLOATs
		DWORD 0
		DWORD (String Length)
		String
	end repetition
	DWORD (String Length)
	String
	5 FLOATs
	DWORD 0XCE6E6B28
	DWORD 0
	12 FLOATS
	DWORD Repetiton
		FLOAT
	FLOAT
end repetition

Part 2

DWORD repetition

begin repetition
	DWORD
	WORD 0
	DWORD
	22 FLOATs
	DWORD Repetitions
		FLOAT
	FLOAT
	DWORD 
	DWORD Repetitions
		FLOAT
	FLOAT
	DWORD 1
	FLOAT
	DWORD 0
	DWORD Repetitions
		FLOAT
	FLOAT
	DWORD 0
	DWORD Repetitions
		FLOAT
		FLOAT
		FLOAT
	DWORD 0
	DWORD 0
	DWORD 0
	DWORD Repetition
		FLOAT
	DWORD 0
	DWORD (String Length)
	String
	BYTE
	FLOAT
	FLOAT
	FLOAT
	DWORD 0
	5 FLOATs
	DWORD 0
	DWORD Repetition
		7 FLOATs
	DWORD 0XFF00FF00
	DWORD Repetition 
	begin
		DWORD 0
		DWORD (string Length)
		String
		13 FLOATs
		DWORD 0
		DWORD (String Length)
		String
	end repetition
	5 FLOATs
	DWORD CE6E6B28 or in 3 cases its a float either 4 or 5
	DWORD 0
	15 FLOATs
	DWORD 0
	DWORD 0
	FLOAT
	FLOAT
	FLOAT
	FLOAT
	DWORD 0
	DWORD 0
	DWORD 0
	DWORD 0
	FLOAT
	DWORD Repetitions
		FLOAT
	FLOAT
	DWORD Repetitions
		7 FLOATs
	FLOAT
end repetition

Part 3

DWORD Repetitions
begin
	WORD 1 
	DWORD
	DWORD(String Length)
	String
	WORD 
	FLOAT
	DWORD 1
	FLOAT
	DWORD 1
	FLOAT
	DWORD 1
	FLOAT
	DWORD 1
	FLOAT
	FLOAT
	FLOAT
	DWORD 1
	FLOAT
	DWORD 0
	FLOAT
	FLOAT
	FLOAT
	DWORD 0
	DWORD 0
end repetitions

Part 4

DWORD Repetition
*always zero no futher decoding possible

Part 5

DWORD Repetition
*always zero no futher decoding possible

Part 6

DWORD Repetition
begin
	WORD 1
	DWORD Repetition
		FLOAT
		FLOAT
		DWORD (String length)
		String
	DWORD 
end repetition

Part 7

DWORD Repetition
begin
	DWORD 1
	WORD 0
	DWORD always > 0xff000000 ?Machine Call?
	FLOAT
	DWORD 0
	DWORD O
end

Part 8

DWORD Repetition
begin
	WORD 1
	BYTE
	BYTE
	WORD 
	FLOAT
	FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
		FLOAT
		FLOAT
	FLOAT
	BYTE 0
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	DWORD Repetition
		FLOAT
	6 BYTES 00
	DWORD (String Length)
	String
end

Part 9

DWORD Repetition
begin
	WORD 1
	WORD
	3 BYTES 0
	DWORD repetition
		FLOAT
		FLOAT
		FLOAT
	DWORD repetition
		FLOAT
	FLOAT
	FLOAT
	DWORD (String Length)
	String
end

Part 10

DWORD Repetition
begin
	WORD 1
	DWORD (String Length)
	String name of a cres file
	FLOAT
	FLOAT
	FLOAT
	FLOAT
	FLOAT
end

Part 11

DWORD Repetition
begin
	WORD 1
	WORD 
	3 BYTES 00
	DWORD Repetition
		FLOAT
		FLOAT
		FLOAT
	DWORD Repetition
		FLOAT
	FLOAT
	FLOAT
	DWORD (String Length)
	String
end

There are two FX files on my system one of them has the following 2 sections the other doesn't. I have no good explanation what differentiates them.

Part 12

DWORD Repetition
begin
WORD 1
DWORD 0
FLOAT
FLOAT
DWORD 0

Part 13

DWORD Repetition
*always zero no futher decoding possible
WORD 2 number of parts that use the next dword as a count?

part 14

DWORD Repetition
begin
	DWORD 
	DWORD 1
	DWORD 0
	DWORD 0
	FLOAT
	FLOAT
	DWORD Repetition
	begin
		DWORD (String Length)
		String
		WORD1
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		WORD  possibly 2 bytes
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		FLOAT
		DWORD 
		FLOAT
		FLOAT
		DWORD 
	end
end

Part 15 Directory

Use the same counter as part 14
begin repetition
	DWORD (String Length)
	String
	DWORD
end