; ÀüÁ÷Çʵå
open [main]
    var PlayerHandle        ""
        Roumenos            ""
        NPC                 ""
        NPCList             ""
        LoopIndex           ""
        LoginWait           ""
        InterruptBlock      ""
        InterruptArg        "".

    scriptfile "JobChange2-1".

    ; ¸¶À» npcµé
    npcstand NPC      "RouSmithJames"            5937    6644    0  1000 "Normal".
    npcstand NPC      "RouSoulMctJulia"          8032    6469    0 1000 "Normal".
    npcstand Roumenos "RouTownChiefRoumenus"     5988    4677    178 1000 "Normal".
    npcstand NPC      "RouWeaponTitleMctZach"    4985    5853    171  1000 "Normal".
    npcstand NPC      "RouSkillRubi"             7129    6115    173  1000 "Normal".
    npcstand NPC      "RouItemMctPey"            7133    5428    0 1000 "Normal".
    npcstand NPC      "RouStoreRaina"            6139    5197   342   1000 "Normal".
    npcstand NPC      "RouRookieGuideRaemi"      7720    4623    80 1000 "Normal".
    npcstand NPC      "RouGrandfatherRobin"      4478    6735    0 1000 "Normal".
    npcstand NPC      "RouGuildBrom"             4948    5015    0 1000 "Normal".

    open [BaggerRegen]
        LoopIndex = 0.

        var coord   ""
            x       ""
            y       ""
            d       "".

        while LoopIndex < 15
        open
            coord = @CircularScatter(6242 4646 1000).     ; 6242, 4646À» Áß½ÉÀ¸·Î ¹ÝÁö¸§ 1000 ¿µ¿ª¿¡ »Ñ¸± °æ¿ìÀÇ ÁËÇ¥ ¸¸µé±â("7276 9217" Çü½ÄÀÇ ¸®ÅÏ)
            x = @RemoveFirst("coord" " ").                ; ¸®½ºÆ®ÇüÅÂÀÎ coord¿¡¼­ " "·Î ºÐ¸®µÈ ù°¿ø¼Ò¸¦ x¿¡ ³Ö°í coord¿¡¼­´Â Áö¿ò. coordº¯¼öÀÇ °ªµµ º¯ÇØ¾ß ÇϹǷΠcoord ÀÚü¸¦ º¸³»¾ß ÇÔ
            y = @RemoveFirst("coord" " ").                ; ¸®½ºÆ®ÇüÅÂÀÎ coord¿¡¼­ " "·Î ºÐ¸®µÈ ù°¿ø¼Ò¸¦ y¿¡ ³Ö°í coord¿¡¼­´Â Áö¿ò. coordº¯¼öÀÇ °ªµµ º¯ÇØ¾ß ÇϹǷΠcoord ÀÚü¸¦ º¸³»¾ß ÇÔ
            d = @Random(0 360).

            ; Bandit ÇüÅÂÀÇ NPC¸¦ ¸¸µå´Â ±â´ÉÀº ¾øÀ¸¹Ç·Î ¸÷À» ¸¸µç ÈÄ NPC·Î ¹Ù²Þ
            mobregen NPC "Slime" x y d 1000 "Normal" "Beggar". ; ¸÷ ¸¸µé¾îÁü. °¡Àå µÚ Àμö°¡ Ç÷¹À̾î ÇÚµéÀÌ¸é º¹»çÆÇ, "Beggar"À̸é Ŭ·¡½º »ó°ü¾øÀÌ Àåºñ¾øÀ½
            change2npc NPC "Slime".

            LoopIndex = LoopIndex + 1.
        close

        LoopIndex = 0.
        while LoopIndex < 5
        open
            coord = @CircularScatter(5807 6234 500).
            x = @RemoveFirst("coord" " ").
            y = @RemoveFirst("coord" " ").
            d = @Random(0 360).

            ; Bandit ÇüÅÂÀÇ NPC¸¦ ¸¸µå´Â ±â´ÉÀº ¾øÀ¸¹Ç·Î ¸÷À» ¸¸µç ÈÄ NPC·Î ¹Ù²Þ
            mobregen NPC "Slime" x y d 1000 "Normal" "Beggar". ; ¸÷ ¸¸µé¾îÁü. °¡Àå µÚ Àμö°¡ Ç÷¹À̾î ÇÚµéÀÌ¸é º¹»çÆÇ, "Beggar"À̸é Ŭ·¡½º »ó°ü¾øÀÌ Àåºñ¾øÀ½
            change2npc NPC "Slime".

            LoopIndex = LoopIndex + 1.
        close
    close


    waitlogin LoginWait.                                                    ; Ç÷¹À̾îÀÇ ·Î±ä ±â´Ù¸²
    if LoginWait == 0
    then open
        call "QuestFail".
    close

    findhandle PlayerHandle "Player" 0.                                     ; Ç÷¹À̾îÀÇ ÇÚµéÀ» ãÀ½(óÀ½ Çϳª¸¸)


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; Ç÷¹À̾ µé¾î¿Í¼­ ÀÌ»óÇÔÀ» ´À³¥ ¶§±îÁö ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    open [Arrive]       ; NPC¸¦ 5ȸ Ŭ¸¯ÇÒ ¶§±îÁö ±â´Ù¸²
        var ClickNum        0
            ClickHandle     0.

        interruptclear all.
        interruptset NPCClickAny "NPCClickInt" 99999 "NPCClick".  ; ¾î¶² NPCµçÁö Ŭ¸¯µÉ ¶§ NPCClick È£Ãâ
        interruptset PlayerEliminate "" 1 "QuestFail".

        infinite
        open
            waitinterrupt InterruptBlock "InterruptArg".
            call InterruptBlock.
        close
    close

    interrupterase "NPCClickInt".         ; NPC Ŭ¸¯ÇÒ¶§ÀÇ À̺¥Æ® Áö¿ò


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; ¸ðµç NPC¸¦ Á»ºñ·Î ¹Ù²Þ ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    maplight 150 70 70.
    mapfog 100 1400.

    NPCList = @GetObjectList(PlayerHandle "NPC" "BANDIT"). ; PlayerHandle¿¡¼­ °¡Àå °¡±î¿î NPC, Bandit ã±â

    open [Zombinaze]
        var ScreamNo 0.
        infinite
        open
            NPC = @RemoveFirst("NPCList" " ").

            if NPC == ""    ; ´õÀÌ»ó ãÀ»¼ö ¾øÀ½
            then open
                break "Zombinaze".
            close

            npcchat NPC "Scream" % ScreamNo.          ; "¾Æ¾Æ¾Ç!", "³¢¾ß¾Ç!", "À¸¾Ç!" µîµî
            exchange2mob NPC "Job2_Zombie".           ; NPC¸¦ ¾ø¾Ö°í »õ·Î¿î ZombieKnight¸¦ ¸¸µê
            npcchat NPC "Scream" % ScreamNo.          ; "¾Æ¾Æ¾Ç!", "³¢¾ß¾Ç!", "À¸¾Ç!" µîµî

            ScreamNo = ScreamNo + 1.
            if ScreamNo >= 3
            then open
                ScreamNo = 0.
            close
        close
    close

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; °áÆÇÀÌ ³¯ ¶§±îÁö ±â´Ù¸² ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    timelimit Min 20.                           ; Á¦Çѽð£ 20ºÐ
    interruptset TimeOut "" 1 "QuestFail".
    interruptset MobEliminate "" 1 "QuestSuccess".
    interruptset DeadIndex "" 99999 "Job2_Zombie" "ZombieMessage".

    infinite
    open
        waitinterrupt InterruptBlock "InterruptArg".
        call InterruptBlock.
    close
