Hello all,
I really like this game! especially that the randomness is backed up by counters!
Keep up the good work Jill!
@jillgates
In the .23-version I found two bugs
(at least I think them bugs, if intended or otherwise, I apologize)
first is a "simple" typo: (up to 15 occurances in event.rpy)
you use "someNumberVariable =- someNumberMostlyOne" e.g.
Code:
$ someScore =- 1 #this sets someScore to -1
I think you wanted to decrease the numberVariable...e.g.
Code:
$ someScore -= 1 #this decreases someScore by 1
typo: exchange "=-" with "-="
second is about the two classes: "class Inventory" and "class Player"
both get created in the init-block in utilities.rpy
(by "inventory = Inventory()" and "player = Player("[mainc]", 100, 50, 0, 0, 0)")
I'm not a professional when talking about own classes, but I would highly recomend to create them not in an init-block, because then they get created every time you start up the game!
Which in this case result in the fact that every time you start up renpy and load a game you have 100 gold (and a combat-value of 0).
imho you should:
Code:
label start:
$ inventory = Inventory(0)
$ player = Player("[mainc]", 100, 50, 0, 0, 0)
##your game-code following
scene bg swordinstone01
and delete the corresponding lines from the init-blocks
but beware, if people use old saves, they may have "random"-values...
you should then handle that in the:
(I maybe could help you with that)
have fun and happy coding greets Mattock
edit: corrected errors in my suggestion to label start
x^x^x
extreme late edit2 (27.8.18): proposion
was kinda bored and made a full suggestion
-but be aware that renpy-doc says objects are not stored in "store"(for me one of the most complex and most hard to understand "things"(todo
)
that aside, both inherit from "store.object"...(class Player(renpy.store.object): class Inventory(store.object)
so, I deem the object gets stored somehow...
also, this is totally untested by me!..(tho I'm quite confident, that this works as I describe it), well here goes nothing:
Code:
define wendyattribute="nothing"
label after_load:
if (game_version < 0.24):
## as the two class-creations have been removed from the init-blocks of utilities.rpy
## and this is not a new game, we create them here
$ inventory = Inventory(0)
$ player = Player("[mainc]", 100, 50, 3, 0, 0) # I set max-combat to 3 here, coz I don't see no reason to do otherwise...there are no class-functions to implement max-anything, so there wouldn't be any harm in setting it to 0 too...but why, if I do know, that combat will be 3 anyway???
$ player.combat = 0 #needed coz __init__(kinda senselessly) sets combat=max_combat...ya could of course change the class...(which I would recomend...)
## ok lets look at the money(only var to be handled in inventory-class(?)) #now is 0 !
## to determine if player has found the moneybag in the woods there would be two ways:
#if woodsmoneyfound > 0: #or what I somehow prefer (up2u!)
if not("woodsmoney" in randwoods):
$ inventory.money = 50 #could be +=50 too wouldn't make a difference
## well I can't find a clear other indication if we already had a drink at Feol's?
## this will gain some REALLY uncommon players a gain of lousy 5 gold, still, I'll advise to let 'em keep them! if you deduct those lousy 5 coins anyway, I presume you'll get flamed from some people that can't stand to have 40 instead of 45 coins!..
## still, fact is: if you've left the village with Polly and Spring "USUALLY"(*grin) you'll have 45 gold and that should cover 99% of the players
## so instead of deducing 5 gold, this condition sets it to 45
if (wendyattribute=="breasts" or wendyattribute=="butt"): #"problem": the var is never defined. The way you use it, that's not needed. BUT if I ask here: it must be defined, just put the define in front of this label into utilities.rpy...of course you can search for some other condition...polly- or springlove could be taken also...to me this seems the safest and easiest way to determine player has left the village...
$ inventory.money = 45
## now to the combat, funnily this is totally easy coz fightcounter has the same value
$ player.combat = fightcounter
## here go your old/other using savegames from other versions handling
## [...]
##
## DO NOT FORGET to set the game-version before exiting this label
$ game_version = 0.24
same goes to start
Code:
label start:
$ inventory = Inventory(0)
$ player = Player("[mainc]", 100, 50, 3, 0, 0)
$ player.combat = 0
##your game-code following
and of course you MUST delete the two lines from utilities.rpy
happy coding, Mattock