[Official Mod Development Bug Reports] A Thread for Mod Creators

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Andy_MB
Posts: 72
Joined: Fri, 24. Jul 15, 17:47
x4

Post by Andy_MB » Tue, 20. Sep 16, 14:09

Bug: some times repared ship is not undocks.
"given for repairs to the shipyard , new boarded Ship.
Resources for repair everything, but Shiptreyder it does not let them go for several hours. I do not remember how, but this ship came with a sequence of four trade routes.
As it docked, routes can not be reseted."

It was required to write a script with the addition button "Give my ship" to NPC_Shiptrader

Code: Select all

 <diff>
<add sel="/mdscript/cues/cue[@name='Base']/cues/cue[@name='DefaultComm']/actions/do_else/do_else/do_if[@value='$ship?']">
  <add_player_choice_sub text="'Give me my ship back!'" position="bottom_left" section="cArch_BackMyShip" choiceparam="[0, 0, $actor, $BuildModule, $ship, $ship.macro.id]"/>
  </add>
  <add sel="/mdscript[@name='NPC_Shiptrader']/cues/cue[@name='Base']/cues">

    <cue name="Clear_Bild_Module_And_Release_Ship" instantiate="true">
      <conditions>
        <event_conversation_next_section section="cArch_BackMyShip" actor="$actor" />
      </conditions>
      <actions>
        <signal_cue_instantly cue="BuildFinished" param="$BuildModule" />
      </actions>
    </cue>
  </add>
</diff>
fixes for broken savegames(in NPC_Shiptrader.xml) dosent work in this case!
Needs a new fix which checks (Repair Finised?) and (not $actor.buildmodule.freedockslot?) or similar.
_____________

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Sun, 2. Oct 16, 15:44

and encountered one more thing, requires some explaination though:

i made some Movement Scrtipts from Scratch (i think you already know them ^^ ) and to keep Movement as fluent as possible i wrote everything in such a way that the next movement command ( <move_to/> ) is given shortly before the current one is finished (to avoid complete Stops)
There is one odd case with this: When a Ship is currently boosting and approaching its Destination Position it usually slows down - but the moment i give the next movement Order (which is without boosting, since its IZ movement) it immediately speeds up to top speed again until it reaches the Waypoint where the Boosters are switched off and it quickly slows down. it seems for Boost Slowdown only the presence of further Waypoints is used, but its irrelevant if they are also for boosting or not.
So i request a small change for Boost End Behavior: take into account whether the next Waypoint is also with boosting (no slowdown) or if its regular movement (with slowdown).
Dont forget about the case where a Ship already slows down and then further waypoints are added.

Really low priority imo since it doesnt happen in Vanilla (yet). wanted to report it anyway :)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

User avatar
Marvin Martian
Posts: 3546
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Tue, 22. Nov 16, 16:04

that crazy stuff you need to find primarypurpose of an macro, because ES doesn't add anything to check for :roll:

Code: Select all

<substitute_text text="$testmacro" source="$macro.id">
	<replace string="'builder'" with="'match'" />
</substitute_text>
<do_if value="$testmacro != $macro.id">
	<set_value name="$primarypurpose" exact="'build'"/>
</do_if>
<do_else>
	<substitute_text text="$testmacro" source="$macro.id">
		<replace string="'mine'" with="'match'" />
		<replace string="'collect'" with="'match'" />
	</substitute_text>
	<do_if value="$testmacro != $macro.id">
		<set_value name="$primarypurpose" exact="'mine'"/>
	</do_if>
	<do_else>
		<substitute_text text="$testmacro" source="$macro.id">
			<replace string="'cargo'" with="'match'" />
			<replace string="'contain'" with="'match'" />
			<replace string="'energ'" with="'match'" />
			<replace string="'liquid'" with="'match'" />
			<replace string="'bulk'" with="'match'" />
			<replace string="'ship_04'" with="'match'" />
			<replace string="'transpo'" with="'match'" />
		</substitute_text>
		<do_if value="$testmacro != $macro.id">
			<set_value name="$primarypurpose" exact="'trade'"/>
		</do_if>
		<do_else>
			<set_value name="$primarypurpose" exact="'fight'"/>
		</do_else>
	</do_else>
</do_else>

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Tue, 22. Nov 16, 16:15

currently cannot check, but isnt there a .primarypurpose property for macros? (which results in an objectpurpose, not a string)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

