Stimmt. Das war glaube ich carli96 gewesen.
Danke!
Beiträge von Greencookie
-
-
Hallo Zusammen!
Im ehemaligem Forum gab es in der Webdisk ein Programm, bei welchem man super schnell Icons für Scripts erstellen konnte.
Leider ist mir der Autor entfallen. Vielleicht weiß jemand, von welchem Programm ich spreche und kann sich an den Autor erinnern?:)Danke & liebe Grüße!
-
Hat niemand eine Idee?
Das wäre wirklich schade!Wenn ich mich richtig entsinne hatte ich ein ähnliches Problem vor Jahren schonmal. Da hat es - meine ich zumindest - an einem Child gelegen. Das bin ich aber auch durch.
EDIT:
Ich habe eben festgestellt, dass das nur passiert wenn die Fahrzeuge weiterweg zu einer E-Stelle fahren, bei denen das Horn mit an geht. Aber auch nur beim ersten mal.
Wenn das Horn weiter läuft und ich das Fahrzeug nochmals dorthin schicke fährt es ohne Probleme dorthin.Wenn das Fahrzeuge ohne Sondersignal wohin fährt und ich das Blaulicht anschalte, bleibt das Fahrzeug stehen. Sobald ich es wieder ausschalte fährt es weiter.
-
Sonst keiner eine Idee, woran es liegen könnte?
Ich kann auch gerne nochmal das SoSi Script mit anhängen.
Sirens.Script [Quelle: BFEMP]
Code
Alles anzeigen//****************************************************************************************** // #Version 2.5# // // Includes: All Sirens Commands // // - VCmdSiren // - DummyUpdatePos // - DummyDisableSiren // - DummyFindPath // - DummyHasSiren // - VCmdAutoSirenOn // - VCmdAutoSirenOff // // Script by Bass-Ti // Modified by Hoppah // //****************************************************************************************** //Car prototypes: const char CMD_AUTOSIREN_ON[] = "VCmdAutoSirenOn"; const char CMD_AUTOSIREN_OFF[] = "VCmdAutoSirenOff"; const char CMD_MOVETO[] = "MoveTo"; const char EACTION_FINDPATH[] = "EActionFindPath"; const char EACTION_EXTINGUISH[] = "EActionExtinguish"; const char DUMMY_HASSIREN[] = "DummyHasSiren"; const char DUMMY_UPDATEPOS[] = "DummyUpdatePos"; const char DUMMY_FINDPATH[] = "DummyFindPath"; const char NAME_DUMMYOBJECT[] = "HelpingObjekt_Hoppah"; int DummyGroup = 23; object VCmdSiren : CommandScript { VCmdSiren() { SetIcon("sirenson"); SetCursor("sirenson"); SetRestrictions(RESTRICT_SELFEXECUTE); SetPossibleCallers(ACTOR_VEHICLE); SetPriority(90); } bool CheckPossible(GameObject *Caller) { if (!Caller->IsValid() || Caller->GetType() != ACTOR_VEHICLE) return false; if (!Caller->HasNamePrefix("AB_")) { if (!Caller->HasCommand("ALARM_DUMMY")) return false; } return true; } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { if (!Target->IsValid() || Target->GetID() != Caller->GetID()) return false; if ( !Caller->HasCommand(CMD_MOVETO)|| Caller->GetType() != ACTOR_VEHICLE) return false; return true; } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Caller); if (!v.HasCommand(DUMMY_HASSIREN)||childID==2) { if (!v.IsBlueLightEnabled()) Game::ExecuteCommand("VCmdBlue", &v); int soundID; int var; if (v.HasNamePrefix("0")) var = 44; if (v.HasNamePrefix("1")) var = 44; if (v.HasNamePrefix("P")) var = 42; if (v.HasNamePrefix("01_8")) var = 49; if (v.HasNamePrefix("02_8")) var = 49; if (v.HasNamePrefix("5")) var = 49; if (v.HasNamePrefix("9")) var = 49; Vector CarPos = v.GetPosition(); const char *CarName = v.GetName(); char SoundName[255]; snprintf(SoundName, 255, "mod:Audio/FX/Sirens/%s_%c.wav", v.GetPrototypeName(),v.GetPrototypeFileName()[var]); soundID = Audio::PlaySample3D(SoundName, CarPos, true); //Game::ShowHelpTextWindow(SoundName); //Mission::PlayHint(SoundName); char dnam[99]; snprintf(dnam,99,"%s%s",v.GetName(),NAME_DUMMYOBJECT); if(GameObjectList(dnam).GetNumObjects()>0)GameObject mDummy(GameObjectList(dnam).GetObject(0)); else GameObject mDummy = Game::CreateObject("mod:Prototypes/Objects/Misc/empty.e4p", dnam); mDummy.Hide(); mDummy.SetUserData(soundID); v.AttachSound(soundID); mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, &v, soundID, false); v.AssignCommand(DUMMY_HASSIREN); v.SetUserData(soundID); return; } if (v.HasCommand(DUMMY_HASSIREN)) { if (childID == 1) Game::ExecuteCommand("VCmdBlue", &v); int ref = v.GetUserData(); v.UnattachSound(ref); Audio::StopSample(ref); int mSirTest; char dnam[99]; snprintf(dnam,99,"%s%s",v.GetName(),NAME_DUMMYOBJECT); GameObjectList list = Game::GetGameObjects(dnam); for(int i=0; i<list.GetNumObjects(); i++) { GameObject *obj = list.GetObject(i); if (obj->GetUserData() == ref) { mSirTest = i; } } GameObject *obj = list.GetObject(mSirTest); obj->PushActionWait(ACTION_NEWLIST,0.0f); v.PushActionExecuteCommand(ACTION_INSERT, "FMS", &v, 4, false); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); return; } } }; object DummyUpdatePos : CommandScript { DummyUpdatePos() { SetGroupID(22); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Target); if(v.IsValid()&&v.GetEnergy()>0&&!v.IsHidden()&&Audio::IsPlaying(childID)&&v.IsBlueLightEnabled()&&(v.IsCurrentAction("EActionMove")||v.IsMoving()||v.GetNumActions()>0)){ GameObject ob(Caller); Audio::UpdatePos(childID, v.GetPosition(), true); v.SetUserData(childID); ob.SetPosition(v.GetPosition()); ob.PushActionExecuteCommand(ACTION_APPEND,DUMMY_UPDATEPOS,Target,childID,false); }else{ if(!v.IsHidden()&&v.IsValid())v.PushActionExecuteCommand(ACTION_INSERT, "FMS", &v, 4, false); v.SetUserData(0); v.RemoveCommand(DUMMY_HASSIREN); Audio::StopSample(childID); Caller->PushActionDeleteOwner(ACTION_NEWLIST); } } }; object DummyDisableSiren : CommandScript { DummyDisableSiren() { SetGroupID(22); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { } void PushActions(GameObject *Caller, Actor *Target, int childID) { Vehicle v(Caller); if (childID == 1) v.PushActionExecuteCommand(ACTION_APPEND, "VCmdBlue", &v, 0, false); int ref = v.GetUserData(); v.UnattachSound(ref); Audio::StopSample(ref); v.PushActionExecuteCommand(ACTION_INSERT, "FMS", &v, 4, false); char dnam[99]; snprintf(dnam,99,"%s%s",v.GetName(),NAME_DUMMYOBJECT); GameObjectList list = Game::GetGameObjects(dnam); for(int i = 0; i < list.GetNumObjects(); i++) { GameObject *obj = list.GetObject(i); if (obj->GetUserData() == ref) { int mSirTest = i; GameObject *obj = list.GetObject(mSirTest); obj->PushActionWait(ACTION_NEWLIST,0.0f); if (v.HasCommand(DUMMY_HASSIREN)) v.RemoveCommand(DUMMY_HASSIREN); if (v.HasCommand(DUMMY_FINDPATH)) v.RemoveCommand(DUMMY_FINDPATH); } } } }; object DummyFindPath : CommandScript { DummyFindPath() { SetGroupID(22); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { return false; } void PushActions(GameObject *Caller, Actor *Target, int childID) { } }; object DummyHasSiren : CommandScript { DummyHasSiren() { SetGroupID(22); } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { return false; } void PushActions(GameObject *Caller, Actor *Target, int childID) { } }; object VCmdAutoSirenOn : CommandScript { VCmdAutoSirenOn() { SetIcon("autosirenon"); SetCursor("autosirenon"); SetGroupID(DummyGroup); SetGroupLeader(true); SetRestrictions(RESTRICT_SELFEXECUTE); } bool CheckPossible(GameObject *Caller) { if (!Caller->IsValid()) return false; if (Caller->GetType() == ACTOR_VEHICLE) { return true; } return false; } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { if (!Caller->IsValid() || !Target->IsValid() || Target->GetID() != Caller->GetID()) return false; if (Caller->GetType() == ACTOR_VEHICLE) { return true; } return true; } void PushActions(GameObject *Caller, Actor *Target, int childID) { Caller->RemoveCommand(CMD_AUTOSIREN_ON); Caller->AssignCommand(CMD_AUTOSIREN_OFF); } }; object VCmdAutoSirenOff : CommandScript { VCmdAutoSirenOff() { SetIcon("autosirenoff"); SetCursor("autosirenoff"); SetGroupID(DummyGroup); SetGroupLeader(true); SetRestrictions(RESTRICT_SELFEXECUTE); } bool CheckPossible(GameObject *Caller) { if (!Caller->IsValid()) return false; if (Caller->GetType() == ACTOR_VEHICLE) { return true; } return false; } bool CheckTarget(GameObject *Caller, Actor *Target, int childID) { if (!Caller->IsValid() || !Target->IsValid() || Target->GetID() != Caller->GetID()) return false; if (Caller->GetType() == ACTOR_VEHICLE) { return true; } return true; } void PushActions(GameObject *Caller, Actor *Target, int childID) { Caller->RemoveCommand(CMD_AUTOSIREN_OFF); Caller->AssignCommand(CMD_AUTOSIREN_ON); } }; -
Bin beides nochmal durch. Beides ist vorhanden und richtig benannt.
-
Ja, die sind in einer Wache untergebracht. Die Kollision ist aus.
Der Fehler tritt nur bei manchen Fahrzeuge auf, ohne irgendeinen direkten Bezug.
Auch außerhalb der Wache tritt das Problem auf.
Ich muss später nochmal schauen, aber das Problem - sofern ich mich richtig erinnere - tritt nur auf, wenn die Fahrzeuge weiter weg fahren. Im direkt Umfeld (bei den langsameren Fahrten ohne SoSi) passiert das nicht.
-
Hallo zusammen!
Ich habe heute mal seit Ewigkeiten in eine erweiterte Modifikation von mir reingeschaut.
Bei manchen Fahrzeugen habe ich das Problem, dass sie nicht losfahren. Es sieht so aus, als ob sie "steckenbleiben". Sobald man auf irgendeinen Bereich der Karte klickt, wird von dem Fahrzeug die "Bremsanimation" wiedergegeben, ohne sich aktiv bewegt zu haben.Ich hatte das Problem bereits vor Ewigkeiten einmal. Da hatte es soweit ich weiß etwas mit dem automatischen Horn zutun.
Kann mir da vielleicht jemand unter die Arme greifen. Das wäre super!
Liebe Grüße!
Move.script [Quelle: BFE Modifikation]
ZitatAlles anzeigen//******************************************************************************************
// #Version 1.6#
//
// Changes: - Activates sirens if vehicle has AutoSirenOn.
// - Disables sirens after arriving on targetpoint.
// - Disables warninglights and/or directional lights.
// - ObjectPath will be removed if vehicle has one.
//
//******************************************************************************************const char CMD_SIREN[] = "VcmdSiren";
const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff";
const char CMD_WARNINGLIGHTS_OFF[] = "VcmdWarningLightsOff";
const char CMD_WARNINGLIGHTS_ON[] = "VcmdWarningLightsOn";
const char CMD_STANDBY_ON[] = "VcmdStandbyOn";
const char CMD_STANDBY_OFF[] = "VcmdStandbyOff";
const char DUMMY_HASSIREN[] = "DummyHasSiren";
const char DUMMY_DISABLE[] = "DummyDisableSiren";
const char DUMMY_PATROL[] = "DummyPatrol";
const char DUMMY_HOSESON[] = "DummyHosesAreOn";
const char OBJ_CRANE_REVERSED[] = "mod:Prototypes/Vehicles/02 LA Fire Department/heavy_rescue_crane_rev.e4p";object MoveTo : CommandScript
{
MoveResult mr;
MoveTo()
{
SetValidTargets(ACTOR_FLOOR | ACTOR_OBJECT | ACTOR_VIRTUAL | ACTOR_HOUSE | ACTOR_OPEN_HOUSE);
SetHighlightingEnabled(false);
SetDeselectCaller(false);
SetPriority(200);
}bool CheckPossible(GameObject *Caller)
{
if (Caller->GetType()==ACTOR_VEHICLE)
{
Vehicle v(Caller);
if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/motorcycle_lapd2.e4p") == 0)
return false;if (v.HasCommand(DUMMY_HOSESON))
return false;
if (v.HasCommand("DummyAttachFirehose"))
return false;
if (v.HasCommand("TLF_Cool"))
return false;
if (v.HasCommand("DUMMY_INIT") && !v.HasCommand("ALARM_DUMMY"))
return false;
}
return true;
}bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
mr = Commands::CheckMoveConditions(Caller, Target, childID);
if (mr.Mode == MOVE_ABORT)
return false;
if (Caller->GetType() == ACTOR_VEHICLE)
{
Vehicle v(Caller);
PersonList l = v.GetPassengers();
if(l.GetNumPersons() == 0)
return false;
}
if (Caller->HasCommand(DUMMY_HOSESON))
return false;
return true;
}void PushActions(GameObject *Caller, Actor *Target, int childID)
{
if(Caller->HasName("00_99_01"))
Audio::PlaySample("mod:Audio/FX/zugriff.wav");
if (mr.Mode == MOVE_ABORT)
return;
if (Caller->GetType() == ACTOR_VEHICLE)
{
Vehicle v(Caller);
if (v.GetNumPassengers() == 0 && v.GetFreePassengers() > 0)
{
return;
}
}
switch(mr.Mode)
{
case MOVE_TO_POSITION:
{
if (Caller->GetFirehoseID() > 0)
{
Caller->PushActionMoveWithHose(ACTION_NEWLIST, mr.Target);
return;
}
Caller->PushActionMove(ACTION_NEWLIST, mr.Target, true);
break;
}
case MOVE_INTO_HOUSE:
{
Caller->PushActionMove(ACTION_NEWLIST, mr.Intermediate1, true);
Caller->PushActionEnterHouse(ACTION_APPEND, &mr.EnterHouse);
Caller->PushActionMove(ACTION_APPEND, mr.Target, true);
break;
}
case MOVE_HOUSE_TO_HOUSE:
{
Caller->PushActionMove(ACTION_NEWLIST, mr.Intermediate1, true);
Caller->PushActionLeaveHouse(ACTION_APPEND, &mr.LeaveHouse);
Caller->PushActionMove(ACTION_APPEND, mr.Intermediate2, true);
Caller->PushActionEnterHouse(ACTION_APPEND, &mr.EnterHouse);
Caller->PushActionMove(ACTION_APPEND, mr.Target, true);
break;
}
case MOVE_HOUSE_TO_POSITION:
{
Caller->PushActionMove(ACTION_NEWLIST, mr.Intermediate1, true);
Caller->PushActionLeaveHouse(ACTION_APPEND, &mr.LeaveHouse);
Caller->PushActionMove(ACTION_APPEND, mr.Target, true);
break;
}
}if (Caller->GetType() == ACTOR_VEHICLE)
{
Vehicle v(Caller);
Audio::StopSample(v.GetUserData());
if (v.IsLightOn())
v.PushActionLightOn(ACTION_INSERT, false);if (StrCompare(v.GetPrototypeFileName(), OBJ_CRANE_REVERSED) == 0)
{
v.SetCommandable(false);
v.PushActionWait(ACTION_NEWLIST, 0.1f);
if (mr.UnInstall)
{
v.PushActionDeinstall(ACTION_APPEND);
v.PushActionWait(ACTION_APPEND, 1.0f);
}
v.PushActionExecuteCommand(ACTION_APPEND, "DummyCrane", Target, 2, false);
return;
}
else if (!v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF) && !Input::RCtrlPressed())
{
Vector tPos = mr.Target;
Vector pos = v.GetPosition();
float CurrentDist = Math::dist(tPos.x, tPos.y, tPos.z, pos.x, pos.y, pos.z);
if (CurrentDist > 1200)
{
if (v.IsPolice() && (Input::LCtrlPressed()))
{
v.SetSpeed(11.f);
}
else
{
v.SetSpeed(11.f);
Game::ExecuteCommand(CMD_SIREN, &v, &v);
}
}
else
v.SetSpeed(4.f);
}
else if (v.IsBlueLightEnabled() && (Input::RCtrlPressed()))
if (v.IsBlueLightEnabled()) v.PushActionExecuteCommand(ACTION_APPEND, "VCmdBlue", &v, 0, false);
if (v.HasObjectPath(NULL))
Game::ExecuteCommand(DUMMY_PATROL, &v, &v);
if (v.IsSpecialLightEnabled())
v.EnableSpecialLights(false);
}// Special code for fgrr (Bergefahrzeug). Deinstalls itself automatically
if (mr.UnInstall)
{
Vehicle v(Caller);
if (v.GetVehicleType() == VT_THW_FGRR_BKF)
{
//System::Print("FGRR: Mode 1 - DeInstall");
Caller->PushActionDeinstall(ACTION_INSERT);
}else if (v.GetVehicleType() == VT_FIREFIGHTERS_DLK)
{
if (mr.BasketDown && mr.UnInstall)
{
Caller->PushActionDeinstall(ACTION_INSERT);
Caller->PushActionBasketDown(ACTION_INSERT, Vector(0.f, 0.f, 0.f));
}
else if (mr.BasketDown)
Caller->PushActionBasketDown(ACTION_INSERT, Vector(0.f, 0.f, 0.f));
else if (mr.UnInstall)
Caller->PushActionDeinstall(ACTION_INSERT);
}
}
}
}; -
Guten Abend!
Seit einiger Zeit bastel ich an einem „iV Zugangstrainer“ herum. Hierfür bräuchte ich mal euer Schwarmwissen:Gibt es eine Art Druckventil:
- mit Luer-Lock Anschluss, passend zu den gängigen 3-Wege-Hähnen in der Medizin
- welches offen ist, wenn ein hoher Druck besteht
- und sich verschließt, sofern der Druck zu niedrig ist?
Habe schon versucht da irgendetwas zu finden, allerdings ohne Erfolg. Vielleicht habt ihr da ja eine Idee?
Liebe Grüße -
Sofern das Einverständnis von den anderen vorliegt, natürlich!
-
Richtig, da war FF-NRÜ, D4rk_Bone, LeckereCola und EM4Modder mit dabei.
Ich selbst habe keine Arbeitsdatei mehr. Auch der Kontakt fehlt mir mittlerweile zu den anderen Moddern.