polarathene / biglobby

[DEPRECATED] A BLT mod for Payday 2. Allows games to have more than 4 players at once. [See README for link to BigLobby3]
MIT License
38 stars 14 forks source link

Crash when offshore payday 2 times in a row #41

Closed BadLucKWyvern closed 7 years ago

BadLucKWyvern commented 7 years ago

Hi there, its me again !

Tue May 02 20:49:17 2017

Application has crashed: C++ exception ...ods/biglobby/lua/lib/managers/hud/_hudlootscreen.lua:22: attempt to index a nil value

SCRIPT STACK


Callstack:

     payday2_win32_release  (???)     ???                                                 
     payday2_win32_release  (???)     ???                                                 
                       ???  (???)     ???                                                 

when i spend offshore cash to get a card, it works, but a second time in a row makes a crash whats going on ?

polarathene commented 7 years ago

Hi thanks for the bug report! It's definitely pointing at my code as the problem this time which is helpful. The line it references doesn't make sense why it'd be crashing for you though. Please answer the following:

The error basically seems to be it is looking for a player/peer in the UI but for some reason that number/ID doesn't exist. Since this sounds like it's a UI screen sharing the one at end of level(lootscreen), but without loading the level, it's possible that BigLobby code is run when it shouldn't be, were you perhaps hosting a lobby at the time?

This is the function causing the crash:

function HUDLootScreen:set_num_visible(peers_num)
    local num_player_slots = BigLobbyGlobals:num_player_slots()

    if HUDLootScreen._init_extra_peers then
        for i = 5, num_player_slots do
            self:create_peer(self._peers_panel, i)
        end

        -- This is only run once for `HUDLootScreen:init()`
        HUDLootScreen._init_extra_peers = false
    end

    -- Only code changed was replacing hardcoded 4 with variable num_player_slots
    self._num_visible = math.max(self._num_visible, peers_num)
    for i = 1, num_player_slots do
        self._peers_panel:child("peer" .. i):set_visible(i <= self._num_visible)
    end
    self._peers_panel:set_h(self._num_visible * 110)
    self._peers_panel:set_center_y(self._hud_panel:h() * 0.5)

    -- TODO: Is this console code useful for reworking the UI layout?
    if managers.menu:is_console() and self._num_visible >= 4 then
        self._peers_panel:move(0, 30)
    end
end

And this is the specific line being referenced:

self._peers_panel:child("peer" .. i):set_visible(i <= self._num_visible)
BadLucKWyvern commented 7 years ago

-Im using 2.40 -i don't know what i should answer... both ? -im in offline crimenet -i have a plenty number of mods... (folder says 69 elements)

polarathene commented 7 years ago

@BadLucKWyvern Disable all other mods and test to confirm it's a BigLobby issue and not another mod messing with BigLobby. You should also use v2.41(and yes use both the pdmod and blt mod) which fixes a crash some other users experienced(not sure if it affects offline play).

BadLucKWyvern commented 7 years ago

with only biglobby enabled, i can pick up more cards....

so...? no fix ? ;-;

polarathene commented 7 years ago

with only biglobby enabled, i can pick up more cards....

That would mean another mod you have out of those 68 others is causing the problem with BigLobby. It might not be fixable on my end, if you figure out which mod it is and I can pick up on the problem by comparing the two mods code touching the lootscreen, maybe I can fix it on my end or the other mod author needs to fix it on theirs.

You could also try all your mods without BigLobby on to see if it crashes still, then it'd have nothing to do with BigLobby.

BadLucKWyvern commented 7 years ago

i increased the bot limit to 17 with the new character, and it won't handle bags. idk whats mod is preventing it but ill do some tests soon :l

EDIT: bot and bag fix mod is the reason of sangres's problem

polarathene commented 7 years ago

Search the mod code files, do they have any mention of set_num_visible?

BadLucKWyvern commented 7 years ago

from other forum, its du to a game bug, not mods from bot bag and fix, with or without the mod, sangres won't handle bags