nightburn12

Newbie
Jul 7, 2017
41
62
Touched the exam subjects button and got:

```
I'm sorry, but an uncaught exception occurred.

While running game code:
File "game/script.rpy", line 15, in script call
call pickName from _call_pickName
File "game/exam_screen.rpy", line 80, in script
$ renpy.pause(hard=True)
File "game/exam_screen.rpy", line 80, in <module>
$ renpy.pause(hard=True)
File "game/exam_screen.rpy", line 1, in execute
screen exam_screen:
File "game/exam_screen.rpy", line 1, in execute
screen exam_screen:
File "game/exam_screen.rpy", line 10, in execute
frame:
File "game/exam_screen.rpy", line 16, in execute
hbox:
File "game/exam_screen.rpy", line 23, in execute
for i in range(0,requiredAnswers):
File "game/exam_screen.rpy", line 25, in execute
hbox:
File "game/exam_screen.rpy", line 33, in execute
vbox:
File "game/exam_screen.rpy", line 42, in execute
$ [_txt,_color] = _subject.statToTextAndColor(_subject.intelligenceRatio)
File "game/exam_screen.rpy", line 42, in <module>
$ [_txt,_color] = _subject.statToTextAndColor(_subject.intelligenceRatio)
AttributeError: 'Subject' object has no attribute 'intelligenceRatio'

The issues known and planned to be fixed as said below. Thank you!
 
Last edited:

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Touched the exam subjects button and got:

```
I'm sorry, but an uncaught exception occurred.
..............
exam_screen.rpy line 42 : 'intelligenceRatio' should be 'intellectRatio'. Will be fixed next update
 

miel360

Active Member
Apr 9, 2021
875
380
Thank you Ninoss! Do you know if the fan made Girl Packs stay compatible with each update?
 

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Thank you Ninoss! Do you know if the fan made Girl Packs stay compatible with each update?
If I've done my job right, yes !
Technically every missing things should just be auto-filled by the config loader.

