#########################################   Extra Parts Moving Mod
#########################################   v1.4

Bugs fixed:
- more code cleanup
- Hash code display time has raised
What's New:
- Door Clone ID and Switch.. allows two components to be opened at the same time with one line
- Pop Up / Flip Up lights supported by ingame light on/off
- config file for general keys

Example Line for Door Clone;
-1041692462,0,2,0,x,x,1,0,0,0,1,0.09,1,360,0,0,0,0,0,0,0,0,1,door clone example line

Example line for pop up lights;
123456789,0,0,0,x,x,0,0,0,0,1,0,0,0,0,0,1,0.03,0.55,1,0,0,popup light example line

EPM v1.4
=================================
Description in english und deutsch (weiter unten!)

This mod is always WIP. It makes doors/boot/bonnet work as additional moving parts like airbrakes, spoilers, whatever for cars which support this. 
If you are a IV modder, and want your vehicle mod to work with it, feel free to contact me: meinfleisch@gmail.com

Keep up to date on this mod:  http://s1.zetaboards.com/Kottons_Chop_Shop/topic/3067504/1/


REQUIREMENTS:
=================================
GTA IV and/or EFLC
.NET Scripthook >WITH all its dependencies. --- http://www.gtaforums.com/index.php?showtopic=392325
Some users told me EPM works from Patch 1 to 7, I have tested Patch 4, 6 and 7, so far those 3 have to be preferred, all others are NOT officially supported.
EFLC on Patch 2 is tested and supported.


INSTALL AND GETTING THE CAR HASH:
=================================
Vehicle INSTALLERS;
----------------
if you have never workd with EPM, start with step 1

if you already have EPM and a vehicle that utilizes this script installed,
and are now installing an additional vehicle that uses this script, skip to step 3
------------------------------------------------------

1] Install the vehicle mod that uses this script as per readme instructions
2] Place moveDoors.NET.dll and moveDoors.ini in /yourgamedir/scripts/
*2a] Open the moveDoors.ini with Notepad and add the ini lines the vehicle mod came with (ReadMe)
3] Run IV, get in the vehicle that utilizes this script, and with Num Lock ON, press key 8
4] A number will appear in the top left corner of your screen, -write it down-

!!!!!! ATTENTION!! A hash number can be positive and negative, in that case a wild -1234567 number appears, and it uses a minus!
!!!!!! So if the hash is negative, do not forget that minus! If the number is positive, there is no minus!**

5] Exit IV or ALT-TAB out, open MoveDoors.ini with Notepad, and edit in the number you wrote down as the ini's FIRST VALUE
6] Save ini, run IV, have fun

**Indeed there were users, who had no idea what a negative or positive number means. Some just uses a minus for every hash, some just ignored the minus for every hash. Weird.

UPGRADING FROM EARLIER VERSIONS; PLEASE READ!!!
==================================
when Upgrading from earlier versions of EPM, It is very important to update your movedoors.ini as well
With EPM v1.4 and up it is 22 entries per line + Hash and Human Readable Identifier (HRI), Identifier is always last!!
So if you have an earlier version, just fill up every line like this:

before:
-609688724,3,29,20,I,K,1,1,1,0,3,0.01,1,BugattiByKot
after:
-609688724,3,29,20,I,K,1,1,1,0,3,0.01,1,0.2,0,0,0,0,0,1,-0.35,0.06,Bugatti Airbrake By Kotton


INGAME KEYS
=====================================
In game, Press Numlock 0 for AUTOMATIC mode and Numblock 1 for MANUAL mode. If the debug value is set to 1, debug information will be shown as well. 
Each moveDoors.ini line will contain at least two keys, those are for the manual mode if allowed and should be noted in each mod ReadMe
In game, when 0 is pressed, You will see the EPM status on every EPM car in the upper left corner indicating EPM:AUTO or EPM:MANUAL


A CLOSER LOOK AT THE INI VALUES AND WHAT THEY DO
==========================================
EPM v1.4 = 22 values + Hash and Identifier = 24 values TOTAL

