Fandom

武装突袭 Wiki

Java Scripting

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 Share

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

Overview 编辑

Patch 3 (1.04) for Take On Helicopters introduces the ability to use Java scripting in the Real Virtuality engine. It is currently available for testing in beta patch rev. 89707.

This documentation will need to be expanded with more details, guides for other IDEs and comparisons to SQF scripting.



Limitations 编辑

  • Classes can only be loaded from mission, campaign and user profile folders.



Setup - Eclipse 编辑

Installation 编辑

  • Download and install Java SE 1.7
  • Download and install Eclipse (Indigo)
    • You are free to use other IDEs, but this guide deals with Eclipse only
  • Download and install the TKOH Beta Patch rev. 89707 (or later)


Sample mission 编辑

  • Create a new mission in the editor on Oil Platform
  • Insert a player pilot character
  • Save the mission as JavaSample (which will create the JavaSample.Intro_Island_H folder in your user profile Missions folder)


New IDE project 编辑

  • In Eclipse, create a new Java Project (File > New)
    • Enter a name (e.g. JavaSample)
    • Untick Use default location, and browse to the mission you've just created
    • Select Next
  • We'll want the .java sources and compiled .class files in the root of the mission for now (alternatively you can organize your data using packages)
    • Right-click the default src folder and select Remove from Build Path
      • If you want, manually delete the src folder from your mission folder
    • Select the root JavaSample folder, right-click, and select Use as Source Folder
    • Set Default output folder to just JavaSample (remove \bin)
  • Go to the Libraries tab
    • Select Add External JARs..
    • Select from your game installation folder: JRE\lib\ext\JNIScripting.jar
  • Select Finish


New Java class 编辑

  • Right-click the JavaSample project and create a new Class
    • Enter as Name: Sample
    • Superclass: empty (remove the default java.lang.Object)
    • Select Finish
  • Change the Sample.java file to:
import com.bistudio.JNIScripting.RVEngine;

/**
 * Sample Java class 
 * @author Bohemia Interactive
 */
public class Sample {
	/** 
	 * Show a hint passed to jCall.
	 * @param args Method parameters
	 */	
	public static Object showHint(Object[] args) {
		if (!(args[0] instanceof String)) return null;		
		RVEngine.hint((String)args[0]);
		return null;
	}
}
  • Save the file


Debugging 编辑

  • Run TKOH with start-up parameter -jDebugPort=8008 (or another suitable port number)
  • Open the mission in the editor
    • In the player's Initialization-field add:
BIS_Sample = jLoad "Sample"; BIS_Result = BIS_Sample jCall ["showHint", ["Take On World!"]];
  • In Eclipse, go to the Run menu and select Debug Configurations..
    • Double-click Remote Java Application
    • Change the port number to the one you launched TKOH with (8008)
    • In the Common tab, tick to show this configuration in the Debug favorites menu for ease of use
    • Select Apply and Close
  • Place a breakpoint on the following line (double-click the grey column on the left):
RVEngine.hint((String)args[0]);
  • Start the debugger from the Debug favorites menu (by default named Sample (1))
  • In TKOH, preview the mission
    • It is recommended to run TKOH windowed to make switching between Eclipse and the game easier (-window)
    • Eclipse's debugger will take focus almost immediately to show the breakpoint
      • If Eclipse does not show the source code it is paused at, make sure the project and JNIScripting.jar are listed under the Source tab in the debug configuration (Source Lookup Path)
    • Press F8 to resume
    • Return to TKOH to see the hint displayed
  • Welcome to Take On Java!

更多维基

随机维基