Spring naar inhoud
NLD Community

Join the NLD Discord channel! discord.png https://discord.gg/0WsKGiYeGHJEAI5q
Breaking News: NLD Community maakt een doorstart!

Error ingame.


nbomers

Aanbevolen Bericht

Hallo, leden en staff.

 

Ik ben bezig met het ombouwen van de a helmers fush kraan tot een kraan met velkop. Nu ben ik zo ver dat hij ingame kan komen alleen loop ik tegen een error aan die ik niet eerder heb gezien. Misschien kan een van jullie mij uitleggen wat de reden is van deze error en wat de oplossing zou kunnen zijn.

 

Invalid compound index: 6>0|0
Error: Running LUA method 'update'.
dataS/scripts/utils/Utils.lua(44) : attempt to index a nil value

 

Iedere keer wanneer ik de game op nieuw opstart is het deze index of deze index maar dan met een 5 als cijfer die de error veroorzaakt.

 

Wie oh Wie kan mij helpen?

Link naar opmerking
Deel via andere websites

  • Master Moderator

gebruik de zoekfunctie in je text/xml editor   en zoek naar 6>0|0, waarschijnlijk gaat hij onderaan bij de componenten staan en ga je die lijst moeten aanpassen dat het overeenkomt met de herwerkte mod.  

 

En de reden staat letterlijk in de foutmelding =

 

invalid compound index 6>0|0

etc etc     Attempt to index a nil value =     

 

poging om een niet bestaande waarde te gebruiken ( tov het actieve scriptblok )

Nil = niet bestaand,    Null =   Bestaand, maar lege waarde  dus letterlijk ""

Link naar opmerking
Deel via andere websites

  • Master Moderator

hij kan gerust bestaan, maar weet het spel wel dat hij moet geladen worden? ( componenten lijst ) Alles buiten 0> moet via extra code worden gekoppeld

 

voorbeeld uit de fuchs  =

 <components count="4">
        <component1 centerOfMass="0 -0.1 0" solverIterationCount="10"/>
        <component2 centerOfMass="0 -0.3 0" solverIterationCount="30" /> <!-- claw -->
        <component3 centerOfMass="0 0 0" solverIterationCount="20" /> <!-- claw left -->
        <component4 centerOfMass="0 0 0" solverIterationCount="20" /> <!-- claw right -->
        <!-- claw base -->
		

        <!-- claw base -->
        <joint component1="0" component2="1" index="0>5|0|0|3|0" indexActor1="1>0|0" rotLimit="0 50 100" transLimit="0 0 0" zRotationNode="0>5|0|0|3|0|0" enableCollision="true" rotDriveVelocity="0 0 0" maxRotDriveForce="0.5 0.5 0.5" transLimitSpring="6000 6000 6000" transLimitDamping="100 100 100"  />
        <joint component1="1" component2="2" index="1>1" rotLimit="0 0 0" transLimit="0 0 0" rotLimitSpring="0 0 36" rotLimitDamping="0 0 1" />
        <joint component1="1" component2="3" index="1>2" rotLimit="0 0 0" transLimit="0 0 0" rotLimitSpring="0 0 36" rotLimitDamping="0 0 1" />		
		
		
        <collisionPair component1="0" component2="2" enabled="false" />
        <collisionPair component1="0" component2="3" enabled="false" />
        <collisionPair component1="2" component2="3" enabled="false" />
    </components>

in dit voorbeeld leest hij bv 1>1 en 1>2 in als onderdeel

 

 

Link naar opmerking
Deel via andere websites

Heb het deel van de tekst van de fuchs weggehaald omdat ik er nu geen houtklem meer op heb maar een zaagkop. Alle indexen aangepast en dan word het dit:

 

<components count="3">
    <component1 centerOfMass="0 -0.1 0" solverIterationCount="40"/>
    <component2 solverIterationCount="30" />
    <component3 solverIterationCount="20" />    
    
    <joint component1="0" component2="1" index="0>5|0|4|1|4|0" indexActor1="6>0|0" rotLimit="0 50 80" transLimit="0 0 0"                  RotationNode="0>5|0|4|1|4|0|0" rotDriveVelocity="0 0 0" maxRotDriveForce="1 1 1"  transLimitSpring="400 400 400" transLimitDamping="10 10 10"/>
    <joint component1="1" component2="2" index="6>1" rotLimit="0 0 0" transLimit="0 0 0" />    
    
    <collisionPair component1="0" component2="2" enabled="false" />    
    </components>

 

 

