Fixing mods for build 255
So I'm kinda stuck getting my mod running for the changes made in build 253, 254 and 255.
For build 253/254, hotloading just crashed my game everytime I made a change to a lua or shader file.
I somehow got the lua stuff to work but without hotloading, I always had to make a change and restart the game.
Is hotloading just broken or what do I miss?
For build 255, I just get random lua errors. And yeah, unfortunately, hotloading doesn't work too.
I removed every single line which loads a script of my mod and I'm just loading the ns2 Server.lua and Client.lua.
That's what I get:
What am I doing wrong?
For build 253/254, hotloading just crashed my game everytime I made a change to a lua or shader file.
I somehow got the lua stuff to work but without hotloading, I always had to make a change and restart the game.
Is hotloading just broken or what do I miss?
For build 255, I just get random lua errors. And yeah, unfortunately, hotloading doesn't work too.
I removed every single line which loads a script of my mod and I'm just loading the ns2 Server.lua and Client.lua.
That's what I get:
Error: lua/BadgeMixin.lua:27: Element 'MarineTauntExclusive' doesn't exist in the enum [Server] Script Error #1: lua/BadgeMixin.lua:27: Element 'MarineTauntExclusive' doesn't exist in the enum Call stack: #1: __index [C]:-1 #2: lua/BadgeMixin.lua:27 CreateReinforceBadgeInfo = function #3: scriptLoad [C]:-1 #4: Load lua/EventTester.lua:191 fileName = "lua/BadgeMixin.lua" reload = nil #5: lua/NetworkMessages.lua:16 #6: scriptLoad [C]:-1 #7: Load lua/EventTester.lua:191 fileName = "lua/NetworkMessages.lua" reload = nil #8: lua/Shared.lua:34 #9: Load [C]:-1 #10: lua/Server.lua:14 Error: lua/NetworkMessages.lua:379: attempt to get length of global 'kReinforcedTierData' (a nil value) [Server] Script Error #2: lua/NetworkMessages.lua:379: attempt to get length of global 'kReinforcedTierData' (a nil value) Call stack: #1: lua/NetworkMessages.lua:379 kCameraShakeMessage = {intensity="float (0 to 1 by 0.01)" } kSelectUnitMessage = {keepSelection="boolean", selected="boolean", teamNumber="integer (0 to 4)", unitId="entityid" } kCreateDecalMessage = {decalIndex="integer (1 to 23)", normal="integer(1 to 162)", posx="float (-1638 to 1638 by 0.05)", posy="float (-1638 to 1638 by 0.05)", posz="float (-1638 to 1638 by 0.05)", scale="float (0 to 5 by 0.05)" } kConnectMessage = {isMale="boolean", marineVariant="enum kMarineVariant", skulkVariant="enum kSkulkVariant" } kSetPlayerVariantMessage = {isMale="boolean", marineVariant="enum kMarineVariant", skulkVariant="enum kSkulkVariant" } kVoiceOverMessage = {voiceId="enum kVoiceId" } kHitEffectMessage = {altMode="boolean", damage="integer (0 to 5000)", direction="integer(1 to 162)", doerId="entityid", posx="float (-1638 to 1638 by 0.05)", posy="float (-1638 to 1638 by 0.05)", posz="float (-1638 to 1638 by 0.05)", showtracer="boolean", surface="enum kHitEffectSurface", targetId="entityid" } kDamageMessage = {amount="float", posx="float (-1638 to 1638 by 0.05)", posy="float (-1638 to 1638 by 0.05)", posz="float (-1638 to 1638 by 0.05)", targetId="entityid" } kAbilityResultMessage = {castTime="time", success="boolean", techId="enum kTechId" } kJoinErrorMessage = { } kCommanderPingMessage = {position="vector" } kTechNodeUpdateMessage = {available="boolean", hasTech="boolean", prereqResearchProgress="float", researchProgress="float", researched="boolean", researching="boolean", techId="enum kTechId" } kMaxPing = 999 kPingMessage = {clientIndex="integer", ping="integer (0 to 999)" } kWorldTextMessage = {data="float", messageType="enum kWorldTextMessageType", position="vector" } kCommanderErrorMessage = {data="string (48)", position="vector" } #2: scriptLoad [C]:-1 #3: Load lua/EventTester.lua:191 fileName = "lua/NetworkMessages.lua" reload = nil #4: lua/Shared.lua:34 #5: Load [C]:-1 #6: lua/Server.lua:14 Error: lua/MixinUtility.lua:217: assertion failed! [Server] Script Error #3: lua/MixinUtility.lua:217: assertion failed! Call stack: #1: assert [C]:-1 #2: AddMixinNetworkVars lua/MixinUtility.lua:217 theMixin = nil networkVars = {activeWeaponId="entityid", alive="boolean", animationBlend="compensated float (0 to 1 by 0.01)", animationGraphIndex="resource", animationGraphNode="compensated integer (-1 to 511)", animationSequence2="compensated integer (-1 to 250)", animationSequence="compensated integer (-1 to 250)", animationSpeed2="compensated float (0 to 10 by 0.01)", animationSpeed="compensated float (0 to 10 by 0.01)", animationStart2="compensated time", animationStart="compensated time", armor="float (0 to 2045.000000 by 1)", blockPersonalResources="private boolean", bodyYaw="compensated interpolated float (-3.14159265 to 3.14159265 by 0.003)", bodyYawRun="compensated interpolated float (-3.14159265 to 3.14159265 by 0.003)", clientIndex="integer", collisionRep="integer (0 to 31)", communicationStatus="enum kPlayerCommunicationStatus", countingDown="private boolean", darwinMode="private boolean", flinchIntensity="compensated float (0 to 1 by 0.05)", frozen="private boolean", fullPrecisionOrigin="private vector", gameEffectsFlags="integer (0 to 511)", gameStarted="private boolean", giveDamageTime="private time", health="float (0 to 8191.000000 by 1)", healthIgnored="boolean", isMoveBlocked="private boolean", isUsing="boolean", layer1AnimationBlend="compensated float (0 to 1 by 0.01)", layer1AnimationGraphNode="compensated integer (-1 to 511)", layer1AnimationSequence2="compensated integer (-1 to 250)", layer1AnimationSequence="compensated integer (-1 to 250)", layer1AnimationSpeed2="compensated float (0 to 10 by 0.01)", layer1AnimationSpeed="compensated float(0 to 10 by 0.01)", layer1AnimationStart2="compensated time", layer1AnimationStart="compensated time", maxArmor="float (0 to 2045.000000 by 1)", maxHealth="float (0 to 8191.000000 by 1)", mode="private enum kPlayerMode", modeTime="private float", modelIndex="resource", moveButtonPressed="compensated boolean", physicsGroup="integer (0 to 31)", physicsGroupFilterMask="integer", physicsType="enum PhysicsType", primaryAttackLastFrame="boolean", processMove="boolean", pushImpulse="private vector", pushTime="private time", quickSwitchSlot="integer (0 to 10)", resources="private float (0 to 100 by 0.01)", runningBodyYaw="interpolated float (0 to 6.2831853 by 0.003)", secondaryAttackLastFrame="boolean", slowAmount="float (0 to 1 by 0.01)", standingBodyYaw="interpolated float (0 to 6.2831853 by 0.003)", stepAmount="compensated float(-2.1 to 2.1 by 0.001)", stepStartTime="compensated time", syncHealth="boolean", teamNumber="integer (-1 to 3)", teamResources="private float (0 to 200 by 0.01)", timeLastHealed="time", timeLastMenu="private time", timeOfLastUse="private time", timeOfLastWeaponSwitch="time", timeUntilResourceBlock="private time", upgrade1="enum kTechId", upgrade2="enum kTechId", upgrade3="enum kTechId", upgrade4="enum kTechId", upgrade5="enum kTechId", upgrade6="enum kTechId", viewModelId="private entityid", weaponsWeight="float (0 to 2.6 by 0.01)" } #3: lua/Player.lua:279 kTapInterval = 0.27 TAP_NONE = 0 TAP_LEFT = 1 TAP_RIGHT = 2 TAP_FORWARD = 3 TAP_BACKWARD = 4 tapVector = {TAP_BACKWARD=cdata, TAP_FORWARD=cdata, TAP_LEFT=cdata, TAP_NONE=cdata, TAP_RIGHT=cdata } tapString = {TAP_BACKWARD="TAP_BACKWARD", TAP_FORWARD="TAP_FORWARD", TAP_LEFT="TAP_LEFT", TAP_NONE="TAP_NONE", TAP_RIGHT="TAP_RIGHT" } kDownwardUseRange = 2.2 kUseBoxSize = cdata kViewOffsetHeight = 1.7 kCrouchShrinkAmount = 0.7 kExtentsCrouchShrinkAmount = 0.5 kBodyYawTurnThreshold = 1.4835299253464 kTurnDelaySpeed = 8 kTurnRunDelaySpeed = 2.5 kTurnMoveYawBlendToMovingSpeed = 5 kPlayerRepelForce = 7 networkVars = {activeWeaponId="entityid", alive="boolean", animationBlend="compensated float (0 to 1 by 0.01)", animationGraphIndex="resource", animationGraphNode="compensated integer (-1 to 511)", animationSequence2="compensated integer (-1 to 250)", animationSequence="compensated integer (-1 to 250)", animationSpeed2="compensated float (0 to 10 by 0.01)", animationSpeed="compensated float (0 to 10 by 0.01)", animationStart2="compensated time", animationStart="compensated time", armor="float (0 to 2045.000000 by 1)", blockPersonalResources="private boolean", bodyYaw="compensated interpolated float (-3.14159265 to 3.14159265 by 0.003)", bodyYawRun="compensated interpolated float (-3.14159265 to 3.14159265 by 0.003)", clientIndex="integer", collisionRep="integer (0 to 31)", communicationStatus="enum kPlayerCommunicationStatus", countingDown="private boolean", darwinMode="private boolean", flinchIntensity="compensated float (0 to 1 by 0.05)", frozen="private boolean", fullPrecisionOrigin="private vector", gameEffectsFlags="integer (0 to 511)", gameStarted="private boolean", giveDamageTime="private time", health="float (0 to 8191.000000 by 1)", healthIgnored="boolean", isMoveBlocked="private boolean", isUsing="boolean", layer1AnimationBlend="compensated float (0 to 1 by 0.01)", layer1AnimationGraphNode="compensated integer (-1 to 511)", layer1AnimationSequence2="compensated integer (-1 to 250)", layer1AnimationSequence="compensated integer (-1 to 250)", layer1AnimationSpeed2="compensated float (0 to 10 by 0.01)", layer1AnimationSpeed="compensated float(0 to 10 by 0.01)", layer1AnimationStart2="compensated time", layer1AnimationStart="compensated time", maxArmor="float (0 to 2045.000000 by 1)", maxHealth="float (0 to 8191.000000 by 1)", mode="private enum kPlayerMode", modeTime="private float", modelIndex="resource", moveButtonPressed="compensated boolean", physicsGroup="integer (0 to 31)", physicsGroupFilterMask="integer", physicsType="enum PhysicsType", primaryAttackLastFrame="boolean", processMove="boolean", pushImpulse="private vector", pushTime="private time", quickSwitchSlot="integer (0 to 10)", resources="private float (0 to 100 by 0.01)", runningBodyYaw="interpolated float (0 to 6.2831853 by 0.003)", secondaryAttackLastFrame="boolean", slowAmount="float (0 to 1 by 0.01)", standingBodyYaw="interpolated float (0 to 6.2831853 by 0.003)", stepAmount="compensated float(-2.1 to 2.1 by 0.001)", stepStartTime="compensated time", syncHealth="boolean", teamNumber="integer (-1 to 3)", teamResources="private float (0 to 200 by 0.01)", timeLastHealed="time", timeLastMenu="private time", timeOfLastUse="private time", timeOfLastWeaponSwitch="time", timeUntilResourceBlock="private time", upgrade1="enum kTechId", upgrade2="enum kTechId", upgrade3="enum kTechId", upgrade4="enum kTechId", upgrade5="enum kTechId", upgrade6="enum kTechId", viewModelId="private entityid", weaponsWeight="float (0 to 2.6 by 0.01)" } #4: scriptLoad [C]:-1 #5: Load lua/EventTester.lua:191 fileName = "lua/Player.lua" reload = nil #6: lua/Alien.lua:10 #7: scriptLoad [C]:-1 #8: Load lua/EventTester.lua:191 fileName = "lua/Alien.lua" reload = nil #9: lua/Embryo.lua:15 #10: scriptLoad [C]:-1 #11: Load lua/EventTester.lua:191 fileName = "lua/Embryo.lua" reload = nil #12: lua/Shared.lua:126 #13: Load [C]:-1 #14: lua/Server.lua:14 [Server] Script Error #4: lua/PostLoadMod.lua:23: Base class 'Player' for 'Alien' doesn't exist Call stack: #1: SharedLinkClassToMapOriginal [C]:-1 #2: lua/PostLoadMod.lua:23 (for index) = 99 (for limit) = 185 (for step) = 1 i = 99 className = "Alien" classInfo = {compensated=true, mapName="alien", networkVars= {abilityEnergyOnChange="float (0 to 130 by 0.05 [] )", cloakRate="integer (0 to 3)", cloakingDesired="boolean", darkVisionSpectatorOn="private boolean", detected="boolean", dragsUmbra="boolean", electrified="boolean", energizeLevel="private integer (0 to 1)", enzymed="boolean", fullyCloaked="boolean", hasAdrenalineUpgrade="boolean", hatched="private boolean", hotGroupNumber="integer (0 to 9)", inCombat="boolean", infestationSpeedScalar="private float", infestationSpeedUpgrade="private boolean", isCatalysted="boolean", isOnFire="boolean", lastTakenDamageAmount="private integer (0 to 8191)", lastTakenDamageOrigin="private position(by 0.1)", lastTakenDamageTime="time (by 0.1)", lastTargetId="private entityid", movementModiferState="boolean", playerLevel="private integer", playerSkill="private integer", selectionMask="integer (0 to 4)", sighted="boolean", silenceLevel="integer (0 to 3)", storedHyperMutationCost="private float", storedHyperMutationTime="private float", stormCloudSpeed="private boolean", threeHives="private boolean", timeAbilityEnergyChanged="time", timeLastFeint="time", twoHives="private boolean", visibleClient="boolean" } } #3: scriptLoad [C]:-1 #4: Load lua/EventTester.lua:191 fileName = "lua/PostLoadMod.lua" reload = nil #5: lua/Server.lua:456 chatMessageCount = 0 reservedSlots = {amount=0, ids= { } } kMapEntityLoadPriorities = {ns2_gamerules=1 } GetMapEntityLoadPriority = function DumpServerEntity = function LoadServerMapEntity = function CheckForDuplicateLocations = function OnMapPostLoad = function OnCanPlayerHearPlayer = function OnCheckConnectionAllowed = function
What am I doing wrong?
Comments
If you changed or are overriding the Shared.lua file, it could potentially cause same problems. Unless you Server and Client files are identical to vanilla be sure they're loaded from your own client/server files.
But still, hotloading doesn't seem to work and just crashes my game. Am I the only one with this problem?
Same happens to me. Lua doesn't crash on occasion, but shader hotloading crashes me consistently.