Curo's page
トップページ > WACコマンド一覧

条件構文

if
then
else
endif
例)
if past(10) and never then
	 ssn2ssn(1101,67892);
	else
	 SSNtoWP(1101,127);
endif

論理演算

and
論理積:両方ともTrueのときTrue
or
論理和:少なくともどちらかがTrueのときTrue
xor
排他的論理和:両方ともTrueか両方ともFalseのときTrue

関数

not
次の文がTrueならFalse、FalseならTrue
dornd
ランダムに次の文を選択して実行
doseq
実行されるごとに次の文を選択して実行
next
文と文の区切り
enddo
//例文:1、2、3を5カウントごとにランダムに出力する
if elapse(5) then
	dornd
		text("1");
	next
		text("2");
	next
		text("3");
	enddo
endif


//例文:1、2、3、1、・・・と5カウントごとに順番に出力する
if elapse(5) then
	doseq
		text("1");
	next
		text("2");
	next
		text("3");
	enddo
endif


変数

"文字列"
文字列はダブルクォーテーションでくくる
v# (#:0~11)
変更可能な変数。ミッション開始時にクリアされる。
G# (#:0~11)
変更可能な変数。もちこされる?

anim_move
ammo_name
fx_fxname
face_name
値:face_normal, face_happy, face_sad, face_smirk, face_angry, face_surprise, face_disgust, face_fear, face_aggressive
health
プレイヤーのHPが代入される。全快の状態で150
mana
neartype
neardist
一番近いキャラまでの距離?
nearmove
nearid
neartid
nearblind
一番近いキャラがblindであれば1
nearflying
nearguard
nearSSN
最も近いキャラのSSNIDが代入される
nearWP
nearGroup
nearHP
最も近いキャラのHPが代入される
deadDist
最も近い死体までの距離が代入される
DdeadType
DdeadMove
DdeadGroup
bbadDist
bbadType
bbadSSN
bbadMove
bbadGroup
result
SS_SoundSet
sSoundSet
wind
ticks

条件判断