-------LINE FORMAT:			-------DOOR ID:
 CarHASH (0)				0 - Left front door
 Door ID (1)				1 - Right front door
 Speed Open kmh -OR- Door Clone ID (2)	2 - Left rear door
 Speed Close kmh (3)			3 - Right rear door
 Key Open (4)				4 - Hood
 Key Close (5)				5 - Trunk
 Key Active Switch (6)
 Speed Active Switch (7)
 Brake Active Switch (8)
 Debug Active Switch (9)
 Line Count (10)
 Opening Speed (11)
 Opening Speed Switch (12)
 Max Opening Angle (13)
 Is Convertible Bonnet Switch (14)
 Convertible Bonnet Wait (15)
 Light Open Auto Switch (16)
 Light Opening Speed(17)
 Light Opening Angle(18),
 Override Auto (19)
 Airbrake Applied Force (20)
 Airbrake Lift and Return Speed (21)
 Door Clone Switch (22) (Value (1) is trigger door, value (2) is cloned door!)
 Identifier (23)

====What They Do====

(0) Hash Number = the number you get from step 4 that is unique for each vehicle in game
(1) Door ID = which vehicle part your are assigning the script to have control of
(2) Speed Open = the speed in kmh at which you want the part to open (must be a greater or lesser value than Speed Close, never equal)
*(2 ALTERNATE) = Cloned Door ID if used in conjucntion with Door Clone Switch (22)
(3) Speed Close = the speed in kmh at which you want the part to close (must be a lesser or greater value than Speed Open, never equal)
(4) Key Open = which keypress you want assigned to open the part
(5) Key Close = which keypress you want assigned to close the part
(6) Key Active = on/off switch (1 or 0), tells the script whether or not to utilize the keypress
(7) Speed Active = on/off switch (1 or 0), tells the script whether or not to utilize the speed sensor
(8) Brake Active = on/off switch (should be 0 default) for utilizing the spoiler as speedbrake as well
(9) Debug Active = on/off switch, used for troubleshooting (in most cases should be 0)
(10) Line Count = the numerical order of EACH LINE used PER CAR in the ini 
(11) Opening Speed = this is a multiplier which sets the speed of how fast the car part will open- values are meant to be FLOATS, for example 0.02
(12) Opening Fast/Slow Switch = on/off switch (1 or 0), whether to pop a part open or to use Opening Speed
(13) Max Opening Angle = an angle smaller than the models max opening angle of that part, supposed to be the spoiler position, full opening is for airbrake position. Works only if airbrake switch is 1
(14) Is Convertible Bonnet = closes the bonnet after folding the roof in without the need of a second keypress
(15) Bonnet Wait = time in seconds to keep the Convertible Bonnet opened for the roof to fold in... If set to 0, the bonnet closes immediately after full opening.
(16) Light Open Auto switch = tells EPM this line is for pop up lights
(17) Light Openin Speed = same as (11), only for the pop up lights
(18) Light Opening Angle = max angle to which the light smoothly opens, after reaching this value, it quickly pops up. Can simulate a snap in or latching.
(19) Override Auto = on/off switch (1 or 0), lets you use the Manual keypress even while in Auto, DO NOT USE ON SPEED ACTIVATED PARTS!
(20) Airbrake Applied Force = a negative number which describes how much the air brake raises the drag coefficient.
(21) Airbrake Lift and Return Speed = the speed at which the airbrake will rise and fall when used in Auto mode
(22) Door Clone = on/off switch, used with a door ID in value (2) to open 2 doors at the same time
(23) Identifier = a personal reference for you to use - THIS IS YOUR IDENTIFIER, NOT THE SCRIPTS IDENTIFIER! Give your line(s) a name which helps YOU to recognize it

