14.Experience (9)

Home > Reference > Functions > Categories > Experience
14.Experience Function Category
経験点を扱うファンクション
Functions
AddJournalQuestEntry
プレイヤーのジャーナルに登録事項を追加します。
DoGiveXP
XPを 分 配 す る 設 定 規 則 に 従 っ て 、PCに 指 定 のXPを 与 え ま す 。
EffectNegativeLevel
目標のレベルを減少させる負のレベルエフェクトを作成します。
GetJournalQuestExperience
ジャーナルカテゴリーで設定した経験値の量を返します。
GetXP
特 定 の ク リ ー チ ャ ー が 持 つXPを 調 べ ま す 。
GiveXPToCreature
特定のクリーチャーに経験点を与えます。
RewardPartyXP
PCと ( 任 意 で ) 全 て の パ ー テ ィ メ ン バ ー に 経 験 値 を 与 え ま す 。
RewardXP
PCま た は そ の パ ー テ ィ に 設 定 規 則 に 従 っ て 、 指 定 のXPを 与 え ま す 。
SetXP
クリーチャーの経験値を特定の値に設定します。
See Also
Function Categories
Home > Reference > Functions > Conversation, Experience, Journal > AddJournalQuestEntry
AddJournalQuestEntry(string, int, object, int, int, int)
プレイヤーのジャーナルに登録事項を追加します。(日記エディタで、エントリーを作成するのが先
決です。)
void AddJournalQuestEntry(
string sCategoryTag,
int nEntryID,
object oCreature,
int bAllPartyMembers = TRUE,
int bAllPlayers = FALSE,
int bAllowOverrideHigher = FALSE
);
Parameters
sCategoryTag
ジャーナルカテゴリーのタグ(ファイル名での大文字と小文字は区別されます)
nEntryID
ジ ャ ー ナ ル エ ン ト リ ー のID
oCreature
ジ ャ ー ナ ル エ ン ト リ ー を 受 け 取 ら せ た いPC
bAllPartyMembers
TRUEな ら ば 、 エ ン ト リ ー はoCreatureの い る パ ー テ ィ の ジ ャ ー ナ ル に 追 加 さ れ ま す 。
( デ フ ォ ル ト :TRUE)
bAllPlayers
TRUEな ら ば 、 エ ン ト リ ー は モ ジ ュ ー ル 内 の 全 て の プ レ イ ヤ ー の ジ ャ ー ナ ル に 表 示 さ れ ま す 。
( デ フ ォ ル ト :FALSE)
bAllowOverrideHigher
TRUEな ら ば 、nState( エ ン ト リ ー のID) を 現 在 の ジ ャ ー ナ ル エ ン ト リ ー に 可 逆 に 上 書 き す る に 違 い
な い で し ょ う 。 ( デ フ ォ ル ト :FALSE)
Description
AddJournalQuestEntry()は ま さ に そ の 名 の 通 り に 、 プ レ イ ヤ ー の 日 記 画 面 の 「 ク エ ス ト 」 ま た は 「 完
了したクエスト」のページにエントリーを追加します。
た だ1人 のPC、PCの パ ー テ ィ メ ン バ ー の 全 て 、 ま た は モ ジ ュ ー ル 内 の 全 て の 駐 留 者 に 対 し て 、 エ ン ト
リーを追加しフラグを立てることができます。
関 数 は ジ ャ ー ナ ル エ ン ト リ ー を 参 照 す る 為 に 、szPlotIDとnStateと い う 、 2 つ の パ ラ メ ー タ ー を 参 照
します。
sCategoryTagは ジ ャ ー ナ ル カ テ ゴ リ ー の タ グ で す 。 例 え ば 、"ボ ブ の 素 敵 な ブ チ 蹴 り 靴"と い う 名 前 の
ク エ ス ト を 作 り 、 そ れ に"isk_jrnl_bbbbk"と い う タ グ を 与 え 、 ジ ャ ー ナ ル エ ン ト リ ー に 割 り 当 て る 場 合 、
そのタグを利用してください。
iEntryIDは 特 定 の ジ ャ ー ナ ル エ ン ト リ ー のIDで す 。 こ れ は 日 記 エ デ ィ タ のID欄 に 入 力 し た 数 字 で 、
ジャーナルエントリーを表示する順番を表す数字でもあります。デフォルトでは、
AddJournalQuestEntry()を 使 用 し た 場 合 、 ジ ャ ー ナ ル エ ン ト リ ー の 数 字 は 増 え な け れ ば い け ま せ ん 。
このコマンドのジャーナル更新が行われたとき、ジャーナルカテゴリーの名前を無記名のチャット
メッセージとして表示します。
Home > Reference > Functions > Conversation, Experience, Journal > AddJournalQuestEntry
Remarks
conversation内 で ジ ャ ー ナ ル エ ン ト リ ー を 更 新 す る た め の 、 ス ク リ プ ト を 作 る 必 要 は あ り ま せ ん 。
「その他のアクション」タブで、望みのジャーナルカテゴリーとジャーナルエントリーを選択するだ
けでいいのです。
bAllowOverrideHigherをTRUEに す る 際 は 注 意 し て く だ さ い 。 最 終 段 階 で あ る 「 完 了 し た ク エ ス ト 」
エントリーを、それより前の段階である「クエスト」エントリーへと、矛盾して移行することが簡単
にできてしまいます。
日記エディタ内の「カテゴリー終了」チェックボックスで、日記タブのエントリーは固定されて表示
されます。完遂した「クエスト」タブの他のものは「完了したクエスト」タブに移ります。「ユー
ザーメモ」タブにはメッセージを追加することは出来ません。
前にあったジャーナルエントリーは自動的に除去されます。同タイトルのクエストの効果を使いたい
ならば、異なるタグをカテゴリーに使って、名前だけを同じにします。
PvPト ー ナ メ ン ト で の 戦 い の 軌 跡 を 残 す 為 に 、 上 書 き フ ラ グ は 有 効 に 利 用 出 来 る か も し れ ま せ ん 。
こ の コ マ ン ド はXPの 指 定 は 「 行 い ま せ ん 」 。 指 定 し た い の で あ れ ば 、GetJournalQuestExperience()、
も し く はGiveXPToCreature()を 使 っ て く だ さ い 。
AddJouralQuestEntryは 大/小 文 字 の 区 別 さ れ な いsCategoryTagを 見 つ け る で し ょ う 。 し か し 、 同 じ
sCategoryTagで は あ る も の の 、 異 な る 大/小 文 字 を 使 用 し た ク エ ス ト は 、 個 々 の 異 な る ク エ ス ト を 追
加するでしょう。(同じクエストではありません)
PCの ア イ テ ム 取 得 で 、 ジ ャ ー ナ ル エ ン ト リ ー を 追 加 さ せ る よ う に す る に は モ ジ ュ ー ル の
OnItemAcquiredで 、 こ の 関 数 を 使 う 必 要 が あ り ま す 。 下 記 の サ ン プ ル を 見 て く だ さ い 。
ジ ャ ー ナ ル エ ン ト リ ー をPCに セ ッ ト す る と き に 、LocalIntegerは"NW_JOURNAL_ENTRY*"(*は 追 加
さ れ た エ ン ト リ ー 名 ) と い う 名 前 で 、 同 一 のPCに 記 憶 さ せ ら れ ま す 。integer value( 整 数 値 ) は 記 憶
し た ジ ャ ー ナ ル エ ン ト リ ー のIDで す 。
Version
1.28
Home > Reference > Functions > Conversation, Experience, Journal > AddJournalQuestEntry
Example
// ジ ャ ー ナ ル カ テ ゴ リ ー"isk_jrnl_bbbbk"に 3 の エ ン ト リ ー を 登 録:
// 1 - 始 動 メ ッ セ ー ジ
// 100 - 中 盤 メ ッ セ ー ジ
// 200 - 終 了 メ ッ セ ー ジ (エ デ ィ タ ー の 「 カ テ ゴ リ ー 終 了 」 に チ ェ ッ ク)
// oPCを 有 効 なPC objectと 仮 定 す る
// 実 行 の 順 序:
// 参 加 し て き たPCの 日 記 に 、 ジ ャ ー ナ ル カ テ ゴ リ ー"isk_jrnl_bbbbk"の
// ID 1の ジ ャ ー ナ ル エ ン ト リ ー を 追 加 す る
// 他 人 の ジ ャ ー ナ ル は 影 響 さ れ な い
AddJournalQuestEntry("isk_jrnl_bbbbk", 1, oPC, FALSE, FALSE, FALSE);
// こ れ は そ のPCの ジ ャ ー ナ ル だ け をID 100の エ ン ト リ ー に 更 新 す る
AddJournalQuestEntry("isk_jrnl_bbbbk", 100, GetEnteringObject(), FALSE, FALSE, FALSE);
// ジ ャ ー ナ ル は 既 に エ ン ト リ ー100に な っ て い る た め 、 こ れ ら は 何 も 起 き な い
AddJournalQuestEntry("isk_jrnl_bbbbk", 100, oPC, FALSE, FALSE, FALSE);
AddJournalQuestEntry("isk_jrnl_bbbbk", 1, oPC, FALSE, FALSE, FALSE);
// こ れ はPCの 日 記 画 面 の 「 完 了 し た ク エ ス ト 」 タ ブ に
// 終 了 メ ッ セ ー ジ を 追 加 す る
AddJournalQuestEntry("isk_jrnl_bbbbk", 200, oPC, FALSE, FALSE, FALSE);
// こ れ は ク エ ス ト の 終 了 メ ッ セ ー ジ を 取 り 消 し
// 「 ク エ ス ト 」 タ ブ に 中 盤 メ ッ セ ー ジ を 追 加 す る
AddJournalQuestEntry("isk_jrnl_bbbbk", 100, oPC, FALSE, FALSE, TRUE);
// ----- Completely different example ----// ア イ テ ム を 拾 う 際 に エ ン ト リ ー を 追 加 す る
// ス ク リ プ ト をOnAcquireItemに 入 れ る:
// (Thomas Daugaard氏 の 好 意 に 感 謝)
//
// "my_item_tag"と"my_item_quest"と が 、
// チ ェ ッ ク す る ア イ テ ム の タ グ と 、 適 切 な ジ ャ ー ナ ル エ ン ト リ ー の カ テ ゴ リ ー ・ タ グ 、
// そ れ ぞ れ が 一 致 す る よ う に 修 正 す る
void main()
{
// 拾 っ たobjectを 取 得 す る
object itemAcquired = GetModuleItemAcquired();
if(itemAcquired != OBJECT_INVALID) {
// 拾 っ た ア イ テ ム の タ グ を 取 得 す る
// "my_item_tag"で あ れ ば 、 正 し い ア イ テ ム で あ る
if ( GetTag(itemAcquired) == "my_item_tag") {
// ア イ テ ム を 持 っ て い る オ ブ ジ ェ ク ト ( プ レ ー ヤ ー ) を 取 得 す る
object oPC = GetItemPossessor(itemAcquired);
// そ の プ レ ー ヤ ー の ジ ャ ー ナ ル に 適 切 な エ ン ト リ ー を 追 加 す る
AddJournalQuestEntry ("my_item_quest", 100, oPC);
}
}
}
See Also
functions: GetJournalQuestExperience | GiveXPToCreature | RemoveJournalQuestEntry |
RewardPartyXP
categories: Conversation Functions | Experience Functions | Journal Functions
events: OnAcquireItem Event | OnActivateItem Event | OnAreaTransitionClick Event | OnEnter Event |
OnUsed Event | OnUserDefined Event
-------------------------------------------------------------------------------author: Iskander Merriman, editor: Charles Feduke, additional contributor(s): Dave Dursley, Kenneth
Cummins, Gabriel Weiss, JP team: geshi, Rainie
Home > Reference > Functions > Experience > DoGiveXP
DoGiveXP(string, int, object, int)
XPを 分 配 す る 設 定 規 則 に 従 っ て 、PCに 指 定 のXPを 与 え ま す 。
void DoGiveXP(
string sJournalTag,
int nPercentage,
object oTarget,
int nQuestAlignment = ALIGNMENT_NEUTRAL
);
Parameters
sJournalTag
経験値を得る為に使用するジャーナルのタグ
nPercentage
与 え るXPの 比 率 (100で100%)
oTarget
XPを 与 え る 対 象
nQuestAlignment
ALIGNMENT_* (デ フ ォ ル ト: ALIGNMENT_NEUTRAL)
Description
XPを 分 配 す る 設 定 規 則 に 従 っ て 、PCに 指 定 のXPを 与 え ま す 。
Remarks
経 験 値 を 増 減 さ せ るoTargetの ア ラ イ ン メ ン ト に 関 し て 、 ク エ ス ト の ア ラ イ ン メ ン ト を 使 用 し ま す 。
Requirements
#include "nw_i0_plot"
Version
1.22
See Also
categories: Experience Functions
constants: ALIGNMENT_* Constants
-------------------------------------------------------------------------------author: Tom Cassiotis, JP team: Rainie
Home > Reference > Functions > Effects, Experience > EffectNegativeLevel
EffectNegativeLevel(int)
目標のレベルを減少させる負のレベルエフェクトを作成します。
effect EffectNegativeLevel(
int nNumLevels
);
Parameters
nNumLevels
適用する負のレベルの数値
Description
目 標 の レ ベ ル をnNumLevelsに よ っ て 減 少 さ せ た 新 た な エ フ ェ ク ト オ ブ ジ ェ ク ト を 返 し ま す 。
nNumLevelsが100よ り 大 き い 場 合 、 タ イ プEFFECT_TYPE_INVALIDEFFECTを 返 し ま す 。
Remarks
1レベルの損失が単に負のエフェクトであるので、それは容易にレストレーションのスペルかポー
ションで回復することができます。
Constructorは 、 オ ブ ジ ェ ク ト の 新 し い 定 義 を 返 す 特 別 な 方 法 で す 。NWNの ス ク リ プ ト で はobjectに 配
置 で き る エ フ ェ ク ト 毎 が 、 特 定 エ フ ェ ク ト の 新 た な 定 義 を 作 成 さ れ る 独 自 のconstructorを 持 ち ま す 。
こ の エ フ ェ ク トonjectはApplyEffectToObject()コ マ ン ド の 中 で 使 用 す る こ と が で き ま す 。 詳 細 は エ
フ ェ ク トConstructorを 見 て く だ さ い 。
Version
1.22
See Also
categories: Effects Functions | Experience Functions
constants: EFFECT_TYPE_* Constants
-------------------------------------------------------------------------------author: John Shuell, JP team: Rainie
Home > Reference > Functions > Conversation, Experience, Journal, PC Only >
GetJournalQuestExperience
GetJournalQuestExperience(string)
ジャーナルカテゴリーで設定した経験値の量を返します。
int GetJournalQuestExperience(
string szPlotID
);
Parameters
szPlotID
ジャーナルカテゴリーのタグ
Description
日記上のクエストに経験値を与えるコマンドとして使用します。日記エディタ内のカテゴリーの
「XP」 欄 に 入 力 し た 経 験 値 の 量 を 返 し ま す 。
日 記 エ デ ィ タ の 日 記 上 の ク エ ス ト にXPの 数 値 を 設 定 で き ま す がAddJournalQuestEntry()で は 、 ク エ ス
ト 完 了 時 で も 、 こ のXPを 与 え る こ と は で き ま せ ん 。 代 わ り にGetJournalQuestExperience()を 使 用 し
てください。
Remarks
パ ー テ ィ の 経 験 値 を 割 り 当 て た い 場 合 は 、 Biowareのnw_i0_toolに 含 ま れ るRewardPartyXP()を 使 っ て
も良いでしょう。
ス ク リ プ ト に な れ る ま で は 、 カ ン バ ー セ ー シ ョ ン¥エ デ ィ タ の ス ク リ プ ト ウ ィ ザ ー ド で め ん ど う な 作
業をやってしまっても良いでしょう。
Version
1.22
Example
// oPCと い う 単 体 のPCに 対 し て 、 ジ ャ ー ナ ル カ テ ゴ リ ー タ グ が
// "isk_jrnl_bbbbk"で あ る ク エ ス ト の 経 験 値 を 全 て 与 え る
GiveXpToCreature(oPC, GetJournalQuestExperience("isk_jrnl_bbbbk");
// ク エ ス ト はPCにobjectを 集 め る 事 を 要 求 し て
// 得 たobjectの 総 数 を 格 納 す る
// 最 大 値 に 比 例 し てPCに ど れ く ら い 与 え る か を 計 算 す る
// (NUM_HORSESHOES)
int iFound = GetLocalInt(oPC, "iFound");
int iXP = iFound * GetJournalQuestExperience("shoe_hunt") / NUM_HORSESHOES;
See Also
functions: AddJournalQuestEntry | GiveXPToCreature
categories: Conversation Functions | Experience Functions | Journal Functions | PC Only Functions
-------------------------------------------------------------------------------author: Iskander Merriman, editor: Kristian Markon, JP team: Rainie
Home > Reference > Functions > Experience, Get Data from Creature > GetXP
GetXP(object)
特 定 の ク リ ー チ ャ ー が 持 つXPを 調 べ ま す 。
int GetXP(
object oCreature
);
Parameters
oCreature
目標のクリーチャー
Description
oCreatureの 経 験 点 (XP) の 値 を 返 し ま す 。
Version
1.22
See Also
functions: SetXP
categories: Experience Functions | Get Data from Creature Functions
-------------------------------------------------------------------------------author: Kristian Markon, JP team: Rainie
Home > Reference > Functions > Action on Object, Experience > GiveXPToCreature
GiveXPToCreature(object, int)
特定のクリーチャーに経験点を与えます。
void GiveXPToCreature(
object oCreature,
int nXpAmount
);
Parameters
oCreature
経験値を与える特定のクリーチャー
nXpAmount
与える経験点
Description
マ ル チ ク ラ ス の ペ ナ ル テ ィ を 調 整 し 、oCreatureにnXpAmountを 与 え ま す 。
Version
1.29
See Also
functions: AddJournalQuestEntry | GetJournalQuestExperience | RewardPartyXP | SetXP
categories: Action on Object Functions | Experience Functions
-------------------------------------------------------------------------------author: Jody Fletcher, editor: Charles Feduke, additional contributor(s): Alec Usticke, JP team: Rainie
Home > Reference > Functions > Experience, Party, PC Only > RewardPartyXP
RewardPartyXP(int, object, int)
PCと ( 任 意 で ) 全 て の パ ー テ ィ メ ン バ ー に 経 験 値 を 与 え ま す 。
action RewardPartyXP(
int nXP,
object oTarget,
int bAllParty = TRUE
);
Parameters
nXP
与 え るXPの 量
oTarget
XPを 与 え るobject
bAllParty
TRUEで あ れ ば 全 て の パ ー テ ィ メ ン バ ー にXPが 与 え ら れ る ( デ フ ォ ル ト :TRUE)
Description
bAllPartyがFALSEで あ る 場 合 、 こ れ はGiveXPToCreature(XP、oTarget)と 等 し い で す 。
bAllPartyがTRUEで あ る 場 合 、 こ の 関 数 はoTargetのpartyを 循 環 し 、 全 て の パ ー テ ィ メ ン バ ー にXPを 与
えます。
Remarks
Xpは 各 々 の パ ー テ ィ メ ン バ ー に 等 し く 配 ら れ ま す 。 分 配 す る わ け で は あ り ま せ ん 。
Requirements
#include "nw_i0_tool"
Version
1.29
Example
#include "nw_i0_generic"
#include "nw_i0_tool"
// エ リ アOnEnter用
// 恐 ら く 、 参 加 者 が あ る 難 し い エ ン カ ウ ン タ ー に 遭 遇 す る 、
// も し く は 重 大 な 悪 知 恵 に よ っ て の み 獲 得 さ れ る
//
// 会 話 エ デ ィ タ で 設 定 し たXPを
// 全 て のPCと そ の 仲 間 に 与 え る
void main()
{
object oPC = GetEnteringObject();
if (! GetIsPC(oPC)) return;
RewardPartyXP(GetJournalQuestExperience("hard_to_reach"), oPC, TRUE);
}
See Also
functions: AddJournalQuestEntry | GiveXPToCreature
categories: Experience Functions | Party Functions | PC Only Functions
-------------------------------------------------------------------------------author: Iskander Merriman, editor: Jody Fletcher, JP team: Rainie
Home > Reference > Functions > Experience > RewardXP
RewardXP(string, int, object, int, int)
PCま た は そ の パ ー テ ィ に 設 定 規 則 に 従 っ て 、 指 定 のXPを 与 え ま す 。
void RewardXP(
string sJournalTag,
int nPercentage,
object oTarget,
int nQuestAlignment = ALIGNMENT_NEUTRAL,
int bAllParty = TRUE
);
Parameters
sJournalTag
XP潜 在 値 を 設 定 し た 、 ク エ ス ト 完 了 時 ジ ャ ー ナ ル の タ グ
nPercentage
与 え るXPの 比 率 (100で100%)
oTarget
XPを 与 え る 対 象 と な る 、PCと 可 能 な ら ば そ の パ ー テ ィ
nQuestAlignment
ALIGNMENT_* (デ フ ォ ル ト: ALIGNMENT_NEUTRAL)
bAllParty
全 て の パ ー テ ィ メ ン バ ー が 経 験 値 を 受 け 取 る か ど う か ( デ フ ォ ル ト :TRUE)
Description
sJournalTagタ グ を 持 っ た ジ ャ ー ナ ル で 示 さ れ るXPを 、 キ ャ ラ ク タ ー の ア ラ イ ン メ ン ト と
nQuestAlignmentが 示 す ク エ ス ト の ア ラ イ ン メ ン ト を 考 慮 に い れ 、oTargetとbAllPartyがTRUEの 場 合
は そ の パ ー テ ィ にXPを 与 え ま す 。
Requirements
#include "nw_i0_plot"
Version
1.22
See Also
categories: Experience Functions
constants: ALIGNMENT_* Constants
-------------------------------------------------------------------------------author: Tom Cassiotis, JP team: Rainie
Home > Reference > Functions > Experience > SetXP
SetXP(object, int)
クリーチャーの経験値を特定の値に設定します。
void SetXP(
object oCreature,
int nXpAmount
);
Parameters
oCreature
対象のクリーチャー
nXpAmount
Xpの 量
Description
oCreatureの 経 験 値 をnXpAmountの 値 に 設 定 し ま す 。
Remarks
GiveXPToCreature()関 数 は 、XP修 正 の も っ と 自 然 な 方 法 で す 。 し か し 、 ク リ ー チ ャ ー が ど れ だ け
XPを 持 つ と い い の か を 正 確 に 知 っ て い る な ら ば 、SetXP()が か な り 有 効 で し ょ う 。
こ の 機 能 はXPに ペ ナ ル テ ィ ー を 与 え る 場 合 や 、 % に よ っ て 修 正 す る 状 況 に 特 に 役 立 つ こ と が で き ま
す。
Version
1.22
Example
// PCをOnEnter時 にLv2に す る
void main()
{
int iXP;
object oCreature = GetEnteringObject();
iXP = GetXP(oCreature);
if (iXP < 1000)
{
SetXP(oCreature, 1000);
}
}
See Also
functions: GetXP | GiveXPToCreature
categories: Experience Functions
-------------------------------------------------------------------------------author: Chaz Mead, editor: Ryan Hunt, JP team: Rainie