Author Topic: Reporting Errors:  (Read 352373 times)

0 Members and 4 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #555 on: November 07, 2014, 03:40:42 PM »
I've found it. Put up a sign on a brothel and that's all it takes.

That is quite confusing... and got nothing to do with the sign itself...

I think it's Ren'Py and not anything we did but how to submit this for a fix to PyTom, I can't even begin to guess :(

Basically, it's just like the last time with lambda on the screen, you enter the screen and cannot save until it's removed from memory, however this time, you actually MUST save and load the game and save again... that is why I think it's not our fault...
« Last Edit: November 07, 2014, 03:56:02 PM by Xela »
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: Reporting Errors:
« Reply #556 on: November 07, 2014, 03:55:07 PM »
That is quite confusing... and got nothing to do with the sign itself...
But that's what I see... its any kind of advertisement actually, just get it with flyers.
Because if I start the game in dev mode, and go right into next day, all of the girls in palace are working just fine. I can advance many days and save and load countless times. But as soon as I put some advertisement in and save, I get a corrupted save.


EDIT: Really? Sorry, I was not able to simplify my thinking that much when looking for it... Ok, then it is strange
« Last Edit: November 07, 2014, 04:01:36 PM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #557 on: November 07, 2014, 03:56:47 PM »
But that's what I see... (its probably any kind of advertisement)
Because if I start the game in dev mode, and go right into next day, all of the girls in palace are working just fine. I can advance many days and save and load countless times. But as soon as I put some advertisement in and save, I get a corrupted save.

You just need to enter brothel management screen, exit it and do the save/load thing. Advert screen does not need to be called.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #558 on: November 07, 2014, 04:05:05 PM »
Really? Sorry, I was not able to simplify my thinking that much... Ok, then it is strange

Moving to Next Day screen removes the error. Basically, there is something predicted somewhere that cannot be pickled and gets removed from saving mechanism if you move back to mainscreen. Somewhere in brothels screen/code or reachable from that code.

It's very hard to pinpoint exactly... at least that's how I see the problem right now. I still don't get why it doesn't fail on saving/loading the first time and only on second round. What's more, save is not corrupted, because you can save/load on main screen, than go to next day/other screen and save their perfectly fine. But if you return back to main screen again and save their again, it will fail...

One of the weirdest errors we had in the game so far (and most weird errors were not our fault btw :) )

Stop deleting posts!  :P
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: Reporting Errors:
« Reply #559 on: November 07, 2014, 05:21:33 PM »
OK....  ??? ??? :D This stuff is just beyond me...

But I'm a bit relieved that I can still save the game somehow, kinda hard imagine doing anything without it  :)

-------
Code: [Select]
While running game code:
  File "game/library/screens/locations/pyt  - screens - town - tavern_inside.rpy", line 30, in script
    python:
  File "game/library/screens/locations/pyt  - screens - town - tavern_inside.rpy", line 48, in <module>
    n(choice(["The place is lound and lively today, with townsmen drinking and talking at every table."]))
TypeError: 'int' object is not callable
*sigh* this was working fine before, what suddenly get wrong about just displaying a text? narrator character got renamed or something?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #560 on: November 07, 2014, 05:34:44 PM »
OK....  ??? ??? :D This stuff is just beyond me...

But I'm a bit relieved that I can still save the game somehow, kinda hard imagine doing anything without it  :)

-------
Code: [Select]
While running game code:
  File "game/library/screens/locations/pyt  - screens - town - tavern_inside.rpy", line 30, in script
    python:
  File "game/library/screens/locations/pyt  - screens - town - tavern_inside.rpy", line 48, in <module>
    n(choice(["The place is lound and lively today, with townsmen drinking and talking at every table."]))
TypeError: 'int' object is not callable
*sigh* this was working fine before, what suddenly get wrong about just displaying a text? narrator character got renamed or something?

Prolly, I got the same error with the beach events.

When defining the n for your event, do not use define statement as it is useless, use python instead ($ n = Character("..."))

Going to push some fixes, didn't get much done due to searching for that damn bug.


*This is mainly for Thewlis (results of my investigations ig you wish to track this thing down):

Problem was with renpy.retain_after_load() function. For some unknown reason, it doesn't do its job properly in our setup. Even weirder, even if all of the code in that file (brothel management) is deleted and just a simple:

Code: [Select]
label brothel_management:
    renpy.retain_after_load()
    show screen meow
    hide screen meow
    jump mainscreen

screen meow:
    textbutton "meow":
        align (0.5, 0.5)
        action Return(["control", "return"])