User avatar
Marvin Martian
Posts: 3546
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Tue, 22. Nov 16, 16:25

.primarypurpose is invalid

.purposename returs for everything "Fracht" (since 4 some strings get converted into translated text like factionnames instead of faction.factionid - thats not good in every situation), except of builderships here any longer string gets returned
but that also not match to (for example) objectpurpose.trade or objectpurpose.{$macro.purposename} as it looks like

.purposemacro also not really helpfull and returns in case a storage_macro (fuelstorage maybe :P)

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Tue, 22. Nov 16, 17:19

ok, just could check: a macro doesnt have primarypurpose, that one is only available to objects. you could create a temp object in a presentation cluster to check it (that would be cleaner than your method, but is also a workaround - and dont worry about leaving data behind, presentation clusters must explicitly set to be persistent or they wont make it into the savegame and clean themselves up)

and i wonder what you want to achieve? why cannt you use a live object but you have to depend on a macro? (i guess its for the independent factions for the CWIR follow-up? )
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

User avatar
Marvin Martian
Posts: 3546
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Wed, 23. Nov 16, 08:22

in that case i want to select a macro from the shipyard macrolist, so i can't create each time >20 Ships only to check what primarypurpose they have

ok, i could work with lists like a boss, but because of the dickey XR.exe with here potential DEP 3,5GB cap i'd like to reduce such data graves

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Wed, 23. Nov 16, 20:02

ah, ok.. you want to order fitting ships from a Shipyard..
well, instead of creating them you could also search for them in the existent universe.. doesnt cost as much memory, but a few more cpu cycles instead.. and use creation as fallback..

example code:

Code: Select all

        <create_presentation_cluster name="$tempcluster"/>
        <find_zone name="$tempzone" space="$tempcluster"/>
        <do_all exact="$macrolist.count" counter="$i" reverse="true">
          <find_ship name="$tempship" macro="$macrolist.{$i}" space="$station.cluster" multiple="false"/>
          <do_if value="not $tempship.exists">
            <create_ship name="$tempship" macro="$macrolist.{$i}" zone="$tempzone"/>
          </do_if>
          <set_value name="$purpose" exact="$tempship.primarypurpose"/>
          <!-- you get the purpose for every Ship here - either filter the macrolist here by removing unfitting entries or save the result for later usage -->
        </do_all>
        <destroy_object object="$tempcluster"/>
        <remove_value name="$tempzone"/>
        <remove_value name="$tempship"/>
only works in MD though since AI cannt create clusters. there somewhere in the existent universe has to be used...
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

lqvinh
Posts: 74
Joined: Sun, 1. Dec 13, 09:17

Post by lqvinh » Mon, 16. Jan 17, 10:01

Hi,

Where do you all find those functions for modding (e.g. find_zone, create_ship,...) ?

And how do you change Update trade offers of stations by fly by them?

User avatar
alexalsp
Posts: 1820
Joined: Fri, 18. Jul 14, 05:28
x4

Post by alexalsp » Tue, 17. Jan 17, 13:06

Good afternoon, everybody. Long I thought where to write, and decided to write on this topic.

I use mod for placing the station, in Albion, at the start of a new game.

Simply show the video. To attach two videos with a bug.

1) Ship builder disappears.
2) All the dismissed NPC, located in the administrative dock.

1) https://youtu.be/X2eTSHye7O8

