Jump to content


Photo

Montana Mod v2.1 (In Development)


  • Please log in to reply
3199 replies to this topic

#1101 bama1234

bama1234

    Battalion Chief

  • Member
  • 784 posts
  • Gender:Male
  • Location:United States
  • Interests:EM4 modding, graphic design, exploring the great outdoors, EMS & rescue

Posted 26 July 2014 - 06:08 AM

1080p is a screen resolution i belive its an HD screen resolution

 

I know, but the games options don't allow over 1280x768.

 

I set my XML file to 1920 1080. Made the mod look amazing

 

Which file?


hiqooAT.gif

EMT

Rescue Squad Member


#1102 axeman1224

axeman1224

    Lieutenant

  • Members
  • 52 posts
  • Gender:Male
  • Location:Middle of Everywhere
  • Interests:Fire Fighting, Law Enforcement, Military, Emergency Management

Posted 26 July 2014 - 06:20 AM

I know, but the games options don't allow over 1280x768.

 

 

Which file?

config file



#1103 bama1234

bama1234

    Battalion Chief

  • Member
  • 784 posts
  • Gender:Male
  • Location:United States
  • Interests:EM4 modding, graphic design, exploring the great outdoors, EMS & rescue

Posted 26 July 2014 - 06:58 AM

config file

 

Specifically? And what should I look for inside of the file


hiqooAT.gif

EMT

Rescue Squad Member


#1104 theocd

theocd

    Senior Captain

  • Members
  • 373 posts
  • Gender:Male
  • Location:Normally somewhere in England
  • Interests:Gaming and Guns

Posted 26 July 2014 - 11:17 AM

This mod is excellent and is looking to get better. Controversially, despite other people's suggestions, I beg you to keep the one tiny station for the map :) I'm bored of mods where there's fire units on every corner, where every call gets a five second response time - vehicles barely activate lights and sirens to cross an intersection before stopping. I like the delay, the possibility of needing extra units because things take time. Just my £0.02, of course :D

 

The OC-D


"Whoever said the pen is mightier than the sword obviously never encountered automatic weapons" - Douglas MacArthur


#1105 OnFire

OnFire

    Lieutenant

  • Members
  • 51 posts
  • Gender:Female
  • Interests:Gaming, Modding, Books, METAL :D

Posted 26 July 2014 - 11:34 AM

Specifically? And what should I look for inside of the file

 

In the file : em4deluxe.cfg in your main folder,

 

you have to change <var name="r_xres" value="1024" /> <var name="r_yres" value="768" />. ;)



#1106 onlinegamesz

onlinegamesz

    Firefighter

  • Members
  • 14 posts
  • Gender:Male

Posted 26 July 2014 - 11:58 AM

When a police car with cops arrest someone with the chase button, the cop still has a pistol in his hands, after he put the criminal in the police car then I can't put the pistol away anymore and a lot of buttons are disabled then, is this a known bug? is there a way to fix this? thanks



#1107 BeastyBill88

BeastyBill88

    District Chief

  • Members
  • 1,097 posts
  • Gender:Male
  • Location:South Humberside, UK

Posted 26 July 2014 - 01:09 PM

When a police car with cops arrest someone with the chase button, the cop still has a pistol in his hands, after he put the criminal in the police car then I can't put the pistol away anymore and a lot of buttons are disabled then, is this a known bug? is there a way to fix this? thanks

Yes its a known bug, I think The Loot edited the script to fix it, have a look in the LA mod section of the forums for it.


f5dd2821-ad8f-4055-8fb2-55438566e217.jpg

 

Private Projects & Contributions
-Blues & Twos Mod-
-Tri-County Mod-
-Fairfax County Mod-

You can watch gameplay of my projects here on my YouTube Channel


#1108 Fred03

Fred03

    District Chief

  • Members
  • 1,412 posts
  • Gender:Not Telling
  • Location:The path less traveled

Posted 26 July 2014 - 01:30 PM

I just have the cop get and then drop a fire extinguisher, then its all fine.


Also Supporting: RCMP mod, Stillwater mod, Lampard mod, Ravenna sub-mod,  Rockport mod.

xnzgxu9.png

State & National Park enthusiast can help modders in park related issues.

My statements in no way respect the views of any agency I am or was formerly associated with.


#1109 itchboy

itchboy

    Assistant Chief

  • Member
  • 1,788 posts
  • Gender:Not Telling

Posted 26 July 2014 - 01:41 PM

Here's a little fix I devised a long time ago:
Note the little addition at around line 466

//******************************************************************************************
// #Version 1.2#
//
// 		Includes: Chase commands for police vehicles
//
//	- VcmdFollow
//	- DummyUpdateFollowPos
//	- DummyFollow
//
//		Script by Hoppah
//		
//		Usage of this script in other mods is NOT allowed without permission of Hoppah
//
//******************************************************************************************

