Hab ich gestern auch getestet. Kann bestätigen, GEHT!
Loot für Custom Buildings
-
-
servus leute irgendwie bin ich zu blöd er möchte die Datei einfach nicht erneuern ich poste hier mal die init datei hoffe ihr habt eine idee Habe Balota so schön bearbeitet da muss der Loot doch klappen
Ich habe es so Getestet das klappt nicht :
void main()
{
//INIT ECONOMY --------------------------------------
Hive myHive = CreateHive();
//Your custom spawned objects
SpawnObject( "Land_Mil_ATC_Small", "4991.954102 19.781483 2542.113525", "150.000183 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks3", "5040.007813 11.952549 2473.637207", "52.999996 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks4", "5053.923340 11.038313 2462.835205", "143.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks5", "5018.106445 15.260294 2500.459229", "-124.000008 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4881.726074 11.002197 2594.217773", "-57.999992 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4889.403320 10.762692 2600.971436", "-28.999998 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4898.214355 10.728040 2603.497070", "-4.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tower_Small", "4902.222168 13.270920 2619.246582", "0.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_GuardTower", "4951.564453 16.106791 2573.648926", "-134.999985 0.000000 0.000000" );
SpawnObject( "Land_Container_1Bo", "4893.949707 10.709565 2572.620117", "-122.999924 0.000000 0.000000" );
SpawnObject( "Land_Container_1Bo", "4898.983398 10.709240 2564.367432", "-124.999977 0.000000 0.000000" );
SpawnObject( "Land_Container_1Mo", "4896.835938 10.709240 2568.784912", "18.000006 0.000000 0.000000" );
SpawnObject( "Land_Container_1Moh", "4901.837891 10.709240 2559.051758", "-36.999996 0.000000 0.000000" );
SpawnObject( "Land_Construction_House2", "4899.050781 12.955277 2521.093994", "82.000099 -1.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big2_3", "5186.222168 11.018387 2325.646973", "-51.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big2_5", "5192.778809 11.195925 2304.246826", "0.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big3", "5158.386719 10.170507 2326.929443", "-32.000004 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big4", "5169.529297 10.711533 2304.331055", "-38.000004 0.000000 0.000000" );
SpawnObject( "bldr_tent_ltable", "5164.605469 9.983765 2300.110352", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_ltable", "5161.931152 9.983765 2305.751953", "-40.999996 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.570313 9.044168 2318.033691", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5194.193848 8.993926 2314.334229", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.949707 10.538915 2317.300537", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.877930 9.053372 2314.139648", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5192.679199 9.024620 2316.254395", "-42.000000 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "5372.151855 24.976131 2188.601807", "93.000031 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "5052.520996 19.403364 2257.084717", "-68.000061 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "4954.253418 21.922449 2366.534424", "-118.999962 0.000000 0.000000" );
//INIT WEATHER BEFORE ECONOMY INIT------------------------
Weather weather = g_Game.GetWeather();
weather.MissionWeather(false); // false = use weather controller from Weather.c
weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);
weather.GetRain().Set( 0, 0, 1);
weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);
//INIT ECONOMY--------------------------------------
Hive ce = CreateHive();
if ( ce )
ce.InitOffline();
GetCEApi().ExportProxyData( "7500 0 7500", 100000 ); //Center of map, radius of how far to go out and find buildings.
Und so klappt es auch nicht :
void main()
{
//INIT ECONOMY --------------------------------------
Hive myHive = CreateHive();
//Your custom spawned objects
SpawnObject( "Land_Mil_ATC_Small", "4991.954102 19.781483 2542.113525", "150.000183 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks3", "5040.007813 11.952549 2473.637207", "52.999996 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks4", "5053.923340 11.038313 2462.835205", "143.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks5", "5018.106445 15.260294 2500.459229", "-124.000008 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4881.726074 11.002197 2594.217773", "-57.999992 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4889.403320 10.762692 2600.971436", "-28.999998 0.000000 0.000000" );
SpawnObject( "Land_Mil_Barracks_Round", "4898.214355 10.728040 2603.497070", "-4.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tower_Small", "4902.222168 13.270920 2619.246582", "0.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_GuardTower", "4951.564453 16.106791 2573.648926", "-134.999985 0.000000 0.000000" );
SpawnObject( "Land_Container_1Bo", "4893.949707 10.709565 2572.620117", "-122.999924 0.000000 0.000000" );
SpawnObject( "Land_Container_1Bo", "4898.983398 10.709240 2564.367432", "-124.999977 0.000000 0.000000" );
SpawnObject( "Land_Container_1Mo", "4896.835938 10.709240 2568.784912", "18.000006 0.000000 0.000000" );
SpawnObject( "Land_Container_1Moh", "4901.837891 10.709240 2559.051758", "-36.999996 0.000000 0.000000" );
SpawnObject( "Land_Construction_House2", "4899.050781 12.955277 2521.093994", "82.000099 -1.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big2_3", "5186.222168 11.018387 2325.646973", "-51.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big2_5", "5192.778809 11.195925 2304.246826", "0.000000 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big3", "5158.386719 10.170507 2326.929443", "-32.000004 0.000000 0.000000" );
SpawnObject( "Land_Mil_Tent_Big4", "5169.529297 10.711533 2304.331055", "-38.000004 0.000000 0.000000" );
SpawnObject( "bldr_tent_ltable", "5164.605469 9.983765 2300.110352", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_ltable", "5161.931152 9.983765 2305.751953", "-40.999996 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.570313 9.044168 2318.033691", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5194.193848 8.993926 2314.334229", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.949707 10.538915 2317.300537", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5191.877930 9.053372 2314.139648", "0.000000 0.000000 0.000000" );
SpawnObject( "bldr_tent_pallets", "5192.679199 9.024620 2316.254395", "-42.000000 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "5372.151855 24.976131 2188.601807", "93.000031 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "5052.520996 19.403364 2257.084717", "-68.000061 0.000000 0.000000" );
SpawnObject( "Land_Sawmill_Illuminanttower", "4954.253418 21.922449 2366.534424", "-118.999962 0.000000 0.000000" );
GetCEApi().ExportProxyData( "7500 0 7500", 100000 ); //Center of map, radius of how far to go out and find buildings.
//INIT WEATHER BEFORE ECONOMY INIT------------------------
Weather weather = g_Game.GetWeather();
weather.MissionWeather(false); // false = use weather controller from Weather.c
weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);
weather.GetRain().Set( 0, 0, 1);
weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);
//INIT ECONOMY--------------------------------------
Hive ce = CreateHive();
if ( ce )
ce.InitOffline();
Hoffe ihr habt eine idee dafür die Jammern mir alle schon im discord die ohren voll
-
So bei mir klappt es einwandfrei das nächste Problem.
Seit dem Spawnt auch Loot in der Trader Zone bei den Händlern habe nix gefunden wie ich das beheben kann hat jemand dazu eine idee ?
-
wie hast du das problem denn gelöst?
-
So bei mir klappt es einwandfrei das nächste Problem.
Seit dem Spawnt auch Loot in der Trader Zone bei den Händlern habe nix gefunden wie ich das beheben kann hat jemand dazu eine idee ?
Nein, das ist die negative Seite bei dem ganzen...musst du mit leben oder du musst die "mapgrouppos.xml" Datei per Hand bearbeiten und die Objekte aus dem Traderbereich per Hand raussuchen und entfernen
-
Kleine Ergänzung dazu...falls du dich für die Bearbeitung entscheidest:
Im config-Bereich vom Trader gibt es die Datei "TraderObjects.txt. Dort stehen alle Objekte mit Posis drin. Denke wenn du die mit der .xml-Datei vom Loot abgleichst, wirst du schnell die wenigen Spawnobjekte ausmachen können.
Habe das jetzt einfach mal ausprobiert und muss sagen, die entsprechende Datei ist schnell zu bearbeiten und somit spawnt dann auch kein Loot mehr im Traderbereich...funzt also wie angesagt
-
Moin bin neu hier und hab auch ein eigenen Server hab jetzt seid 2 Wochen das Problem das das Loot Spawnen in meinen Custom Buildings einfach nicht funktioniert. Kann da mir weiter helfen. Wäre echt super verzweifel da langsam ein wenig
-
Aktiviere die "GetCEApi….." Funktion in deiner init.c Datei, starte deinen Server neu, warte auf die neue "mapgrouppos.xml" Datei, stoppe deinen Server, deaktiviere deine "GetCEApi…" Funktion, tausche die neue .XML Datei gegen deine alte aus und starte deinen Server wieder neu.
Schon sind neue Spawns aktiv und deine Items werden dort auch spawnen.
Achte darauf, das der GetCEApi Wert gerne auf 100000 steht und nicht wie normal nur auf 10000.
-
Hallo,
ich brauche mal eine Idee. Bei mir wird die neue mapgrouppos.xml nicht generiert.
folgende Init.c habe ich.
Code
Alles anzeigen//Spawn helper function void SpawnObject( string type, vector position, vector orientation ) { auto obj = GetGame().CreateObject( type, position ); obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.SetOrientation( obj.GetOrientation() ); //Collision fix obj.Update(); obj.SetAffectPathgraph( true, false ); if( obj.CanAffectPathgraph() ) GetGame().GetCallQueue( CALL_CATEGORY_SYSTEM ).CallLater( GetGame().UpdatePathgraphRegionByObject, 100, false, obj ); } void main() { //INIT ECONOMY -------------------------------------- Hive ce = CreateHive(); if ( ce ) ce.InitOffline(); SpawnObject( "bldr_pier_concrete1", "1246.564819 125.332558 6382.423340", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1228.043091 125.288986 6382.416016", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1246.488281 125.272003 6416.985352", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1246.450684 125.259010 6451.007324", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1228.048096 125.223480 6415.879883", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1228.073486 125.177811 6450.996094", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1228.130981 125.232025 6347.851074", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1209.504272 125.193710 6347.854980", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1209.451050 125.143707 6387.029785", "0.000000 0.000000 0.000000" ); SpawnObject( "bldr_pier_concrete1", "1208.301880 125.193710 6427.049805", "0.000000 0.000000 0.000000" ); ... SpawnObject( "Land_Medical_Tent_Shower", "13704.681641 17.549976 3173.138184", "-119.999992 0.000000 0.000000" ); SpawnObject( "Land_Medical_Tent_Shower", "13709.890625 17.549999 3164.214844", "-119.999992 0.000000 0.000000" ); SpawnObject( "Land_Medical_Tent_Big", "13717.233398 15.950015 3151.750244", "59.999996 0.000000 0.000000" ); SpawnObject( "bldr_plnt_b_corylusAvellana_2s", "13691.111328 30.800205 3102.150879", "0.000000 0.000000 0.000000" ); //Trader SpawnObject( "bldr_Misc_Table_Camp", "1402.089966 306.699005 9280.650391", "28.000004 0.000000 0.000000" ); GetCEApi().ExportProxyData("7500 0 7500", 100000);; //Center of map, radius of how far to go out and find buildings. //INIT WEATHER BEFORE ECONOMY INIT------------------------ Weather weather = g_Game.GetWeather(); weather.MissionWeather(false); // false = use weather controller from Weather.c weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0); weather.GetRain().Set( 0, 0, 1); weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0); //DATE RESET AFTER ECONOMY INIT------------------------- int year, month, day, hour, minute; int reset_month = 9, reset_day = 20; GetGame().GetWorld().GetDate(year, month, day, hour, minute); if ((month == reset_month) && (day < reset_day)) { GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute); } else { if ((month == reset_month + 1) && (day > reset_day)) { GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute); } else { if ((month < reset_month) || (month > reset_month + 1)) { GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute); } } } } class CustomMission: MissionServer { void SetRandomHealth(EntityAI itemEnt) { if ( itemEnt ) { int rndHlt = Math.RandomInt(55,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 itemTop; EntityAI itemEnt; ItemBase itemBs; float rand; itemTop = player.GetInventory().CreateInInventory("hoodie_ISurvive"); itemTop = player.GetInventory().CreateInInventory("HunterPants_Brown"); itemTop = player.GetInventory().CreateInInventory("JoggingShoes_Blue"); if ( itemTop ) { itemEnt = player.GetInventory().CreateInInventory("Rag"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(4); itemEnt = player.GetInventory().CreateInInventory("VitaminBottle"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(50); itemEnt = player.GetInventory().CreateInInventory("TetracyclineAntibiotics"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(12); itemEnt = player.GetInventory().CreateInInventory("CombatKnife"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(1); itemEnt = player.GetInventory().CreateInInventory("PainkillerTablets"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(12); itemEnt = player.GetInventory().CreateInInventory("CharcoalTablets"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(12); itemEnt = player.GetInventory().CreateInInventory("TacticalBaconCan_Opened"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(200); itemEnt = player.GetInventory().CreateInInventory("TacticalBaconCan_Opened"); if ( Class.CastTo(itemBs, itemEnt ) ) itemBs.SetQuantity(200); SetRandomHealth(itemEnt); string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" }; int rndIndex = Math.RandomInt(0, 4); itemEnt = itemTop.GetInventory().CreateInInventory(chemlightArray[rndIndex]); SetRandomHealth(itemEnt); rand = Math.RandomFloatInclusive(0.0, 1.0); if ( rand < 0.35 ) itemEnt = player.GetInventory().CreateInInventory("Apple"); else if ( rand > 0.65 ) itemEnt = player.GetInventory().CreateInInventory("Pear"); else itemEnt = player.GetInventory().CreateInInventory("Plum"); SetRandomHealth(itemEnt); GetNotificationSystem().CreateNotification_Old("Hallo", "Willkollen auf ISurvive", ARGB(255, 0, 0, 0), 20); } } }; Mission CreateCustomMission(string path) { return new CustomMission(); }
Hat jemand eine Idee, was ich noch machen kann?
Habe keine Lust die ganze Datei von Hand zu modifizieren.
Gruß
Buddhasfeld
-
Denke mal die Befehlskette ganz oben im "SpawnHelper"-Bereich ist überflüssig.
Du brauchst nur den GetCEApi Befehl im "Void Main" -Bereich...wofür den oberen Teil hast kann ich nicht nachvollziehen.
Ich habe das nicht und bei mir funzen alle Custom Objekte wunderbar inkl. Loot-Spawn
-
Hallo ElBarto,
Ich habe es noch mal versucht. Mit dem Ausschnitt, den ich hier online gestellt habe, funktioniert es bei mir auch.
Also muss ein Fehler im Rest der spawnobject Datei sein.
Ich schaue mal, wo ich das denn Fehler habe.
Dank dir!
-
Top
-
servus wurde der fehler gefunden weil ich habe das gleiche problehm
-
Hallo zusammen bei mir hat alles einwandfrei funktioniert. In den "Custom placed Objects" spant Loot. Was ja schon einmal gut ist. Nur bin ich mit der Loot Menge und Art nicht zufrieden.
Kann das sein das dieses mit der "mapgroupproto.xml" zusammenhängt. Wie habt ihr das gelöst?
-
Das hängt von der Klassifizierung der Custom Objekten zusammen und wie du die Items in deiner types.xml eingestuft hast. Die mapgroupproto sagt nur aus wo Items gespawnt sind
-
Naja und man kann darin auch festlegen welche category darin spawnen soll
Military
Industrial
Usw
Und vorallem wieviele lootspawns benutzt werden... Sprich
Das standart zelt hat insgesamt lasst mich lügen will ja nur das prinzip erklären
20 spawnplätze die als floor definiert sind
Und 10 die als shelf definiert sind
Nutzt aber nie alle wäre ja sonst zuviel
Ist dafür da damit loot nicht immer an den selben orten spawnt
Dann gibt es 3 max werte
Einen für insgesamt zb 3
Und je einen für floor und shelf in unserem Beispiel sind jetzt beide bei 2
Dann spawnt das lot an insgesamt 3 plätzen zufällig in dem Beispiel also entweder 2 auf dem boden eines im regal oder umgekehrt
Hoffe das ist nicht allzu verwirrend...
Ps. Nach Änderungen in der proto muss ich die mapgroupos immer neu exportieren um effekte zu sehen.
-
Nachdem du neue Gebäude platziert oder alte entfernt hast solltest du die types.bin löschen
Mach zur sicherheit vorher ein backup aber das sollte dafür Sorgen, dass die loot platzierung neu aufgerollt wird.
Habe über 1000 Objekte platziert und über 600 Gelöscht und der loot spawnt ohne Probleme.
Aufpassen! typen.BIN und nicht types.XML
-
geht auch ohne das löschen der types.bin
-
Hallo,
vielleicht kann mir ja jemand hier bitte helfen. Ich habe ein paar Gebäude auf meinem Server hinzugefügt und alles so gemacht wie auch schon zuvor. Alles ist da auch wird eine neue mapgrouppos.xml erzeugt. Nach dem austausch dieser tritt das eigentliche Problem auf, kein Loot in den neuen Gebäuden.... Ich hab wirklich keinen Schimmer mehr was ich noch versuchen könnte. Hat wer eine Lösung?
-
Was sind das für Gebäude / Objekte?
Sind die vom original Spiel oder gemoddete Gebäude?