• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 기타게임 소스자료실
    • 기타게임 소스자료실 프로젝트신루
    • 프로젝트 신루 NPC 스크립트 작성하기

      • 자택경비
      • 2023.10.22 - 22:09 57

    지난 글에서 NPC추가하기와 전직NPC 추가하기를 해봤는데

    이제는 다른 스크립트를 이용해서 프리섭하면 빼놓을 수 없는 레벨달성 보상 NPC를 만들어 봅시다

     

    역시나 이벤트 번호는 본인에게 맞게 부여한거고, 적용할라면 각자 이벤트 번호를 확인하고 중복되지 않게 수정하면됨

     

    <여기서 사용되는 이벤트 스크립트는

    event 4700
        if(level < 100) then  ;레벨이 100이하일때는 dialog 43으로 보낸다
            dialog 43
            return
        endif

        if(eventcheck 409 END) then
            dialog 44
            return
        endif
        dialog 42
        return
    endevent

     

    여기서 새로운 스크립트 명령어가 나오는데

    eventcheck 409 END 이건 DB내에서 event DB 쪽을 보면 확인할 수 있는 항목

    해당 이벤트에 END라는 마침표를 찍었는지 아닌지 확인을 하고

    END를 찍었다면  dialog 44번을 출력하라는거임

    (레벨별 보상을 두번이나 받으면 안되니까, 받았다는 증거를 남겨야됨)

     

    event 4800

        if(level > 999) then
            if(eventcheck 409 END) then
                dialog 44
                return
            endif
            if(eventcheck 408 END) then
                dialog 54
                return
            endif
        endif

        if(level > 899) then
            if(eventcheck 408 END) then
                dialog 44
                return
            endif
            if(eventcheck 407 END) then
                dialog 53
                return
            endif
        endif

        if(level > 799) then
            if(eventcheck 407 END) then
                dialog 44
                return
            endif
            if(eventcheck 406 END) then
                dialog 52
                return
            endif
        endif

        if(level > 699) then
            if(eventcheck 406 END) then
                dialog 44
                return
            endif
            if(eventcheck 405 END) then
                dialog 51
                return
            endif
        endif

        if(level > 599) then
            if(eventcheck 405 END) then
                dialog 44
                return
            endif
            if(eventcheck 404 END) then
                dialog 50
                return
            endif
        endif

        if(level > 499) then
            if(eventcheck 404 END) then
                dialog 44
                return
            endif
            if(eventcheck 403 END) then
                dialog 49
                return
            endif
        endif

        if(level > 399) then
            if(eventcheck 403 END) then
                dialog 44
                return
            endif
            if(eventcheck 402 END) then
                dialog 48
                return
            endif
        endif

        if(level > 299) then
            if(eventcheck 402 END) then
                dialog 44
                return
            endif
            if(eventcheck 401 END) then
                dialog 47
                return
            endif
        endif

        if(level > 199) then
            if(eventcheck 401 END) then
                dialog 44
                return
            endif
            if(eventcheck 400 END) then
                dialog 46
                return
            endif
        endif

        if(level > 99) then
            if(eventcheck 400 END) then
                dialog 44
                return
            endif
            if(eventcheck 399 END) then
                dialog 45
                return
            else
                dialog 56
                return
            endif
        endif

    endevent

     

    이런식으로 레벨별 보상을 줄 수있는데

     

    각각 레벨별 보상을 줬다는 증거를 위해서 saveevent 라는 스크립트 명령어를 사용

     

    각각의 레벨달성 후 아이템 지급, svaeevent로 받았다는 증거를 표시

     

    event 5000

        recieveitem 270537250 ;프로즌실드 3개
        recieveitem 270537250
        recieveitem 270537250
        saveevent 401 END
        dialog 57
        return

    endevent

    event 5100

        recieveitem 270537247 ;데르낭의 호신부 3개
        recieveitem 270537247
        recieveitem 270537247
        saveevent 402 END
        dialog 57
        return

    endevent

    event 5200

        recieveitem 270537263 ;오색방패 3개
        recieveitem 270537263
        recieveitem 270537263
        saveevent 403 END
        dialog 57
        return

    endevent

    event 5300

        if(skill & 128) then ;검사
            recieveitem 271610378
            saveevent 404 END
            dialog 57
            return
        endif

        if(skill & 512) then ;랜서
            recieveitem 271610890
            saveevent 404 END
            dialog 57
            return
        endif

        if(skill & 1024) then ;닌자
            recieveitem 271610122
            saveevent 404 END
            dialog 57
            return
        endif

        if(skill & 32768) then ;군인
            recieveitem 270566154
            saveevent 404 END
            dialog 57
            return
        endif
                   
        if(skill & 16384) then ;싸울
            recieveitem 271610634
            saveevent 404 END
            dialog 57
            return
        endif

        if(skill & 8192) then ;풍수
            recieveitem 271611146
            saveevent 404 END
            dialog 57
            return
        endif

        if(skill & 2048) then ;흑마
            recieveitem 271611146
            saveevent 404 END
            dialog 57
            return
        endif

    endevent

    event 5900

        if( skill & 16777216 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 33554432 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 8388608 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 1048576 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 2097152 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 4194304 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 536870912 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 1073741824 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 65536 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 134217728 ) then
            saveevent 399 END
            dialog 57
            return
        endif
        if( skill & 268435456 ) then
            saveevent 399 END
            dialog 57
            return
        endif

        dialog 55
        return

    endevent

    event 6000
        dialog 58
    endevent

     

    이런식으로 작성을 하면됨

     

    Dialog도 스크립트에 맞춰서 선택지만 주어준다면 해결됨

    이 게시물을..
    N
    0
    0
    • 프로젝트 신루 NPC스크립트2자택경비
    • 프로젝트신루 전직NPC추가하기자택경비
    • 12
      자택경비

    자택경비 님의 최근 글

    미러서버 파일 코드 수정 64 2025 07.28 프로젝트 신루 NPC스크립트2 136 4 2023 11.07 프로젝트 신루 NPC스크립트 작성하기 134 13 2023 10.22 프로젝트 신루 NPC 스크립트 작성하기 57 2023 10.22 프로젝트신루 전직NPC추가하기 129 7 2023 10.17

    자택경비 님의 최근 댓글

    아.. 아님 찾았음 2025 09.01 윈도우 xp말고 7이상에서 구동할때 MainSvrT가 정상적으로 실행이 안되는데 왜그럴까요.... 2025 09.01 전에 이팩 구해서 뜯어봤는데 진짜 머리아픔.... 버그없이 쓰려면 룬스톤 기능만 남기고 싹 지우는게 가장 좋음 2025 07.25 ㄳㄳ 2024 04.26 ㄳㄳ 2024 04.12
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 프로젝트 신루 NPC스크립트2
    • 프로젝트신루 전직NPC추가하기
    • 목록
      view_headline
    × CLOSE
    전체 던파 5 뮤 18 천상비 프로젝트신루 5 아이온 18 어둠의전설 28 리니지2 7 크로노스 5 칼온라인 3 기타 194
    기본 (5) 제목 날짜 수정 조회 댓글 추천 비추
    프로젝트신루 정렬 검색
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:16 666
    5
    프로젝트신루
    미러서버 파일 코드 수정
    자택경비 2025.07.28 - 13:19 64
    4
    프로젝트신루
    프로젝트 신루 NPC스크립트2
    자택경비 2023.11.07 - 02:24 136
    프로젝트신루
    프로젝트 신루 NPC 스크립트 작성하기
    자택경비 2023.10.22 - 22:09 57
    2
    프로젝트신루
    프로젝트신루 전직NPC추가하기
    자택경비 2023.10.17 - 23:04 129
    1
    프로젝트신루
    NPC 추가 및 스크립트 추가
    자택경비 2023.10.17 - 20:45 100
    • 1
    • / 1 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay