# gschool_randperson !! arguments: ... !! gender : 0 for male, 1 for female !! excluded_first_name : can be '' or you can provide result of previous invocation, so you can compose non-repeating pairs of people !! ... : 1 if you include grupTipe, 0 otherwise, look at examples below !! !! example: !! $rand_girl = func('gschool_randperson', 1, '', 1, 1, 0, 1, 0, 0) !! $rand_girl1 = func('gschool_randperson', 1, $rand_girl, 1, 1, 0, 1) !! !! Having grupTipes (social groups) !! 1 - cool kids !! 2 - jocks !! 3 - nerds !! 4 - Gopnik !! 5 - outcasts !! 6 - teachers !! examples above instruct to choose random person from: cool kids, jocks and gopniks !! NOTE that in $rand_girl1 zero values for outcasts and teachers are not defined - undefined values will be zero by language !! Thanks to that you can include new social group and you don''t need to make changes in all places !! need rework !!if $ARGS[0] = 'person_generator': !! rand_person_ind = 0 !! rand_filtered_ind = 0 !! :filter_loop !! rand_person_ind = rand_person_ind + 1 !! if rand_person_ind >= ARRSIZE('grupTipe') : jump 'outside_filter_loop' !! genderMatches = ARGS[0] = npcPol[rand_person_ind] !! nameIsNotRepeated = ARGS[1] <> $npc_firstname[$school_static_num[rand_person_ind]] !! grupTipeIsLegal = grupTipe[rand_person_ind] > 0 !! grupTipeMatches = ARGS[grupTipe[rand_person_ind] + 1] = 1 !! if genderMatches and nameIsNotRepeated and grupTipeIsLegal and grupTipeMatches : !! rand_filtered[rand_filtered_ind] = rand_person_ind !! rand_filtered_ind = rand_filtered_ind + 1 !! end !! jump 'filter_loop' !! :outside_filter_loop !! if ARRSIZE('rand_filtered') > 0 : !! random_person = rand_filtered[rand(0,ARRSIZE('rand_filtered'))] !! $RESULT = $npc_firstname[$school_static_num[random_person]] !! else !! $rand_gender = IIF (ARGS[0] = 0, 'boy', 'girl') !! $RESULT = '<<$rand_gender>> you don''t know' !! end !! KILLVAR 'rand_person_ind' !! KILLVAR 'rand_filtered_ind' !! KILLVAR 'rand_filtered' !! KILLVAR '$rand_gender' !! KILLVAR 'random_person' !! KILLVAR 'genderMatches' !! KILLVAR 'nameIsNotRepeated' !! KILLVAR 'grupTipeIsLegal' !! KILLVAR 'grupTipeMatches' !!end if $ARGS[0] = 'couple_generator': :couple_jump couple_rand = rand(1,53) if couple_rand = 1: $rand_girl = 'Viktoriya' $rand_boy = 'Vanya' elseif couple_rand = 2: $rand_girl = 'Lina' $rand_boy = 'Ivan' elseif couple_rand = 3: $rand_girl = 'Stasya' $rand_boy = 'Andrey' elseif couple_rand = 4: $rand_girl = 'Lariska' $rand_boy = 'Ivan' elseif couple_rand = 5: $rand_girl = 'Lizaveta' $rand_boy = 'Andrey' elseif couple_rand = 6: $rand_girl = 'Lina' $rand_boy = 'Lazar' elseif couple_rand = 7: $rand_girl = 'Bella' $rand_boy = 'Lazar' elseif couple_rand = 8: $rand_girl = 'Lariska' $rand_boy = 'Lazar' elseif couple_rand = 9: $rand_girl = 'Irina' $rand_boy = 'Lazar' elseif couple_rand = 10: $rand_girl = 'Irina' $rand_boy = 'Dimka' elseif couple_rand = 11: $rand_girl = 'Anushka' $rand_boy = 'Marcus' elseif couple_rand = 12 and kotovLoveQW <= 0: $rand_girl = 'Pauline' $rand_boy = 'Vitek' elseif couple_rand = 13: $rand_girl = 'Pauline' $rand_boy = 'Dan' elseif couple_rand = 14: $rand_girl = 'Anushka' $rand_boy = 'Radomir' elseif couple_rand = 15: $rand_girl = 'Anushka' $rand_boy = 'Valentin' elseif couple_rand = 16: $rand_girl = 'Anushka' $rand_boy = 'Arkadi' elseif couple_rand = 17: $rand_girl = 'Alyona' $rand_boy = 'Valentin' elseif couple_rand = 18: $rand_girl = 'Alyona' $rand_boy = 'Arkadi' elseif couple_rand = 19: $rand_girl = 'Sonia' $rand_boy = 'Andrey' elseif couple_rand = 20: $rand_girl = 'Sonia' $rand_boy = 'Ivan' elseif couple_rand = 21: $rand_girl = 'Sonia' $rand_boy = 'Dimka' elseif couple_rand = 22: $rand_girl = 'Sonia' $rand_boy = 'Lazar' elseif couple_rand = 23: $rand_girl = 'Sonia' $rand_boy = 'Vasily' elseif couple_rand = 24: $rand_girl = 'Sonia' $rand_boy = 'Svyatoslav' elseif couple_rand = 25: $rand_girl = 'Sonia' $rand_boy = 'Erast' elseif couple_rand = 26 and fedorlove < 1: $rand_girl = 'Sonia' $rand_boy = 'Fedor' elseif couple_rand = 27: $rand_girl = 'Sonia' $rand_boy = 'Marcus' elseif couple_rand = 28 and kotovLoveQW <= 0: $rand_girl = 'Sonia' $rand_boy = 'Vitek' elseif couple_rand = 29: $rand_girl = 'Sonia' $rand_boy = 'Dan' elseif couple_rand = 30: $rand_girl = 'Sonia' $rand_boy = 'Radomir' elseif couple_rand = 31: $rand_girl = 'Sonia' $rand_boy = 'Valentin' elseif couple_rand = 32: $rand_girl = 'Sonia' $rand_boy = 'Arkadi' elseif couple_rand = 33: $rand_girl = 'Sonia' $rand_boy = 'Roman' elseif couple_rand = 34: $rand_girl = 'Pauline' $rand_boy = 'Radomir' elseif couple_rand = 35: $rand_girl = 'Anushka' $rand_boy = 'Lazar' elseif couple_rand = 36: $rand_girl = 'Anushka' $rand_boy = 'Ivan' elseif couple_rand = 37: $rand_girl = 'Anushka' $rand_boy = 'Lavrenti' elseif couple_rand = 38: $rand_girl = 'Alyona' $rand_boy = 'Lavrenti' elseif couple_rand = 39: $rand_girl = 'Albina' $rand_boy = 'Lazar' elseif couple_rand = 40: $rand_girl = 'Sonia' $rand_boy = 'Lavrenti' elseif couple_rand = 41: $rand_girl = 'Alyona' $rand_boy = 'Radomir' elseif couple_rand = 42: $rand_girl = 'Lizaveta' $rand_boy = 'Lavrenti' elseif couple_rand = 43: $rand_girl = 'Christina' $rand_boy = 'Lazar' elseif couple_rand = 44: $rand_girl = 'Christina' $rand_boy = 'Ivan' elseif couple_rand = 45: $rand_girl = 'Lariska' $rand_boy = 'Ivan' elseif couple_rand = 46: $rand_girl = 'Lariska' $rand_boy = 'Radomir' elseif couple_rand = 47: $rand_girl = 'Lina' $rand_boy = 'Andrey' elseif couple_rand = 48: $rand_girl = 'Lina' $rand_boy = 'Svyatoslav' elseif couple_rand = 49: $rand_girl = 'Lina' $rand_boy = 'Radomir' elseif couple_rand = 50: $rand_girl = 'Pauline' $rand_boy = 'Radomir' elseif couple_rand = 51: $rand_girl = 'Lena' $rand_boy = 'Radomir' elseif couple_rand = 52: $rand_girl = 'Lena' $rand_boy = 'Lavrenti' elseif couple_rand = 53: $rand_girl = 'Sonia' $rand_boy = 'Niko' else jump 'couple_jump' end killvar 'couple_rand' end --- gschool_randperson ---------------------------------