You can install this library manually: download the zip and extract it in your project folder. But I recommend you to use git submodule:
# renpy-utility-lib
git submodule add -b python-lib -- https://github.com/DRincs-Productions/renpy-utility-lib 'pythonpackages/renpy_utility'
git submodule add -b renpy-lib -- https://github.com/DRincs-Productions/renpy-utility-lib 'game/renpy_utility_tool'
# renpy-utility-lib
git submodule add -b main -- https://github.com/DRincs-Productions/renpy-screens-style 'game/screens_style'
# NQTR-System
git submodule add -b python-lib -- https://github.com/DRincs-Productions/NQTR-System 'pythonpackages/nqtr'
git submodule add -b renpy-lib -- https://github.com/DRincs-Productions/NQTR-System 'game/nqtr_tool'
git submodule add -b screens -- https://github.com/DRincs-Productions/NQTR-System 'game/nqtr_screens'
git submodule add -b interface-images -- https://github.com/DRincs-Productions/NQTR-System 'game/nqtr_interface'
AND create a empty file __init__.py
into pythonpackages pythonpackages/
so pythonpackages/__init__.py
.
add after_load
into core.rpy
for update values after game update:
label after_load:
# ...
# renpy-utility-lib
call update_current_flags(update_dictionary = True)
# nqtr
python:
# timeHandler update: if you update TimeHandler settings into a new version, you can use this function to update the old save files.
updateTimeHandler(tm)
# clear the expired actions and routine
from pythonpackages.nqtr.action import clear_expired_actions
from pythonpackages.nqtr.routine import clear_expired_routine
clear_expired_actions(actions, tm.day)
clear_expired_routine(routine, tm)
# recheck the character's events and commitments in current location
from pythonpackages.nqtr.routine import characters_events_in_current_location
from pythonpackages.nqtr.routine import characters_commitment_in_current_location
cur_events_location = characters_events_in_current_location(cur_location.id, routine, tm, flags)
commitments_in_cur_location = characters_commitment_in_current_location(cur_location.id, routine | df_routine, tm, flags)
# update the quest levels, if ypu add a new stage in the quest, you can use this function to start the new stage
update_quests_levels()
return
There have been many changes for this reason I advise you to be very careful if you intend to update your version
You can install this library manually for install this version: download the zip and extract it in your project folder (not recommended).
Use search and replace of vscode with regex functionality enabled
For exemple:
the old routine:
init python:
from pythonpackages.nqtr.routine import Commitment
from pythonpackages.nqtr.action_talk import TalkObject
define df_routine = {
# ...
"alice_read" : Commitment(
ch_talkobj_dict={
"alice" : TalkObject(
name="talk_alice_read",
conversation_background ="bg alice terrace talk"
),
},
hour_start=10, hour_stop=20,
location_id="house", room_id="terrace",
background ="bg alice terrace",
),
}
the new routine:
init python:
from pythonpackages.nqtr.routine import Commitment
from pythonpackages.nqtr.conversation import Conversation
define df_routine = {
# ...
"alice_read" : Commitment(
conversations = [
Conversation(
name="talk_alice_read",
characters=a,
conversation_background ="bg alice terrace talk"
),
],
hour_start=10, hour_stop=20,
location_id="house", room_id="terrace",
background ="bg alice terrace",
),
}
For exemple:
to add conversation:
python:
add_talk_choice(choice_id = "alice", choice_text = _("About the Ann"), label_name = "stage_talkalice_aboutann", dict_choices = talkch_choices)
now:
python:
add_conversation_choice(choice_character = a, choice_text = _("About the Ann"), label_name = "stage_talkalice_aboutann")
to remove conversation:
python:
del_talk_choice(choice_id = "alice", choice_text = _("About the Ann"), dict_choices = talkch_choices)
now:
python:
del_conversation_choice(choice_character = a, choice_text = _("About the Ann"))
getTalkLabelName\(\)
label_name
getButtonIcon\(\)
button_icon
get_hour_name\(\)
timeslot_name
get_day_number\(\)
day
get_hour_number\(\)
hour
get_weekday_number\(\)
weekday_number
get_weekday_name\(\)
weekday_name
isEvent\(\)
is_event
getBackground\(\)
background
bg =(.*)
background =$1
bg=(.*)
background =$1
isButton\(\)
is_button
isPictureInBackground\(\)
is_picture_in_background
getButtonOrDefault\(\)
button_icon
getPictureInBackgroundOrDefault\(\)
picture_in_background
getSelectedButtonOrDefault\(\)
button_icon_selected
getSelectedPictureInBackgroundOrDefault\(\)
picture_in_background_selected
image_time
timeslot_number
hour_names
timeslot_names
tm_start
hour_start
tm_stop
hour_stop
stages_id
stage_ids
number_stages_completed_in_quest_requests
required_number_completed_stages
weekend_day
weekday_weekend_begins
updateFlags\((.*)\)
update_flags($1)
getFlags\((.*)\)
get_flags($1)
setFlags\((.*)\)
set_flags($1)
notifyEx\((.*)\)
notify_add($1)
notifyExPreventsLoops\((.*)\)
notify_prevents_loops($1)
notifyExClean\((.*)\)
notify_remove($1)
clearExpiredActions\((.*)\)
clear_expired_actions($1)
isDisabled\((.*)\)
is_disabled($1)
isHidden
isHidden\((.*)\)
is_hidden($1)
isClosedRoom\((.*)\)
is_closed_room($1)
getRoomById\((.*)\)
get_room_by_id($1)
getLocationById\((.*)\)
get_location_by_id($1)
addInCurrentQuestStages\((.*)\)
add_in_current_stages($1)
addInCurrentTaskStages\((.*)\)
add_in_current_stages($1)
respectAllRequests\((.*)\)
all_requests_are_met($1)
isCompleted\((.*)\)
is_completed($1)
setDayNumberRequiredToStart\((.*)\)
add_required_days_to_start($1)
currentQuestId\((.*)\)
quest_id($1)
completeStagesNumber\((.*)\)
completed_stages_number($1)
getPercentageCompletion\((.*)\)
percentage_completion($1)
nextStage\((.*)\)
next_stage($1)
afterNextStage\((.*)\)
after_next_stage($1)
getChIcons\((.*)\)
character_icons($1)
getTalkBackground\((.*)\)
conversation_background($1)
clearExpiredRoutine\((.*)\)
clear_expired_routine($1)
getChsInThisLocation\((.*)\)
characters_commitment_in_current_location($1)
getEventsInThisLocation\((.*)\)
characters_events_in_current_location($1)
getChLocation\((.*)\)
commitment_by_character($1)
getBgRoomRoutine\((.*)\)
commitment_background($1)
updateQuestsLevels\((.*)\)
update_quests_levels($1)
checkInactiveStage\((.*)\)
check_inactive_stage($1)
checkIfTheQuestExist\((.*)\)
is_quest_existing($1)
checkIfTheQuestIsInNumberStages\((.*)\)
is_quest_in_number_stages($1)
checkIfTheQuestIsCurrentTaskStages\((.*)\)
is_quest_in_current_task_stages($1)
checkIfTheQuestIsCurrentQuestStages\((.*)\)
is_quest_in_current_quest_stages($1)
quest_getPercentageCompletion\((.*)\)
quest_percentage_completion($1)
quest_setDayNumberRequiredToStart\((.*)\)
quest_add_required_days_to_start($1)
quest_nextStageOnlyIsCompleted\((.*)\)
quest_next_stage_only_is_completed($1)
quest_nextStage\((.*)\)
quest_next_stage($1)
quest_isStarted\((.*)\)
quest_is_started($1)
quest_isCompleted\((.*)\)
quest_is_completed($1)
quest_currentQuestId\((.*)\)
quest_current_quest_id($1)
quest_completeStagesNumber\((.*)\)
quest_complete_stages_number($1)
addTalkChoice\((.*)\)
add_conversation_choice($1)
delTalkChoice\((.*)\)
del_conversation_choice($1)
- Create LICENSE by @BlackRam-oss in #1
- Ren'Py 8.0.0 by @BlackRam-oss in #8
- 9 typify python by @BlackRam-oss in #10
- 14 code snippets by @BlackRam-oss in #27
- 11 improving the quest system by @BlackRam-oss in #33
- 12 pass by object reference by @BlackRam-oss in #34
- 16 after closing a label it should not be mandatory to close with call screen room navigation by @BlackRam-oss in #37
- Update time_label.rpy by @BlackRam-oss in #38
- fix by @BlackRam-oss in #41
- align cash label by @01010100010100100100100101000111 in #44
- Fixes for #42 and #43 by @01010100010100100100100101000111 in #45
- clean by @BlackRam-oss in #49
- 15 create a button class to be extended by @BlackRam-oss in #50
- 4 map navigation possibility to use multiple maps by @BlackRam-oss in #51
- fix and improve by @BlackRam-oss in #53
- 20 add notifications and improve log by @BlackRam-oss in #54
- 55 convert pos to align by @BlackRam-oss in #56
- 57 convert all class in library py by @BlackRam-oss in #58
- 60 improve repetitive screen by @BlackRam-oss in #61
- improve menu by @BlackRam-oss in #63
- 64 convert functions without parameters to property by @BlackRam-oss in #65
- 66 convert all in property by @BlackRam-oss in #67
- 68 alignment to good python syntax by @BlackRam-oss in #69
- Update README.md by @BlackRam-oss in #70
- 71 improve installation by @BlackRam-oss in #73
- Update README.md by @BlackRam-oss in #74
- Update README.md by @BlackRam-oss in #75
- Update README.md by @BlackRam-oss in #76
- Update README.md by @BlackRam-oss in #77
- Update README.md by @BlackRam-oss in #78
- 79 move into renpy checkifisactivebytag by @BlackRam-oss in #81
- 80 improve charanter into commitment and conversation by @BlackRam-oss in #82
- @BlackRam-oss made their first contribution in #1
- @01010100010100100100100101000111 made their first contribution in #44
Full Changelog: https://github.com/DRincs-Productions/NQTR-System/commits/v2.0.0
git checkout -b nqtr-tool
git checkout nqtr-tool
git config pull.rebase false
git pull https://github.com/DRincs-Productions/NQTR-System.git v1.0.3 --allow-unrelated-histories
Now NQTR is a python library, and renpy interacts with it through easy-to-use functions.
What it means:
Pros:
- Performance
- I can now develop directly with python. this makes my life easier since I can use the tools to develop in python
- Can create tests
- From now on future versions will have less complex migration: since now I aim to modify as little as possible renpy functions , but only the library.
Cons:
- Sharing variables with renpy and the library is slightly more difficult because it relies on pointers. (As long as I only share dictionaries, I won't have any big problems).
Use search and replace of vscode with regex functionality enabled
quests\["(.*)"\].start\(\)
quest_start(id = "$1")
quests\["(.*)"\].nextStage\(\)
quest_next_stage(id = "$1")
quests\["(.*)"\].nextStageOnlyIsCompleted\(\)
quest_next_stage_only_is_completed(id = "$1")
quests\["(.*)"\].SetDayNumberRequiredToStart\((.*)\)
quest_add_required_days_to_start(id = "$1",$2)
tm.new_day\((.*))\
new_day($1)
tm.new_hour((.*))
new_hour($1)
flags\["(.*)"\] =(.*)
setFlags("$1",$2)
Full Changelog: https://github.com/DRincs-Productions/NQTR-System/compare/v1.0.2...v1.0.3
git checkout -b NQTR-toolkit
git checkout NQTR-toolkit
git config pull.rebase false
git pull https://github.com/DRincs-Productions/NQTR-toolkit.git v1.0.2 --allow-unrelated-histories
Full Changelog: https://github.com/DRincs-Productions/NQTR-toolkit/compare/v1.0.1...v1.0.2
- Create LICENSE by @DonRP in #1
- Ren'Py 8.0.0 by @DonRP in #8
- 9 typify python by @DonRP in #10
- 14 code snippets by @DonRP in #27
- 11 improving the quest system by @DonRP in #33
- 12 pass by object reference by @DonRP in #34
- 16 after closing a label it should not be mandatory to close with call screen room navigation by @DonRP in #37
- Update time_label.rpy by @DonRP in #38
- fix by @DonRP in #41
- align cash label by @01010100010100100100100101000111 in #44
- Fixes for #42 and #43 by @01010100010100100100100101000111 in #45
- clean by @DonRP in #49
- 15 create a button class to be extended by @DonRP in #50 (IMPORTANT: Some property names have been changed: So it gives errors when inserted in an old version. But it does not create any problems in saves. )
- 4 map navigation possibility to use multiple maps by @DonRP in #51
- @DonRP made their first contribution in #1
- @01010100010100100100100101000111 made their first contribution in #44
Full Changelog: https://github.com/DRincs-Productions/NQTR-toolkit/commits/v1.0.1
git checkout -b NQTR-toolkit
git checkout NQTR-toolkit
git pull https://github.com/DRincs-Productions/NQTR-toolkit.git v1.0.0 --allow-unrelated-histories
- Create LICENSE by @DonRP in #1
- Ren'Py 8.0.0 by @DonRP in #8
- 9 typify python by @DonRP in #10
- 14 code snippets by @DonRP in #27
- 11 improving the quest system by @DonRP in #33
- 12 pass by object reference by @DonRP in #34
- 16 after closing a label it should not be mandatory to close with call screen room navigation by @DonRP in #37
- Update time_label.rpy by @DonRP in #38
- @DonRP made their first contribution in #1
Full Changelog: https://github.com/DRincs-Productions/NQTR-toolkit/commits/v1.0.0