const char CMD_FOLLOW[] 				= "VcmdFollow";
const char CMD_SIREN[]					= "VcmdSiren";
const char DUMMY_ARREST2[]				= "DummyArrest2";
const char DUMMY_HASSIREN[] 			= "DummyHasSiren";
const char DUMMY_DISABLE[] 				= "DummyDisableSiren";
const char DUMMY_PATROL[] 				= "DummyPatrol";
const char NAME_DUMMYOBJECT[] 			= "DummyFollow";
const char NAME_BLOCK[] 				= "DummyBlock";
const char DUMMY_UPDATEPOS[] 			= "DummyUpdateFollowPos";
const char DUMMY_FOLLOW[] 				= "DummyFollow";
const char EACTION_FINDPATH[] 			= "EActionFindPath";
const char CMD_PUTINCAR[]				= "PutInCar";
const char CMD_AUTOSIREN_OFF[]			= "VcmdAutoSirenOff";
const char CMD_SHOOTGUN[] 				= "Shoot";
const char CMD_HOLSTERGUN[] 			= "HolsterWeapon";
const char CMD_DRAWGUN[] 				= "DrawWeapon";
const char CMD_ARREST[] 				= "Arrest";
const char CMD_ARREST2[] 				= "PcmdArrest2";
const char SND_DRAW[]					= "mod:Audio/FX/Misc/DrawWeapon.wav";
const char SND_HOLSTER[]				= "mod:Audio/FX/Misc/HolsterWeapon.wav";
const char SND_CARTHEFT1[]				= "mod:Audio/FX/radio/pd_stolencar1.wav";
const char SND_CARTHEFT2[]				= "mod:Audio/FX/radio/pd_stolencar1.wav";
const char SND_ESCAPECAR[]				= "mod:Audio/FX/radio/pd_escapecar.wav";
const char SND_PERSON[]					= "mod:Audio/FX/radio/pd_person.wav";
const char SND_AMOK[]					= "mod:Audio/FX/radio/pd_amokdriver.wav";
const char DUMMY_EQUIPMENT[] 			= "DummyEquipmentCommands";

int DummyGroup = 29;

object VcmdFollow : CommandScript
{
	VcmdFollow()
	{
		SetIcon("follow");
		SetCursor("follow");
 		SetGroupID(DummyGroup);
 		SetGroupLeader(true);
		SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTINJURED);
		SetValidTargets(ACTOR_VEHICLE | ACTOR_PERSON);
		SetPriority(10);
	}

 	bool CheckPossible(GameObject *Caller)
 	{
		if (!Caller->IsValid() || !Caller->HasCommand(CMD_SIREN))
			return false;

		if (Caller->GetType()==ACTOR_VEHICLE)
		{
			Vehicle v(Caller);
			if(v.GetVehicleType() != VT_POLICE_STW && v.GetVehicleType() != VT_POLICE_MTW && v.GetVehicleType() != VT_POLICE_SW)
				return false;
			if(v.GetNumPassengers() == 0)
				return false;
		}

		return true;
 	}
 
 	bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
 	{
		if (!Caller->IsValid() || !Target->IsValid() || (Target->GetID() == Caller->GetID()))
			return false;

		if (Caller->GetType()==ACTOR_VEHICLE)
		{
			Vehicle v(Caller);
			if(v.GetNumPassengers() == 0)
				return false;
		}
		
		if (Target->GetType() == ACTOR_VEHICLE)
		{
			Vehicle t(Target);
			if (!t.IsValid() || t.IsParking() || t.IsUplifted() || t.IsDestroyed() || t.IsSmoking() || (t.GetVehicleType() != VT_NOSQUAD && t.GetVehicleType() != VT_GANGSTER_GETAWAY))
				return false;	
		}
		else if (Target->GetType() == ACTOR_PERSON)
		{
			Person p(Target);
			if(!p.IsValid() || p.IsLinkedWithPerson() || p.IsCarryingPerson() || p.GetEnteredCarID() != -1 || p.IsPhysicsSimulationEnabled() || p.GetRole() == ROLE_ANIMAL || p.GetRole() == ROLE_SQUAD)
				return false;
								
			if(p.GetRole() == ROLE_GANGSTER)
				SetPriority(800);		
		}
		
		return true;
 	}

	void PushActions(GameObject *Caller, Actor *Target, int childID)
	{
		Vehicle v(Caller);
		GameObject t(Target);
		if (childID == 0)
		{
			if (v.HasCommand(DUMMY_FOLLOW))
			{
				v.RemoveCommand(DUMMY_FOLLOW);
				int VecID = v.GetID();
				GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
				for(int i=0; i<list.GetNumObjects(); i++)
				{
					GameObject *obj = list.GetObject(i);
					if (obj->GetUserData() == VecID)
					{
						obj->PushActionDeleteOwner(ACTION_NEWLIST);
					}
				}
			}
			if (t.GetType() == ACTOR_VEHICLE)
			{
				Vehicle vt(&t);
				if (vt.HasName("stolencar") && !vt.WasStoppedByRoadblock())
				{	
					if (rand()%2 == 0)
						Audio::PlaySample3D(SND_CARTHEFT1, vt.GetPosition());
					else
						Audio::PlaySample3D(SND_CARTHEFT2, vt.GetPosition());
				}
				else if (vt.GetVehicleType() == VT_GANGSTER_GETAWAY && !vt.WasStoppedByRoadblock())
					Audio::PlaySample3D(SND_ESCAPECAR, vt.GetPosition());
				else if (vt.IsDriveByShooting() && !vt.WasStoppedByRoadblock())
					Audio::PlaySample3D(SND_AMOK, vt.GetPosition());
			}
			else if (t.GetType() == ACTOR_PERSON)
			{
				Person p(&t);
				if(p.GetRole() == ROLE_GANGSTER && p.IsFleeing())
					Audio::PlaySample3D(SND_PERSON, p.GetPosition());
			}
			if (v.HasObjectPath(NULL))
				Game::ExecuteCommand(DUMMY_PATROL, &v, &v);
			v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_FOLLOW, &t, 1, false);
			if (!v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF) && !Input::LShiftPressed() && !Input::RShiftPressed())
				Game::ExecuteCommand(CMD_SIREN, &v, &v);
			GameObject mDummy = Game::CreateObject("mod:Prototypes/Objects/Misc/empty.e4p", NAME_DUMMYOBJECT);
			mDummy.Hide();
			mDummy.SetUserData(v.GetID());
			Vector vPos = v.GetPosition();
			mDummy.SetPosition(vPos);
			mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, &t, 0, false);
		}
		if (childID == 1)
		{
			if (!v.HasCommand(DUMMY_FOLLOW))
				v.AssignCommand(DUMMY_FOLLOW);
			v.PushActionMove(ACTION_NEWLIST, t.GetPosition(), true);
			v.PushActionExecuteCommand(ACTION_APPEND, CMD_FOLLOW, &t, 1, false);
		}
	}
};

