プログラミング言語Lua
この企画では、軽量なスクリプト言語としてLuaを使用しています。Luaは、シンプルかつ高速であり、手続き型プログラミング言語でありながら、オブジェクト指向プログラミング・関数型プログラミング・データ駆動型プログラミングもサポートしています。ゲーム業界では定番のスクリプト言語です。
スクリプト言語を使うことで、コンパイルすることなくゲームの振る舞いを変更できます。また、コンパイル言語(C++とか)に詳しくなくても、記述方法を少し覚えることで実装の一部を担うことができます。
今後、Luaによる実装ができるように拡張していく予定ですので、Luaを勉強しましょう!
Luaについて知ろう!
The Programming Language Lua
…本家
Lua 5.2 Reference Manual …リファレンスマニュアル
LuaBinaries …Luaのバイナリ配布。 lua-5.2.1_Win32_dll10_lib.zip をダウンロードしてリンクさせる
Lua 5.2 Reference Manual …リファレンスマニュアル
LuaBinaries …Luaのバイナリ配布。 lua-5.2.1_Win32_dll10_lib.zip をダウンロードしてリンクさせる
そのほかにも、検索エンジンで探してみて下さい。
作業対象はどこ?
ここ
をクリックすると最新版をダウンロードできます。展開したフォルダ→data→eventに、Luaファイルがあります。スクリプト担当はこれらのファイルを編集していきます。なお、ゲームが起動しない場合は
ここ
からDLLファイルをダウンロードし、EXEファイルと同じ場所に配置してみて下さい。
キャラクターID
1番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
2番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
3番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
4番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
5番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
6番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
7番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
8番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
9番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
10番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
11番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
12番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
13番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
14番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
15番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
16番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
17番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
18番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
19番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
20番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
21番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
22番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
23番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
24番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
25番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
26番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
27番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
28番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
29番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
30番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
31番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
32番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
33番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
34番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
35番目
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
BGMID
ID | 名前 | 使用場面 | 着手状況 |
1 | タイトル画面BGM | タイトル画面 | 70/着手中/5.21 |
2 | 森BGM | 冒頭の森 | 4-588/完成11/20 |
3 | イベントBGM | 冒頭の森でディノとマリアが出会う時に流れる | mmk2の曲を編曲予定 |
100 | バトルBGM | 雑魚との戦闘 | 70/一応完成/9.12 |
101 | 勝利BGM | 勝利したときの | 4-588/完成/1.20 |
4 | エデンフィールドBGM | エデンフィールドマップ | 4-588/着手中/5.15 |
5 | 祭り中のエルゼアBGM | 祭り中のエルゼア | 70/完成/8.29 |
6 | エルゼア神殿BGM | エルゼア神殿 | 70/完成/12.6 |
7 | クリスタルのテーマソング | クリスタルにまつわるBGM | 70/完成/12.22 |
8 | ピンチ時BGM | 冒頭、ワープイベント | 501/完成 |
9 | ワールドフィールドBGM | ワールドフィールドマップ | 70/完成/2.7 |
10 | 魔道士の集落BGM | 魔道士の集落 | 70/一応完成/6.15 |
11 | 盗賊の山道 | 70さんの楽しい山登り | |
102 | ボスBGM | ボスとの戦闘 | 4-588/完成/12.6 |
12 | ワールド小規模街BGM | トトス | 70/完成/5.21 |
200 | 冒険者メモBGM | メニュー内の冒険者のメモであった方がいい? | 後回しで良いと思う |
201 | 睡眠BGM | 睡眠時 | 70/一応完成/11.16 |
202 | イベントアイテム入手BGM | プライズ入手や、仲間加入で使う? | 未着手 |
チップID
チップID(マップチップ)は、最初のチップ以外は全角及び半角の英字を読めないようなので、数字を用いています。スクリプトと関わるマップIDに比べて煩雑にはならないと思うので、使われる順に10、20…と振っていくことにし、1の位だけ差分にします。「ID,画像名」の形式になっており、ドッターがこれの修正したい点を修正してくだされば、その変更を反映させます。
「10,エデンフィールド1.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「11,エデンフィールド2.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「20,エデン町.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「21,エデン町_エルゼア.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「30,エデン室内.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「40,エデン神殿.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「50,ワールド村.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
「60,eden_forest.bmp」
imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
マップ(及びluaスクリプトの)IDと、ffmファイル
マップIDは
「進行度2桁」「街や洞窟の2桁」「その室内とか、番目とかの対応2桁」
という風にしています。
頭の進行度の00は例外的にフィールドに当ててます。
以降、
01は初期エデン、
02はワールド(トトスまで)
03以降はもう少し検討の上で(例外的なのに50を振ってます)。
この数字はluaスクリプトのmapevt以降の数字にも対応しています。
ffmファイルは一応マップIDと分離可能なので、
「エデン(1)かワールド(2)か」「半角英数の街名(洞窟名)」「屋外かどうか等の複数の場合数字を増やす」.ffm
という形式にしています。
「進行度2桁」「街や洞窟の2桁」「その室内とか、番目とかの対応2桁」
という風にしています。
頭の進行度の00は例外的にフィールドに当ててます。
以降、
01は初期エデン、
02はワールド(トトスまで)
03以降はもう少し検討の上で(例外的なのに50を振ってます)。
この数字はluaスクリプトのmapevt以降の数字にも対応しています。
ffmファイルは一応マップIDと分離可能なので、
「エデン(1)かワールド(2)か」「半角英数の街名(洞窟名)」「屋外かどうか等の複数の場合数字を増やす」.ffm
という形式にしています。
マップID | 場所 | 状況等の情報 | 使用ffm | 本体導入状況 |
000001 | エデンフィールドマップ | 1eden_field0.ffm | ◯ | |
000002 | ワールドフィールドマップ | ○ | ||
010101 | エルゼアの森 | 物語冒頭の森 | × | |
010201 | エルゼア(祭り) | 最初に訪れる、祭り中のエルゼア | 1elzea_fes0.ffm | ◯ |
010202 | エルゼア屋内 | ◯ | ||
010301 | エルゼア神殿 | 1shinden0.ffm | ◯ | |
020101 | ワールドの丘 | ワールドに最初にワープした時に辿りつく地点 | 2hill0.ffm | ○ |
020201 | ワールド、魔道士の街 | 2mage_town0.ffm | ○ | |
500101 | FF製作初心者の館 | 1factory0.ffm | ◯ |
スクリプト雑記
取りあえず新しい場所を追加して移動したい時。
1.ffmとマップチップ画像をdata/mapに入れる。
2.MapChipInfo.csvにマップチップを登録。
3.MapInfo.csvに登録。各列は、
スクリプトで使うID,
マップの画面端から逆の端に移れるかどうか(0=NO,1=YES),
敵が出るか(0=NO,1=YES),
フィールドマップか(0=NO,1=YES),
ffmファイル名,
ffmファイルの低層1で使ったチップファイルのMapChipInfo.csvで登録したID,
同様に低層2チップファイルID,
同様に高層チップファイルID
4.ワープのために、イベントを配置したluaの
function GetMapObject( nID )以降の行に、このスクリプトを追加(スペースはtabを使うこと、半角英数のみを使う)
2.MapChipInfo.csvにマップチップを登録。
3.MapInfo.csvに登録。各列は、
スクリプトで使うID,
マップの画面端から逆の端に移れるかどうか(0=NO,1=YES),
敵が出るか(0=NO,1=YES),
フィールドマップか(0=NO,1=YES),
ffmファイル名,
ffmファイルの低層1で使ったチップファイルのMapChipInfo.csvで登録したID,
同様に低層2チップファイルID,
同様に高層チップファイルID
4.ワープのために、イベントを配置したluaの
function GetMapObject( nID )以降の行に、このスクリプトを追加(スペースはtabを使うこと、半角英数のみを使う)
+ | ... |
チップ番号
x行y列の場合
チップ番号=y-1+256*(x-1)
x行y列の場合
チップ番号=y-1+256*(x-1)
添付ファイル