NWScript
NWScript설계자 | 바이오웨어 |
---|---|
개발자 | 바이오웨어 |
처음 등장한 | 2002년 6월 18일 |
안정된 릴리스 | 1.69.8109 (Neverwinter Nights) / 2008년7월 9일 |
OS | Microsoft Windows, Mac OS X 및 Linux용 서드파티 도구 |
면허증. | 바이오웨어 EULA |
웹 사이트 | 바이오웨어 개발자 포털 |
영향을 받다 | |
C, Java |
NWScript는 롤플레잉 비디오 게임 Neverwinter Nights를 위해 BioWare가 개발한 스크립트 언어입니다.C 프로그래밍 언어를 기반으로 하며 Aurora 도구 세트에 구현됩니다.Neverscript(오픈 소스 서드파티 에디터)는 Aurora 툴셋이 Neverwinter Nights의 Mac OS X 및 Linux 버전용으로 작성되었습니다.
NWScript는 또한 비디오 게임 The Witcher, Star Wars: Knights of the Odyssey Engine을 사용하는 Star Wars: Knights of the Odyssey Engine에서도 사용됩니다.원래 NWN의 후속작인 Neverwinter Nights 2는 이 스크립트 언어를 수정한 버전을 특징으로 합니다.
구문
NWScript는 C를 기반으로 하지만 논리 연산자와 이진 연산자/삼원 연산자 및 일부 수학적 함수를 제외하고 C 패밀리의 함수는 많지 않습니다.함수 소스 코드는 최종 사용자가 액세스할 수 없지만 올바른 구문은 nwscript.nss라는 스크립트파일에 정의되어 있습니다.사용자는 독자적인 함수를 작성할 수 있습니다.이러한 함수는 #include 디렉티브를 통해 다른 스크립트에 포함할 수 있습니다.이 디렉티브는 C++와는 조금 다르게 동작합니다.
안녕 세계
NWScript 에는, 화면의 출력을 직접 대상으로 하는 방법이 없습니다.대신 예를 들어 플레이어 캐릭터와 같은 게임 내 캐릭터가 전형적인 "Hello world" 예시 메시지를 말하게 할 수 있습니다.이 스크립트는 플레이어의 메시지 로그에 "Hello world" 메시지를 기록합니다.이 기능이 작동하려면 모듈 속성의 OnClientEnter 이벤트에 배치해야 합니다.
무효 주된() { Send Message To(메시지 전송처)PC(GetEntering Object(GetEntering 객체)(), '헬로 월드'); }
첫 번째 줄은 보이드 주함수로서 NWScript가 시작하는 함수입니다.세 번째 줄에서는 Hello world라는 텍스트가 플레이어의 게임 내 메시지 로그에 전송됩니다.
데이터형
NWScript는 구조체는 허용하지만 개체는 허용하지 않습니다.NWScript에서는 다음과 같은 일반적인 데이터 유형을 사용할 수 있습니다.
NWScript는 또한 Neverwinter Nights 게임을 위해 다음과 같은 데이터 유형을 도입했습니다.
- 오브젝트(NPC나 배치 가능한 오브젝트 등)
- 위치(영역 내 위치 및 방향을 설명하는 영역 객체 참조, 벡터 및 플로트로 구성됨)
- 재능(마법이나 능력에 의존함)
- 벡터(객체의 좌표에 따라 달라지며 3개의 플로트로 구성됩니다.)
- 아이템 프로퍼티(게임에서 사용하는 무기 등의 아이템에 대한 능력에 해당)
- 효과(예를 들어 주문, 질병 및 표시된 시각 효과로 생성된 효과 등 물체에 대한 게임기 효과와 관련이 있음).
파일 형식
스크립트를 저장할 때 Aurora Toolset은 스크립트의 플레인텍스트를 .nss 파일 확장자의 파일로 저장합니다.스크립트를 컴파일할 때 NWScript Virtual Machine 파일에서 실행할 바이트 코드가 포함된 .ncs가 생성됩니다.켜면 확장자가 .ndb인 디버깅 정보 파일도 생성됩니다.게임은 .ncs 파일(호출된 경우 .ndb 파일)만 사용합니다.
작성된 모듈을 저장할 때 파일은 모듈 레이아웃에 대한 기타 정보와 함께 확장자가 .mod인 단일 모듈파일로 압축됩니다.
외부 링크
- Beamdog NWN Scripting Forum – BioWare의 스크립트 전용 포럼.
- NWN Lexicon – 스크립트 기능 및 튜토리얼 데이터베이스.
- Lilac Soul의 NWN Script Generator – NWScript 코드를 자동으로 생성하는 일반적인 유틸리티입니다.