사이트 로그인
2023.10.22 13:09
지난 글에서 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도 스크립트에 맞춰서 선택지만 주어준다면 해결됨