object DummyUpdateFollowPos : CommandScript
{
	DummyUpdateFollowPos()
	{
		SetGroupID(DummyGroup);
	}

	bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
	{
	}

  	void PushActions(GameObject *Caller, Actor *Target, int childID)
	{
		GameObject t(Target);
		GameObject mDummy(Caller);
		int VecID = mDummy.GetUserData();
		VehicleList l1(VT_THW_FGRR_BKF, VT_AMBULANCE_TRANSEVAC);
		for(int i = 0; i < l1.GetNumVehicles(); i++)
		{
			Vehicle v = l1.GetVehicle(i);
			if (v.GetID() == VecID)
			{
				if (!v.HasCommand(DUMMY_FOLLOW))
				{
					mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
					return;
				}
				else if (!v.IsValid() || v.IsDestroyed() || v.IsSmoking())
				{
					mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
					v.PushActionWait(ACTION_NEWLIST, 0.1f);
					return;
				} 
				else if (!t.IsValid())
				{
					mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
					v.PushActionWait(ACTION_NEWLIST, 0.1f);
					return;
				} else
				{
					Vector vPos = v.GetPosition();
					mDummy.SetPosition(vPos);
					mDummy.PushActionWait(ACTION_NEWLIST, 0.5f);
					mDummy.PushActionExecuteCommand(ACTION_APPEND, DUMMY_UPDATEPOS, &t, 0, false);
				}
				if (v.GetBoundingRadiusDistXYToObject(&t) < 900.f && t.GetType() == ACTOR_VEHICLE)
				{
					mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
					Vehicle vt(&t);
					if (vt.GetVehicleType() != VT_GANGSTER_GETAWAY)
					{
						GameObject mBlock = Game::CreateObject("mod:Prototypes/Objects/Street/citypole.e4p", NAME_BLOCK);
						mBlock.SetUserData(t.GetID());
						Vector bPos = t.GetPosition();
						mBlock.SetPosition(bPos);
						mBlock.PushActionWait(ACTION_NEWLIST, 30.f);
						mBlock.PushActionExecuteCommand(ACTION_APPEND, DUMMY_UPDATEPOS, &t, 1, false);
						if (!mBlock.IsFlagSet(OF_HIDDEN))
							mBlock.SetFlag(OF_HIDDEN);
					} 
					else if (vt.GetVehicleType() == VT_GANGSTER_GETAWAY)
					{
						if (vt.HasObjectPath(NULL)) //Stop gangster vehicle
							vt.RemoveObjectPath();
					}
					v.ClearActions();
					Vector Move = t.GetPosition();
						float r[9];
						float childr[9];
					t.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
					float dx = -350.f, dy = 0.f, dz = 0.f;
					Math::RotateVector(dx, dy, dz, r);
					Math::EulerToMatrix(0.0f, 0.f, 0.f, childr);
					Math::MultiplyMatrices(childr, r);
					Move = Move + Vector(dx, dy, 0);
					Game::FindFreePosition(&v, Move, 250);
					v.PushActionMove(ACTION_NEWLIST, Move, true);
					v.PushActionWait(ACTION_APPEND, 0.5f);
					v.PushActionTurnTo(ACTION_APPEND, &t);
					v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, &t, 0, false);	
				}
				else if (v.GetBoundingRadiusDistXYToObject(&t) < 600.f && t.GetType() == ACTOR_PERSON)
				{
					mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
					Person pt(Target);
					if (pt.GetRole() != ROLE_GANGSTER && (pt.HasObjectPath(NULL) || pt.IsFleeing()))
						t.PushActionWait(ACTION_NEWLIST, 10.f);						
					v.ClearActions();
					v.PushActionWait(ACTION_NEWLIST, 0.5f);
					v.PushActionTurnTo(ACTION_APPEND, &t);
					v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, &t, 0, false);
				}
				return;				
			}
		}
		mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
	}
};

