1. News
  2. Community
    1. Dashboard
    2. Mitglieder
      1. Mitgliedersuche
      2. EM-Hub Team
    3. FAQ
  3. Filebase
  4. Lexikon
  5. Img-Upload
  • Anmelden
  • 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
  • Online
    Firefighter1790
    Aktives Mitglied
    Reaktionen
    124
    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

  • 4K UI Upscale Patch

    Antiphon 12. November 2026 um 16:41
  • Wie viel KI nutzt ihr beim modden?

    Antiphon 11. November 2026 um 18:25
  • Zeigt her Eure 3D-Basteleien

    itchyboy 10. November 2026 um 09:33
  • Karte stürzt beim Laden ab

    fresh freddie 8. November 2026 um 20:00
  • Emergency Dortmund - Die Traditionsmod aus dem Pott!

    fresh freddie 8. November 2026 um 12:50

Forum online seit:

3 Jahren, einem Tag, 5 Stunden und 27 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