are left, the error remains.
« Last Edit: November 07, 2014, 05:36:33 PM by Xela »
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Reporting Errors:
« Reply #561 on: November 07, 2014, 05:56:54 PM »
What are we using retain_after_load for? 'Cause it forces data changed during its call and the next statement to be retained upon loading/starting a game, and I can't see a reason why its needed (haven't actually looked at the code though).

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #562 on: November 07, 2014, 06:10:44 PM »
What are we using retain_after_load for? 'Cause it forces data changed during its call and the next statement to be retained upon loading/starting a game, and I can't see a reason why its needed (haven't actually looked at the code though).

Due to the logic being handle in pythons while loop (counts as single Ren'Py statement), stuff done on screens doesn't get stored until the loop is broken.

Not very important to this screen obviously, would be a minor inconvenience to the player if he'll have to enable some advert twice. It's far more useful for screens like girlsequip where player can spend some serious time looking for the right items... (it seems to be working there just fine) *Cancel that, it's broken all over the place...

We can just leave this thing as it is.

**I actually had a save/load system setup that went through labels and worked just as well as retain function (I wrote that before the function and got rid of it after they've introduced it). If this doesn't get fixed, we can always fall back to that.
« Last Edit: November 07, 2014, 06:19:36 PM by Xela »
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Reporting Errors:
« Reply #563 on: November 07, 2014, 07:46:03 PM »
Instead of a loop you could rewrite it so any action either invokes a restart_interaction call which will reset the screen or have the end of the label jump to the start after every action to forcefully exit the statement and have it log it. Sort of:
Code: [Select]
label blah:
    show pyt_blah
    python:
        result = ui.interact()
        if result == "blah":
            whatever...
        elif result == "close":
            renpy.jump(exit_label)
    jump blah

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #564 on: November 07, 2014, 07:53:28 PM »
Instead of a loop you could rewrite it so any action either invokes a restart_interaction call which will reset the screen or have the end of the label jump to the start after every action to forcefully exit the statement and have it log it. Sort of:
Code: [Select]
label blah:
    show pyt_blah
    python:
        result = ui.interact()
        if result == "blah":
            whatever...
        elif result == "close":
            renpy.jump(exit_label)
    jump blah

Nah, not worth the effort... maybe this will get fixed (I've sent traceback to PyTom) or we stumble upon what's causing this. Retain works perfectly in the Arena for example.
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: Reporting Errors:
« Reply #565 on: November 16, 2014, 07:45:32 AM »
Code: [Select]
While running game code:
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 51, in script
    python:
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 54, in <module>
    result = ui.interact()
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 123, in execute
    screen pyt_general_store_shopping:
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 128, in execute
    if focus:
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 129, in execute
    frame background Frame("content/gfx/frame/mes12.jpg", 5, 5):
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 134, in execute
    hbox:
  File "game/library/screens/shops/pyt - screens - generalshop.rpy", line 135, in execute
    use itemstats(item=focus, mode='normal')
Exception: Unknown keyword arguments: mode
Selecting item in shop


+ next day button is always in top strip, instead of number of AP
+ top strip showing itself in city screen is annoyingly slow (can't it be instant?)
« Last Edit: November 16, 2014, 08:23:08 AM by CherryWood »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #566 on: November 16, 2014, 09:30:39 AM »
Selecting item in shop
+ next day button is always in top strip, instead of number of AP
+ top strip showing itself in city screen is annoyingly slow (can't it be instant?)

It can be instant but that wouldn't look as nice :) I'll double the speed. Errors I've fixed already.
Like what we're doing?

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: Reporting Errors:
« Reply #567 on: November 19, 2014, 03:20:15 AM »
Code: [Select]
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 24, in script
    python:
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 113, in <module>
    i.fin.log_expense(i.get_cleaning_price(), "Pro-Cleaning")
AttributeError: 'TrainingDungeon' object has no attribute 'get_cleaning_price'
Clean All buildings button




Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: Reporting Errors:
« Reply #568 on: November 19, 2014, 11:12:48 AM »
Code: [Select]
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 24, in script
    python:
  File "game/library/screens/pyt - screens - brothelmanagement.rpy", line 113, in <module>
    i.fin.log_expense(i.get_cleaning_price(), "Pro-Cleaning")
AttributeError: 'TrainingDungeon' object has no attribute 'get_cleaning_price'
Clean All buildings button

Fixed and pushed.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Reporting Errors:
« Reply #569 on: November 19, 2014, 06:42:56 PM »
Like what we're doing?