object DummyFollow : CommandScript
{
	DummyFollow()
	{
		SetGroupID(DummyGroup);
	}

	bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
	{
		return false;
	}

  	void PushActions(GameObject *Caller, Actor *Target, int childID)
	{
		Vehicle v(Caller);
		Person p(Caller);
		GameObject t(Target);
		if (childID == 0)
		{
			if (v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF))
					Game::ExecuteCommand(DUMMY_DISABLE, &v, &v);
			PersonList l1 = v.GetPassengers();
			Vector Pos = v.GetPosition();
			Vector Pos2 = v.GetPosition();
			float r[9];
			float childr[9];
			v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
		
			bool cop1 = false;
			bool cop2 = false;
			bool armed = false;
			bool shoot = false;
			bool fight = false;
			
			if (l1.GetNumPersons() >= 1)
			{
				if (l1.GetPerson(0)->HasCommand(CMD_ARREST) || l1.GetPerson(0)->HasCommand(CMD_ARREST2))
					cop1 = true;
			}
			if (t.GetType() == ACTOR_VEHICLE)
			{
				Vehicle vt(Target);
				PersonList l2 = vt.GetPassengers();
				if (l2.GetNumPersons() > 0 || vt.GetVehicleType() == VT_GANGSTER_GETAWAY)
				{
					armed = true;
					if (l1.GetNumPersons() > 1)
					{
						if (l1.GetPerson(1)->HasCommand(CMD_ARREST) || l1.GetPerson(1)->HasCommand(CMD_ARREST2))
							cop2 = true;
					}
				}
			} 
			else if (t.GetType() == ACTOR_PERSON)
			{
				Person pt(Target);
				if (pt.GetRole() == ROLE_GANGSTER)
				{
					armed = true;
					if (l1.GetNumPersons() > 1)
					{
						if (l1.GetPerson(1)->HasCommand(CMD_ARREST) || l1.GetPerson(1)->HasCommand(CMD_ARREST2))
							cop2 = true;
					}					
					if (pt.GetEquipment() == EQUIP_PISTOL)
					{
						if ((pt.GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKALL || pt.GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKSQUAD || pt.GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKSQUAD_SMART || pt.GetBehaviour() == BEHAVIOUR_GANGSTER_GUARDHOSTAGE) && rand()%10 > 5)
							shoot = true;						
						else if (rand()%4 >= 1)
							fight = true;					
					}
				}
			}			
			if (cop1 && cop2)
			{
				v.SetCommandable(false);
				v.PlayAnimOpenDoor(DAT_PERSON, 0.8f, &v);
				v.PlayAnimOpenDoor(DAT_SPECIAL, 0.8f, &v);
				v.PushActionWait(ACTION_NEWLIST, 1.f);
				v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, &t, 4, false);
			}
			else if (cop1)
			{
				v.SetCommandable(false);
				v.PlayAnimOpenDoor(DAT_PERSON, 0.8f, Caller);
				v.PushActionWait(ACTION_NEWLIST, 1.f);
				v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, &t, 3, false);
			}
			Person p1;
			Person p2;
			if (cop1)
			{
				p1 = l1.GetPerson(0);
				float dx = -12.f, dy = -65.f, dz = 0.f;
				v.RemovePassenger(&p1);
				Math::RotateVector(dx, dy, dz, r);
				Math::EulerToMatrix(0.0f, 0.f, 0.f, childr);
				Math::MultiplyMatrices(childr, r);
				Pos = Pos + Vector(dx, dy, 0);
				if (p1.GetEquipment() != EQUIP_PISTOL && p1.IsEquipped())
				{
					p1.RemoveEquipment();
					p1.PushActionExecuteCommand(ACTION_APPEND, DUMMY_EQUIPMENT, &p1, 10, false);
					p1.PushActionWait(ACTION_APPEND, 0.7f);
				} else
					p1.PushActionWait(ACTION_NEWLIST, 0.8f);
				p1.SetPosition(Pos);
				p1.SetRotation(childr[0], childr[1], childr[2], childr[3], childr[4], childr[5], childr[6], childr[7], childr[8]);
				p1.UpdatePlacement();
 				p1.Hide();
				p1.PushActionShowHide(ACTION_APPEND, false);
				p1.PushActionSwitchAnim(ACTION_APPEND, "idle");
				p1.PushActionTurnTo(ACTION_APPEND, &t);
			}
			if (cop2)
			{
				p2 = l1.GetPerson(1);
				float dx2 = -12.f, dy2 = 65.f, dz2 = 0.f;	
				v.RemovePassenger(&p2);
				Math::RotateVector(dx2, dy2, dz2, r);
				Math::EulerToMatrix(0.0f, 0.f, 0.f, childr);
				Math::MultiplyMatrices(childr, r);
				Vector Pos2 = Pos2 + Vector(dx2, dy2, 0);
				if (p2.GetEquipment() != EQUIP_PISTOL && p2.IsEquipped())
				{
					p2.RemoveEquipment();
					p2.PushActionExecuteCommand(ACTION_APPEND, DUMMY_EQUIPMENT, &p2, 10, false);
					p2.PushActionWait(ACTION_APPEND, 0.7f);
				} else
					p2.PushActionWait(ACTION_NEWLIST, 0.8f);
				p2.SetPosition(Pos2);
				p2.SetRotation(childr[0], childr[1], childr[2], childr[3], childr[4], childr[5], childr[6], childr[7], childr[8]);
				p2.UpdatePlacement();
 				p2.Hide();
				p2.PushActionShowHide(ACTION_APPEND, false);
				p2.PushActionSwitchAnim(ACTION_APPEND, "idle");
				p2.PushActionTurnTo(ACTION_APPEND, &t);
			}
			if (cop1)
			{
				if (t.GetType() == ACTOR_VEHICLE)
				{
					Vehicle vt(&t);
					if (armed)
					{
						if (!vt.IsFlagSet(OF_TRANSPORTABLE))
							vt.SetFlag(OF_TRANSPORTABLE);
						if (!vt.IsFlagSet(OF_RECOVERABLE))
							vt.SetFlag(OF_RECOVERABLE);
						if (!vt.IsParking())
							vt.SetParking(true);
						vt.RemoveObjectPath();
						vt.PushActionWait(ACTION_NEWLIST, 0.1f);
						if (p1.GetEquipment() != EQUIP_PISTOL && p1.HasCommand(CMD_DRAWGUN))
						{
							p1.PushActionEquipWeapon(ACTION_APPEND, true);
							p1.AssignCommand(CMD_SHOOTGUN);
							p1.AssignCommand(CMD_HOLSTERGUN);
							p1.RemoveCommand(CMD_DRAWGUN);
							p1.AssignCommand(CMD_ARREST2);
							p1.RemoveCommand(CMD_ARREST);
							Vector Pos = p1.GetPosition();
							Audio::PlaySample3D(SND_DRAW, Pos);
						}
						p1.PushActionSwitchAnim(ACTION_APPEND, "pistoltarget");
						PersonList l3;
						if (vt.GetNumPassengers() > 0)
							l3 = vt.GetPassengers();
						else if (vt.GetNumTransported() > 0)
							l3 = vt.GetTransports();
						if (l3.GetNumPersons() > 0)
						{
							for(int i=0; i < l3.GetNumPersons(); i++)
							{
								l3.GetPerson(i)->PushActionWait(ACTION_NEWLIST, 2.f);
								l3.GetPerson(i)->PushActionLeaveCar(ACTION_APPEND, &vt);
								if (l3.GetPerson(i)->GetEquipment() == EQUIP_PISTOL && (l3.GetPerson(i)->GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKALL || l3.GetPerson(i)->GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKSQUAD || l3.GetPerson(i)->GetBehaviour() == BEHAVIOUR_GANGSTER_ATTACKSQUAD_SMART || l3.GetPerson(i)->GetBehaviour() == BEHAVIOUR_GANGSTER_GUARDHOSTAGE) && rand()%10 > 5)
								{
									shoot = true;
									l3.GetPerson(i)->SetPrimaryTarget(&p1);
								} else
								{
									l3.GetPerson(i)->PushActionWait(ACTION_APPEND, 1.f);
									l3.GetPerson(i)->PushActionDrop(ACTION_APPEND);
									l3.GetPerson(i)->PushActionSwitchAnim(ACTION_APPEND, "hostage_down");
								}
								Person pt = l3.GetPerson(0);
								if (shoot)
								{
									p1.PushActionWait(ACTION_APPEND, 2.0f);
									p1.PushActionShoot(ACTION_APPEND, &pt);							
								}
								else
								{
									p1.PushActionWait(ACTION_APPEND, 6.0f);
									p1.PushActionMove(ACTION_APPEND, &pt, TARGET_FOLLOW);
									p1.PushActionTurnTo(ACTION_APPEND, &pt);								
									//p1.PushActionExecuteCommand(ACTION_APPEND, DUMMY_ARREST2, p1, 3, false);
									p1.PushActionEquipWeapon(ACTION_APPEND, false);
									p1.RemoveCommand(CMD_SHOOTGUN);
									p1.RemoveCommand(CMD_HOLSTERGUN);
									p1.AssignCommand(CMD_DRAWGUN);
									p1.RemoveCommand(CMD_ARREST2);
									p1.AssignCommand(CMD_ARREST);
									if (rand()%4 >= 1)
										fight = true;	
									p1.PushActionArrest(ACTION_APPEND, &pt, fight);
									p1.PushActionExecuteCommand(ACTION_APPEND, "Arrest", &pt, 5, false);
									/* if (v.GetFreeTransports() >= 1 && pt.GetRole() == ROLE_GANGSTER)
										p1.PushActionExecuteCommand(ACTION_APPEND, CMD_PUTINCAR, &v, 0, false); */
								}
								if (cop2)
								{
									if (p2.GetEquipment() != EQUIP_PISTOL && p2.HasCommand(CMD_DRAWGUN))
									{
										p2.PushActionEquipWeapon(ACTION_APPEND, true);
										p2.AssignCommand(CMD_SHOOTGUN);
										p2.AssignCommand(CMD_HOLSTERGUN);
										p2.RemoveCommand(CMD_DRAWGUN);
										p2.AssignCommand(CMD_ARREST2);
										p2.RemoveCommand(CMD_ARREST);
										Vector Pos = p2.GetPosition();
										Audio::PlaySample3D(SND_DRAW, Pos);
									}
									if (shoot)
									{
										p2.PushActionSwitchAnim(ACTION_APPEND, "pistoltarget");
										p2.PushActionWait(ACTION_APPEND, 2.0f);
										p2.PushActionShoot(ACTION_APPEND, &pt);	
									} else
									{
										p2.PushActionTurnTo(ACTION_APPEND, &t);
										p2.PushActionSwitchAnim(ACTION_APPEND, "pistoltarget");
										p2.PushActionWait(ACTION_APPEND, 6.5f);
										p2.PushActionSwitchAnim(ACTION_APPEND, "idlegun");
									}
									return;
								}
							}
						}
					}
					else
					{
						p1.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, Target, 2, false);
					}				
				}
				else if (t.GetType() == ACTOR_PERSON)
				{
					Person pt(&t);
					if (armed)
					{
						if (p1.GetEquipment() != EQUIP_PISTOL && p1.HasCommand(CMD_DRAWGUN))
						{
							p1.PushActionEquipWeapon(ACTION_APPEND, true);
							p1.AssignCommand(CMD_SHOOTGUN);
							p1.AssignCommand(CMD_HOLSTERGUN);
							p1.RemoveCommand(CMD_DRAWGUN);
							p1.AssignCommand(CMD_ARREST2);
							p1.RemoveCommand(CMD_ARREST);
							Vector Pos = p1.GetPosition();
							Audio::PlaySample3D(SND_DRAW, Pos);
						}
						if (shoot)
							p1.PushActionShoot(ACTION_APPEND, &pt);
						else
						{
							if (pt.IsValid() && !pt.IsCurrentAnimation("hostage_down") && !pt.IsArrested() && !pt.IsDrowning() && !pt.IsCarried() && pt.GetState() == PERSONSTATE_NORMAL)
							{
								pt.ClearActions();
								if (pt.HasObjectPath(NULL))
									pt.RemoveObjectPath();
								pt.SetBehaviour(BEHAVIOUR_GANGSTER_CIVILARMED);
								pt.SetDisableGangsterSymbol(false);
								pt.PushActionWait(ACTION_APPEND, 2.0f);
								pt.PushActionDrop(ACTION_APPEND);
								pt.PushActionSwitchAnim(ACTION_APPEND, "hostage_down");
								pt.PushActionWait(ACTION_APPEND, 20.0f);
								pt.PushActionExecuteCommand(ACTION_APPEND, DUMMY_ARREST2, Target, 1, false);
								p1.PushActionTurnTo(ACTION_APPEND, &pt);
								p1.PushActionSwitchAnim(ACTION_APPEND, "pistoltarget");
								p1.PushActionWait(ACTION_APPEND, 2.5f);
								p1.PushActionMove(ACTION_APPEND, &pt, TARGET_TOUCHPERSON);
								//p1.PushActionExecuteCommand(ACTION_APPEND, DUMMY_ARREST2, &p1, 3, false);
								p1.PushActionEquipWeapon(ACTION_APPEND, false);
								p1.RemoveCommand(CMD_SHOOTGUN);
								p1.RemoveCommand(CMD_HOLSTERGUN);
								p1.AssignCommand(CMD_DRAWGUN);
								p1.RemoveCommand(CMD_ARREST2);
								p1.AssignCommand(CMD_ARREST);
								p1.PushActionArrest(ACTION_APPEND, &pt, fight);
								p1.PushActionWait(ACTION_APPEND, 1.f);
								p1.PushActionExecuteCommand(ACTION_APPEND, "Arrest", &pt, 5, false);
								/* if (v.GetFreeTransports() >= 1 && pt.GetRole() == ROLE_GANGSTER)
									p1.PushActionExecuteCommand(ACTION_APPEND, CMD_PUTINCAR, &v, 0, false); */
							}
						}
					}
					else
					{
						if (p1.GetEquipment() == EQUIP_PISTOL)
						{
							p1.PushActionEquipWeapon(ACTION_APPEND, false);
							p1.RemoveCommand(CMD_SHOOTGUN);
							p1.RemoveCommand(CMD_HOLSTERGUN);
							p1.AssignCommand(CMD_DRAWGUN);
							p1.RemoveCommand(CMD_ARREST2);
							p1.AssignCommand(CMD_ARREST);
							Vector Pos = p1.GetPosition();
							Audio::PlaySample3D(SND_HOLSTER, Pos);
						}
						p1.PushActionExecuteCommand(ACTION_APPEND, CMD_ARREST, &pt, 0, false);	
					}
				}
			} 
			if (t.GetType() == ACTOR_PERSON && cop2 && armed)
			{
				Person pt(&t);
				if (p2.GetEquipment() != EQUIP_PISTOL && p2.HasCommand(CMD_DRAWGUN))
				{
					p2.PushActionEquipWeapon(ACTION_APPEND, true);
					p2.AssignCommand(CMD_SHOOTGUN);
					p2.AssignCommand(CMD_HOLSTERGUN);
					p2.RemoveCommand(CMD_DRAWGUN);
					p2.AssignCommand(CMD_ARREST2);
					p2.RemoveCommand(CMD_ARREST);	
					Vector Pos = p2.GetPosition();
					Audio::PlaySample3D(SND_DRAW, Pos);
				}
				if (shoot)
					p2.PushActionShoot(ACTION_APPEND, &pt);
				else
				{
					p2.PushActionTurnTo(ACTION_APPEND, &pt);
					p2.PushActionSwitchAnim(ACTION_APPEND, "pistoltarget");
					p2.PushActionWait(ACTION_APPEND, 5.0f);
					p2.PushActionSwitchAnim(ACTION_APPEND, "idlegun");
				}
			}
		}
		if (childID == 1)
		{
			int VecID = Caller->GetID();
			GameObjectList list = Game::GetGameObjects(NAME_BLOCK);
			for(int i=0; i<list.GetNumObjects(); i++)
			{
				GameObject *obj = list.GetObject(i);
				if (obj->GetUserData() == VecID)
				{
					obj->PushActionDeleteOwner(ACTION_NEWLIST);
				}
			}	
		}
		if (childID == 2)
		{
			p.PushActionMove(ACTION_APPEND, &t, TARGET_PASSENGERDOOR);
			p.PushActionTurnTo(ACTION_APPEND, &t);
			p.PushActionWait(ACTION_APPEND, 0.3f);
			p.PushActionSwitchAnim(ACTION_APPEND, "talkto");
			p.PushActionWait(ACTION_APPEND, 3.0f);
			p.PushActionSwitchAnim(ACTION_APPEND, "idle");
			p.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FOLLOW, &t, 5, false);
		}
		if (childID == 3)
		{
			v.PlayAnimCloseDoor(DAT_PERSON, 0.8f, &v);
			v.SetCommandable(true);
		}
		if (childID == 4)
		{
			v.PlayAnimCloseDoor(DAT_SPECIAL, 0.8f, &v);
			v.PlayAnimCloseDoor(DAT_PERSON, 0.8f, &v);
			v.SetCommandable(true);
		}
		if (childID == 5)
		{
			int VecID = Target->GetID();
			GameObjectList list = Game::GetGameObjects(NAME_BLOCK);
			for(int i=0; i<list.GetNumObjects(); i++)
			{
				GameObject *obj = list.GetObject(i);
				if (obj->GetUserData() == VecID)
					obj->PushActionDeleteOwner(ACTION_NEWLIST);
			}
			int Money = Mission::GetMoneyLeft();
			int Fine;
			int Chance = Math::rand() % 4;
			if (Chance == 0)
			{
				Fine = 300;
				Mission::PlayHint("Driver fined for speeding. You've earned 300 credits!");
			}
			else if (Chance == 1)
			{
				Fine = 200;
				Mission::PlayHint("Driver fined for expired registration stick. You've earned 200 credits!");
			}
			else if (Chance == 2)
			{
				Fine = 200;
				Mission::PlayHint("Driver fined for a missing tail light. You've earned 200 credits!");
			}
			else if (Chance == 3)
			{
				Fine = 600;
				Mission::PlayHint("Driver fined for failure to use a seatbelt. You've earned 600 credits!");
			}
			int NewMoney = Money + Fine;          
			Mission::SetMoney(NewMoney);			
		}
	}
};

 



