NWScript

NWScript
NW스크립트
설계자바이오웨어
개발자바이오웨어
처음 등장한2002년 6월 18일
안정된 릴리스
1.69.8109 (Neverwinter Nights) / 2008년7월 9일
OSMicrosoft 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인 단일 모듈파일로 압축됩니다.

외부 링크