1. News
  2. Community
    1. Dashboard
    2. Mitglieder
      1. Mitgliedersuche
      2. EM-Hub Team
    3. FAQ
  3. Filebase
  4. Lexikon
  5. Img-Upload
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Dateien
  • Lexikon
  • FAQ
  • Galerie
  • Modding Team
  • Modding Teamseiten
  • Erweiterte Suche
  1. Emergency Hub
  2. EMERGENCY Reihe
  3. EMERGENCY 4
  4. Modding

VCmdInstallCrane Script

  • Firefighter1790
  • 10. September 2024 um 09:47

Jetzt Mitglied werden!

Du bist noch kein Emergency Hub Member? Registriere dich kostenlos und werde Teil der Emergency Hub Community :)

Benutzerkonto erstellen Anmelden
  • Firefighter1790
    Aktives Mitglied
    Reaktionen
    123
    Beiträge
    48
    Dateien
    12
    • 10. September 2024 um 09:47
    • #1

    Hallo zusammen,

    ich hab mal paar fragen zum VCmdInstallCrane von BFE was müsste man da alles ändern das man es für eine DLK benutzen könnte ls für ein Kran.

    MfG

    Code
    //
    // InstallCrane (Auf-/Abbau RW-Kran)
    //
    
    object VCmdInstallCrane : CommandScript
    {
    	VCmdInstallCrane()
     	{
     		SetIcon("Install");
     		SetCursor("Install");
     		SetRestrictions(RESTRICT_SELFEXECUTE);
     	}
    
    	bool CheckPossible(GameObject *Caller)
    	{
    		Vehicle v(Caller);
    		if (v.GetNumPassengers() == 0) return false;
    		if (Caller->GetType() != ACTOR_VEHICLE || !Caller->HasCommand("ALARM_DUMMY")) return false;
    		return true;
    	}
    
     	bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
     	{
     		return true;
     	}
    
    	void PushActions(GameObject *Caller, Actor *Target, int childID)
     	{
    		float r[9]; Vehicle v(Caller);
    		switch (childID)
    		{
    			case 0:
    				if (!v.IsSpecialLightEnabled()) v.PushActionExecuteCommand(ACTION_APPEND, "VCmdWarning", &v, 0, false);
    				if (v.HasCommand("DummyHasSiren")) v.PushActionExecuteCommand(ACTION_APPEND, "VcmdSiren", &v, 0, false);
    				v.SetCommandable(false);
    				v.PushActionSwitchAnim(ACTION_NEWLIST, "aufbau");
    				v.PushActionWait(ACTION_APPEND, 8.0f);
    				v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				v.PushActionExecuteCommand(ACTION_APPEND, "VCmdInstallCrane", Target, 1, false);
    				break;
    			case 1:
    				Vehicle k = Game::CreateVehicle("mod:Prototypes/Vehicles/__FF_Wolfshain/04_36_02.e4p", v.GetName());
    				k.SetMaxPassengers(3);
    				PersonList l = v.GetPassengers();
    				for(int i=0; i<l.GetNumPersons(); i++) {
    					Person p = Game::CreatePerson(l.GetPerson(i)->GetPrototypeFileName(), l.GetPerson(i)->GetName());
    					p.SetPlayerMP(v.GetPlayerMP());	
    					k.AddPassenger(&p);
    				}
    				k.SetPlayerMP(v.GetPlayerMP());		
    				if (v.IsSelected()) k.Select();
    				v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				k.SetPlayerMP(v.GetPlayerMP());
    				k.SetSpeed(v.GetSpeed());
    				k.SetPosition(v.GetPosition());
    				k.SetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				k.EnableTrafficLight(TLT_NONE);
    				k.EnableBlinker(BLT_NONE);
    				k.PushActionExecuteCommand(ACTION_APPEND, "VCmdWarning", &k, 0, false);		
    				k.EnableHeadLights(true);  
     				if (!k.IsBlueLightEnabled()) k.PushActionExecuteCommand(ACTION_APPEND, "VCmdBlue", &k, 0, false);
    				k.RemoveCommand("GoHome");		
    				k.RemoveCommand("VCmdInit");
    				if (k.HasCommand("MoveTo")) k.RemoveCommand("MoveTo");
    				k.AssignCommand("DUMMY_INIT");
    				k.AssignCommand("VCmdDebug");
    				k.AssignCommand("VCmdWarning");
    				k.AssignCommand("VCmdBlue");
    				k.AssignCommand("VCmdLiMa");
    				if (!k.HasCommand("ALARM_DUMMY")) k.AssignCommand("ALARM_DUMMY");
    				if (k.HasCommand("VCmdInstallCrane")) k.RemoveCommand("VCmdInstallCrane");
    				if (!k.HasCommand("VCmdUninstallCrane")) k.AssignCommand("VCmdUninstallCrane");
    				v.PushActionWait(ACTION_APPEND, 0.1f);
    				v.PushActionDeleteOwner(ACTION_APPEND);		
    				break;
    		}
    	}
    };
    
    object VCmdUninstallCrane : CommandScript
    {
    	VCmdUninstallCrane()
     	{
     		SetIcon("Deinstall");
     		SetCursor("Deinstall");
     		SetRestrictions(RESTRICT_SELFEXECUTE);
     	}
    
    	bool CheckPossible(GameObject *Caller)
    	{
    		Vehicle v(Caller);
    		if (v.GetNumPassengers() == 0) return false;
    		if (Caller->GetType() != ACTOR_VEHICLE || !Caller->HasCommand("ALARM_DUMMY")) return false;	
    		GameObjectList ol = Caller->GetCarriedObjects();
    		if(ol.GetNumObjects() > 0) return false;
    		return true;
    	}
    
     	bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
     	{
     		return true;
     	}
    
    	void PushActions(GameObject *Caller, Actor *Target, int childID)
     	{
    		float r[9]; Vehicle v(Caller);
    		switch (childID)
    		{
    			case 0:
    				if (!v.IsSpecialLightEnabled()) v.PushActionExecuteCommand(ACTION_APPEND, "VCmdWarning", &v, 0, false);
    				if (v.HasCommand("DummyHasSiren")) v.PushActionExecuteCommand(ACTION_APPEND, "VcmdSiren", &v, 0, false);
    				v.SetCommandable(false);
    				v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				v.PushActionExecuteCommand(ACTION_APPEND, "VCmdUninstallCrane", Target, 1, false);
    				break;
    			case 1:
    				Vehicle k = Game::CreateVehicle("mod:Prototypes/Vehicles/__FF_Wolfshain/04_36_01.e4p", v.GetName());
    				k.SetMaxPassengers(3);
    				PersonList l = v.GetPassengers();
    				for(int i=0; i<l.GetNumPersons(); i++) {
    					Person p = Game::CreatePerson(l.GetPerson(i)->GetPrototypeFileName(), l.GetPerson(i)->GetName());
    					p.SetPlayerMP(v.GetPlayerMP());	
    					k.AddPassenger(&p);
    				}
    				k.SetPlayerMP(v.GetPlayerMP());		
    				if (v.IsSelected()) k.Select();
    				v.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				k.SetPlayerMP(v.GetPlayerMP());
    				k.SetSpeed(v.GetSpeed());
    				k.SetPosition(v.GetPosition());
    				k.SetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
    				k.EnableTrafficLight(TLT_NONE);
    				k.EnableBlinker(BLT_NONE);
    				k.PushActionExecuteCommand(ACTION_APPEND, "VCmdWarning", &k, 0, false);
    				k.PushActionSwitchAnim(ACTION_NEWLIST, "abbau");
    				k.PushActionWait(ACTION_APPEND, 8.0f);		
    				k.EnableHeadLights(true);  
     				if (!k.IsBlueLightEnabled()) k.PushActionExecuteCommand(ACTION_APPEND, "VCmdBlue", &k, 0, false);
    				k.RemoveCommand("GoHome");		
    				k.RemoveCommand("VCmdInit");
    				k.AssignCommand("MoveTo");
    				k.AssignCommand("DUMMY_INIT");
    				k.AssignCommand("VCmdDebug");
    				k.AssignCommand("VCmdWarning");
    				k.AssignCommand("VCmdBlue");
    				k.AssignCommand("VCmdAlarm");
    				k.AssignCommand("VCmdParking");
    				k.AssignCommand("VcmdEinsteigen");
    				k.AssignCommand("VCmdLiMa");
    				k.AssignCommand("FahrzeugPosition");
    				k.AssignCommand("DummyHasBesen");
    				if (!k.HasCommand("ALARM_DUMMY")) k.AssignCommand("ALARM_DUMMY");
    				if (!k.HasCommand("VCmdInstallCrane")) k.AssignCommand("VCmdInstallCrane");
    				if (k.HasCommand("VCmdUninstallCrane")) k.RemoveCommand("VCmdUninstallCrane");
    				v.PushActionWait(ACTION_APPEND, 0.1f);
    				v.PushActionDeleteOwner(ACTION_APPEND);		
    				break;
    		}
    	}
    };
    Alles anzeigen

Letzte Beiträge

  • Zählen bis unendlich

    happyfaceishere 16. September 2025 um 23:13
  • Frage zum Einsatzaufkommen bei Winterberg

    denst1937 16. September 2025 um 20:40
  • Probleme mit Mods

    R3ST Design. 16. September 2025 um 14:04
  • Deluxe version Endlosspiel bug

    DerKarsten 16. September 2025 um 13:54
  • Zeigt her Eure Skins

    xKnolle 16. September 2025 um 01:22

Forum online seit:

einem Jahr, 10 Monaten, 5 Tagen, 17 Stunden und 44 Minuten

Informationen

  1. FAQ
  2. Datenschutzerklärung
  3. Impressum

Community

  1. Letzte Aktivitäten
  2. Mitgliedersuche
  3. Mitglieder
  4. Team

Über uns

Ein Communityprojekt von vielen bekannten Gesichtern aus der EMERGENCY-Szene, bestehend aus ehem. Mitgliedern des Forums, Moddern und Streamern.

Von der Community, für die Community!

Emergency Hub
Community-Software: WoltLab Suite™
Style by Foxly