#1110 The Loot

The Loot

    Battalion Chief

  • Members
  • 725 posts
  • Gender:Male

Posted 26 July 2014 - 01:57 PM

Yes its a known bug, I think The Loot edited the script to fix it, have a look in the LA mod section of the forums for it.

I don't think I ever messed with it, but the YSB version of Xplorer's submod never gave me the glitch in the first place, I believe.



#1111 onlinegamesz

onlinegamesz

    Firefighter

  • Members
  • 14 posts
  • Gender:Male

Posted 26 July 2014 - 08:43 PM

Oh okay thanks guys, by the way one small thing, on the map I see right under an FD icon but when I go there I only see a church, I think the station there is not finished yet?



#1112 bama1234

bama1234

    Battalion Chief

  • Member
  • 784 posts
  • Gender:Male
  • Location:United States
  • Interests:EM4 modding, graphic design, exploring the great outdoors, EMS & rescue

Posted 26 July 2014 - 09:23 PM

In the file : em4deluxe.cfg in your main folder,

 

you have to change <var name="r_xres" value="1024" /> <var name="r_yres" value="768" />. ;)

 

Thanks!

 

When a police car with cops arrest someone with the chase button, the cop still has a pistol in his hands, after he put the criminal in the police car then I can't put the pistol away anymore and a lot of buttons are disabled then, is this a known bug? is there a way to fix this? thanks

 