2) https://youtu.be/w2Q8JRUXIGU

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<mdscript name="two_stations" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
<cues>
		
		<cue name="station_1">
			
      <conditions>
        <event_cue_signalled cue="md.Setup.GameStart" /> 
      </conditions>

			<actions>
	
		<find_zone name="$BuildZone" macro="macro.tzoneCluster_B_Sector07_Zone02_macro" required="true"/>
		    <create_station name="$Station" macro="macro.struct_bt_alb_fuelstation_macro" zone="$BuildZone" owner="faction.player">
             <position x="14502.0" y="0" z="27705.0"/>

			 <buildsequence sequence="'a'" stage="1"/>
			 <buildsequence sequence="'a'" stage="2"/>
			 <buildsequence sequence="'a'" stage="3"/>
			 <buildsequence sequence="'a'" stage="4"/>
			 <buildsequence sequence="'b'" stage="1"/>
			 <buildsequence sequence="'b'" stage="2"/>
			 <buildsequence sequence="'b'" stage="3"/>
			 <buildsequence sequence="'b'" stage="4"/>
			 <buildsequence sequence="'b'" stage="5"/>
			 <buildsequence sequence="'c'" stage="1"/>
			 <buildsequence sequence="'c'" stage="2"/>
			 <buildsequence sequence="'c'" stage="3"/>
			 <buildsequence sequence="'c'" stage="4"/>
			 <buildsequence sequence="'d'" stage="1"/>
			 <buildsequence sequence="'d'" stage="2"/>
			 <buildsequence sequence="'d'" stage="3"/>
			 <buildsequence sequence="'d'" stage="4"/>
			 <buildsequence sequence="'e'" stage="1"/>
			 <buildsequence sequence="'e'" stage="2"/>
			 <buildsequence sequence="'f'" stage="1"/>
			 <buildsequence sequence="'f'" stage="2"/>
			 <buildsequence sequence="'f'" stage="3"/>
			 <buildsequence sequence="'g'" stage="1"/>
			 <buildsequence sequence="'g'" stage="2"/>
			 <buildsequence sequence="'h'" stage="1"/>
			 <buildsequence sequence="'i'" stage="1"/>	
         </create_station>

		 <find_dock_location name="$AdminDock" container="$Station" multiple="false" dockpopulationtype="dockpopulationtype.administrative" />
              <create_platform_actor name="$Manager" type="entitytype.manager" dockingbay="$AdminDock.component" ref="manager_omicron_lyrae_random">
                <owner exact="faction.player"/>
				<skills>
                  <skill type="boarding" min="3" max="4" />
                  <skill type="combat" min="3" max="5" />
                  <skill type="engineering" min="3" max="5" />
                  <skill type="leadership" min="5" max="5" />
                  <skill type="management" min="5" max="5" />
                  <skill type="morale" min="5" max="5" />
                  <skill type="navigation" min="5" max="5" />
                  <skill type="science" min="5" max="5" />
                  </skills>
              </create_platform_actor>
              <create_platform_actor name="$DefenceNPC" type="entitytype.defencecontrol" dockingbay="$AdminDock.component" ref="fighter_omicron_lyrae_random">
                <owner exact="faction.player"/>
				<skills>
                   <skill type="boarding" min="4" max="4" />
                   <skill type="combat" min="5" max="5" />
                   <skill type="engineering" min="2" max="5" />
                   <skill type="leadership" min="5" max="5" />
                   <skill type="management" min="1" max="4" />
                   <skill type="morale" min="5" max="5" />
                   <skill type="navigation" min="1" max="4" />
                   <skill type="science" min="5" max="5" />
                   </skills>
              </create_platform_actor>
              <assign_trade_manager object="$Station" actor="$Manager"/>
              <assign_defence_manager object="$Station" actor="$DefenceNPC"/>
              <set_actor_account actor="$Manager" />
              <start_script object="$Manager" name="'trade.station.player'"/>
              <start_script object="$DefenceNPC" name="'fight.station.player'"/>            

		<!-- add engineer -->

              <create_platform_actor name="$engineer" type="entitytype.engineer" dockingbay="$AdminDock.component" ref="engineer_albion_random">
                <owner exact="faction.player"/>
			 <skills>
				<skill type="boarding" exact="1"/>
				<skill type="combat" exact="3"/>
				<skill type="engineering" exact="5"/>
				<skill type="leadership" exact="2"/>
				<skill type="management" exact="4"/>
				<skill type="morale" exact="4"/>
				<skill type="navigation" exact="3"/>
				<skill type="science" exact="5"/>
			 </skills>
              </create_platform_actor>
			<set_entity_type entity="$engineer" type="entitytype.engineer"/>
			<assign_engineer actor="$engineer" object="$Station"/>
			<set_value name="$engineer.$control"/> 
            <start_script object="$engineer" name="'engineer.ai'"/>

             <create_platform_actor name="$Actor" dockingbay="$AdminDock.component" type="entitytype.specialistpowerstorage"> 
               <owner exact="faction.player"/> 
                <select faction="[faction.plutarch,faction.heartofalbion,faction.argongovernment,faction.canteran,faction.jonferson,faction.familyryak,faction.teladi].random" tags="tag.specialistpowerstorage"/> 
                   <skills> 
                       <skill type="boarding" min="1" max="1" /> 
                       <skill type="combat" min="2" max="2" /> 
                       <skill type="engineering" min="5" max="5" /> 
                       <skill type="leadership" min="4" max="4" /> 
                       <skill type="management" min="5" max="5" /> 
                       <skill type="morale" min="4" max="4" /> 
                       <skill type="navigation" min="3" max="3" /> 
                      <skill type="science" min="2" max="2" /> 
                  </skills> 
            </create_platform_actor> 
       <assign_control_entity  actor="$Actor" object="$Station"/>
	   <set_skills_visible entity="$Actor" visible="true" /> 

			<!-- Дроны для защиты станции -->		 

            <set_value name="$Unitcapacity" exact="$Station.units.maxcount" />
			<add_units object="$Station" category="unitcategory.welder" mk="1" exact="0.2*$Unitcapacity" /> 
			<add_units object="$Station" category="unitcategory.transport" mk="1" exact="0.2*$Unitcapacity" />  
			<add_units object="$Station" category="unitcategory.defence" mk="2" exact="0.15*$Unitcapacity" />  
			<add_units object="$Station" category="unitcategory.defence" mk="4" exact="0.15*$Unitcapacity" />  
			<add_units object="$Station" category="unitcategory.defence" mk="6" exact="0.15*$Unitcapacity" />  
		
			
			<!-- Затариваем станцию товаром -->		 
			<add_default_production_wares object="$Station" lowerlimit="80" upperlimit="95"/> 
            <add_ammo object="$Station" macro="macro.missile_turret_dumbfire_macro" amount="1000" />			



         </actions>
        </cue>

	 </cues> 
