Jump to content

Ghost Graphic Designs

European Modding
  • Posts

    888
  • Joined

  • Days Won

    4

Posts posted by Ghost Graphic Designs

  1. I'm not exactly sure what's gonig on in the script after a quick look through. Comments being in German don't help :tongue2:

    Why use vectors to position things? Do you need fine grain control over their direction?

     

    Why not use virtual objects?

     

    VO_1 (Placed directly in front of parking spot)

    VO_2 (The actual parking spot)

    VO_3 (Placed in the direction you want the vehicle to point when its done parking relative to the position of VO_2. In most cases this VO can be omitted and VO_1 can be used)

     

    1. Send vehicle to VO_1's location

    2. Make vehicle face VO_2

    3. Send Vehicle to VO_2's location

    4. Make Vehicle Turn to face VO_3 (or VO_2 depending)

     

    I haven't really played with vectors and doing things manually that way. I find the VO method easier.

    That's the part of the LA script that I'm trying to replace in this script. :)

     

    Instead of making the vehicle move to their VO and turn to a specific vector, I was looking for a script combo that made the vehicle move to the VO, turn to another VO and did all of the other things in the original script (delete personnel, close the gates, disable all of the lights and be set as non-commandable untill it's called via-dispatcher script).

     

    Either way, I think that I might have the solution. Instead of making the vehicle move to the VO and (not) facing the vector, I'll try to replace that part with a line for the vehicle to execute the LaToFireStation.script. Dunno if this works, but it's worth a shot.

     

     

     

    EDIT: doesn't work, FML.

  2. Hi again. :)

     

    So, I have this parking script and, apparentely the vehicles don't follow the coordinates/vectors given by the script [anfahrpos = Vector (-300,0,0);

    wendepos  = Vector (-600,0,0);] and the units park how they want (both park well sometimes, others not).

     

    I don't know the reason why the vectors aren't working, so I'm asking the support/advice of someone who knows what is causing this problem and/or how can I make the vehicles turn to a specific VO (like the Harbor City parking script, for example). I can't use Harbor City's script, because the callout system is different and it has to be this specific parking script.

     

    Anyways, here's the script:

    //////////////////////////////////////////////////////////////////////////////////////////////////////////// Freeplay GoHome - Script v1.3									                                    //// ********************************************								                            ////													                                                    ////	1.0| VCmdFPGoHome										                                            ////	   |												                                                ////	2.0| DUMMYFPGoHome										                                            ////	   | |												                                                ////	   | |- Zu parkende Einheiten sind durch Kommentarzeilen (//) in Bloecke unterteilt. 		        ////	   | |  Jeder von ihnen kann entfernt werden, ohne dass das Skript unbrauchbar wird.		        ////	   | |												                                                ////	   | '- Die mit einem Stern (*) markierten Zeilen muessen angepasst werden.			                ////	   |    Mehrere Sterne bedeuten lediglich mehrere Anpassungen in einer Zeile.			            ////	   |    Dabei gilt: Zwei Sterne entsprechen zwei Anpassungen, und so weiter.			            ////	   |												                                                ////	2.1| DUMMYFPGoHomePersonal									                                        ////	     |												                                                ////	     |- Ausgangspunkte fuer das Fahrzeug-Personal sind durch Kommentarzeilen (//) in Bloecke	    ////	     |  unterteilt. Jeder von ihnen kann entfernt werden, ohne dass das Skript unbrauchbar          ////	     |  wird.											                                            ////	     |												                                                ////	     '- Die mit einem Stern (*) markierten Zeilen muessen angepasst werden.			                ////	        Mehrere Sterne bedeuten lediglich mehrere Anpassungen in einer Zeile.			            ////	        Dabei gilt: Zwei Sterne entsprechen zwei Anpassungen, und so weiter.			            ////													                                                    //// _____________________										                                        //// a-rescue und Magicman mŸssen in der Readme genannt werden & der Kommentar muss so bleiben.		    //// Sonst freie Nutzung fŸr alle.									                                    ////////////////////////////////////////////////////////////////////////////////////////////////////////////const char IMG_ICON[]           = "parken";  // Name des Iconsconst char IMG_CURSOR[]         = "parken";  // Name des Cursorsconst char DUMMYGOHOME_V[]      = "DUMMYFPGoHome2";const char DUMMYGOHOME_P[]      = "DUMMYFPGoHomePersonal2";const char COMMANDABLE_TRUE[]   = "DUMMYSetCommandableTrue";const char COMMANDABLE_FALSE[]  = "DUMMYSetCommandableFalse";const char FREEFORALERT_TRUE[]  = "DUMMYFPSetFreeForAlertTrue";const char FREEFORALERT_FALSE[] = "DUMMYFPSetFreeForAlertFalse";const char FREEFORALERT[]       = "DUMMYFPIsFreeForAlert";const char INBASE_TRUE[]        = "DUMMYFPSetInBaseTrue";const char INBASE_FALSE[]       = "DUMMYFPSetInBaseFalse";const char INBASE[]             = "DUMMYFPIsInBase";int DummyGroup                  = "90";// 1.0object VCmdFPGoHome2 : CommandScript{ 	VCmdFPGoHome2()	{		SetIcon(IMG_ICON);		SetCursor(IMG_CURSOR);                SetValidTargets(ACTOR_VEHICLE);		SetRestrictions(RESTRICT_SELFEXECUTE);		SetPossibleCallers(ACTOR_VEHICLE);		SetGroupID(DummyGroup);	}		bool CheckGroupVisibility(GameObject *Caller)	{		/*Vehicle v(Caller);		PersonList pl = v.GetPassengers();		PersonList tl = v.GetTransports();				if (pl.GetNumPersons() > 0 && tl.GetNumPersons() == 0)			return true;					return false;*/				return true;	}	bool CheckPossible(GameObject *Caller)	{		if (!Caller->IsValid() || Caller->GetType() != ACTOR_VEHICLE)			return false;					Vehicle v(Caller);		PersonList pl = v.GetPassengers();		PersonList tl = v.GetTransports();				if (v.IsValid() && !v.IsDestroyed() /*&& pl.GetNumPersons() > 0*/ && tl.GetNumPersons() == 0)		{			return true;		}		return false;	}		bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID)	{		if (!Caller->IsValid() || !Target->IsValid() || Caller->GetID() != Target->GetID())			return false;		Vehicle v(Caller);		PersonList pl = v.GetPassengers();		PersonList tl = v.GetTransports();						if (v.IsValid() && !v.IsDestroyed() /*&& pl.GetNumPersons() > 0*/ && tl.GetNumPersons() == 0)		{			return true;		}		return false;	}	void PushActions(GameObject *Caller, Actor *Target, int childID)	{		Vehicle v(Caller);				if (v.IsBlueLightEnabled())		{			v.EnableBlueLights(false);		}				if (v.HasCommand("DUMMYHasSiren"))		{			Game::ExecuteCommand("DUMMYDisableSiren", &v, &v);		}				if (v.HasCommand("DUMMYHasAutoSiren"))		{			Game::ExecuteCommand("VCmdAutoSirenOff", &v, &v);		}				v.PushActionWait(ACTION_NEWLIST, 0.1);        v.PushActionExecuteCommand(ACTION_APPEND, DUMMYGOHOME_V , &v, 1, true);	}};// 2.0object DUMMYFPGoHome2 : CommandScript{ 	DUMMYFPGoHome2()	{		SetGroupID(DummyGroup);	}	bool CheckPossible(GameObject *Caller)	{		return true;	}		bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID)	{		return true;	}	void PushActions(GameObject *Caller, Actor *Target, int childID)	{			Vehicle v(Caller);		ActorList al;		Actor parkplatz;		Vector parkpos;		Vector anfahrpos;		Vector wendepos;		PersonList pl;/////// VUCI32 /////////////////////////////////////////////////////////////////////////////////////////////////////////////		if (v.HasName("VUCI32"))				// Fahrzeugname		{			al=Game::GetActors("VUCI32_park");		// Name des virtuellen Objektes wo das Fahrzeug parken soll			anfahrpos = Vector (-300,0,0);			wendepos  = Vector (-600,0,0);		}		else		/////// VLCI31 /////////////////////////////////////////////////////////////////////////////////////////////////////////////		if (v.HasName("VLCI31"))				// Fahrzeugname		{			al=Game::GetActors("VLCI31_park");		// Name des virtuellen Objektes wo das Fahrzeug parken soll			anfahrpos = Vector (-300,0,0);			wendepos  = Vector (-600,0,0);		}		else//Weitere Fahrzeugblšcke hier einfŸgen		{			Mission::PlayHint("Fuer dieses Fahrzeug konnte kein Parkplatz gefunden werden! Code 1");			return;		}		if(al.GetNumActors() > 0)		{			parkplatz = *al.GetActor(0);			parkpos   = parkplatz.GetPosition();		}		else		{			Mission::PlayHint("Fuer dieses Fahrzeug konnte kein Parkplatz gefunden werden! Code 2");			return;		}				bool vready = true;		if (v.GetNumPassengers() == 0)		{			vready = false;		}		pl = v.GetPassengers();		for(int i=0; i < pl.GetNumPersons(); i++)		{			if (pl.GetPerson(i)->GetLife() < pl.GetPerson(i)->GetMaxLife())			{				vready = false;			}		}		if (vready)		{			Game::ExecuteCommand(FREEFORALERT_TRUE, &v, &v);		}		Game::FindFreePosition(&v, parkpos);		v.PushActionMove(ACTION_NEWLIST, parkpos+anfahrpos);		v.PushActionTurnTo(ACTION_APPEND, parkpos+wendepos);		v.PushActionMove(ACTION_APPEND, parkpos);		v.PushActionExecuteCommand(ACTION_APPEND, INBASE_TRUE, &v, 1, true);		v.PushActionExecuteCommand(ACTION_APPEND, COMMANDABLE_FALSE, &v, 1, true);		v.PushActionExecuteCommand(ACTION_APPEND, DUMMYGOHOME_P, &v, 1, true);        v.PushActionExecuteCommand(ACTION_APPEND, "CloseGate", Caller, 1, true);	}};// 2.1object DUMMYFPGoHomePersonal2 : CommandScript{ 	DUMMYFPGoHomePersonal2()	{		SetGroupID(DummyGroup);	}	bool CheckPossible(GameObject *Caller)	{		return true;	}		bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID)	{		return true;	}	void PushActions(GameObject *Caller, Actor *Target, int childID)	{			Vehicle v(Caller);			PersonList pl = v.GetPassengers();			for(int i=0; i < pl.GetNumPersons(); i++)			{				Person p = pl.GetPerson(i);				v.RemovePassenger(&p);				p.PushActionDeleteOwner(ACTION_NEWLIST);			}	}};

    In this case, VLCI 31 and VUCI 32 are the only vehicles that I have at this moment and the rest of script works fine (vehicles disable lights, goes to the VO, gates are closed and the personnel gets out and is deleted).

     

    Thanks in advance. :)

  3. Hi.

     

    Just wondering if there's any way of making a freeplay script that makes all of the commandable vehicles on map automatically disable their bluelights when the freeplay finishes loading?

     

    For example, incorporating this part ( v.EnableBlueLights(false); ) in the freeplay script without having to do it unit by unit.

     

    Thanks in advance. :)

  4. Unpack your V3O files and put in the new name of the texture. F.E.: when you open the V3O files (with your notepad) you'll eventually see something like coroners_van.dds. Edit the "dds" and replace it by "png". Do this in all of the the coroners van models (doors and wheels) and it should probably work.

     

    Here's a more detailed tutorial: http://forum.emergency-planet.com/tutorials/article/33-avoiding-the-white-model-of-death/

  5. Good question and i have no good answer...

    I have no clue why they send the ladder, maybe to have more hands? I must be honest and say i don't know :)

    Btw, i counted the ambulances 22 ambulances(13 from Copenhagen Firebrigade, 3 from Falck and 6 from Frederiksberg Firebrigade)and 3 emergency doctors :)

     

    They probably send it to block of the road and use it as a barrier due to the size of the vehicle.

    That's what they doing here in Sweden, i guess it doesn't differ very much in Denmark. :)

    Makes sense... :)

     

    Thanks for the answers and keep the updates coming, Bma! :D

  6. I am sorry for that,and this vehicle was already deleted at June. Maybe my partner lied to me,he said he got all of the permission from you,London mod and others, sorry again. I will be more careful next time.

    No problem. Just warn him about the permissions and credits, it may not look like but it's a big deal over here. ^^

  7. Just noticed something:

    1519755_1434973200083424_428308377623906

    1512739_687250841314513_2015057949_n.png

    You've used one of the custom-made models in the Portuguese Modification without my permission (if anyone doubts this, I can compare both of the models in Zmod2 and they'll be the same). I can surely say this because of the "Jacinto Lda." logo on the front of the truck that you forgot to remove and the fact that there's no handles on the left side of the equipment doors in both models. Next time send me a PM asking for the model and the respective permission and please put my name on the credits/readme (and also include ERS Berlin+Geronimo EKIA for the original parts). Adding some childs and a new lightbar to the model doesn't make it 100% yours, please be more careful next time.

  8. Here in Lisbon we have a fully professional fire department that's the oldest in Portugal, known as R.S.B. Lisboa. Known for being the best FD in Portugal, for their highly trained firefighters and for record response times (in our contry).

     

    They have 5 different battalions (companies, actually) that are spread around the city. Each one of those battalions has two fire stations (a bigger station [known as Battalion HQ] and a smaller station) and all of them have atleast 1 urban pumper, 1 light pumper (with command functions, because it transports the watch manager of the station), 1 aerial ladder and one support vehicle (that's used for lockouts and to patrol). 

     

    Because of the city's diversity, each battalion has vehicles according to their needs:

    • Battalion 1 is the oldest in the city and it's the HQ of the whole FD, so it has lots of administrative and command vehicles (apart from the other "base" vehicles).
    • Battalion 2 operates in a suburban area, so it has a brush truck in the HQ.
    • Battalion 3 has the greatest operacional area, so the HQ has a water tanker and the station has two ambulances (operated by the FD) and an extra engine.
    • Battalion 4 operates in an older area of the city, but they don't have any extra vehicles. Only the HQ of this battalion has two INEM (national EMS) ambulances based on their station, that are operated by the INEM itself).
    • Battalion 5 is known as the Special Operations Battalion. The HQ has about 2 extra fire engines, 1 foam tender, 2 water tenders, 1 tanker, 1 HAZMAT truck, 1 USAR truck and some special vehicles like tow trucks, excavators and a flatbed van. The station houses regular units and 1 or 2 INEM ambulances that use the station as a base for their vehicles.
    • Airport Division that's basically on the airport itself and doesn't make part of battalion. More like a different branch.

    We also have about 7 volunteer fire departments that serve as logistical support to RSB (in big fires they supply water to the fire engines and work as a backup) and mostly respond to medical emergencies.

     

    BAT 1 HQ:rbscml.jpg

    BAT 1 Station:19628696.jpg

    BAT 2 HQ:51106262.jpg

    BAT 2 Station:51063758.jpg

    BAT 3 HQ:18352910.jpg

    BAT 3 Station:17272354.jpg

    BAT 4 HQ:27358018.jpg

    BAT 4 Station:19421408.jpg

    SOB HQ:lxi-2259-01.jpg

    SOB Station:41829065.jpg

     

    BTW: the newest RSB pumper is in my signature. It's the one from BAT 3 HQ. BAT 1 and SOB also got the same vehicle. :)

  9. Yes I know but I'm not going to be having messages telling me to hurry up which normally happens I needed to narrow it down as those two had the most votes

    Congratulations to ghost graphic designs who is Junes winner :D

    Yay! :D

     

    Here's mine for July:

    GM1K358.png

    vz44chP.png

    r3F5kOY.png

    jQj5TpE.png

    My first ever german skin. A Fire Dept. ambulance from the fictional Bergen Intl. Airport. :)

  10. Telling me a people their don't respect the authors.

     

    Quatscht keine Blasen Kinder!

     

    The different between both is the bad copy/ the try to layed on the other, some to say "it's my own"!

     

    Look: do what you want. I won't be replying to you because there's no need to try to talk to someone who's immature to the point of swearing in their own language and insulting people who respect them.

     

    Have fun with the admins.

     

     

    BTW: to the rest of you guys and especially to bma, sorry about the spam but I really couldn't just stand here and watch. It won't happen again.

×
×
  • Create New...