(Maybe a new save or the reload config thing in the options might be needed for some updates tho-. But modders won't need to re-do any packs)
 

Freesocer

New Member
Jun 4, 2019
11
2
Already found 2 bugs/oversights, if you turn on numberstats and debug in the settings. Line 134 in the "buttonscreens" file still has girl.intelligence in it which just needs to be switched to girl.intellect. but then the exact next line 135 trys to get a function inside the "girl" file called takenPleasureDamage, which doesn't exist anymore as far as i can see, i won't try to figure that one out becuase i fear that whole line needs to be redone xD. I'm guessing you just didn't bother with that part yet so i'll just switch to the default setting for now to see some gameplay ^^
 

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Already found 2 bugs/oversights, if you turn on numberstats and debug in the settings. Line 134 in the "buttonscreens" file still has girl.intelligence in it which just needs to be switched to girl.intellect. but then the exact next line 135 trys to get a function inside the "girl" file called takenPleasureDamage, which doesn't exist anymore as far as i can see, i won't try to figure that one out becuase i fear that whole line needs to be redone xD. I'm guessing you just didn't bother with that part yet so i'll just switch to the default setting for now to see some gameplay ^^
Yy, don't mind them I just didn't had time to update it. :rolleyes:
(tbh, I mostly forgot it ><)

Technically, they don't really provide any valuable information anymore as stats are directly visible in the review screen and debug appears on exam events to inform you of the underhood variable changes.
I'll see how I can provide a more "user friendly" debug stat kinda know the state of the girl UI.
(I was also thinking on some said informations, like you talk to the girls and she might give you informations on her status)
 
Last edited:

Freesocer

New Member
Jun 4, 2019
11
2
Yy, don't mind them I just didn't had time to update it. :rolleyes:
(tbh, I mostly forgot it ><)

Technically, they don't really provide any valuable information anymore as stats are directly visible in the review screen and debug appears on exam events to inform you of the underhood variable changes.
I'll see how I can provide a more "user friendly" debug stat kinda know the state of the girl UI.
(I was also thinking on some said informations, like you talk to the girls and she might give you informations on her status)
i like the idea of having to interpret what their saying yourself rather than just get numbers directly, but sometimes its also just very fun to see those numbers go up xD I'm sure you'll figure something nice out

PS: The buttonscreens file definitly lacking some love, got two more bugs when clicking the names of the girls during exam, just so you know xD
1.jpg 2.jpg
 

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
i like the idea of having to interpret what their saying yourself rather than just get numbers directly, but sometimes its also just very fun to see those numbers go up xD I'm sure you'll figure something nice out

PS: The buttonscreens file definitly lacking some love, got two more bugs when clicking the names of the girls during exam, just so you know xD
View attachment 1907852 View attachment 1907854
Yy, same issue, none of these variables exists anymore ^^
 
  • Like
Reactions: Freesocer

miel360

Active Member
Apr 9, 2021
875
380
If I've done my job right, yes !
Technically every missing things should just be auto-filled by the config loader.

(Maybe a new save or the reload config thing in the options might be needed for some updates tho-. But modders won't need to re-do any packs)
You are a beacon of light in these dark times.
 
  • Like
Reactions: T_Abraxas

SassyBF

Newbie
Jun 7, 2017
16
10
Hey, Ninoss!Thanks for the great work. Is there a way to decrease the girls intellect?
What kind of educator are you?
Ninoss Maybe a baseball bat upside the head option? :unsure:
Or, more appropriately, a "confuse" or "mislead" option for "face" in examchoices.rpy. Also "intimidate" if you want to increase fear, or maybe "flirt" if you want to increase arousal - each potentially with success chances depending on stats. Up to you, or modders.

Also, looking forward to trying out PreviewC. Thanks, Ninoss!
 

stevejerks

Newbie
Aug 7, 2018
36
97
I'm getting this error when Clicking "No" on the tutorial.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 15, in script call
    call pickName from _call_pickName
  File "game/script.rpy", line 84, in script
    call screen examButtons
  File "renpy/common/000statements.rpy", line 569, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 72, in execute
    hbox:
  File "game/buttonscreens.rpy", line 76, in execute
    for girl in examGirls:
  File "game/buttonscreens.rpy", line 77, in execute
    if not girl.notInRoom:
  File "game/buttonscreens.rpy", line 79, in execute
    frame:
  File "game/buttonscreens.rpy", line 85, in execute
    vbox:
  File "game/buttonscreens.rpy", line 133, in execute
    if numberStats_debug:
  File "game/buttonscreens.rpy", line 134, in execute
    text "Corrupt : [girl.corruption] | Naturism : [girl.naturism] | Fear : [girl.fear] | Int : [girl.intelligence]" size 18 color "#ff839a"
AttributeError: 'Girl' object has no attribute 'intelligence'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 15, in script call
    call pickName from _call_pickName
  File "game/script.rpy", line 84, in script
    call screen examButtons
  File "renpy/ast.py", line 2015, in execute
    self.call("execute")
  File "renpy/ast.py", line 2003, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "renpy/statements.py", line 278, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 569, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/exports.py", line 3136, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 3325, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "renpy/display/core.py", line 3737, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/screen.py", line 436, in visit_all
    callback(self)
  File "renpy/display/core.py", line 3737, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/screen.py", line 447, in per_interact
    self.update()
  File "renpy/display/screen.py", line 637, in update
    self.screen.function(**self.scope)
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 72, in execute
    hbox:
  File "game/buttonscreens.rpy", line 76, in execute
    for girl in examGirls:
  File "game/buttonscreens.rpy", line 77, in execute
    if not girl.notInRoom:
  File "game/buttonscreens.rpy", line 79, in execute
    frame:
  File "game/buttonscreens.rpy", line 85, in execute
    vbox:
  File "game/buttonscreens.rpy", line 133, in execute
    if numberStats_debug:
  File "game/buttonscreens.rpy", line 134, in execute
    text "Corrupt : [girl.corruption] | Naturism : [girl.naturism] | Fear : [girl.fear] | Int : [girl.intelligence]" size 18 color "#ff839a"
  File "renpy/text/text.py", line 1669, in _scope
    return self.set_text(self.text_parameter, scope, self.substitute, update)
  File "renpy/text/text.py", line 1693, in set_text
    i, did_sub = renpy.substitutions.substitute(i, scope, substitute)
  File "renpy/substitutions.py", line 270, in substitute
    s = formatter.vformat(s, (), kwargs)
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 563, in vformat
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 585, in _vformat
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 652, in get_field
AttributeError: 'Girl' object has no attribute 'intelligence'

Windows-10-10.0.19041
Ren'Py 7.4.11.2266
WTM Academy PREVIEWc
Mon Jul  4 22:55:31 2022
Im also getting this error after the girls are listed off for the first day

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 74, in script
    call screen examButtons
  File "renpy/common/000statements.rpy", line 569, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 72, in execute
    hbox:
  File "game/buttonscreens.rpy", line 76, in execute
    for girl in examGirls:
  File "game/buttonscreens.rpy", line 77, in execute
    if not girl.notInRoom:
  File "game/buttonscreens.rpy", line 79, in execute
    frame:
  File "game/buttonscreens.rpy", line 85, in execute
    vbox:
  File "game/buttonscreens.rpy", line 133, in execute
    if numberStats_debug:
  File "game/buttonscreens.rpy", line 134, in execute
    text "Corrupt : [girl.corruption] | Naturism : [girl.naturism] | Fear : [girl.fear] | Int : [girl.intelligence]" size 18 color "#ff839a"
AttributeError: 'Girl' object has no attribute 'intelligence'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 74, in script
    call screen examButtons
  File "renpy/ast.py", line 2015, in execute
    self.call("execute")
  File "renpy/ast.py", line 2003, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "renpy/statements.py", line 278, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 569, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/exports.py", line 3136, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 3325, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "renpy/display/core.py", line 3737, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/screen.py", line 436, in visit_all
    callback(self)
  File "renpy/display/core.py", line 3737, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/screen.py", line 447, in per_interact
    self.update()
  File "renpy/display/screen.py", line 637, in update
    self.screen.function(**self.scope)
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 61, in execute
    screen examButtons():
  File "game/buttonscreens.rpy", line 72, in execute
    hbox:
  File "game/buttonscreens.rpy", line 76, in execute
    for girl in examGirls:
  File "game/buttonscreens.rpy", line 77, in execute
    if not girl.notInRoom:
  File "game/buttonscreens.rpy", line 79, in execute
    frame:
  File "game/buttonscreens.rpy", line 85, in execute
    vbox:
  File "game/buttonscreens.rpy", line 133, in execute
    if numberStats_debug:
  File "game/buttonscreens.rpy", line 134, in execute
    text "Corrupt : [girl.corruption] | Naturism : [girl.naturism] | Fear : [girl.fear] | Int : [girl.intelligence]" size 18 color "#ff839a"
  File "renpy/text/text.py", line 1574, in __init__
    self.set_text(text, scope, substitute)
  File "renpy/text/text.py", line 1693, in set_text
    i, did_sub = renpy.substitutions.substitute(i, scope, substitute)
  File "renpy/substitutions.py", line 270, in substitute
    s = formatter.vformat(s, (), kwargs)
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 563, in vformat
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 585, in _vformat
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python2.7/string.py", line 652, in get_field
AttributeError: 'Girl' object has no attribute 'intelligence'

Windows-10-10.0.19041
Ren'Py 7.4.11.2266
WTM Academy PREVIEWc
Mon Jul  4 23:00:12 2022
THIS one takes me back to the main menu when I attempt to ignore.
 

SassyBF

Newbie
Jun 7, 2017
16
10
Just to check Ninoss , but is it fair to say that the Photo Club, Yearbook and Detention options don't affect the game (other than decreasing your money) for now?

The update is looking pretty good otherwise. The calculations for chance of success are pretty nice. A minor suggestion: maybe instead of girl.rpy having:
_rdm = renpy.random.randint(0,100)
have:
_rdm = renpy.random.randint(0,99)
This would mean that you can't fail to remove clothing if _success_chance = 100. There are also minor percentage corrections that automatically come about from that change, since randint(0,99) actually has 100 possible values.

Similarly, changing girl.rpy from
if chanceToStealCloth > _rdmSteal:
to
if chanceToStealCloth >= _rdmSteal:
would give you the correct percentage chance to remove clothing. Right now, "25%" is really 24%, and "100%" is really 99%.

Are you planning on making some of the PTA options sequentially unlockable? For example, it always struck me as weird that forced outer was always more expensive than other options. It would make sense if passing this then unlocked other clothing requirements such as upper and lower, etc. Also, this would make sense for Photo Club Nudity unlocking only once Photo Club was unlocked.
 
  • Like
Reactions: mlymly

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
I'm getting this error when Clicking "No" on the tutorial.

I'm sorry, but an uncaught exception occurred.
.....

THIS one takes me back to the main menu when I attempt to ignore.
Same Issue as Freesocer, for now don't enable the debug view in the settings.
 
  • Like
Reactions: stevejerks

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Just to check Ninoss , but is it fair to say that the Photo Club, Yearbook and Detention options don't affect the game (other than decreasing your money) for now?

The update is looking pretty good otherwise. The calculations for chance of success are pretty nice. A minor suggestion: maybe instead of girl.rpy having:
_rdm = renpy.random.randint(0,100)
have:
_rdm = renpy.random.randint(0,99)
This would mean that you can't fail to remove clothing if _success_chance = 100. There are also minor percentage corrections that automatically come about from that change, since randint(0,99) actually has 100 possible values.

Similarly, changing girl.rpy from
if chanceToStealCloth > _rdmSteal:
to
if chanceToStealCloth >= _rdmSteal:
would give you the correct percentage chance to remove clothing. Right now, "25%" is really 24%, and "100%" is really 99%.

Are you planning on making some of the PTA options sequentially unlockable? For example, it always struck me as weird that forced outer was always more expensive than other options. It would make sense if passing this then unlocked other clothing requirements such as upper and lower, etc. Also, this would make sense for Photo Club Nudity unlocking only once Photo Club was unlocked.
Happy to ear that the game is not that badly balanced :oops:

Photo Club, Yearbook and Detention : Yes that's some PLACEHOLDERS for next updates.
_rdm : I made the condition < or =, If I understood correctly that shoud solve both issues.
chanceToStealCloth : Y, will be corrected too.

PTA rules : Hum, at some point we might want it for sure. But having rules unlocking other rules requires more logic in the rule class so more coddin' time ^^
I'll see if I come up with a smart way of doing that for the next update :cool:
 
  • Like
Reactions: SassyBF

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Hey, Ninoss!Thanks for the great work. Is there a way to decrease the girls intellect?
Technically as long as the student stays in the school, intellect will go up. That's also there to force the girl to pass the exam at some point to cycle them.
Theroicly, if a girl is passing the exam after the required days (from her parents), that's a win ! (even if it's not really explained anywhere)
I'm not that happy with the scaling of stats improving tho-

As SassyBF mentionned, more exam events or events might help to counter that if you really want to keep that girl.
On the "keep the girl" side, maybe some fancy PTA rules may help or at some point if you can "convert" one or the student to your gf or slave or something ^^
 
  • Yay, new update!
  • Like
Reactions: mlymly and Lerd0

Ninoss

Active Member
Donor
Game Developer
Nov 20, 2017
604
1,096
Is this work for anyone JoiPlay? Crashes for me before starting up.
As a guess, the game is loading external moddable .ini config files. I'm not sure if the required librairies are supported/authorized on mobile devices.

I might be able to compile it whith the renpy thing for mobile but I'll do that out of PREVIEW
 
Last edited:
  • Like
Reactions: mlymly
4.10 star(s) 19 Votes