That's a bug with the LA mod, but I will look into implementing the Loot's fix before next release.

 

This mod is excellent and is looking to get better. Controversially, despite other people's suggestions, I beg you to keep the one tiny station for the map :) I'm bored of mods where there's fire units on every corner, where every call gets a five second response time - vehicles barely activate lights and sirens to cross an intersection before stopping. I like the delay, the possibility of needing extra units because things take time. Just my £0.02, of course :D

 

The OC-D

 

Thanks! That's the effect I am going for. There will definitely only be one station, but I may adding a couple of additional units to it.

 

Oh okay thanks guys, by the way one small thing, on the map I see right under an FD icon but when I go there I only see a church, I think the station there is not finished yet?

 

That's from me taking way the second fire station in my map edit, there's not supposed to be a station there, but I just never got around to editing the mini-map to take it off.


hiqooAT.gif

EMT

Rescue Squad Member


#1113 MFDHoward

MFDHoward

    Lieutenant

  • Members
  • 72 posts

Posted 26 July 2014 - 10:25 PM


 

That's from me taking way the second fire station in my map edit, there's not supposed to be a station there, but I just never got around to editing the mini-map to take it off.

 

 

I ended up editing the map and fixing that for my version. Right now the only thing that I can get to work/change is vehicle speed and the calls keep constantly coming in and no matter how much I edit the file the calls come in like crazy. There is no down time...I end up getting pissed off and quiting lol


