QuickShot010 Posted January 4, 2015 Share Posted January 4, 2015 (edited) So i have this mod, and a certain prefab crashes everybody but the host. I have no idea why this is. Maybe one of you could help? This is the prefab lua:local assets={ Asset("ANIM", "anim/javelin.zip"), Asset("ANIM", "anim/swap_javelin.zip"), Asset("ATLAS", "images/inventoryimages/javelin.xml"), Asset("IMAGE", "images/inventoryimages/javelin.tex"),} local prefabs = {} local function OnFinished(inst) inst.AnimState:PlayAnimation("used") inst.AnimState:SetOrientation( ANIM_ORIENTATION.Default ) inst:ListenForEvent("animover", function() inst:Remove() end)end local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_javelin", "swap_javelin") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") inst.AnimState:PlayAnimation("idle")end local function OnThrown(inst, owner, target) if target ~= owner then owner.SoundEmitter:PlaySound("dontstarve/wilson/boomerang_throw") end inst.AnimState:PlayAnimation("throw", true) inst.AnimState:SetOrientation( ANIM_ORIENTATION.OnGround )end local function OnHit(inst, owner, target) if owner == target then OnDropped(inst) end local impactfx = SpawnPrefab("impact") if impactfx then local follower = impactfx.entity:AddFollower() follower:FollowSymbol(target.GUID, target.components.combat.hiteffectsymbol, 0, 0, 0 ) impactfx:FacePoint(inst.Transform:GetWorldPosition()) end if owner and not (inst.components.finiteuses and inst.components.finiteuses:GetUses() < 1) then inst.AnimState:PlayAnimation("idle", true) inst.AnimState:SetOrientation( ANIM_ORIENTATION.Default ) endend local function OnMiss(inst, owner, target) inst.AnimState:PlayAnimation("missed") inst.AnimState:SetOrientation( ANIM_ORIENTATION.Default ) inst.Physics:Stop()end local function fn(Sim) local inst = CreateEntity() local trans = inst.entity:AddTransform() local anim = inst.entity:AddAnimState() local sound = inst.entity:AddSoundEmitter() inst.entity:AddNetwork() if not TheWorld.ismastersim then return inst end inst.entity:SetPristine() MakeHauntableLaunch(inst) MakeInventoryPhysics(inst) anim:SetBank("javelin") anim:SetBuild("javelin") anim:PlayAnimation("idle") inst:AddComponent("weapon") inst.components.weapon:SetDamage(TUNING.BOOMERANG_DAMAGE*2) inst.components.weapon:SetRange(TUNING.BOOMERANG_DISTANCE, TUNING.BOOMERANG_DISTANCE+2) inst:AddComponent("finiteuses") inst.components.finiteuses:SetMaxUses(TUNING.BOOMERANG_USES/2) inst.components.finiteuses:SetUses(TUNING.BOOMERANG_USES/2) inst.components.finiteuses:SetOnFinished(OnFinished) inst:AddComponent("projectile") inst.components.projectile:SetSpeed(20) inst.components.projectile:SetOnThrownFn(OnThrown) inst.components.projectile:SetOnHitFn(OnHit) inst.components.projectile:SetHoming(false) inst.components.projectile:SetOnMissFn(OnMiss) inst.components.projectile:SetLaunchOffset(Vector3(3, 2, 0)) inst.components.projectile:SetRange(20) inst:AddComponent("inspectable") inst:AddComponent("inventoryitem") inst.components.inventoryitem.imagename = "javelin" inst.components.inventoryitem.atlasname = "images/inventoryimages/javelin.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) return instend STRINGS.NAMES.JAVELIN = "Throwing Spear"STRINGS.CHARACTERS.DROK.DESCRIBE.JAVELIN = "Drok good hunt!"STRINGS.CHARACTERS.GENERIC.DESCRIBE.JAVELIN = "It's some sort of ancient throwing device." return Prefab("common/inventory/javelin", fn, assets, prefabs) This is the crash log of a person who wasnt the host: [........]ReleaseAll FinishedcGame::StartPlayingLOADING LUADoLuaFile scripts/main.luaDoLuaFile loading buffer scripts/main.luascripts/main.lua(166,1) running main.lua loaded modindex ModIndex: Beginning normal load sequence. ModIndex:GetModsToLoad inserting moddir, Drok Together Beta Could not load mod_config_data/modconfiguration_Drok Together Beta Loading mod: Drok Together Beta (Drok) Mod: Drok Together Beta (Drok) Loading modworldgenmain.lua Mod: Drok Together Beta (Drok) Mod had no modworldgenmain.lua. Skipping. Mod: Drok Together Beta (Drok) Loading modmain.lua LOADING LUA SUCCESSPlayerDeaths loaded morgue 4061 loaded profile bloom_enabled false loaded saveindex OnFilesLoaded() OnUpdatePurchaseStateComplete Unload FE Unload FE done Mod: Drok Together Beta (Drok) Registering prefabs Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/drok Mod: Drok Together Beta (Drok) drok Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/wigstanstone Mod: Drok Together Beta (Drok) wigstanstone Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/wigstan Mod: Drok Together Beta (Drok) wigstan Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/wigstanfull Mod: Drok Together Beta (Drok) wigstanfull Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/javelin Mod: Drok Together Beta (Drok) javelin Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/redpaint Mod: Drok Together Beta (Drok) redpaint Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/beefalo_hide Mod: Drok Together Beta (Drok) beefalo_hide Mod: Drok Together Beta (Drok) Registering prefab file: prefabs/paintedrock Mod: Drok Together Beta (Drok) paintedrock Mod: Drok Together Beta (Drok) paintedrock_placer Mod: Drok Together Beta (Drok) Registering default mod prefab LOAD BE Could not preload undefined prefab 0x20e21d7a (puppet_wes)Could not preload undefined prefab 0x20e21d7a (puppet_wes) LOAD BE: done MiniMapComponent::AddAtlas( minimap/minimap_data.xml )MiniMapComponent::AddAtlas( ../mods/Drok Together Beta/images/map_icons/drok.xml )Loading Nav Grid ClearCurrentResurrectors CB ModIndex: Load sequence finished successfully. Reset() returningAssert failure 'false && "cNetworkConnection::AllocReplica Invalid Prefab"' at ..\source\networklib\NetworkConnection.cpp(121): Trace follows... Thank you for your help. Edited January 4, 2015 by QuickShot010 Link to comment Share on other sites More sharing options...
rezecib Posted January 5, 2015 Share Posted January 5, 2015 MakeInventoryPhysics(inst) anim:SetBank("javelin") anim:SetBuild("javelin") anim:PlayAnimation("idle") I think this should all be above not TheWorld.ismastersim... But I wouldn't expect that to cause the error you're seeing. It looks valid to me... are you sure everyone has the same version of the mod? Link to comment Share on other sites More sharing options...
DarkXero Posted January 5, 2015 Share Posted January 5, 2015 Can you try adding things one by one and spawning them to see if host/client crashes? Your log says "AllocReplica Invalid Prefab", and wigstan looks like a container. Is it a custom container? Link to comment Share on other sites More sharing options...
Craftish Posted January 29, 2015 Share Posted January 29, 2015 For future reference to anyone experiencing this problem, here is an example on how to replicate this error: Where "entity" is the connected player who will crash, local fakeprefab=Prefabs["berries"].fn()fakeprefab.Transform:SetPosition(entity.Transform:GetWorldPosition()) Is it possible the prefab was not being spawned with function SpawnPrefab or was not initialized properly? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now