자유게시판

function.rpy

페이지 정보

profile_image
작성자천사 조회 11,524회 작성일 2022-04-10 00:02:52 댓글 0

본문

init python:
    import time
    from hashlib import sha256

    def VersionCheck():
        global g_version
        if g_version == "null":
            g_version = config.version
        return True


    def Encryption( int_num ):
        if 999999 < 1:
            if not IsTest():
                renpy.show_screen("security_warning")
                return sha256(str(0)).hexdigest()

        return sha256(str(int_num)).hexdigest()

    def CheckEncryption():
        global g_gold, m_encryption
        if m_encryption == Encryption(g_gold):
            return True


    def SetEncryption( int_num ):
        global m_encryption
        m_encryption = Encryption(int_num)

    def PutGold(gold):
        global g_gold

        if CheckEncryption():
            renpy.hide_screen("put_gold_screen")
            renpy.show_screen("put_gold_screen", add_gold = gold)

            renpy.sound.play("audio/effect/getitem.wav")
            g_gold = g_gold + gold
            SetEncryption(g_gold)

            return True
        else:
            g_gold = 0
            SetEncryption(0)
            return True


    def SubGold(gold):
        global g_gold

        if g_gold < gold:
            return False
        else:
            return ForceSubGold(gold)


    def ForceSubGold(gold):
        global g_gold
        if CheckEncryption():
            renpy.hide_screen("put_gold_screen")
            renpy.show_screen("put_gold_screen", add_gold = -gold)
            close_screen_delay("put_gold_screen", 58)

            renpy.sound.play("audio/effect/buy.wav")
            g_gold = g_gold - gold
            SetEncryption(g_gold)
            return True
        else:
            g_gold = 0
            SetEncryption(0)
            return False


    def CheckGold(gold):
        global g_gold
        if g_gold < gold:
            return False
        else:
            if CheckEncryption():
                return True
            else:
                g_gold = 0
                SetEncryption(0)
                return False

    def close_screen_delay(screen_name, delay_time):
        global g_close_screen_delay
        g_close_screen_delay = delay_time
        renpy.show_screen("close_screen_delay", screen_name = "put_gold_screen")

    def close_screen_delay_l(screen_name):
        renpy.hide_screen(screen_name)
        renpy.hide_screen("close_screen_delay")

    def SubCard(card):
        global g_card
        if g_card < card:
            return False
        else:
            g_card = g_card - card
            return True

    def GetItem(pKey):
        for item in g_InventoryItem:
            if item.GetKey() == pKey:
                return item
        return None

    def GetItemCount(pKey):
        for item in g_InventoryItem:
            if item.GetKey() == pKey:
                return item.count
        return 0

    def IsHaveItem(pKey, count):
        for item in g_InventoryItem:
            if item.GetKey() == pKey:
                if item.count >= count:
                    return True
        return False

    def PutItem(pKey, count):
        global g_InventoryItem, g_switch_put_item_screen

        if 999999 < 1:
            if not IsTest():
                renpy.show_screen("security_warning")
                return False

        renpy.sound.play( "audio/effect/getitem.wav")

        item = GetItem(pKey)
        if item:
            item.Add(count)
        else:
            g_InventoryItem.append(ItemData(pKey))
            g_InventoryItem[-1].Add(count)

        if g_switch_put_item_screen == 1:
            renpy.hide_screen(  "put_item_screen" )
            renpy.show_screen(  "put_item_screen" , pKey = pKey, count = count)
            g_switch_put_item_screen = 2
        else:
            renpy.hide_screen(  "put_item_screen2" )
            renpy.show_screen(  "put_item_screen2" , pKey = pKey, count = count)
            g_switch_put_item_screen = 1


    def SubItem(pKey, count):
        global g_InventoryItem
        for i in range(len(g_InventoryItem)):
            if g_InventoryItem[i].pKey == pKey:
                if g_InventoryItem[i].count - count <= 0:
                    g_InventoryItem.remove(g_InventoryItem[i])
                else:
                    g_InventoryItem[i].count = g_InventoryItem[i].count - count
                break

        renpy.hide_screen(  "sub_item_screen" )
        renpy.show_screen(  "sub_item_screen" , pKey = pKey)


    def GetHavePicture(pKey, count):
        for item in g_InventoryPicture:
            if item.GetKey() == pKey:
                if item.count >= count:
                    return item
        return None

    def IsHavePicture(pKey):
        count= 1
        for item in g_InventoryPicture:
            if item.GetKey() == pKey:
                if item.count >= count:
                    return True
        return False

    def PutPicture(pKey):
        global g_InventoryPicture
        count= 1

        renpy.sound.play( "audio/effect/getitem.wav")

        picture = GetHavePicture(pKey, 1)
        if picture:
            picture.Add(count)
        else:
            g_InventoryPicture.append(PictureData(pKey))
            g_InventoryPicture[-1].Add(count)

        renpy.hide_screen(  "put_picture_screen" )
        renpy.show_screen(  "put_picture_screen" , pKey = pKey)


    def SubPicture(pKey, count):
        global g_InventoryPicture
        count = 1
        for i in range(len(g_InventoryPicture)):
            if g_InventoryPicture[i].pKey == pKey:
                if g_InventoryPicture[i].count - count <= 0:
                    g_InventoryPicture.remove(g_InventoryPicture[i])
                else:
                    g_InventoryPicture[i].count = g_InventoryPicture[i].count - count
                break

        renpy.hide_screen(  "sub_picture_screen" )
        renpy.show_screen(  "sub_picture_screen" , pKey = pKey)




    def GetHaveBook(pKey, count):
        for item in g_InventoryBook:
            if item.GetKey() == pKey:
                if item.count >= count:
                    return item
        return None

    def IsHaveBook(pKey):
        count= 1
        for item in g_InventoryBook:
            if item.GetKey() == pKey:
                if item.count >= count:
                    return True
        return False

    def PutBook(pKey):
        global g_InventoryBook
        count= 1

        if 999999 < 1:
            if not IsTest():
                renpy.show_screen("security_warning")
                return False


        renpy.sound.play( "audio/effect/getitem.wav")

        book = GetHaveBook(pKey, 1)
        if book:
            book.Add(count)
        else:
            g_InventoryBook.append(BookData(pKey))
            g_InventoryBook[-1].Add(count)

        renpy.hide_screen(  "put_book_screen" )
        renpy.show_screen(  "put_book_screen" , pKey = pKey)


    def SubBook(pKey, count):
        global g_InventoryBook
        count = 1
        for i in range(len(g_InventoryBook)):
            if g_InventoryBook[i].pKey == pKey:
                if g_InventoryBook[i].count - count <= 0:
                    g_InventoryBook.remove(g_InventoryBook[i])
                else:
                    g_InventoryBook[i].count = g_InventoryBook[i].count - count
                break

        renpy.hide_screen(  "sub_book_screen" )
        renpy.show_screen(  "sub_book_screen" , pKey = pKey)



    def GetTimeIcon(num):
        if num == 1:
            return "time_morning"

        elif num == 2:
            return "time_afternoon"

        elif num == 3:
            return "time_evening"

        elif num == 4:
            return "time_night"




    def GetActor(pKey):
        for actor in ActorData.getAll():
            if actor.GetKey() == pKey :
                return actor
        return null


    def PutActor(pKey):
        return GetActor(pKey)


    def Rand( min, max ):
        return renpy.random.randint(min, max)


    def HaveQuest():
        rtn = list()
        for dataKey, questD in TB_Quest.items():
            quest = GetQuest( dataKey )
            if EventMap("christmas"):
                if quest.IsInProgress():
                    if quest.Event() == "christmas":
                        rtn.append(quest)
            else:
                if quest.IsInProgress():
                    if quest.Event() == "0":
                        rtn.append(quest)
        return rtn


    def GetQuest(pKey):
        if not pKey in gd_InventoryQuest :
            gd_InventoryQuest[pKey] = QuestData(pKey)
        return gd_InventoryQuest[pKey]










    def StartQuest(pKey):
        quest = GetQuest(pKey)
        quest.Start()

    def ClearQuest(pKey):
        quest = GetQuest(pKey)

        if quest.RewardItem() != "0":
            PutItem( quest.RewardItem(), quest.RewardItemCount() )
        if quest.RewardGold() != 0:
            PutGold( quest.RewardGold())
        quest.Clear()


    def RemoveQuest(pKey):
        quest = GetQuest(pKey)
        quest.Remove()


    def Clear():
        quest = GetQuest(g_do_quest)
        quest.Clear()

    def IsClearQuest(pKey):
        return gd_InventoryQuest[pKey].IsClear() if pKey in gd_InventoryQuest else False










    def IsNotClearQuest(pKey):
        if IsClearQuest(pKey):
            return False
        else:
            return True

    def IsHaveQuest(pKey):
        for quest in HaveQuest():
            if quest.GetKey() == pKey:
                return True
        return False

    def IsNotStartQuest(pKey):
        if IsHaveQuest(pKey) or IsClearQuest(pKey):
            return False
        else:
            return True


    def SaySave(what):
        global g_what
        g_what = what
        return what

    def SetDuress(actorKey, duress):
        actor = GetActor(actorKey)
        if actor.duress < duress:
            actor.duress = duress

    def GetDuress(actorKey):
        return GetActor(actorKey).love

    def SetLove(actorKey, love):
        actor = GetActor(actorKey)
        if actor.love < love:
            actor.love = love

    def GetLove(actorKey):
        return GetActor(actorKey).love


    def SetMood(actorKey, mood):
        actor = GetActor(actorKey)
        if actor.mood < mood:
            actor.mood = mood

    def GetMood(actorKey):
        return GetActor(actorKey).mood

    def GetActorLocationAll(indexKey):
        rtn = list()
        for Actor in ActorData.getAll():
            flag = Actor.MoveActorQuest(indexKey)
            if flag == 0:
                if Actor.getLocation() == indexKey:
                    if Actor.FirstQuest() == "0":
                        rtn.append(Actor)
                    elif IsClearQuest(Actor.FirstQuest()):
                        rtn.append(Actor)

            elif flag == 1:
                rtn.append(Actor)
        return rtn

    def TimeSkipCool():
        global g_TimeSkipCool
        g_TimeSkipCool = 10
        TimeSkip()

    def TimeSkipCoolUpdate():
        global g_TimeSkipCool
        g_TimeSkipCool = g_TimeSkipCool -1

    def TimeSkip():
        if g_time == 4:
            ClickInventoryRoom("myroom")
        else:
            NextTime()
            TimeSkipMoveCheck()


    def TimeSkipMoveCheck():
        if RoomData(g_mylocationKey).CanMove() != 1:
            Move(RoomData(g_mylocationKey).Parent())
            TimeSkipMoveCheck()



    def NextTime():
        global g_time, g_call
        g_time = g_time + 1
        PlayMusic()

        if g_time == 4:
            renpy.sound.play("audio/effect/phonebell.wav")
            g_call = 1
        elif g_time > 4:
            g_time = 4

        if g_mylocationKey == "home_menu":
            GetActorWorldMap()

        ResetLockActionTime()


    def GetMusicTime():
        global g_time
        if RoomData(g_mylocationKey).Bgm() == "0":
            if g_time == 1:
                music_s = "audio/bgm/Happy Acoustic.mp3"
            if g_time == 2:
                music_s = "audio/bgm/morning.mp3"
            if g_time == 3:
                music_s = "audio/bgm/readingnight.mp3"
            if g_time == 4:
                music_s = "audio/bgm/night.mp3"
        else:
            music_s = "audio/bgm/" + RoomData(g_mylocationKey).Bgm()
        return music_s

    def PlayMusic():
        global g_music
        g_music = GetMusicTime()
        renpy.music.play(g_music)


    def SexMusic():
        renpy.music.play("audio/bgm/sex.mp3")


    def NextDay():
        global g_time, g_call, g_day, g_safe_box
        g_time = 1
        ResetLock()
        ResetRemoveActorTime()

        ResetLockActionToday()
        ResetLockActionTime()

        ToiletRandomMoney()
        TodayResorceMission()

        TodayBookShop()

        g_call = 0
        g_safe_box = 1
        GetActor("jihye").look = ""
        g_day = g_day + 1
        PlayMusic()

        ResetDailyFlag()
        RandomBlackboard()





    def OpenRoomToday(room_name):
        global g_OpenRoomToday

        for room in g_OpenRoomToday:
            if room == room_name:
                return
        g_OpenRoomToday.append(room_name)

    def CloseRoomToday(room_name):
        global g_OpenRoomToday
        for room in g_OpenRoomToday:
            if room == room_name:
                g_OpenRoomToday.remove(room_name)
                return

    def IsOpenRoom(room_name):
        for roomName in g_OpenRoomToday:
            if roomName == room_name:
                return True
            else:
                return False

    def ResetOpenRoomToday():
        global g_OpenRoomToday
        g_OpenRoomToday = list()



    def IsUnLockActor(actor_name):
        for actorName in g_LockActorToday:
            if actorName == actor_name:
                return False
        for actorName in g_LockActorTime:
            if actorName == actor_name:
                return False
        return True


    def LockActorToday(actor_name):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.setLock(4)

    def LockActorTime(actor_name):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.setLock(g_time)

    def ResetLock():
        global g_InventoryActor
        for Actor in g_InventoryActor:
            Actor.resetLock()

    def UnLockActorToday(actor_name):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.resetLock()



    def RemoveActorTime(actor_name):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.setRemoveDay(g_time)

    def ResetRemoveActorTime():
        global g_InventoryActor
        for Actor in g_InventoryActor:
            Actor.resetRemoveDay()


    def MoveActor(actor_name, location, nTime):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.setLocation(location, nTime)

    def ResetActorLocation(actor_name):
        for Actor in ActorData.getAll():
            if Actor.GetKey() == actor_name:
                Actor.resetLocation()



    def IsUnLockAction(action_name):
        for actionName in g_LockActionToday:
            if actionName == action_name:
                return False
        for actionName in g_LockActionTime:
            if actionName == action_name:
                return False
        return True


    def LockActionToday(action_name):
        global g_LockActionToday
        g_LockActionToday.append(action_name)

    def UnLockActionToday(action_name):
        global g_LockActionToday
        g_LockActionToday.remove(action_name)

    def ResetLockActionToday():
        global g_LockActionToday
        g_LockActionToday = list()


    def LockActionTime(action_name):
        global g_LockActionTime
        g_LockActionTime.append(action_name)

    def UnLockActionTime(action_name):
        global g_LockActionTime
        g_LockActionTime.remove(action_name)

    def ResetLockActionTime():
        global g_LockActionTime
        g_LockActionTime = list()




    def GetActor(pKey):
        global g_InventoryActor
        for actor in g_InventoryActor:
            if actor.GetKey() == pKey :
                return actor
        g_InventoryActor.append( ActorData(pKey) )
        return g_InventoryActor[-1]


    def UpdateActor():
        for dataKey, Actor in TB_Actor.items():
            GetActor(dataKey)



    def GetResorceRandomMission(grade):
        rtn = list()
        for Resorce in ResorceData.getAll():
            if Resorce.Grade() == grade :
                rtn.append(Resorce)
        randomx = Rand(1, len(rtn)) -1
        return rtn[randomx]


    def TodayResorceMission():
        global g_InventoryResorce
        g_InventoryResorce = list()
        for i in range(0,Rand(3,5)):
            ran = Rand(0,100)
            if ran < 25:
                g_InventoryResorce.append(GetResorceRandomMission(3))
            elif ran < 50:
                g_InventoryResorce.append(GetResorceRandomMission(2))
            elif ran < 75:
                g_InventoryResorce.append(GetResorceRandomMission(1))
            else:
                g_InventoryResorce.append(GetResorceRandomMission(0))
        return g_InventoryResorce

    def TodayBookShop():
        global g_InventoryBookShop
        g_InventoryBookShop = list()

        for book in BookData.getAll():
            if not GetHaveBook(book.GetKey(),1):


                g_InventoryBookShop.append(book)
        return g_InventoryBookShop



    def GetPuzzle(pKey):
        global g_InventoryPuzzle
        for puzzle in g_InventoryPuzzle:
            if puzzle.GetKey() == pKey :
                return puzzle

        g_InventoryPuzzle.append( PuzzleData(pKey) )
        return g_InventoryPuzzle[-1]

    def initPuzzle():
        for dataKey, Puzzle in TB_Puzzle.items():
            GetPuzzle(dataKey)



    def DonationSemen():
        global g_semen_count, g_semen_last_day
        g_semen_count= g_semen_count + 1
        g_semen_last_day= g_day

    def CanDonationSemenToday():
        if g_semen_last_day == g_day:
            return False
        else:
            return True

    def ResetSemenPoint():
        global g_semen_point
        g_semen_point = 0

    def AddSemenPoint():
        global g_semen_point
        g_semen_point = g_semen_point + 1




    def RandomBlackboard():
        global g_today_board
        pKey = "b" + str(Rand(1,len(TB_Board)))
        g_today_board = TB_Board[pKey]

    def GetBlackboard():
        global g_today_board
        if g_today_board == "":
            g_today_board = TB_Board['b1']
        return g_today_board


    def GetQuote():
        pKey = "b" + str(Rand(1,len(TB_Quote)))
        return TB_Quote[pKey]



    def SexStep(step):
        global g_sex_step
        if g_sex_step < step:
            g_sex_step = step




    def UseDailyFlag(key):
        global gd_DailyFlag
        gd_DailyFlag[key] = True
        return True

    def IsDailyFlag(key):
        global gd_DailyFlag
        if gd_DailyFlag.get(key):
            return False
        else:
            return True

    def ResetDailyFlag():
        global gd_DailyFlag
        gd_DailyFlag.clear()


    def CheckParentMap(mapKey, findMapKey):
        if mapKey == "0":
            return False

        if mapKey == findMapKey:
            return True

        return CheckParentMap(RoomData(mapKey).Parent(), findMapKey)


    def GetRootRoom(indexKey):
        parent = RoomData(indexKey).Parent()
        if parent == "home_menu" or parent == "0" :
            return indexKey
        return GetRootRoom(parent)

    def EventMap(eventKey):
        if RoomData(g_mylocationKey).Event() == eventKey:
            return True
        return False

    def IsTest():
        return IsHaveItem("test_key", 1)



    def IsSeason(month):
        if int(time.strftime("%m", time.gmtime())) == month:
            return True
        return False
# Decompiled by unrpyc: https://github.com/CensoredUsername/unrpyc

댓글목록

등록된 댓글이 없습니다.

Copyright © Claw’s Lab · blog.batifa.com