open [main] var InterruptBlock "" InterruptArg "" Players "" Count "" ResultList "" PlayerHandle "" Winner0 "" Winner1 "" Winner2 "". ;;;;;;;;;;;;;;;;;;;; printf InitFlag. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; freepk OFF. ; 새로운 명령어 printf "WaitPlayer". waitlogin Players. printf "Player : " % Players. if Players == 0 ; 일정시간 지나도록 로긴 안함 then open call "QuestFail". close pause Sec 7. scriptfile "KQConditionOfHero". chatwin "RouTownChiefRoumenus" "Intro0". pause Sec 2. chatwin "RouTownChiefRoumenus" "Intro1". pause Sec 2. chatwin "RouTownChiefRoumenus" "Intro2". pause Sec 2. chatwin "RouTownChiefRoumenus" "Intro3". pause Sec 2. chatwin "RouTownChiefRoumenus" "Intro4". timelimit Min 3. ; 광석 리젠 Count = 0. while Count < 20 open regengroup "KDHero" "HERO" % InitFlag. Count = Count + 1. pause Sec 3. close interruptclear. call "WaitTimeLimit". chatwin "RouTownChiefRoumenus" "DualStart". call "PKON". ; PK 시작 timelimit Min 7. interruptclear. interruptset Sec "" 99999 10 "PKON". interruptset Sec "" 99999 30 "MineRegen". ; interruptset PlayerDead "" 1 "PlayerDead". ; 인터럽트 인덱스 추가 - 코딩필요(InterruptArg에는 죽은 플레이어의 핸들) 작동 안함 - 수정필요 call "WaitTimeLimit". chatwin "RouTownChiefRoumenus" "DualStop". freepk OFF. ; 등수체크 ResultList = @KQResultList("ConditionOfHero"). ; 점수순으로 소트해서 플레이어들에게 보낸 후 리스트에 저장 open [RewardBlock] Count = 0. infinite open PlayerHandle = @RemoveFirst("ResultList" " "). ; 리스트형태인 ResultList에서 " "로 분리된 첫째원소를 x에 넣고 ResultList에서는 지움. if PlayerHandle === "" then open break "RewardBlock". close if Count < 3 then open sendquestresult Suc PlayerHandle. ; 개인에게만 성공패킷 날림 invidualreward PlayerHandle "HERO_" % InitFlag % "_" % Count. ; 개인에게 따로 보상을 줌 #("Winner" % Count) = @CharName(PlayerHandle). close else open sendquestresult Fail PlayerHandle. ; 개인에게만 실패패킷 날림 invidualreward PlayerHandle "HERO_" % InitFlag % "_3". ; 개인에게 따로 보상을 줌 close Count = Count + 1. close close chatwin "RouTownChiefRoumenus" "DualResult" Winner0 Winner1 Winner2. broadcast all "KQReturn30". pause sec 10. broadcast all "KQReturn20". pause sec 10. broadcast all "KQReturn10". pause sec 5. broadcast all "KQReturn5". pause sec 5. linkto all "Eld" "Eld" 17214 13445. endofkq. close open [MineRegen] regengroup "KDHero" "HERO" % InitFlag. close open [PKON] freepk ON. ; 새로운 명령어 close open [WaitTimeLimit] interruptset TimeOut "" 1 "LimitTimeOut". interruptset PlayerEliminate "" 1 "QuestFail". infinite open waitinterrupt InterruptBlock "InterruptArg". call InterruptBlock. close close open [LimitTimeOut] break "WaitTimeLimit". close open [QuestFail] ; 모두 나간 상태(죽은 사람이 있을 수도 있으므로) freepk OFF. broadcast all "KQReturn30". pause sec 10. broadcast all "KQReturn20". pause sec 10. broadcast all "KQReturn10". pause sec 5. broadcast all "KQReturn5". pause sec 5. linkto all "Eld" "Eld" 17214 13445. endofkq. break "main". close ;open [PlayerDead] ; sendquestresult Fail InterruptArg. ; 개인에게만 실패패킷 날림 ;close