public QuestStatus status(IClientContext ctx) {
		QuestStatus status = QuestStatus.NOT_STARTED;
		if (configId != null) {
			//System.out.println(configId.length);
			for (int i = 0; i < configId.length; i++) {
				int id = configId[i];
				int value = ctx.varpbits.varpbit(id);
				if (value == configEndValue[i]) {
					status = QuestStatus.COMPLETED;
				} else if (value > configStartValue[i]) {
					status = QuestStatus.IN_PROGRESS;
				}
			}
		} else if (scriptId != null) {
			//System.out.println(scriptId.length);
			for (int i = 0; i < scriptId.length; i++) {
				Script script = ctx.definitions.script(scriptId[i]);
				int value = script.execute(ctx);
				if (value == scriptEndValue[i]) {
					status = QuestStatus.COMPLETED;
				} else if (value > scriptStartValue[i]) {
					status = QuestStatus.IN_PROGRESS;
				}
			}
		}

		return status;
	}