Init.c / Char beim respawn beeinflussen

  • hier meine Init.c ....... speziell geht es hier um den Versuch den Char beim respawn zu beeinflussen. Hier direkt ab der Zeile // Random array bis ]; vor Mission CreateCustomMission(string path) (GRÜN hervorgehoben)...... in diesem Bereich muss ich einen Fehler reingebamselt haben und ich komm nicht drauf wasses ist. (Begriffe wie G36, Glock18 und alle Items die mit "Mass" beginnen sind es nicht. Diese funktionieren, es sind Begriffe aus installierten MOD's. Findet eine versierte Person vielleicht den Fehler?


    DANKE vorab ;)



    void main()

    {


    Hive ce = CreateHive();

    if ( ce )

    ce.InitOffline();


    Weather weather = g_Game.GetWeather();


    weather.GetOvercast().SetLimits( 0.0 , 0.5 );

    weather.GetRain().SetLimits( 0.0 , 0.0 );

    weather.GetFog().SetLimits( 0.0 , 0.0 );


    weather.GetOvercast().SetForecastChangeLimits( 0.5, 0.8 );

    weather.GetRain().SetForecastChangeLimits( 0.1, 0.3 );

    weather.GetFog().SetForecastChangeLimits( 0.0, 0.0 );


    weather.GetOvercast().SetForecastTimeLimits( 3600 , 3600 );

    weather.GetRain().SetForecastTimeLimits( 300 , 300 );

    weather.GetFog().SetForecastTimeLimits( 3600 , 3600 );


    weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);

    weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);

    weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);


    weather.SetWindMaximumSpeed(30);

    weather.SetWindFunctionParams(0.0, 0.0, 50);


    GetGame().GetWorld().SetDate( 2018, 6, 21, 7, 0);

    }


    class CustomMission: MissionServer

    {

    void SetRandomHealth(EntityAI itemEnt)

    {

    int rndHlt = Math.RandomInt(40,100);

    itemEnt.SetHealth("","",rndHlt);

    }


    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)

    {

    Entity playerEnt;

    playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player

    Class.CastTo(m_player, playerEnt);


    GetGame().SelectPlayer(identity, m_player);


    return m_player;

    }


    override void StartingEquipSetup(PlayerBase player, bool clothesChosen)

    {

    /*

    player.RemoveAllItems();



    */

    EntityAI itemEnt;

    ItemBase itemBs;


    // Random array


    ref TStringArray eyeArray = {"ThinFramesGlasses","TacticalGoogles"};

    ref TStringArray handArray = {"TacticalGloves_Black","TacticalGloves_Beige","TacticalGloves_Green"};

    ref TStringArray headArray = {"Massurbancamohat"};

    ref TStringArray maskArray = {"BandanaMask_CamoPattern"};

    ref TStringArray topsArray = {"Massurbancamom65"};

    ref TStringArray pantsArray = {"Massurbancamocargopants",};

    ref TStringArray shoesArray = {"MilitaryBoots_Black","MilitaryBoots_Brown"};

    ref TStringArray backpackArray = {"MasscamoTaloon"};

    ref TStringArray vestsArray = {"HighCapacityVest_Olive","HighCapacityVest_Black","Masswoodlandcamovest"};

    ref TStringArray canArray = {"PeachesCan_Opened","SardinesCan_Opened","SpaghettiCan_Opened","TacticalBaconCan_Opened","TunaCan_Opened"};

    ref TStringArray knifeArray = {"CombatKnife"};

    ref TStringArray drinkArray = {"WaterBottle"};


    player.RemoveAllItems();


    EntityAI item0 = player.GetInventory().CreateInInventory(eyeArray.GetRandomElement());

    EntityAI item1 = player.GetInventory().CreateInInventory(handArray.GetRandomElement());

    EntityAI item2 = player.GetInventory().CreateInInventory(headArray.GetRandomElement());

    EntityAI item3 = player.GetInventory().CreateInInventory(maskArray.GetRandomElement());

    EntityAI item4 = player.GetInventory().CreateInInventory(topsArray.GetRandomElement());

    EntityAI item5 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());

    EntityAI item6 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());

    EntityAI item7 = player.GetInventory().CreateInInventory(backpackArray.GetRandomElement());

    EntityAI item8 = player.GetInventory().CreateInInventory(vestsArray.GetRandomElement());

    EntityAI item9 = player.GetInventory().CreateInInventory(canArray.GetRandomElement());

    EntityAI item10 = player.GetInventory().CreateInInventory(knifeArray.GetRandomElement());

    EntityAI item11 = player.GetInventory().CreateInInventory(drinkArray.GetRandomElement());

    EntityAI item12 = player.GetInventory().CreateInInventory(drinkArray.GetRandomElement());


    //Random guns


    switch (Math.RandomInt(0, 1))

    {


    // G36

    case 0:

    EntityAI gun3 = player.GetHumanInventory().CreateInHands("G36");

    gun3.GetInventory().CreateAttachment("M4_Suppressor");

    gun3.GetInventory().CreateAttachment("ACOGOptic");

    addMags(player, "Mag_STANAGCoupled_30Rnd", 2);

    player.SetQuickBarEntityShortcut(gun3, 0, true);

    itemBs = ItemBase.Cast(itemEnt);

    break;


    };


    //Give universal gear


    itemEnt = player.GetInventory().CreateInInventory("ACOGOptic");

    itemEnt = player.GetInventory().CreateInInventory("CanOpener");

    itemEnt = player.GetInventory().CreateInInventory("Armband_White");

    itemEnt = player.GetInventory().CreateInInventory("Armband_Black");

    itemEnt = player.GetInventory().CreateInInventory("PeachesCan");

    itemEnt = player.GetInventory().CreateInInventory("PeachesCan");

    itemEnt = player.GetInventory().CreateInInventory("WaterBottle");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Rag");

    EntityAI Glock18Pstl = player.GetInventory().CreateInInventory("Glock18");

    EntityAI Mag1Glock18= player.GetInventory().CreateInInventory("mag_g18_30rnd");

    EntityAI Mag2Glock18= player.GetInventory().CreateInInventory("mag_g18_30rnd");

    itemBs = ItemBase.Cast(itemEnt);

    itemBs.SetQuantity(4);


    player.SetQuickBarEntityShortcut(Glock18, 3, true);

    player.SetQuickBarEntityShortcut(mag1_g18_30rnd, 4, true);

    player.SetQuickBarEntityShortcut(mag2_g18_30rnd, 5, true);


    }

    };


    Mission CreateCustomMission(string path)

    {

    return new CustomMission();

    }

    Man kann zugleich Optimist und Skeptiker sein, darf aber nicht als Pessimist resignieren und kapitulieren (Manès Sperber 1905 - 1984)

  • void main()

    {


    Hive ce = CreateHive();

    if ( ce )

    ce.InitOffline();


    Weather weather = g_Game.GetWeather();


    weather.GetOvercast().SetLimits( 0.0 , 1.0 );

    weather.GetRain().SetLimits( 0.0 , 1.0 );

    weather.GetFog().SetLimits( 0.0 , 0.25 );


    weather.GetOvercast().SetForecastChangeLimits( 0.5, 0.8 );

    weather.GetRain().SetForecastChangeLimits( 0.1, 0.3 );

    weather.GetFog().SetForecastChangeLimits( 0.05, 0.10 );


    weather.GetOvercast().SetForecastTimeLimits( 3600 , 3600 );

    weather.GetRain().SetForecastTimeLimits( 300 , 300 );

    weather.GetFog().SetForecastTimeLimits( 3600 , 3600 );


    weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);

    weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);

    weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);


    weather.SetWindMaximumSpeed(30);

    weather.SetWindFunctionParams(0.1, 1.0, 50);

    }


    class CustomMission: MissionServer

    {

    void SetRandomHealth(EntityAI itemEnt)

    {

    int rndHlt = Math.RandomInt(40,100);

    itemEnt.SetHealth("","",rndHlt);

    }


    override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)

    {

    Entity playerEnt;

    playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player

    Class.CastTo(m_player, playerEnt);


    GetGame().SelectPlayer(identity, m_player);


    return m_player;

    }


    void addMags(PlayerBase player, string mag_type, int count)

    {

    if (count < 1)

    return;

    EntityAI mag1;

    for (int i = 0; i < count; i++) {

    mag1 = player.GetInventory().CreateInInventory(mag_type);

    }

    player.SetQuickBarEntityShortcut(mag1, 1, true);


    EntityAI mag2;

    for (int j = 0; j < count; j++) {

    mag2 = player.GetInventory().CreateInInventory(mag_type);

    }

    player.SetQuickBarEntityShortcut(mag2, 2, true);

    }


    override void StartingEquipSetup(PlayerBase player, bool clothesChosen)

    {

    /*

    player.RemoveAllItems();


    EntityAI item = player.GetInventory().CreateInInventory(topsArray.GetRandomElement());

    EntityAI item2 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());

    EntityAI item3 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());

    */

    EntityAI itemEnt;

    ItemBase itemBs;


    // Random array




    ref TStringArray eyeArray = {"ThinFramesGlasses","TacticalGoogles"};

    ref TStringArray handArray = {"TacticalGloves_Black","TacticalGloves_Beige","TacticalGloves_Green"};

    ref TStringArray headArray = {"Massurbancamohat"};

    ref TStringArray maskArray = {"BandanaMask_CamoPattern"};

    ref TStringArray topsArray = {"Massurbancamom65"};

    ref TStringArray pantsArray = {"Massurbancamocargopants",};

    ref TStringArray shoesArray = {"MilitaryBoots_Black","MilitaryBoots_Brown"};

    ref TStringArray backpackArray = {"MasscamoTaloon"};

    ref TStringArray vestsArray = {"HighCapacityVest_Olive","HighCapacityVest_Black","Masswoodlandcamovest"};

    ref TStringArray canArray = {"PeachesCan_Opened","SardinesCan_Opened","SpaghettiCan_Opened","TacticalBaconCan_Opened","TunaCan_Opened"};

    ref TStringArray knifeArray = {"CombatKnife"};

    ref TStringArray drinkArray = {"WaterBottle"};


    player.RemoveAllItems();


    EntityAI item0 = player.GetInventory().CreateInInventory(eyeArray.GetRandomElement());

    EntityAI item1 = player.GetInventory().CreateInInventory(handArray.GetRandomElement());

    EntityAI item2 = player.GetInventory().CreateInInventory(headArray.GetRandomElement());

    EntityAI item3 = player.GetInventory().CreateInInventory(maskArray.GetRandomElement());

    EntityAI item4 = player.GetInventory().CreateInInventory(topsArray.GetRandomElement());

    EntityAI item5 = player.GetInventory().CreateInInventory(pantsArray.GetRandomElement());

    EntityAI item6 = player.GetInventory().CreateInInventory(shoesArray.GetRandomElement());

    EntityAI item7 = player.GetInventory().CreateInInventory(backpackArray.GetRandomElement());

    EntityAI item8 = player.GetInventory().CreateInInventory(vestsArray.GetRandomElement());

    EntityAI item9 = player.GetInventory().CreateInInventory(canArray.GetRandomElement());

    EntityAI item10 = player.GetInventory().CreateInInventory(knifeArray.GetRandomElement());

    EntityAI item11 = player.GetInventory().CreateInInventory(drinkArray.GetRandomElement());

    EntityAI item12 = player.GetInventory().CreateInInventory(drinkArray.GetRandomElement());


    //Random guns


    switch (Math.RandomInt(0, 1))

    {


    // G36

    case 0:

    EntityAI gun3 = player.GetHumanInventory().CreateInHands("G36");

    gun3.GetInventory().CreateAttachment("M4_Suppressor");

    gun3.GetInventory().CreateAttachment("ACOGOptic");

    addMags(player, "Mag_STANAGCoupled_30Rnd", 2);

    player.SetQuickBarEntityShortcut(gun3, 0, true);

    itemBs = ItemBase.Cast(itemEnt);

    break;


    };


    //Give universal gear


    itemEnt = player.GetInventory().CreateInInventory("ACOGOptic");

    itemEnt = player.GetInventory().CreateInInventory("CanOpener");

    itemEnt = player.GetInventory().CreateInInventory("Armband_White");

    itemEnt = player.GetInventory().CreateInInventory("Armband_Black");

    itemEnt = player.GetInventory().CreateInInventory("PeachesCan");

    itemEnt = player.GetInventory().CreateInInventory("PeachesCan");

    itemEnt = player.GetInventory().CreateInInventory("WaterBottle");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Ammo_556x45");

    itemEnt = player.GetInventory().CreateInInventory("Rag");

    EntityAI Glock18Pstl = player.GetInventory().CreateInInventory("Glock18");

    EntityAI Mag1Glock18= player.GetInventory().CreateInInventory("mag_g18_30rnd");

    EntityAI Mag2Glock18= player.GetInventory().CreateInInventory("mag_g18_30rnd");

    itemBs = ItemBase.Cast(itemEnt);

    itemBs.SetQuantity(4);


    player.SetQuickBarEntityShortcut(Glock18, 3, true);

    player.SetQuickBarEntityShortcut(mag1_g18_30rnd, 4, true);

    player.SetQuickBarEntityShortcut(mag2_g18_30rnd, 5, true);


    }

    };


    Mission CreateCustomMission(string path)

    {

    return new CustomMission();

    }

  • Zoppel

    Hat den Titel des Themas von „Init.c“ zu „Init.c / Char beim respawn beeinflussen“ geändert.
  • grmpf'*#=$% (Ausdruck der Verzweiflung ;) ...........irgendwas klappt da wohl nicht ;) ) HalfMoon


    mj7vh44r.png


    Server ist jedenfalls nun hochgefahren und auch ohne weitere Fehlermeldung, dafür kann ich nun nicht mehr verbinden

    Man kann zugleich Optimist und Skeptiker sein, darf aber nicht als Pessimist resignieren und kapitulieren (Manès Sperber 1905 - 1984)

  • Also Mod Items und die Glock hatte ich nun schon auskommentiert, trotzdem kam die Meldung


    Nun habe ich meine alte init.c genommen ..... selbst dort habe ich nun connection failed

    Man kann zugleich Optimist und Skeptiker sein, darf aber nicht als Pessimist resignieren und kapitulieren (Manès Sperber 1905 - 1984)

  • keine Ahnung mit WAS ich mir verdammt nochmal den Server zerschossen hatte ........ jedenfalls nun neu aufgesetzt und nach und nach die Änderungen wieder eingebaut. [brain]


    Na ja .....als praktizierender IT'ler weiß ich aus eigener Erfahrung, dass der Fehler in der Regel 60cm vorm Monitor sitzt :S und es gilt immer noch das urrrrrrralte Sprichwort "Never touch a running Systen" :D


    Ergegnis: Charakter spawnt nun wie er soll, einzig die auskommentierte Glock18 (logisch) und die Jacke (die erscheint ums verr...... nicht) ....... ach und das der Char mit FÜNF Double STANAG spawnt. :/

    Man kann zugleich Optimist und Skeptiker sein, darf aber nicht als Pessimist resignieren und kapitulieren (Manès Sperber 1905 - 1984)

  • Hallöchen,

    ich wollte auch mal eine Frage in den Raum stellen.
    Undzwar möchte ich zB, abhängig der RolePlay-Hintergrundgeschichte eine zum teil definierte und zum anderen eine zufällige Startausrüstung haben.

    Und zwar sind die Spieler bei mir entkommene Häftlinge von der Prison-Island, die nach gescheiterten Experimenten am Menschen gesäubert werden musste.
    Allerdings ging dies schief und die Krankheit erreichte das Festland.
    Nun sind die paar überlebenen irgendwo am Strand angespült worden und müssen überleben...

    Hier meine Init.c :


    Hier seht ihr, dass zum Beispiel die Bekleidung auf das Prison-Outfit festgelegt wurde (abgesehen von der Hose, die komischerweise noch die Schuhe mit darstellt, diese aber nicht an den Füßen sind, daher eine graue Slackpants)
    Kopfbedeckung ist eine zufällige zum Typus passende Mütze, oder auch keine.
    Auch die Lichtquelle ist eine von mehreren möglichkeiten. (mein Server läuft 24/7 mit persistenter Echtzeit nur um 4h nach hinten versetzt, sprich bei mir wird es erst gegen 01:00 Uhr dunkel und gegen 08:00 Uhr wieder hell (habe Sommerzeit eingestellt))

    Und dann noch die Möglichkeit sich zu Bandagieren.


    Nun zu meinem Problem:
    Ich kriege es einfach nicht hin, dass der Spieler mit Rags oder Bandagen spawnt.
    Platz ist im Inventar ja vorhanden, aber es gibt keine. Woran liegt das?
    Und wie schaffe ich es, die 9V-Batterie als Attechment einzustellen.
    Die soll ja als Start-Gear nur vorhanden sein, wenn der Spieler die Taschenlampe hat.

    Ich möchte mich für vermutlich unnötige Fragen im Forum, die man sich evtl durch testen usw selber beantworten könnte entschuldigen.

    Leider bin ich beruflich bedingt immer mal für 12 ganze Tage am Stück nicht zuhause!

    Ich arbeite deutschlandweit im Schichtdienst und das gut und gerne auch mal bis zu 16 Stunden.

    Mir steht nicht die Möglichkeit zur Verfügung einen Patch, eine Mod oder etwas anderes auf die schnelle zu testen.