close

open [ZombieMessage]
    var ZombieNum    0.

    ZombieNum = @Count("Job2_Zombie").

    printf "Zombie : " % ZombieNum.

    if ZombieNum === 0
    then open
        call "QuestSuccess".
    close
    
    if ZombieNum > 10
    then open
        ZombieNum = 10.
    close

    broadcast All "ReftMob" % ZombieNum.
close

open [NPCClick]
    npcchat InterruptArg "NoChat".          ; "..."À» Ãâ·Â

    if ClickHandle =!= InterruptArg
    then open
        ClickNum = ClickNum + 1.
        ClickHandle = InterruptArg.




;        if ClickNum >= 5
;        then open
;            break "Arrive".
;        close
        if InterruptArg === Roumenos
        then open
            break "Arrive".
        close


    close
close

open [QuestSuccess]
;    itemattrset PlayerHandle "Job2_STpiece1" "-s1".    ; ¾ÆÀÌÅÛ Job2_STpiece1(ItemClass_KQStep)ÀÇ ½ºÅÜÀ» 1·Î ¸¸µê
    itemerase  PlayerHandle "Job2_STpiece1".
    itemcreate PlayerHandle "Job2_STpiece1-1".

    pause Sec 1.

    questresult Suc.                   ; ¼º°øÆÐŶ ³¯¸²
    scinariocode PlayerHandle 16.

    pause Sec 2.

    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 "RouVal01" "RouVal01" 12842 6467.
    break "main".
close

open [QuestFail]
    questresult Fail.                  ; ½ÇÆÐÆÐŶ ³¯¸²

    broadcast all "RouReturn30".
    pause sec 10.
    broadcast all "RouReturn20".
    pause sec 10.
    broadcast all "RouReturn10".
    pause sec 5.
    broadcast all "RouReturn5".
    pause sec 5.
    linkto all "RouVal01" "RouVal01" 12842 6467.
    break "main".
close