</mdscript>

User avatar
alexalsp
Posts: 1820
Joined: Fri, 18. Jul 14, 05:28
x4

Post by alexalsp » Mon, 23. Jan 17, 10:05

This topic examined by developers? About the problems, someone can say?
We saw.
We'll keep thinking.
Not our prolema ....

It started from version 4.0 in the version 3.61 all was normal.

I am sorry. Just do not understand, somebody familiarized with the problem or not.

User avatar
Marvin Martian
Posts: 3546
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Mon, 23. Jan 17, 11:13

do i understand the problem of the Buildership right, that you try to attach them to a nonBuildlocation Station?

This won't work, because a CV is connected by a buildlocation (npc)buildconX

also original Map-Stations can't connected to a CV

at CWIR we use to prevent that bug

Code: Select all

	<do_elseif value="event.param == 'cArch_deployatstation'">
		<debug_text text="event.param2"/>
		<do_if value="event.param2.{3}.zone.npcbuildlocations.indexof.{event.param2.{3}.buildlocation} or event.param2.{3}.zone.buildlocations.indexof.{event.param2.{3}.buildlocation}">
			<set_value name="$DeployedStation" exact="event.param2.{3}"/>
			<add_npc_line line="1112" comment="Moving into position" />
			<signal_cue cue="DeployToStation"/>
		</do_if>
		<do_else>
			<show_help position="8" log="false" force="true" duration="2s" custom="'ERROR: station incompatible [missing buildspot]'" />
		</do_else>
	</do_elseif>