oHZArni.png

LOqEnGk.png

"People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf."


#1114 kwillis

kwillis

    Captain

  • Members
  • 160 posts
  • Gender:Male
  • Location:north carolina

Posted 27 July 2014 - 06:45 PM

Bama I have a question. I have reskinned this mod, so will the units that I have be in this update or will it be your original units?



#1115 willowfork fire capt

willowfork fire capt

    Senior Captain

  • Members
  • 276 posts
  • Gender:Male
  • Location:Texas,USA
  • Interests:Firefighting,E.M.S.,baseball,football,basketball,hunting,fishing,modding

Posted 27 July 2014 - 09:26 PM

bama i have a question will the engine have jaws of life and that kind of equipment or will you have to call CCFD for a rescue



#1116 bama1234

bama1234

    Battalion Chief

  • Member
  • 784 posts
  • Gender:Male
  • Location:United States
  • Interests:EM4 modding, graphic design, exploring the great outdoors, EMS & rescue

Posted 27 July 2014 - 10:26 PM

 

 

I ended up editing the map and fixing that for my version. Right now the only thing that I can get to work/change is vehicle speed and the calls keep constantly coming in and no matter how much I edit the file the calls come in like crazy. There is no down time...I end up getting pissed off and quiting lol

 

 

I know how you feel. Thankfully the new map's call volume will be a lot easier to handle.... most of the time.

 