EXAMPLE LINES; **each vehicle and each part per vehicle must use a different line**
(inside the ini, everything with a # in front of it is for guideline purposes ONLY, they are not active)
-INI VALUES MUST BE SEPARATED BY COMAS, NO SPACES, NO SPECIAL CHARACTERS-

-1444047101,2,30,10,PageUp,Insert,1,1,0,0,1,0.03,1,50,0,0,0,0,0,0,0,0,0,BugattiByKot
-1444047101,5,30,10,PageUp,Insert,1,1,0,0,2,0.03,1,50,0,0,0,0,0,0,0,0,0,BugattiByKot
-1444047101,3,30,25,Home,End,1,1,1,0,3,0.06,1,0.001,0,0,0,0,0,0,-0.35,0.1,0,BugattiByKot Airbrake




#########################################   HOSTING AND DEVELOPING THIS MOD:
#########################################   ================================

Feel free to host it, but please make sure to have always an eye for an update!


#########################################   ========================================================
#########################################   =============  DEUTSCH


Vorraussetzung:
- GTA IV in Version 1.0.6.0 (Patch #6)
(PC)Grand Theft Auto IV - Patch #4 - 19.06.09 (v1.0.4.0) by Rockstar Games
- NET Scripthook fr Patch 6
- neuster GTAIV .Net Script Hook by Hazard
- .NET von Microsoft v4

#########################################   Installation von EPM
Beide enthaltenen Dateien moveDoors.NET.dll, beide PNG Bilder und moveDoors.ini in den /scripts Ordner legen.

Upgrade einer vorhandenen Version von EPM:
Macht bitte alle eure bisherigen lines fr diese Version tauglich, und zwar wie folgt:
davor:
-993650800,5,100,100,I,K,1,0,0,0,3,0.09,1,CaliforniaBoot
danach:
-993650800,5,100,100,I,K,1,0,0,0,3,0.09,1,0,0,0,0,0,0,0,0,0,CaliforniaBoot

Alle fr die neuesten Version ntigen Werte einfach mit 0en ersetzen, v1.4 hat 23 Werte + den Identifier, der IMMER am Schluss steht. Der Identifier ist brigens fr EUCH ein Identifizierer, NICHT fr das Script, das Script benutzt den HASH am Anfang jeder Zeile!

#########################################   Installation eines EPM Fahrzeugs
Jedes EPM Fahrzeug sollte mit mindestens einer INI Line kommen, welche stets als NEUE ZEILE in die moveDoors.ini einzutragen 

ist. Diese Line hat mehrere durch Kommata getrennte Werte, Der ERSTE Wert vor dem Komma ist der HASH, den msst ihr erst wie 

folgt generieren:

1. Installiert das Fahrzeug wie blich
2. geht ingame und schnappt euch das Auto
3. drckt jetzt die 8 auf dem Nummernblock und schreibt die Zahl ab (mehrmals drcken, falls das zu schnell weg geht
4. trag diese Zahl (ggfs. mitsamt Vorzeichen!) nun als ersten Wert ein (ggfs. den vorhandenen ersetzen!)


Jedes EPM Fahrzeug sollte im brigen auch ohne den EPM Mod funktionieren.

#########################################   Bedienung/Hotkeys:
Globale Keys:
NumBlock 0 = Auto
Numblock 1 = Manual
NumBlock 8 = gibt (wenn aktiviert) Debuginformationen und den Hash aus

#########################################   Individuelle Keys:
in jeder INI line sind die Keys definiert, die frei (um)belegt werden knnen. Vorsicht, nicht leer lassen!

#########################################   
#########################################    CREDITS
#########################################   

                        /*****************************************************************************\
                        In parts
                        Copyright  2010 by LMS
                        In parts
                        Copyright  2010 by Threepwood
                        * 
                        * meinfleisch@gail.com
                        * 
                        * 
                        * v1.4    <-------------------------------------------------!!!!
                        
                        Door + ini example for TheChopShop by LMS 13.03.2010
                        
                        You may modifiy this if you keep this header/footer
                        
                        The author of this script can't be held liable for any damages caused by this script!
                        
                        This program is free software: you can redistribute it and/or modify
                        it under the terms of the GNU General Public License as published by
                        the Free Software Foundation, either version 3 of the License, or
                        (at your option) any later version.
                        
                        This program is distributed in the hope that it will be useful,
                        but WITHOUT ANY WARRANTY; without even the implied warranty of
                        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                        GNU General Public License for more details.
                        
                        You should have received a copy of the GNU General Public License
                        along with this program.  If not, see <http://www.gnu.org/licenses/>.
                        
                        \**********************************************************************/

Thanks fly out to anyone who supports me and anyone who follows the rules, in special those site admins who ASK and are respectful! Burn those russian sites which never ask but host or host w/o any respect to modders. Do not support such people, respect is the ONLY thing we modders earn for our free work!

Thanks to all people at Kottons Chop Shop, in special those who are always there with a helping hand like Kotton, thanks to supporting guys like Spyfan and others, thanks to M4RTiN who is always there to share some graphics (like the EPM indicators!!) and many thanks for a huge milestone on EPM go to theCURSEDpie :) And what a shame, I always forgot t thank HazardX who made the .NET scripthook and as well Aru for the C++ hook and their support.

Hang on guys!
