-
Posts
190 -
Joined
-
Last visited
About Darren-NYPD
- Birthday 06/06/1989
Profile Information
-
Gender
Male
-
Location
Malta
-
Interests
Creating Scripts for movies (and movies :P) , Filming , Modding Emergency, & Police units
Recent Profile Visitors
Darren-NYPD's Achievements
-
Sirens Stuck - Keeps going while vehicle is not moving
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Well I checked multiple times, most times leading to game crash. I did it bit by bit and testing all the time.. seems to be working fine now. using the LAsiren script. Thanks for aiding me and giving me options to solve this matter. -
Sirens Stuck - Keeps going while vehicle is not moving
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Well first they were stuck and keeps going. Now im using lasiren script which is working fine but some units are not playing the siren sound while others do -
Sirens Stuck - Keeps going while vehicle is not moving
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Hi, sorry for the long post hehe.. well I tried using the LA mod Siren instead but then some units does not have sirens available.. example: in the case of ambulances I have everything named like the la mod. ambulance01.e4p etc... the only difference is that my folder is 01 Ambulance not 01 La Ambulance so all I needed to modify was the location of folder (removing LA). but after this ambulances are still without sirens. I also renamed the names of the sirens from the script to those in my mod. . -
Hi, I was using the NYCsiren for my personal mod, I separated some types of vehicles such as NEF from the other ones in it category ez: ITW etc so units assigned as NEF have different siren sound. I did this to the RW, MTW and STW. It is working fine but sometimes when I click on a unit to move somewhere the siren start and keeps on going even when the unit stops moving and there is now way I can turn it off except to send the unit home. Any Idea What might be wrong? This is the script: const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff"; const char EACTION_FINDPATH[] = "EActionFindPath"; const char EACTION_EXTINGUISH[] = "EActionExtinguish"; const char OBJ_INVIS[] = "mod:Prototypes/Objects/01 Equipment/invisible.e4p"; const char DUMMY_HASSIREN[] = "DummyHasSiren"; const char DUMMY_UPDATEPOS[] = "DummyUpdatePos"; const char DUMMY_FINDPATH[] = "DummyFindPath"; const char DUMMY_HOSESON[] = "DummyHosesAreOn"; const char DUMMY_RANDOMSPAWN[] = "DummyRandomSpawn"; const char DUMMY_RANDOMGOHOME[] = "DummyRandomGoHome"; const char NAME_DUMMYOBJECT[] = "HelpingObjekt_Hoppah"; const char PROTO_ENGINE01[] = "mod:Prototypes/Vehicles/02 Fire Department/engine01.e4p"; const char PROTO_ENGINE02[] = "mod:Prototypes/Vehicles/02 Fire Department/engine02.e4p"; const char PROTO_SQUAD01[] = "mod:Prototypes/Vehicles/02 Fire Department/squad61.e4p"; const char PROTO_LADDER01[] = "mod:Prototypes/Vehicles/02 Fire Department/ladder01.e4p"; const char PROTO_LADDER02[] = "mod:Prototypes/Vehicles/02 Fire Department/ladder02.e4p"; const char PROTO_HAZMAT01[] = "mod:Prototypes/Vehicles/02 Fire Department/hazmat01.e4p"; const char PROTO_HAZMAT02[] = "mod:Prototypes/Vehicles/02 Fire Department/hazmat02.e4p"; const char PROTO_RESCUE01[] = "mod:Prototypes/Vehicles/02 Fire Department/Rescue1.e4p"; const char PROTO_ESU01[] = "mod:Prototypes/Vehicles/02 Fire Department/i20.e4p"; const char PROTO_ESU02[] = "mod:Prototypes/Vehicles/02 Fire Department/cpdr.e4p"; const char PROTO_SUPT02[] = "mod:Prototypes/Vehicles/03 Police/supt2_body.e4p"; int DummyGroup = 23; object VcmdSiren : CommandScript { VcmdSiren() { SetIcon("sirenson"); SetCursor("sirens"); SetRestrictions(RESTRICT_SELFEXECUTE); SetPossibleCallers(ACTOR_VEHICLE); SetGroupID(DummyGroup); SetGroupLeader(true); } bool CheckPossible(GameObject *Caller) { if (!Caller->IsValid()) return false; if (Game::IsFreeplay() && Caller->HasCommand(DUMMY_RANDOMSPAWN)) return false; if (Caller->HasCommand(DUMMY_HASSIREN)) SetIcon("sirensoff"); else SetIcon("sirenson"); if(Caller->HasCommand(DUMMY_HOSESON)) return false; return true; } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { if (!Target->IsValid() || Target->GetID() != Caller->GetID()) return false; return true; } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Caller); if (Game::IsFreeplay() && v.HasCommand(DUMMY_RANDOMSPAWN)) return; if (Input::LShiftPressed() || Input::RShiftPressed()) // Play airhorn sound (and make it clear people away) { Vector CarPos = v.GetPosition(); if (StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_SQUAD01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_HAZMAT01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_HAZMAT02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_LADDER01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_LADDER02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_RESCUE01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_ESU01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_ESU02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_SUPT02) == 0) Audio::PlaySample3D("mod:Audio/Fx/sirens/supt.wav", CarPos); else Audio::PlaySample3D("mod:Audio/FX/Sirens/supt.wav", CarPos); float r[9]; v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]); GameObject deleteDummy = Game::CreateObject(OBJ_INVIS, "HornDummy"); GameObject halt = Game::CreateObject(OBJ_INVIS, "HornDummy_Halt"); if (halt.IsValid()) { halt.SetSelectable(false); halt.SetPosition(CarPos); halt.SetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]); halt.UpdatePlacement(); halt.PushActionHalt(ACTION_NEWLIST, 500, HALT_PERSONS); if (deleteDummy.IsValid()) { deleteDummy.PushActionWait(ACTION_NEWLIST, 2.0f); deleteDummy.PushActionExecuteCommand(ACTION_APPEND, "DummyHorn", &halt, 0, false); } } return; } if (!v.HasCommand(DUMMY_HASSIREN)) { if (!v.IsBlueLightEnabled()) { v.EnableBlueLights(true); } int soundID; Vector CarPos = v.GetPosition(); if (StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_SQUAD01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_HAZMAT01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_HAZMAT02) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_RESCUE01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_LADDER01) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_LADDER02) == 0) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren01.wav", CarPos, true); else soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren02.wav", CarPos, true); } else if (v.GetVehicleType() == VT_AMBULANCE_RTW || v.GetVehicleType() == VT_AMBULANCE_ITW) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/ambulance_01.wav", CarPos, true); } else if (v.GetVehicleType() == VT_AMBULANCE_NEF) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fire.wav", CarPos, true); } else if (v.GetVehicleType() == VT_POLICE_SW || v.GetVehicleType() == VT_POLICE_WAW || v.GetVehicleType() == VT_POLICE_GTW) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/police_02.wav", CarPos, true); } else if (v.GetVehicleType() == VT_POLICE_MTW) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/police_01.wav", CarPos, true); } else if (v.GetVehicleType() == VT_POLICE_STW) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/supt.wav", CarPos, true); } else if (v.GetVehicleType() == VT_FIREFIGHTERS_DLK || v.GetVehicleType() == VT_FIREFIGHTERS_GTF || v.GetVehicleType() == VT_FIREFIGHTERS_TLF || v.GetVehicleType() == VT_FIREFIGHTERS_DEKONP || v.GetVehicleType() == VT_FIREFIGHTERS_LPF || v.GetVehicleType() == VT_FIREFIGHTERS_TFMB) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren01.wav", CarPos, true); } else if (v.GetVehicleType() == VT_FIREFIGHTERS_RW) { int random = Math::rand()%2; if (random == 0) soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fire.wav", CarPos, true); } int CarID = v.GetID(); GameObject mDummy = Game::CreateObject("mod:Prototypes/Objects/Misc/empty.e4p", NAME_DUMMYOBJECT); v.AssignCommand(DUMMY_HASSIREN); v.SetUserData(soundID); mDummy.Hide(); mDummy.SetUserData(soundID); mDummy.AttachSound(soundID); mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, &v, 0, false); return; } if (v.HasCommand(DUMMY_HASSIREN)) { if (childID == 1) { v.EnableBlueLights(false); } //int CarID = v.GetID(); int CarID = v.GetUserData(); int ref = v.GetUserData(); v.UnattachSound(ref); Audio::StopSample(ref); int mSirTest; GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT); for(int i=0; i<list.GetNumObjects(); i++) { GameObject *obj = list.GetObject(i); if (obj->GetUserData() == CarID) { mSirTest = i; } } GameObject *obj = list.GetObject(mSirTest); obj->PushActionDeleteOwner(ACTION_NEWLIST); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); return; } } }; object DummyUpdatePos : CommandScript { DummyUpdatePos() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Target); GameObject mDummy(Caller); if (v.HasCommand("VcmdFollow") && v.HasCommand("DummyFollow")) { v.Destroy(); return; } if (v.IsDestroyed() || !v.IsValid()) { int ref = mDummy.GetUserData(); mDummy.UnattachSound(ref); Audio::StopSample(ref); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); mDummy.PushActionDeleteOwner(ACTION_NEWLIST); } else { if (v.IsCurrentAction(EACTION_FINDPATH)) { if (!v.HasCommand(DUMMY_FINDPATH)) { v.AssignCommand(DUMMY_FINDPATH); } } Vector vPos = v.GetPosition(); mDummy.SetPosition(vPos); mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, Target, childID, false); } if (v.HasCommand(DUMMY_FINDPATH)) { if (!v.IsCurrentAction(EACTION_FINDPATH) && v.HasCommand(CMD_AUTOSIREN_OFF) && (v.GetNumActions() == 0 || v.IsCurrentAction(EACTION_EXTINGUISH))) { if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); if (v.HasCommand(DUMMY_FINDPATH)) v.RemoveCommand(DUMMY_FINDPATH); //int CarID = v.GetID(); int CarID = v.GetUserData(); int ref = v.GetUserData(); v.UnattachSound(ref); Audio::StopSample(ref); GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT); for(int i = 0; i < list.GetNumObjects(); i++) { int mSirTest; GameObject *obj = list.GetObject(i); if (obj->GetUserData() == CarID) { mSirTest = i; GameObject *obj = list.GetObject(mSirTest); obj->PushActionDeleteOwner(ACTION_NEWLIST); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); if (v.HasCommand(DUMMY_FINDPATH)) v.RemoveCommand(DUMMY_FINDPATH); } } } } } }; object DummyDisableSiren : CommandScript { DummyDisableSiren() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Caller); if (childID == 1) { v.EnableBlueLights(false); } //int CarID = v.GetID(); int CarID = v.GetUserData(); int ref = v.GetUserData(); v.UnattachSound(ref); Audio::StopSample(ref); GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT); for(int i = 0; i < list.GetNumObjects(); i++) { GameObject *obj = list.GetObject(i); if (obj->GetUserData() == CarID) { int mSirTest = i; GameObject *obj = list.GetObject(mSirTest); obj->PushActionDeleteOwner(ACTION_NEWLIST); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); if (v.HasCommand(DUMMY_FINDPATH)) v.RemoveCommand(DUMMY_FINDPATH); } } } }; object DummyFindPath : CommandScript { DummyFindPath() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { return false; } void PushActions(GameObject *Caller, Actor *Target, int childID) { } }; object DummyHasSiren : CommandScript { DummyHasSiren() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { return false; } void PushActions(GameObject *Caller, Actor *Target, int childID) { } }; object DummyHorn : CommandScript { DummyHorn() { } bool CheckPossible(GameObject *Caller) { } void PushActions(GameObject *Caller, Actor *Target, int childID) { GameObject t(Target); t.PushActionDeleteOwner(ACTION_NEWLIST); Caller->PushActionDeleteOwner(ACTION_NEWLIST); } };
-
Hi, Its been a while since I was mudding, today I started to continue something but when I came to open e4p files in notepad and wordpad I was having a space between each letter of each word in the whole file, Anybody knows why? thanks
-
Game Causing error after parkings were added,
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
ahhhh....... Worked great now... Thanks a lot -
Game Causing error after parkings were added,
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Sorry, I didn't understand :(... anything I should fix from those parts? -
Hi, I wanted to add new Police parking bays but In a different place on the map due to the fact of having another small police station. I did search the forum numerous times and there were some topics which served a bit of a guide, (doing what was written, still got errors). I modified the GotoPolicestation.script in the se parts Added this: const char VO_POLICE09[] = "police_park09"; added 19 here: GameObjectList l1, l2, l3, l4, l5, l6, l7, l8, 19; Copied this from an existent and modified it: Game::CollectObstaclesOnVirtualObject(VO_POLICE09, l9, ACTOR_VEHICLE); if(l9.GetNumObjects() == 0) { list1 = Game::GetActors(VO_POLICE09); list2 = Game::GetActors(VO_POLICE_FP2); ParkinglotFound = true; } } if (!ParkinglotFound) { Added this: else if (v.IsCollidingWithVirtualObject(VO_POLICE09)) return; When I send units to Police Station the game pops up and error stating that ther is a problem in line... gameobjects 19 something like that? (I also did the parking bay (virtual object) in map) police_park09 RE: Parking direction that is not a problem I know what to do hehe.
-
-
To edit the texture you should rename the dds (textrure file) to v3o and unpack it with editor. Then rename back to v3o and you can open it in photoshop (using nvidia dds plugin). In the downloads section there is also a tool than unpacks/packd file but i am not sure how it works.. Haven't use it yet.
-
Animating new spotlight (like rw spotlight super)
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
I managed to rename them exevtally (usong zmod 3) like those seen ibt the editor but still not working :/ -
Animating new spotlight (like rw spotlight super)
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
I don't have it named in the v3o file.. because the animations are in a vmo file -
Animating new spotlight (like rw spotlight super)
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Btw i dont know if it has something to do but since its a vehicle i cannot tick the same traits as the rw spotlight super ( at the bottom where there is Complete: x physics x children x lights etc....) -
Animating new spotlight (like rw spotlight super)
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
Yes thats what i been wanting to do.. So in this case the bindpose animation should be removed? And only lights on and lights off stays in the vmo file? -
Animating new spotlight (like rw spotlight super)
Darren-NYPD replied to Darren-NYPD's topic in Modding Related Support
They look the same, The only difference is that mine don't have the first letter in caps) (My exta one named bindpose) that is empty, cause i worked step by step like the tutorial in the video