eq(#,#)
# == #
ne(#,#)
# != #
lt(#,#)
# < #
gt(#,#)
# > #
le(#,#)
# <= #
ge(#,#)
# >= #
true(#)
0でなければTrue
false
0ならばTrue

変数代入

set(v#,#)
v#に#を代入
add(v#,#)
v#に#を加える
sub(v#,#)
v#から#を減算
inc(v#)
v#をインクリメント
dec(v#)
v#をデクリメント

イベントトリガ

area(#)
area3D(#)
chain(#)
ひとつ上のif構文が終わってから # カウント経過するとTrue
dooropen(#)
elapse(#)
# カウントに一回にTrue
event(#)
groupdead(#)
groupalive(#)
link(#,#)
location(#)
meride(#)
never()
一度も実行されてなければTrue
outside()
pre_mission
previous()
一つ前のif構文が実行されるとTrue
random(#)
ランダムで # カウントに一回True
ssnalive(#)
SSNID # が生きていればTrue
ssnarea(#,#)
ssnarea3D(#,#)
ssndead(#)
SSNID # が死んでいればTrue
ssnloc(#)
ssnnearssn(#,#,#)
SSNID # とSSNID # の間の距離が # m以下のときTrue
ssnride(#)
SSNID # に何か乗るとTrue
ssnwounded(#)
SSNID # が負傷するとTrue
ssnonssn(#,#)
SSNID # がSSNID # の中にいるとTrue
ssnlosssn(#,#,#)
SSNID # の射線にSSNID # が入っていて、距離が # m以内の場合True
ssnseessn(#,#,#)
SSNID # に SSNID # が見えていて、距離が # m以内の場合True
meattached(#)
プレイヤーがSSNID # に乗っている・取り付いているときにTrue
medrive(#)
プレイヤーがSSNID # の運転席(1番)に乗ってるときTrue。銃座やその他の座席は反応しない。
meongun(#)
プレイヤーがSSNID # の銃座に乗ってるときにTrue。運転席やその他の座席には反応しない。
true(#kills)
プレイヤーが誤爆して殺した場合True。#にはblue,green,redが入り、それぞれJO,中立,Rebelに対応する。
waveready()
WAVEの再生準備ができていればTrue。waveコマンドのタイミングが重複すると片方が流れないのを避けられる。
squadevent(#)
squadclear
playerfired

時間イベント

past(#)
開始から # カウント経過したらTrue
before(#)
開始の # カウント前にTrue?良く分からないです。
ontick(#)
GameOver()

勝敗

win(#)
#には0,1,2が入り、それぞれ引き分け、JO側の勝ち、Rebel側の勝ちでミッション終了。
lose(#)
#には0,1が入り、それぞれフレンドリファイアで失敗、民間人殺害で失敗でミッション終了。キャラの敵味方属性には影響されない。

設定

colorfade(#)
sun(#,#,#)
sky(#,#,#)
ground(#,#,#)
ceiling(#,#,#)
floor(#,#,#)
lightning(#,#,#)
cloud(#,#,#)
fogcolor(#,#,#)
fog(#,#,#)
fogcolorと同等
skyfogcolor(#,#,#)
skyfog(#,#,#)
skyfogcolorと同等

天候

ammorain(#)
#に弾薬名を入れる。どこからともなく弾が降ってくる。#には50CALやROCKETなどが入る。間違ったものを入れるとSYSDAMP落ちする。
fxfain(#)
自分の頭上にエフェクトが登場する。#にはEffect_BlackSmokeなどが入る。
farflash()
遠くに雷が落ちる音がする。
flash()
雷が落ちて閃光が走る。
fogdist(#)
霧の視界 # mに設定
movefog(#,#)
霧の視界 # mに # カウントかけて変化
foglevel(#)
霧のタイプを設定する。#には0,1,2,3が入る
gain(#,#,#)
overcast(#,#)
空の曇り具合? # に # カウントかけて変化
quake(#)
# カウント間、地震
rain(#,#)
強さ # の雨に # カウントかけて変化
skyspeed(#)
空の流れる速さ。100ぐらいにするとあからさまに速く動いてるのが分かる。
skyheight(#)
tod(#:#)
時間を # 時 # 分に設定
wind(#,#)

テキスト出力

consol("text")
左上のDeath&Killの表示されるところにテキストを出力
consol#("text",#)
テキストの後に # をつけて出力
report("text")
Script "text"と書かれたダイアログを出力。ダイアログのok押すまでJO停止
report#("text",#)
テキストの後に # をつけて出力
text("text")
チャット欄に鯖メッセージと同等の名前の無い白文字でテキスト出力
text#("text",#)
テキストの後に # をつけて出力

動作コマンド

ammo2tgt(#,#)
blockfire(#,#)
# 番の武器を制限する。#には0,1が入り、それぞれ選択可、選択不可。
closedoors(#)
fx2tgt(#,#)
forceanim(#)
GroupMax(#,#)
GropuMin(#,#)
GroupAtt(#,#)
GtoWP(#,#)
GroundSpawn(#,#)
kill(grp)
killSSN(#)
SSNID # を殺す。物だと破壊される。
nearwave(#,#)
nearanim(#)
opendoors(#)
remove(#)
removeSSN(#)
SSNID # を消し去る。
sound(#,#,#)
sound2tgt(#,#)
ssn_isgreen(#)
SSNID # を平常状態にする?
ssn_isyellow(#)
SSNID # を警戒状態にする?
ssn_isred(#)
SSNID # を臨戦状態にする?
SSNanim(#,#)
SSNatt(#,#)
SSNID # の攻撃範囲を # mに設定
SSNmax(#,#)
SSNID # の最大反撃距離を # mに設定
SSNmin(#,#)
SSNID # の最低反撃距離を # mに設定
SSNspawn(#,#)
SSNID # の生き返る間隔を # カウントに設定。0で生き返らない。
SSNradio(#,#)
SSNID # が # のファイルを再生する。死ぬと中断。方向・距離に関係なく聞こえる気がする。
SSNtoWP(#,#)
SSNID # がウェイポイントリスト # にそって移動する。
SSNwave(#,#,#)
SSNID # が # のファイル再生し、半径 # mの範囲で聞こえる。方向・距離によって聞こえ方が代わる。
ssncspd(#,#)
SSNID # の戦闘中の移動速度を # km/hにする。
ssnpspd(#,#)
SSNID # のパトロール中の移動速度を # km/hにする。
ss2ssn(#,#)
ssnuse(#)
ssnrelease(#,#)
SSNID # がSSNID # を離す・降りる。
ssn2ssn(#,#)
SSNID # がSSNID # に近づこうとする・取り付く・乗り込む。
ssnface(#,#)
ssnguard(#,#)
SSNID # が攻撃してこなくなる? #には0,1が入り、それぞれ通常,攻撃しない。
ssnturn(#,#)
SSNID # が # °の方向を向く。#には0~360が入る。
ssnhp(#,#)
SSNID # のHPを # にする。
targetfx(#)
teleport(#,#)
telessn(#)
wave("path",#)