timmiej93 Posted June 23, 2010 Author Report Share Posted June 23, 2010 Yeah i allready figured out that those needed to bee different numbers.but now i've changed the numbers all to l4, but it still doens't work maybe a different error?? Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 24, 2010 Report Share Posted June 24, 2010 You only have the HES listed once. Look down to object DummyCheckParked : CommandScript and look at the units under there. You need to put the HES in that section to. Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 24, 2010 Author Report Share Posted June 24, 2010 I checked what you said, and it actually was there, BUT there was the same problem with L#.now i fixed that, but it still doesnt work I'll ad my scripts again with all the edits.//******************************************************************************************// #Version 1.4#//// Includes: To fire station command.//// - VcmdToFireStation//// Script by Hoppah// // Usage of this script in other mods is NOT allowed without permission of Hoppah////******************************************************************************************const char CMD_SIREN[] = "VcmdSiren";const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff";const char CMD_WARNINGLIGHTS[] = "VcmdWarningLightsOn";const char DUMMY_WARNINGLIGHTS[] = "DummyHasWarningLights";const char CMD_FLOODLIGHTS_OFF[] = "VcmdFloodLightsOff";const char CMD_FLOODLIGHTS_ON[] = "VcmdFloodLightsOn";const char CMD_GETTILLER[] = "VcmdGetTiller";const char CMD_FLASHINGLIGHTS[] = "VcmdFlashingLights";const char CMD_GOHOME[] = "GoHome";const char CMD_TOHOSPITAL[] = "VcmdToHospital";const char CMD_TOFIRESTATION[] = "VcmdToFireStation";const char CMD_PATROL[] = "VcmdPatrol";const char CMD_STANDBY_ON[] = "VcmdStandbyOn";const char CMD_STANDBY_OFF[] = "VcmdStandbyOff";const char CMD_GETTILLER[] = "VcmdGetTiller";const char DUMMY_TILLERGOHOME[] = "DummyTillerGoHome";const char DUMMY_DISABLE[] = "DummyDisableSiren";const char DUMMY_HASSIREN[] = "DummyHasSiren";const char DUMMY_PATROL[] = "DummyPatrol";const char DUMMY_GATES[] = "DummyGates";const char DUMMY_FIRESTATION[] = "DummyAtFireStation";const char DUMMY_CHECKPARKED[] = "DummyCheckParked";const char DUMMY_ISTRAILED[] = "DummyIsTrailed";const char DUMMY_VCALLED[] = "DummyVehicleCalled";const char DUMMY_HOSESON[] = "DummyHosesAreOn";const char DUMMY_TILLER[] = "DummyTiller";const char OBJ_BATTALION[] = "mod:Prototypes/Vehicles/02 LA Fire Department/battalion_chief_vehicle.e4p";const char OBJ_ENGINE01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine1.e4p";const char OBJ_ENGINE02[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine2.e4p";const char OBJ_USAR[] = "mod:Prototypes/Vehicles/02 LA Fire Department/usar_squad.e4p";const char OBJ_LADDER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/aerial_ladder.e4p";const char OBJ_TILLER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/tiller_cabin.e4p";const char OBJ_BATTALION[] = "mod:Prototypes/Vehicles/02 LA Fire Department/battalion_chief_vehicle.e4p";const char OBJ_TENDER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/water_tender.e4p";const char OBJ_AMBULANCE01[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance01.e4p";const char OBJ_AMBULANCE02[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance02.e4p";const char OBJ_AMBULANCE03[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance03.e4p";const char OBJ_AMBULANCE04[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance04.e4p";const char OBJ_FOREST[] = "mod:Prototypes/Vehicles/01 LA Fire Department/usfs_engine.e4p";const char OBJ_HES[] = "mod:Prototypes/Vehicles/01 LA Fire Department/heavy_equipment_squad.e4p";const char VO_SPAWN01[] = "fs_spawn01";const char VO_SPAWN02[] = "fs_spawn02";const char VO_SPAWN03[] = "fs_spawn03";const char VO_FP1[] = "fs_gate01";const char VO_FP2[] = "fs_gate02";const char VO_FP3[] = "fs_gate03";const char VO_FP4[] = "fs_gate04";const char VO_FP5[] = "fs_gate05";const char VO_FP6[] = "fs_gate06";const char VO_FP7[] = "fs_gate07";const char VO_FP8[] = "fs_gate08";const char VO_TURNTO1[] = "fs_vogate01a";const char VO_TURNTO2[] = "fs_vogate02a";const char VO_TURNTO3[] = "fs_vogate03a";const char VO_TURNTO4[] = "fs_vogate04a";const char VO_TURNTO5[] = "fs_vogate05a";const char VO_TURNTO6[] = "fs_vogate06a";const char VO_TURNTO7[] = "fs_vogate07a";const char VO_TURNTO8[] = "fs_vogate08a";const char VO_AMBULANCE01[] = "fs_ambulance01";const char VO_AMBULANCE02[] = "fs_ambulance02";const char VO_AMBULANCE03[] = "fs_ambulance03";const char VO_AMBULANCE04[] = "fs_ambulance04";const char VO_ENGINE01[] = "fs_engine01";const char VO_ENGINE02[] = "fs_engine02";const char VO_ENGINE03[] = "fs_engine03";const char VO_ENGINE04[] = "fs_engine04";const char VO_ENGINE05[] = "fs_engine05";const char VO_BATTALION[] = "fs_battalion";const char VO_BATTALION2[] = "fs_battalion2";const char VO_USAR[] = "fs_usar";const char VO_LADDER[] = "fs_ladder";const char VO_HAZMAT[] = "fs_hazmat";const char VO_SQUAD01[] = "fs_squad01";const char VO_SQUAD02[] = "fs_squad02";const char VO_FOREST[] = "fs_extra01a";const char VO_HES[] = "fs_extra02a";const char VO_EXTRA_BOTH[] = "fs_extra_both";const char SND_TOSTATION[] = "mod:Audio/FX/radio/1019.wav";const char HINT_NOTVALID[] = "This vehicle doesn't belong in the fire station!";const char HINT_NOSPACE[] = "No space at the fire station, vehicle returns to base!";const char HINT_NOSPACE_AMBULANCE[] = "No space at the fire station, vehicle starts a patrol!";const char HINT_TRANSPORTS[] = "The ambulance has transports, it will go to the hospital first!";const char NAME_CONTROLPANEL[] = "fire_station_controlpanel";const char NAME_CONTROLPANEL2[] = "fire_station_controlpanel2";int DummyGroup = 32;object VcmdToFireStation : CommandScript{ VcmdToFireStation() { SetCursor("tofirestation"); SetIcon("tofirestation"); SetGroupID(DummyGroup); SetGroupLeader(true); SetRestrictions(RESTRICT_SELFEXECUTE); } bool CheckPossible(GameObject *Caller) { if (!Caller->IsValid()) return false; if (!Game::IsFreeplay()) return false; Vehicle v(Caller); if (v.IsCollidingWithVirtualObject(VO_SQUAD01) || v.IsCollidingWithVirtualObject(VO_SQUAD02) || v.IsCollidingWithVirtualObject(VO_BATTALION) || (v.HasCommand(DUMMY_ISTRAILED) && !v.HasCommand(CMD_GETTILLER)) || v.HasCommand(DUMMY_HOSESON) || v.IsInstalled()) return false; if (!v.HasCommand("MoveTo")) return false; if (v.HasCommand(CMD_FLOODLIGHTS_OFF) && (StrCompare(v.GetPrototypeFileName(), OBJ_TENDER) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_USAR) == 0)) return false; return true; } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { if (!Caller->IsValid() || !Target->IsValid() || (Caller->GetID() != Target->GetID())) return false; return true; } void PushActions(GameObject *Caller, Actor *Target, int ChildID) { Vector Pos = Caller->GetPosition(); Vehicle v(Caller); if (v.GetVehicleType() == VT_AMBULANCE_RTW && v.GetNumTransported() > 0) { v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOHOSPITAL, Caller, 0, false); Mission::PlayHint(HINT_TRANSPORTS); return; } if (v.IsBlueLightEnabled()) Game::ExecuteCommand(CMD_FLASHINGLIGHTS, &v, &v); if (v.HasCommand(DUMMY_TILLERGOHOME)) v.RemoveCommand(DUMMY_TILLERGOHOME); if (v.HasCommand(CMD_STANDBY_OFF)) { v.RemoveCommand(CMD_STANDBY_OFF); v.AssignCommand(CMD_STANDBY_ON); } if (v.HasCommand(DUMMY_WARNINGLIGHTS)) { v.EnableBlinker(BLT_NONE); v.RemoveCommand(DUMMY_WARNINGLIGHTS); v.AssignCommand(CMD_WARNINGLIGHTS); } if (v.HasCommand(CMD_FLOODLIGHTS_OFF)) { v.EnableSpecialLights(false); v.RemoveCommand(CMD_FLOODLIGHTS_OFF); v.AssignCommand(CMD_FLOODLIGHTS_ON); } if (v.HasObjectPath(NULL)) Game::ExecuteCommand(DUMMY_PATROL, &v, &v); if (v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF)) Game::ExecuteCommand(DUMMY_DISABLE, &v, &v); if(StrCompare(v.GetPrototypeFileName(), OBJ_BATTALION) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_BATTALION, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_BATTALION2); ActorList l2 = Game::GetActors(VO_BATTALION); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_USAR) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_USAR, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_FP2); ActorList l2 = Game::GetActors(VO_TURNTO2); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_LADDER) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_TILLER) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_LADDER, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); Game::ExecuteCommand(CMD_GOHOME, &v, &v); return; } else { ActorList l1 = Game::GetActors(VO_FP3); ActorList l2 = Game::GetActors(VO_TURNTO3); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_TENDER) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_HAZMAT, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_FP6); ActorList l2 = Game::GetActors(VO_TURNTO6); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOREST) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_FOREST, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_FOREST); ActorList l2 = Game::GetActors(VO_EXTRA_BOTH); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_HES) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_HES, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_HES); ActorList l2 = Game::GetActors(VO_EXTRA_BOTH); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE02) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE03) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE04) == 0) { bool Possible = false; GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE01, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() == 0 && !Possible) Possible = true; GameObjectList l5; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE02, l5, ACTOR_VEHICLE); if(l5.GetNumObjects() == 0 && !Possible) Possible = true; GameObjectList l6; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE03, l6, ACTOR_VEHICLE); if(l6.GetNumObjects() == 0 && !Possible) Possible = true; if (Possible) { ActorList l1 = Game::GetActors(VO_FP1); ActorList l2 = Game::GetActors(VO_TURNTO1); } else { Mission::PlayHint(HINT_NOSPACE_AMBULANCE); v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false); return; } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE01) == 0) { bool Possible = false; GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE04, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() == 0 && !Possible) Possible = true; if (Possible) { ActorList l1 = Game::GetActors(VO_FP8); ActorList l2 = Game::GetActors(VO_TURNTO8); } else { Mission::PlayHint(HINT_NOSPACE_AMBULANCE); v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false); return; } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE01) == 0) { GameObjectList cpl1 = Game::GetGameObjects(NAME_CONTROLPANEL); if(cpl1.GetNumObjects() > 0) GameObject cp1 = cpl1.GetObject(0); GameObjectList cpl2 = Game::GetGameObjects(NAME_CONTROLPANEL2); if(cpl2.GetNumObjects() > 0) GameObject cp2 = cpl2.GetObject(0); bool FS1Closer = false; bool FS2Closer = false; if (Math::dist(Pos.x, Pos.y, cp1.GetPosition().x, cp1.GetPosition().y) > Math::dist(Pos.x, Pos.y, cp2.GetPosition().x, cp2.GetPosition().y)) FS2Closer = true; else FS1Closer = true; bool FS1Possible = false; bool FS2Possible = false; GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_ENGINE01, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() == 0 && !FS1Possible) FS1Possible = true; GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE03, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() == 0 && !FS1Possible) FS1Possible = true; GameObjectList l5; Game::CollectObstaclesOnVirtualObject(VO_ENGINE05, l5, ACTOR_VEHICLE); if(l5.GetNumObjects() == 0 && !FS2Possible) FS2Possible = true; if (!FS1Possible && !FS2Possible) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else if ((FS1Closer && FS1Possible) || (FS2Closer && !FS2Possible)) { ActorList l1 = Game::GetActors(VO_FP4); ActorList l2 = Game::GetActors(VO_TURNTO4); } else if ((FS2Closer && FS2Possible) || (FS1Closer && !FS1Possible)) { ActorList l1 = Game::GetActors(VO_FP7); ActorList l2 = Game::GetActors(VO_TURNTO7); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE02) == 0) { bool Possible = false; GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_ENGINE02, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() == 0 && !Possible) Possible = true; GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE04, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() == 0 && !Possible) Possible = true; if (Possible) { ActorList l1 = Game::GetActors(VO_FP5); ActorList l2 = Game::GetActors(VO_TURNTO5); } else { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } } else { Mission::PlayHint(HINT_NOTVALID); return; } if(l1.GetNumActors() > 0) Vector FirstPoint = l1.GetActor(0)->GetPosition(); if(l2.GetNumActors() > 0) Vector TurnTo = l2.GetActor(0)->GetPosition(); Audio::PlaySample3D(SND_TOSTATION, Caller->GetPosition()); v.PushActionmove(ACTION_NEWLIST, FirstPoint); v.PushActionTurnTo(ACTION_APPEND, TurnTo); if (StrCompare(v.GetPrototypeFileName(), OBJ_TILLER) == 0) v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_TILLER, Caller, 3, false); v.PushActionWait(ACTION_APPEND, 1.0f); v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_CHECKPARKED, Caller, 0, false); }};object DummyCheckParked : CommandScript{ DummyCheckParked() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID) { } void PushActions(GameObject *Caller, Actor *Target, int ChildID) { bool ParkinglotFound = false; Vector Pos = Caller->GetPosition(); GameObjectList cpl1 = Game::GetGameObjects(NAME_CONTROLPANEL); if(cpl1.GetNumObjects() > 0) GameObject cp1 = cpl1.GetObject(0); GameObjectList cpl2 = Game::GetGameObjects(NAME_CONTROLPANEL2); if(cpl2.GetNumObjects() > 0) GameObject cp2 = cpl2.GetObject(0); bool FS1Closer = false; bool FS2Closer = false; if (Math::dist(Pos.x, Pos.y, cp1.GetPosition().x, cp1.GetPosition().y) > Math::dist(Pos.x, Pos.y, cp2.GetPosition().x, cp2.GetPosition().y)) FS2Closer = true; else FS1Closer = true; Vehicle v(Caller); if(StrCompare(v.GetPrototypeFileName(), OBJ_BATTALION) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_BATTALION, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_BATTALION); ActorList l2 = Game::GetActors(VO_BATTALION2); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE02) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE03) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE04) == 0) { ActorList l2 = Game::GetActors(VO_TURNTO1); if (!Game::IsSquadInVirtualObject(VO_AMBULANCE01) && !Game::IsSquadInVirtualObject(VO_AMBULANCE02) && !Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE01); } else if (Game::IsSquadInVirtualObject(VO_AMBULANCE01) && !Game::IsSquadInVirtualObject(VO_AMBULANCE02) && !Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE02); } else if (Game::IsSquadInVirtualObject(VO_AMBULANCE01) && Game::IsSquadInVirtualObject(VO_AMBULANCE02) && !Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE03); } else if (!Game::IsSquadInVirtualObject(VO_AMBULANCE01) && Game::IsSquadInVirtualObject(VO_AMBULANCE02) && !Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE02); ActorList l3 = Game::GetActors(VO_AMBULANCE01); if(l3.GetNumActors() > 0) Vector Forward = l3.GetActor(0)->GetPosition(); GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE02, l4, ACTOR_VEHICLE); for (int i = 0; i < l4.GetNumObjects(); i++) { Vehicle m = l4.GetObject(i); m.PushActionmove(ACTION_NEWLIST, Forward); } } else if (!Game::IsSquadInVirtualObject(VO_AMBULANCE01) && !Game::IsSquadInVirtualObject(VO_AMBULANCE02) && Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE02); ActorList l3 = Game::GetActors(VO_AMBULANCE01); if(l3.GetNumActors() > 0) Vector Forward = l3.GetActor(0)->GetPosition(); GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE03, l4, ACTOR_VEHICLE); for (int i = 0; i < l4.GetNumObjects(); i++) { Vehicle m = l4.GetObject(i); m.PushActionmove(ACTION_NEWLIST, Forward); } } else if (!Game::IsSquadInVirtualObject(VO_AMBULANCE01) && Game::IsSquadInVirtualObject(VO_AMBULANCE02) && Game::IsSquadInVirtualObject(VO_AMBULANCE03)) { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE03); ActorList l3 = Game::GetActors(VO_AMBULANCE01); if(l3.GetNumActors() > 0) Vector Forward = l3.GetActor(0)->GetPosition(); ActorList l4 = Game::GetActors(VO_AMBULANCE02); if(l4.GetNumActors() > 0) Vector Forward2 = l4.GetActor(0)->GetPosition(); float rot[9]; float childRot[9]; GameObjectList l5; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE02, l5, ACTOR_VEHICLE); for (int i = 0; i < l5.GetNumObjects(); i++) { Vehicle m = l5.GetObject(i); m.PushActionmove(ACTION_NEWLIST, Forward); } GameObjectList l6; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE03, l6, ACTOR_VEHICLE); for (int i = 0; i < l6.GetNumObjects(); i++) { Vehicle c = l6.GetObject(i); c.PushActionWait(ACTION_NEWLIST, 0.7f); c.PushActionmove(ACTION_APPEND, Forward2); } } else { Mission::PlayHint(HINT_NOSPACE_AMBULANCE); v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false); return; } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE01) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE04, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE_AMBULANCE); v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_AMBULANCE04); ActorList l2 = Game::GetActors(VO_TURNTO8); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_USAR) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_USAR, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_USAR); ActorList l2 = Game::GetActors(VO_TURNTO2); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_LADDER) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_TILLER) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_LADDER, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); Game::ExecuteCommand(CMD_GOHOME, &v, &v); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_LADDER); ActorList l2 = Game::GetActors(VO_TURNTO3); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_TENDER) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_HAZMAT, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_HAZMAT); ActorList l2 = Game::GetActors(VO_TURNTO6); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOREST) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_FOREST, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_FOREST); ActorList l2 = Game::GetActors(VO_EXTRA_BOTH); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_HES) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_HES, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_HES); ActorList l2 = Game::GetActors(VO_EXTRA_BOTH); } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE01) == 0) { if(FS1Closer) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_ENGINE01, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE03, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOFIRESTATION, Caller, 0, false); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_ENGINE03); ActorList l2 = Game::GetActors(VO_TURNTO4); } } else { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE03, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { ActorList l1 = Game::GetActors(VO_ENGINE03); ActorList l5 = Game::GetActors(VO_ENGINE01); Vector Move = l5.GetActor(0)->GetPosition(); l4.GetObject(0)->PushActionmove(ACTION_NEWLIST, Move, true); } else ActorList l1 = Game::GetActors(VO_ENGINE01); ActorList l2 = Game::GetActors(VO_TURNTO4); ParkinglotFound = true; } } else if(FS2Closer) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_ENGINE05, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOFIRESTATION, Caller, 0, false); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_ENGINE05); ActorList l2 = Game::GetActors(VO_TURNTO7); } } } else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE02) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_ENGINE02, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE04, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOFIRESTATION, Caller, 0, false); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_ENGINE04); ActorList l2 = Game::GetActors(VO_TURNTO5); } } else { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_ENGINE04, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { ActorList l1 = Game::GetActors(VO_ENGINE04); ActorList l5 = Game::GetActors(VO_ENGINE02); Vector Move = l5.GetActor(0)->GetPosition(); l4.GetObject(0)->PushActionmove(ACTION_NEWLIST, Move, true); } else ActorList l1 = Game::GetActors(VO_ENGINE02); ActorList l2 = Game::GetActors(VO_TURNTO5); ParkinglotFound = true; } } if(ParkinglotFound) { if(l1.GetNumActors() > 0) { if (StrCompare(v.GetPrototypeFileName(), OBJ_TILLER) == 0) { Vector Park = l1.GetActor(0)->GetPosition(); float dx = 125.f, dy = 0.f, dz = 0.f; 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]); Math::RotateVector(dx, dy, dz, r); Math::EulerToMatrix(0.0f, 0.f, 0.f, childr); Math::MultiplyMatrices(childr, r); Park = Park + Vector(dx, dy, 0); } else Vector Park = l1.GetActor(0)->GetPosition(); } if(l2.GetNumActors() > 0) Vector TurnTo = l2.GetActor(0)->GetPosition(); if (v.HasCommand(DUMMY_VCALLED)) v.RemoveCommand(DUMMY_VCALLED); if(StrCompare(v.GetPrototypeFileName(), OBJ_BATTALION) == 0) { v.PushActionmove(ACTION_APPEND, Park); v.PushActionTurnTo(ACTION_APPEND, TurnTo); } else { if(FS1Closer) v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_GATES, Caller, 7, false); else v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_GATES, Caller, 8, false); v.PushActionWait(ACTION_APPEND, 1.8f); v.PushActionmove(ACTION_APPEND, Park); v.PushActionTurnTo(ACTION_APPEND, TurnTo); v.PushActionWait(ACTION_APPEND, 0.5f); PersonList passengers = v.GetPassengers(); if (passengers.GetNumPersons() > 0 && (FS1Closer && cp1.HasCommand("VcmdAutoStaffOff")) || (FS2Closer && cp2.HasCommand("VcmdAutoStaffOff"))) v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_FIRESTATION, Caller, 0, false); v.PushActionWait(ACTION_APPEND, 2.2f); if(FS1Closer) v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_GATES, Caller, 9, false); else v.PushActionExecuteCommand(ACTION_APPEND, DUMMY_GATES, Caller, 10, false); if (v.HasCommand(DUMMY_WARNINGLIGHTS)) { v.EnableBlinker(BLT_NONE); v.RemoveCommand(DUMMY_WARNINGLIGHTS); v.AssignCommand(CMD_WARNINGLIGHTS); } else v.EnableBlinker(BLT_NONE); } } }};object DummyAtFireStation : CommandScript{ DummyAtFireStation() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID) { } void PushActions(GameObject *Caller, Actor *Target, int ChildID) { Vehicle v(Caller); if(StrCompare(v.GetPrototypeFileName(), OBJ_BATTALION) == 0) ActorList l1 = Game::GetActors(VO_SPAWN02); else if(v.IsCollidingWithVirtualObject(VO_SQUAD01)) ActorList l1 = Game::GetActors(VO_SPAWN01); else if(v.IsCollidingWithVirtualObject(VO_SQUAD02)) ActorList l1 = Game::GetActors(VO_SPAWN03); else return; if(l1.GetNumActors() > 0) Vector Delete = l1.GetActor(0)->GetPosition(); PersonList passengers = v.GetPassengers(); if (passengers.GetNumPersons() > 0) { for(int i=0; i<passengers.GetNumPersons(); i++) { Person *p = passengers.GetPerson(i); p->PushActionLeaveCar(ACTION_NEWLIST, Caller); p->PushActionmove(ACTION_APPEND, Delete); p->PushActionDeleteOwner(ACTION_APPEND); } } }};object DummyEngine : CommandScript{ DummyEngine() { SetGroupID(DummyGroup); } bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID) { } void PushActions(GameObject *Caller, Actor *Target, int ChildID) { }};PasteBin Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 24, 2010 Report Share Posted June 24, 2010 Ok try this, on the first one. Instead of:ActorList l1 = Game::GetActors(VO_HES); ActorList l2 = Game::GetActors(VO_EXTRA_BOTH);Try:ActorList l1 = Game::GetActorsVO_EXTRA_BOTH(); ActorList l2 = Game::GetActors(VO_HES);The first part of the script you want the turnto vo listed first. In the second part of the script, you want the turn to second. Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 24, 2010 Author Report Share Posted June 24, 2010 if i see this right, you are telling the truck to park at VO_EXTRA_BOTH and aim towards VO_HES, or is this just me?? Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 24, 2010 Report Share Posted June 24, 2010 TBH I never quite understoof it either but this is how i have my units scripts and its working fine for me. In object VcmdToFireStation : CommandScript you want it like this:else if(StrCompare(v.GetPrototypeFileName(), OBJ_BRUSH) == 0) { GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_BRUSH, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ActorList l1 = Game::GetActors(VO_BRUSH2); ActorList l2 = Game::GetActors(VO_BRUSH); } }But in the object DummyCheckParked : CommandScript section you want it like this:else if(StrCompare(v.GetPrototypeFileName(), OBJ_BRUSH) == 0) { GameObjectList l3; Game::CollectObstaclesOnVirtualObject(VO_BRUSH, l3, ACTOR_VEHICLE); if(l3.GetNumObjects() > 0) { Mission::PlayHint(HINT_NOSPACE); v.PushActionReturnToBase(ACTION_NEWLIST); return; } else { ParkinglotFound = true; ActorList l1 = Game::GetActors(VO_BRUSH); ActorList l2 = Game::GetActors(VO_BRUSH2); } } Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 24, 2010 Author Report Share Posted June 24, 2010 i'll give it a try, thnx Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 25, 2010 Author Report Share Posted June 25, 2010 (edited) ok i tried it, but i get this error on the logfile:?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?no door found for animation with door-type 3?(_LAToFireStationa620): Warning: else if(StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE02)==0||StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE03)==0||StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE04)==0) Missing ';'?(_LAToFireStationa620): FILE:mod:/scripts/game/command/LAToFireStation.scripta620 LINE:414--- load time profile begin ------ load time profile end ---Destroy Network...Deleting units...Destroy XGUI...Destroy Audio...Destroy GameFramework...Destroy GFX...Destroy Vision...|VisMain_cl::DeInit|DeInitializing Object Data...|DeInitializing World Data...|DeInitializing Surface and Texture Data...|Dump resources...|...no resource leaks.|Deallocated fast Geometry Buffer.Destroy Input...Destroy Scriptscheduler...Destroy Timer...Destroy Screen...Destroy UpdateChain...Destroy Console...Destroy Filesystem...if you check line 414, there it says:first line is 413 else if(StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE02) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE03) == 0 || StrCompare(v.GetPrototypeFileName(), OBJ_AMBULANCE04) == 0) { bool Possible = false; GameObjectList l4; Game::CollectObstaclesOnVirtualObject(VO_AMBULANCE01, l4, ACTOR_VEHICLE); if(l4.GetNumObjects() == 0 && !Possible) Possible = true;does anyone understand this??entire script here.-edit-hmm, sudenly not a single vehicle belongs to the firestation anymore I have absolutely no idea how this is possible Edited June 29, 2010 by Lithium converted to code Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 25, 2010 Report Share Posted June 25, 2010 The error is self explanatory if(StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE02)==0||StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE03)==0||StrCompare(v.GetPrototypeFileName(),OBJ_AMBULANCE04)==0) Missing ';'Your missing a ; at the end of the line Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 27, 2010 Author Report Share Posted June 27, 2010 you would think so yes, but it isn'tthere doesnt belong a ; after the end of such a line because it is followed by a {.i've tried allmost anything to fix it, but i'm affraid i'll have to use my backup and restart all over....-edit-btw do you have a special program to test your code before you run it ingame or something???i think its pretty inconvenient that you have to run the game, the mod and then freeplay too test if your code works... Quote Link to comment Share on other sites More sharing options...
SirMoo Posted June 27, 2010 Report Share Posted June 27, 2010 you would think so yes, but it isn'tthere doesnt belong a ; after the end of such a line because it is followed by a {.i've tried allmost anything to fix it, but i'm affraid i'll have to use my backup and restart all over....-edit-btw do you have a special program to test your code before you run it ingame or something???i think its pretty inconvenient that you have to run the game, the mod and then freeplay too test if your code works...No, you may have an extra one somewhere where it's not needed. Check your files, brackets and all that jazz using Notepad2. http://www.flos-freeware.ch/notepad2.html Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 27, 2010 Report Share Posted June 27, 2010 you would think so yes, but it isn'tthere doesnt belong a ; after the end of such a line because it is followed by a {.i've tried allmost anything to fix it, but i'm affraid i'll have to use my backup and restart all over....-edit-btw do you have a special program to test your code before you run it ingame or something???i think its pretty inconvenient that you have to run the game, the mod and then freeplay too test if your code works...Oh good point, try using the code tags next time, might make the code ab it easier to read. As for testing, i wish. Its a tedious problem as you usually need to go in to the game, test, and if you have an error, you can fix the script while the mods running, but for the game to realize you changed something as as small as a ; you have to exit the game and reload the mod. You may be able to get away with just reloading the mod from the main menu but sadly I usually see problems when trying to do it this way.Oh and Moo is right. Grab notepad2. It wont test it for you but can help you spot errors. Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 28, 2010 Author Report Share Posted June 28, 2010 As for notepad2, i allready use that. (any tips on colour scheme's??)I'll keep checking the codes and keep you updated. Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 28, 2010 Report Share Posted June 28, 2010 View->Syntax->C++ Quote Link to comment Share on other sites More sharing options...
timmiej93 Posted June 29, 2010 Author Report Share Posted June 29, 2010 yeah i know 'bout C++. I kinda ment special colours like comments are that colour, numbers an other etc... Quote Link to comment Share on other sites More sharing options...
Xplorer4x4 Posted June 29, 2010 Report Share Posted June 29, 2010 Nah I just use the standard. Quote Link to comment Share on other sites More sharing options...