Title:buy_tasks_lib Sex: Female T Male T Trans T Require: Limits: ; just for testing: assign:taskName:'task2' ; ;================================================================ ;================================================================ ;==================== TODO: move to global lib ================== ;================================================================ ;================================================================ ; call:check_bought_tasks_and_deadlines ;---------------------------------------------------------------- function:check_bought_tasks_and_deadlines ;---------------------------------------------------------------- ; Part 1: check global bought tasks and write them to todo tasks of the user: ; TASKS_TODO_BY_ME contains: <task name>,<deadline>,<optional from user>;.. loadtemp1:TASKS_TODO_BY_ME assign:globalTasksTodoByMe:'TEMP1' if: '$taskName' != 'buy_tasks' ; GLOBAL_BOUGHT_TASKS contains: <to user>,<task name>,<from user>;.. loadgtemp1:GLOBAL_BOUGHT_TASKS assign:globalBoughtTasks:'TEMP1' if: '$globalBoughtTasks'.includes('SNAME,') assign:globalNoOfBoughtTasks:'$globalBoughtTasks'.split(';').length-1 assign:globalTodoCounter:0 label:startOfCheckBoughtTasksLoop assign:globalBoughtTaskTo:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[0] assign:globalBoughtTaskTaskName:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[1] assign:globalBoughtTaskFrom:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[2] if: 'SNAME' == '$globalBoughtTaskTo' image:taskimg/assistant_at_desk2.jpg show:<b>$globalBoughtTaskFrom</b> has bought the task <b>$globalBoughtTaskTaskName</b> for you. I've added it to your 'Tasks ToDo' list, you'll have to do it within 30 days. ; dtask:0:$globalBoughtTaskFrom:$globalBoughtTaskTaskName:720 ; msg:$globalBoughtTaskFrom:SNAME was now informed that you've bought the task $globalBoughtTaskTaskName for them. They have to do it within 30 days. settemp1:(TIMENOW+(30*24*60*60*1000)) assign:globalTasksTodoByMe:'$globalTasksTodoByMe$globalBoughtTaskTaskName,TEMP1,$globalBoughtTaskFrom;' assign:globalBoughtTasks:'$globalBoughtTasks'.replace('$globalBoughtTaskTo,$globalBoughtTaskTaskName,$globalBoughtTaskFrom;','') assign:globalNoOfBoughtTasks:$globalNoOfBoughtTasks-1 assign:globalTodoCounter:$globalTodoCounter-1; button:I understand, Miss Claire fi: assign:globalTodoCounter:$globalTodoCounter+1; if: $globalTodoCounter < $globalNoOfBoughtTasks goto:startOfCheckBoughtTasksLoop fi: settemp1:'$globalBoughtTasks' savegtemp1:GLOBAL_BOUGHT_TASKS fi: fi: ; ----------- ; Part 2: check dtask deadlines assign:globalAlreadyRemovedThisTask:false assign:globalNoOfTodoTasks:'$globalTasksTodoByMe'.split(';').length-1 assign:globalTodoCounter:0 if: $globalNoOfTodoTasks > 0 label:startOfCheckTodoTasksLoop assign:globalTodoTaskName:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[0] assign:globalTodoTaskDeadline:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[1] assign:globalTodoTaskOptionalFrom:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[2] if: TIMENOW > $globalTodoTaskDeadline image:taskimg/assistant_at_desk2.jpg if: '$globalTodoTaskOptionalFrom' != 'undefined' settemp1:' that <b>$globalTodoTaskOptionalFrom</b> has bought for you' else: settemp1:'' fi: show:You've missed the deadline of the task <b>$globalTodoTaskName</b>TEMP1. I'm really sorry but I had to remove 5 mood for that. button:I'm sorry, Miss Claire if: '$globalTodoTaskOptionalFrom' != 'undefined' ; settemp1:'$taskName' if: '$taskName' != '$taskName' && '$globalTodoTaskName' == 'TEMP1' ;msg:$globalTodoTaskOptionalFrom:SNAME just started the task $taskName that you bought for them. They started it after the deadline of 30 days though, so they also lost 5 mood. else: ;msg:$globalTodoTaskOptionalFrom:SNAME did not do the task $taskName that you bought for them within 30 days. Thus they've lost 5 mood, and don't have to do the task anymore. fi: settemp1:',$globalTodoTaskOptionalFrom' else: settemp1:'' fi: assign:globalTasksTodoByMe:'$globalTasksTodoByMe'.replace('$globalTodoTaskName,$globalTodoTaskDeadlineTEMP1;','') assign:globalNoOfTodoTasks:$globalNoOfTodoTasks-1 assign:globalTodoCounter:$globalTodoCounter-1; else: settemp1:'$taskName' if: '$taskName' != '$taskName' && '$globalTodoTaskName' == 'TEMP1' if: !$globalAlreadyRemovedThisTask if: '$globalTodoTaskOptionalFrom' != 'undefined' ;msg:$globalTodoTaskOptionalFrom:SNAME just started the task $taskName that you bought for them settemp1:',$globalTodoTaskOptionalFrom' else: settemp1:'' fi: assign:globalTasksTodoByMe:'$globalTasksTodoByMe'.replace('$globalTodoTaskName,$globalTodoTaskDeadlineTEMP1;','') assign:globalNoOfTodoTasks:$globalNoOfTodoTasks-1 assign:globalTodoCounter:$globalTodoCounter-1; assign:globalAlreadyRemovedThisTask:true else: ; due to a current bug in the system all todo tasks with the same name will be removed, thus add it again ; dtask:1:Miss Claire:$taskName:720 fi: fi: fi: assign:globalTodoCounter:$globalTodoCounter+1; if: $globalTodoCounter < $globalNoOfTodoTasks goto:startOfCheckTodoTasksLoop fi: settemp1:'$globalTasksTodoByMe' button:saving (TEMP1) savetemp1:TASKS_TODO_BY_ME fi: end: ; ;================================================================ ;================================================================ ;================================================================ ;================================================================ ;================================================================
</code>