in case you want to script a station use instead of position the (since 4.0) existing buildlocation option (important!, don't use a position too)
also as far i know, you can't attach/dettach an station from a buildspot after it was created

User avatar
alexalsp
Posts: 1820
Joined: Fri, 18. Jul 14, 05:28
x4

Post by alexalsp » Mon, 23. Jan 17, 13:59

Marvin Martian

ОК. Thanks for the clarification .

But the second question remains open. :(

User avatar
Marvin Martian
Posts: 3546
Joined: Sun, 8. Apr 12, 09:40
x4

Post by Marvin Martian » Mon, 23. Jan 17, 14:29

about second i assume the fired NPC will transfered to a new (random) Station with <start_actor_transport /> without defined target the NPC will get ownership of the station too on arrival, in case of an Player Station this results into a problem
i think it won't help to change ownership before you start start_actor_transport - the original NPC seems to get destroyed at conversation so the arriving one should be a copy

i had in the past once this sort of problem, here i got two Managers working on my station :rant: since them i doesn't fire someone in range of my own stations

User avatar
alexalsp
Posts: 1820
Joined: Fri, 18. Jul 14, 05:28
x4

Post by alexalsp » Mon, 23. Jan 17, 16:29

This bug in the clean game without mods.
Temporary solution of the problem:

NPC_Engineer.xml

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>

<diff>
  <add sel="//cue[@name='OnPlatformPopulation_Engineer']/cues/cue[@name='OnFired']/actions/do_if"  pos="before">
    <destroy_object object="$actor" />
  </add>
  <remove sel="//cue[@name='OnPlatformPopulation_Engineer']/cues/cue[@name='OnFired']/actions/do_if/start_actor_transport"/>
</diff>
NPC_Staff.xml

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<diff>

  <add sel="//cue[@name='OnPlatformPopulation_Staff']/cues/cue[@name='OnFired']/actions/do_if"  pos="before">
    <destroy_object object="$actor" />
  </add>
  <remove sel="//cue[@name='OnPlatformPopulation_Staff']/cues/cue[@name='OnFired']/actions/do_if/start_actor_transport"/>

</diff> 
NPC_Architect.xml

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>

<diff>
  <add sel="//cue[@name='Base']/cues/cue[@name='OnFired']/actions/do_if"  pos="before">
    <destroy_object object="$actor" />
  </add>
  <remove sel="//cue[@name='Base']/cues/cue[@name='OnFired']/actions/do_if/start_actor_transport"/>
</diff>
NPC_Marine.xml

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>

<diff>
  <add sel="//library[@name='MarineHandler']/cues/cue[@name='OnFired']/actions/do_if"  pos="before">
    <destroy_object object="$actor" />
  </add>
  <remove sel="//library[@name='MarineHandler']/cues/cue[@name='OnFired']/actions/do_if/start_actor_transport"/>
</diff>

NPC_Specialist.xm

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>

<diff>
  <add sel="//cue[@name='OnPlatformPopulation_Specialist']/cues/cue[@name='OnFired']/actions/do_if"  pos="before">
    <destroy_object object="$actor" />
  </add>
  <remove sel="//cue[@name='OnPlatformPopulation_Specialist']/cues/cue[@name='OnFired']/actions/do_if/start_actor_transport"/>
</diff>

Meme Turtle
Posts: 175
Joined: Thu, 27. Nov 14, 16:33

Post by Meme Turtle » Thu, 6. Apr 17, 21:05

This is less of a real bug and more of incosistencies in object properties. Specifically, bullet properties

Code: Select all

  <macro name="" class="bullet">
    <component ref="" />
    <properties>
      <bullet speed="" lifetime="" range="" amount="" barrelamount="" maxhits="" ricochet=" scale="" attach="" timediff="" angle="" restitution=""/>

1) Combination

Code: Select all

scale="1" attach="0"
causes projectile to spawn in the middle of the zone, not near the parrent object(turret). Expected behaviour would be to spawn the projectile near turret and scale it towards the direction turret was facing.

2) Property

Code: Select all

angle
is ignored if the projectile is a beam(attach=1 scale=1). Expected behaviour would to rotate projectile randomly similar to how bullet type projectiles(attach=0 scale=0) are spawned now.

The need for these changes comes from the idea of a mod that improves fighters. Beam weapons, such as khaak kyon emitters or plasma/jet turrets, are a serious threat to fighters and in fact make them useless. More details are in my posts in this topic:
https://forum.egosoft.com/viewtopic.php ... &start=705

User avatar
KrYcHokE
Posts: 259
Joined: Wed, 2. Dec 15, 13:15
x4

Post by KrYcHokE » Mon, 17. Apr 17, 21:24

Hi, why space can be pink in added by mod systems on linux version of game?

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Mon, 17. Apr 17, 22:43

KrYcHokE wrote:Hi, why space can be pink in added by mod systems on linux version of game?
this sentence doesnt make much sense in english, but i think you mean that some textures are displayed as a pink (placeholder) texture. if i am right check that all your paths and file names are lower case, because the linux Version dislikes CamelCase/Upper Case for some reason...
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

User avatar
KrYcHokE
Posts: 259
Joined: Wed, 2. Dec 15, 13:15
x4

Post by KrYcHokE » Mon, 17. Apr 17, 23:56

Yes, but i check all paths and dont see any problem.
some screens:
http://pasteboard.co/5pPj7YaKp.png
http://pasteboard.co/50Nwuo1dH.png
not have linux for deep testing

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Tue, 18. Apr 17, 00:57

the debug output might provide more info.. could you get a logfile (or console output) from the Game started with the parameters
-logfile debuglog.txt -debug all

also maybe a link to the mod in question for a better look (i personally prefer Archive Files so i can extract them anywhere - steam workshop clutters up my extensions directory unnecesarily..)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

Post Reply

Return to “X Rebirth - Scripts and Modding”