bama i have a question will the engine have jaws of life and that kind of equipment or will you have to call CCFD for a rescue

 

One of the local units will have the jaws.

 

Bama I have a question. I have reskinned this mod, so will the units that I have be in this update or will it be your original units?

 

Not sure exactly what you mean


hiqooAT.gif

EMT

Rescue Squad Member


#1117 gunswat

gunswat

    Assistant Chief

  • Members
  • 2,213 posts
  • Gender:Male
  • Location:Scotland
  • Interests:Computer and console gaming,watching youtube and playing and testing emergency 4 mods mainly.

Posted 27 July 2014 - 10:47 PM

He is asking whether his reskinned units will work on the new release or will he have to do them again

#1118 jrff64

jrff64

    Lieutenant

  • Members
  • 43 posts
  • Gender:Male
  • Location:Pennsylvania, USA
  • Interests:Firefighting, sports

Posted 27 July 2014 - 11:34 PM

Bama, is your pov script finished yet and if it is can you post a video of it?



#1119 Fred03

Fred03

    District Chief

  • Members
  • 1,412 posts
  • Gender:Not Telling
  • Location:The path less traveled

Posted 27 July 2014 - 11:54 PM

It actually won't be that sophisticated. Instead of using the unit menu to send the city's fire trucks, you use it to call the volunteers onto the map, and tell them where you want them to go (to the station or the scene). Most of it is done manually by the player.

 

If you send the volunteers to the station they'll park in their spots, go inside, get geared up, and wait for you to assign them to a truck.

 

If you send them to the scene, they can do what they can until a truck arrives, or move in to assist if a truck is already on scene.

 

BMA has also given me a script that prevents you from moving vehicles that aren't occupied. So if you want to bring the city's fire trucks and ambulance to the scene, you'll have to send volunteers to the station to get them and drive them.

 

You can still call in units from the county fire department directly from off map, but it will take a while for them to get on-scene.

This is what he said earlier, not sure if you saw that or not.


Also Supporting: RCMP mod, Stillwater mod, Lampard mod, Ravenna sub-mod,  Rockport mod.

xnzgxu9.png

State & National Park enthusiast can help modders in park related issues.

My statements in no way respect the views of any agency I am or was formerly associated with.


#1120 bama1234

bama1234

    Battalion Chief

  • Member
  • 784 posts
  • Gender:Male
  • Location:United States
  • Interests:EM4 modding, graphic design, exploring the great outdoors, EMS & rescue

Posted 28 July 2014 - 12:17 AM

Bama, is your pov script finished yet and if it is can you post a video of it?

 

No it's not ready yet, the map is coming first.


hiqooAT.gif

EMT

Rescue Squad Member