De 6>0|0 is in dit geval de zaagkop rotatie joint. Deze stond in de mod waar de zaagkop uitkomt ook zoals hier ook staat, Alleen de index veranderd.

 

Kun je een concreet antwoord geven welke tekst ik moet toevoegen en of verwijderen om van deze error af te zijn?

Link naar opmerking
Deel via andere websites

  • Master Moderator

concreet zonder files ?  onmogelijk

 

Maar zomaar effe iets veranderen zoals jij gedaan hebt zonder te lezen wat er staat gaat ook niet.   Het enige dat je nu gedaan hebt is het nog erger gemaakt met index 1>

 

dus het originele blok terugzetten  en beginnen met het begin.  Het is in het engels ;)

 

Hoeveel componenten zijn er ?   nummer aanpassen

dan moet er een regel zijn per component dat de center of mass bepaald en hoeveel 'refreshrate' het moet hebben

 

vb :    <component4 centerOfMass="0 0 0" solverIterationCount="20" /> <!-- claw right -->

 

 

 Verder. Aangezien het een edit is van een bestaand object, alle joint components verwijderen van de oude object en van de nieuwe moet een nieuwe lijn geschreven worden.    Als dit allemaal laad ingame moet je daarna alle beperkingen van alle componenten herschrijven.

 

Een kleine tip = hier ga je nog enkele uren zoet mee zijn om goed te krijgen.  Zorg er eerst voor dat de kraan zonder foutmelding verschijnt -zonder- het nieuwe wat je hebt toegevoegd, pas dan toevoegen.     

 

ik weet dat dit niet het antwoord is dat je zoekt, maar de originele modmaker heeft al te kennen gegeven dat er geen edits aan mogen gebeuren. En dat respecteer ik natuurlijk.

 

 

Link naar opmerking
Deel via andere websites

Oke bedankt voor de info, ik ga mij er idd nog even paar uur op los laten zodat ik het hopelijk werkend kan krijgen.

 

zal de componenten regel opneiuwe terug plakken in de xml en deze gaan herschrijven. Met het beetje verstand hiervan wat ik heb kom ik hopenlijk een heel end, fingers crossed!

 

oke als de maker geen veranderingen wil houd ik hem lekker prive, zo krijgen we ook geen trammelant.

 

Van mij mag het topic gesloten worden. ik ga verder met de uitleg die gegeven is.

Link naar opmerking
Deel via andere websites

Ik leg het even hier uit, zo hebben anderen er ook nog wat aan ;)

 

 

Het is eigenlijk heel simpel, de regel <joint - joint/> kun je ook gewoon kopiëren van de machine waar de veller vanaf komt. En de index verwijzen naar de transform group waar je hem mee wilt "joinen". 

    <components count="2">
        <component1 centerOfMass="0 0.92 -0.4" solverIterationCount="10"/>
        <component2 centerOfMass="0 0 0" solverIterationCount="20"/>
        <joint component1="0" component2="1" index="0>0|2" rotLimit="0 0 5" transLimit="0 0 0" maxRotDriveForce="0 0 60" rotDriveRotation="- - 0" rotDriveSpring="0 0 15" rotDriveDamping="0 0 15" breakable="false"/>
    </components>

Je ziet hier onder dus dat de joint in de buurt van de voor as zit (de gejoinde collision). Dit zal dus bij de veller ook zo zijn, je kijkt dus even hoe het zit bij de machine waar hij vandaan komt en maakt dan een nieuwe transform group aan en zet de juiste index in de "joint" regel ;). Ik denk dat het zo wel moet lukken, als je nog vragen hebt kun je ze natuurlijk altijd nog even stellen :D

 

2d7al1d.jpg

 

Mvg

Link naar opmerking
Deel via andere websites

Gearchiveerd

Dit topic is nu gearchiveerd en gesloten voor verdere reacties.

×
×
  • Maak Nieuw...

Belangrijke Informatie

By using this site, you agree to our Gebruiksvoorwaarden.