사이트 로그인
2023.10.17 14:04
이전 글에서 신규NPC 추가를 해보았고
EventScript와 EventDialog를 이용해서 ...... 대사를 출력해봤는데
이걸 사용해서 전직NPC를 만들어볼꺼임
그때 사용했던 NPC그대로 스크립트만 변경해서 사용
-InitNPC1
(initnpc (name 2031) (kind 57349) (event 1018) (country 10)
(village 4) (x 171) (y 68) (direction 6) (aniground 2))
-EventScript
event 101800
dialog 10100
endevent
-EventDialog
key 10100
eventnum 0
"......"
먼저 말을 걸면 전직을 선택할 수있게 만들어 보겠음
-EventScript
event 101800
dialog 10100
endevent
-EventDialog
key 10100
eventnum 0
"전직"
eventnum 101900
"검사"
eventnum 102000
"랜서"
eventnum 102100
"다음"
EventDialog에서 대화창에 출력할 수 있는 한계는
eventnum 0 -> 대화스크립트
선택지 3개까지임
eventnum 스크립트번호 <이걸로 선택지를 만들고 선택할 시 출력할 스크립트를 작성할 수있음
검사 전직 + 기사스킬까지해서 두개를 한번에 넣어보겠음
-EventScript
event 101800
dialog 10100
endevent
event 101900
learnskill 128
learnskill 16
endevent
이렇게 넣으면
선택지에서 검사를 선택시 검사와 기사 스킬을 습득할 수있게됨
문제는 이미 직업이 있는 캐릭도 전직 버튼을 누를시 스크립트가 동작을 한다는거임
그렇게되면 잘못된 직업습득이라면서 게임이 튕김
저걸 수정해서 이미 직업이 있는 캐릭은 이미 전직했다는 대화를 출력할꺼임
-EventScript
event 101900
if(skill = 0) then
learnskill 128
learnskill 16
dialog 10200
return
endif
dialog 10300
endevent
-EventDialog
key 10200
npc "전직NPC"
eventnum 0
"전직하셨습니다"
key 10300
npc "전지NPC"
eventnum 0
"이미 전직하셨습니다"
저렇게 넣어두면 이미 전직한 캐릭은 이미 전직하셨습니다 라는 스크립트를 띄우고
직업이 없을때는 검사+기사로 전직을 하게됨
이제 전직을 했으니 전직 기념품을 하나 줄 생각임
검사의 가장 기본 장비인 빅소드와 래더아머 그리고 룬스톤3개를 추가로 줄꺼임
-EventScript
event 101900
if(skill = 0) then
learnskill 128
learnskill 16
recieveitem 271610369 ;빅소드
recieveitem 270569732 ;래더아머(상의)
recieveitem 270570500 ;래더아머(하의)
recieveitem 270570244 ;래더아머(장갑)
recieveitem 270569988 ;래더아머(신발)
recieveitem 268439599 ;룬스톤
recieveitem 268439599 ;룬스톤
recieveitem 268439599 ;룬스톤
dialog 10200
return
endif
dialog 10300
endevent
아이템 코드는 Config파일안에 Item(Code)를 참고하면됨
이미 강화된 아이템과 중복수량으로 주는 방법은 모르겠음.....
이런식으로 모든 직업을 넣어주면 되는데
하나하나 노가다 형식이라서 매우 귀찮고
Dialog와 Script에 각각 사용하는 번호는 다른 번호들과 중복되면 안됨
아래에 적은 스크립트와 첨부파일로 넣은 스크립트는
다른 스크립트들을 몽땅 날려버리고 해당 내용만 집어넣은 스크립트라서
스크립트 확인만 하고 실 적용은 중복되는 번호를 피해서 수정하고 적용하면됨
;--event 1000부터 시작
;------------전직npc-----------
;-------------1차 전직npc-------
;--전직창 띄우기
event 1000
dialog 11
endevent
;--검사+기사
event 1100
if( skill = 0 ) then
learnskill 128
learnskill 16
dialog 16
return
endif
dialog 17
endevent
;--랜서+기사
event 1200
if( skill = 0 ) then
learnskill 512
learnskill 16
dialog 16
endif
dialog 17
endevent
;--다음
event 1300
dialog 12
endevent
;--닌자
event 1400
if( skill = 0 ) then
learnskill 256
learnskill 1024
dialog 16
return
endif
dialog 17
endevent
;--싸울
event 1500
if( skill = 0 ) then
learnskill 16384
dialog 16
return
endif
dialog 17
endevent
;--다음
event 1600
dialog 13
endevent
;--풍수
event 1700
if( skill = 0 ) then
learnskill 8192
dialog 16
return
endif
dialog 17
endevent
;--흑마
event 1800
if( skill = 0 ) then
learnskill 2048
dialog 16
return
endif
dialog 17
endevent
;--다음
event 1900
dialog 14
endevent
;--군인
event 2000
if( skill = 0 ) then
learnskill 32768
dialog 16
return
endif
dialog 17
endevent
event 2100
dialog 18
endevent
이런식으로 작성하면됨
추가로 작성한
EventScript와 EventDialog를 첨부파일로 넣어두겠음
첨부파일에는 3차까지 적용해놨으니
전직NPC
2차전직NPC
3차전직NPC
총 3개의 NPC로 나눠뒀음
2차전직NPC의 경우 전직 선택후 부직업(마족/정령사)를 선택하게 만들어뒀고
닌자의 경우 닌자 자체가 2차 전직이다보니 바로 부직업 선택으로 넘어가게 만듬
풍수나 흑마도 따로 처리해뒀음
2023.10.18 15:05
2023.10.22 13:00
하나의 NPC로 만들 수는 있지만 상당히 귀찮고 번거로운 작업이 될꺼에요....
2023.10.22 15:27
현재 신루 소스가 이벤트스크립에만 나와있는게 전부인가요 ?
2023.10.22 15:59
어떤 소스를 말하는건지 모르겠지만.....서버파일을 뜯고, 클라이언트를 개조하는거 아닌이상
신루 통파일에서 할수있는건 이벤트 스크립트에서 하는 방법 밖에 없음...
추가로 직접 프로그램을 짜서 디비를 제어하거나 웹연동해서 제어하거나....그런거 아니면...
2023.10.25 18:14
아래 경비님 말씀도 맞습니다
저는 다른 소스를 갖고 있습니다
데이터베이스를 통해서 프로시저와 테이블을 건드리는것으로 다른 소스를 적용할수있습니다.
2023.11.03 01:34
대박..선생님 싱글로 즐기고 싶은데혹시 구축좀 가능하실까요 사례드리겠습니다 부탁드립니당..
2023.12.17 05:39
3차라면 룬마스터까지 구현된건가요?
이것을 하나의 NPC로 만들수도 있겠네요 감사합니다.