Maffegozer Posted May 7, 2010 Report Share Posted May 7, 2010 Hello,I've got a problem with a helicopter.I have made a VO for the personnel (where they'll spawn) named: LFL_PERSONEELPlaced a Helicopter on the map.Named the heli: LFL3Gave a guy the command to alarm the heli...Now the problem:When I alarm the heli.The people spawn from the VO and run to the heli.then they wait for 2 seconds at the heli. just standing there.Then the heli take's off without them!My script:/* **************************************************************************** *//* Alarmscript *//* © by David Färber ("emergency-freak") *//* *//* Script zur Alarmierung eines FZ *//* *//* Erstellt von: emergency-freak *//* Special THX: lennox *//* *//* 09.06.2009: Initialversion *//* 19.10.2009: Finish, Release und Freigabe *//* *//* Script frei für alle mit Readme-Eintrag. Dieser Kommentarblock darf nicht *//* entfernt werden. Kein Support gewährleistet. *//* *//* **************************************************************************** */int DummyGroup = 20;// Definitionen - Hier muss geändert werden!const char STR_VObjPersonStart[] = "LFL_PERSONEEL"; // Name des VO's, wo die Feuerwehrleute erstellt werdenconst char STR_ProtoPerson[] = "mod:Prototypes/Persons/08MMT/ambuteam.e4p"; // Prototyp der Person, die erstellt wirdconst char STR_VehicleName[] = "LFL3"; // Name des zu alarmierenden Fahrzeugs - Muss einmalig sein auf der Karteconst char CommandIcon[] = "LFL3"; // Name des zu verwendenen Icons - Wird automatisch aus dem entsprechenden Ordner genommenconst char AlarmMessage[] = "A1 LIFELINER 3 NAAR TILBURG"; // Die Nachricht die beim Alarm abgespielt wirdconst char AlarmSound[] = "pfad_zum_sound"; // Pfad zum Sound der abgespielt wird - muss Mono & WAV seinconst int PersonCounter = 3; // Anzahl der zu erstellenden Personenconst int VehicleSirenID = 1; // 1 = SoSi Script ist vorhanden soll ausgeführt werden, 0 = SoSi Script soll nicht ausgeführt werdenconst int GameSoundID = 1; // 1 = Es soll ein Alarmsound abgespielt werdenconst int VehicleWaitingTime = 15.0; // Zeit, bis das Fahrzeug nach dem Alarm losfährt (Sekunden). In dieser Zeit müssen auch die Personen einstellen.// Ab hier sind keine Änderungen notwendig// Dummycommandobject DummyVehicleNotFree : CommandScript{DummyVehicleNotFree(){SetGroupID(DummyGroup);}bool CheckTarget(GameObject *Caller, Actor *Target, int childID){return false;}};// ALARMERING_LFL3object ALARMERING_LFL3 : CommandScript // Selbstverständlich kann der Script-Name geändert werden{ALARMERING_LFL3() // Muss identisch mit dem Namen oben sein{SetCursor(CommandIcon);SetIcon(CommandIcon);SetValidTargets(ACTOR_FLOOR);}bool CheckTarget(GameObject *Caller, Actor *Target, int childID){if(!Target->GetType() == ACTOR_FLOOR)return false;return true;}void PushActions(GameObject *Caller, Actor *Target, int childID){GameObjectList l0 = Game::GetGameObjects(TYPE_VEHICLE);for(int i=0; i<l0.GetNumObjects(); i++){ActorList PerStartList(STR_VObjPersonStart);if (PerStartList.GetNumActors() == 0){System::Log("Alarmscript fehlgeschlagen - Kein Virtual Object gefunden!");return;}GameObject *Obj = l0.GetObject(i);Vehicle v(Obj);if(v.HasName(STR_VehicleName) && !v.HasCommand("DummyVehicleNotFree")){for(int j=0; j<PersonCounter; j++){Vector Pos = v.GetPosition();if(!v.HasCommand("DummyUitgerukt")){Person p = Game::CreatePerson(STR_ProtoPerson, "OVDB1");Vector pStartPos(PerStartList.GetActor(0)->GetPosition());Game::FindFreePosition(&p, pStartPos, 100.f);p.SetPosition(pStartPos);p.PushActionMove(ACTION_NEWLIST, Pos);p.PushActionTurnTo(ACTION_APPEND, &v);p.PushActionEnterCar(ACTION_APPEND, &v);}}Mission::PlayHint(AlarmMessage);if(GameSoundID == 1){Audio::PlaySample(AlarmSound);}Vector TargetPos=Game::GetCommandPos();Game::FindFreePosition(&v, TargetPos, 90);v.PushActionWait(ACTION_NEWLIST, VehicleWaitingTime);if(VehicleSirenID == 1){v.PushActionExecuteCommand(ACTION_APPEND, "VCmdSiren", &v, 0, false);}Obj->PushActionFlyTo(ACTION_NEWLIST, TargetPos, false, -1.0f);v.AssignCommand("DummyVehicleNotFree");v.AssignCommand("DummyUitgerukt");}}}};object DummyUitgerukt : CommandScript{DummyUitgerukt(){SetGroupID(DummyGroup);}bool CheckTarget(GameObject *Caller, Actor *Target, int childID){return false;}};Can anybody help me with this problem?I will appreciate that very much! Quote Link to comment Share on other sites More sharing options...
Maffegozer Posted May 8, 2010 Author Report Share Posted May 8, 2010 _EDIT_It doesn't work...Anybody solution? Quote Link to comment Share on other sites More sharing options...
Stan Posted May 15, 2010 Report Share Posted May 15, 2010 Funny issue, where did you get the script from? A working mod? Quote Link to comment Share on other sites More sharing options...