プロトタイプ | 引数(数字は順番) | 戻り値 | 説明 |
---|---|---|---|
int BoxCheck(int box, int qx, int qy); |
1:宝箱を開けたかどうかを保存する変数(0:閉/1:開) 2,3:宝箱のX, Y座標です。 |
宝箱をまだ開けていない→0 宝箱を既に開けてある→1 |
宝箱を既にあけたかどうかを調べます。既に空けてあったら宝箱をあけた状態にします。基本的にマップに入った瞬間1度だけ実行します。 |
int OpenBox(int box, int qx, int qy, int qz, int dir, string len, int item, int num, int flg ); |
1:宝箱を開けたかどうかを保存する変数(0:閉/1:開) 2,3,4:宝箱のX,Y,Z座標 5:宝箱を開ける時の主人公の向き 6:アイテム名 7,8:アイテムindex, 個数 9:鍵をかけるか(1:施錠/0:通常) |
宝箱を開けた→1 開けていないor開けられない→0 |
宝箱を開ける処理をします。指定した座標を調べると、item,numで指定アイテムを入手します。持ち物が一杯だと何もせず、0を返します。flgを1にした場合、item_keyで指定した番号のアイテムを消費して箱を開けます。 |
int GetItemInMessage( void *chara, int item, int num, string t_len, string f_len ); |
1:アイテムをあげるキャラ 2,3:アイテムのindex,個数 4:アイテム入手メッセージ 5:アイテム入手不可メッセージ |
アイテム入手→1 入手不可→0 |
メッセージ中に画像付きでキャラにアイテムを与えます。 |
void *CreateMob( int qx, int qy, int qz, int index, int lv, ); |
1,2,3:配置座標 4:キャラクターindex 5:レベル |
作成したキャラクターのポインタ | キャラクターを作成します。向きはランダムです。勢力はenemyで指定した番号になります。ポインタが戻り値として戻ってくるので、キャラクターデータを作った瞬間に即配置ができます。 |
void *CreateNPC(int index, int qx, int qy, int qz, int dir, int flg); |
1:キャラクターindex 2,3,4:配置座標 5:向き 6:動き(0:動く/1:静止) |
作成したキャラクターのポインタ | NPCキャラクターを作成します。NPCキャラクターは戦闘に関与しないキャラクターです。flgに1を入れると動かなくなります。主にショップの店員などを配置する場合に使用します。 |
void SetBoss(void *chara, int hp); |
1:設定するキャラクター 2:最大HP |
なし | キャラクターの最大HPを操作します。(加算ではなく、この値になります。) |
float CheckHP(void * chara); | 1:調べるキャラクター | 対象の残りHP | キャラクターの残り体力を獲得します。 |
int MoveMap( int qx1, int qy1, int qx2, int qy2, int qx3, int qy3, int qz, string map); |
1,2:最小X,Y 3,4:最大X,Y 5,6,7:移動先X,Y,Z 8:移動先マップ |
移動場所に到達→1 範囲外→0 |
操作キャラクターが最小-最大の長方形範囲に入ったらmapで指定したマップをセットし、1を返します。なお、この関数はif()の中に入れ、1を返した時にreturnするようにしてください。ExitMapFunc関数は使用していません。 |
int MoveMapC( int qx1, int qy1, int qx2, int qy2, int qx3, int qy3, int qz, string map, int flg, int anim); |
1,2:最小X,Y 3,4:最大X,Y 5,6,7:移動先X,Y,Z 8:移動先マップ 9:移動条件式 10:バック方向 |
移動場所に到達→1 範囲外or flgが偽→0 |
基本的にMoveMap関数と同じです。違いは、flgで指定した条件を満たしてない場合、animで指定した方向に1マス戻されます。 |
int InHouse( int qx1, int qy1, int qx2, int qy2, int qz, int cip1, int cip2, string map); |
1,2:ドア座標X,Y 3,4,5:移動先X,Y,Z 6:閉ドアチップ 7:開ドアチップ 8:移動先マップ名 |
ドアを調べた→1 何もして無い→0 |
指定した座標を調べると、cip2で指定した画像に替え、mapで指定したマップに移動します。使用方法はMoveMap関数と同じです。 |
int MoveToMoney(int money, int qx, int qy, int qz, string map, string ms); |
1:費用 2,3,4:移動先X,Y,Z 5:移動先マップ 6:メッセージ |
決定した→1 費用不足orキャンセル→0 |
moneyで指定した額を消費し、mapで指定したマップへ移動します。所持金が不足していたり、キャンセルを押したり、何もしていない場合、0が返ります。 |
void BackAnim(int dir); | 1:向き | なし | 操作キャラクターを指定した向きに1マス戻します。マップ移動時に使う場合はMoveMapCを利用してください。 |
void BackAnimC(void * chara, int dir) | 1:対象キャラクター 2:向き | なし | charaで指定したキャラをdirの方向へ1マス戻します。 |
int Message1(int qx, int qy, int dir, string len, int color); |
1,2:X,Y座標 3:向き 4,5:メッセージ,メッセージ色 |
指定した座標を調べた→1 何もしない→0 |
指定した座標を調べるとlenで指定したメッセージをcolorで指定した色で表示します。主に看板など動かないオブジェクトを調べることに使用します。 ifステートメントの中に入れると後の条件分岐もできます。 |
int Message2(void *chara, int mode, string len, int color); |
1:対象NPCキャラ 2:向きを変えるか(0:そのまま/1:変える) 3,4:メッセージ,メッセージ色 |
対象NPCに話しかけた→1 何もしない→0 |
指定したキャラクターに話しかけるとlenで指定したメッセージをcolorで指定した色で表示します。modeに1を指定すると会話時に操作キャラクターの方向に振り向きます。 ifステートメントの中に入れると後の条件分岐もできます。 |
void msString(string len, int color); |
1:表示メッセージ 2:色 |
なし | 指定したメッセージを表示し、決定キーが押されるまで待機します。 |
void cmsString(string len, int color); |
1:表示メッセージ 2:色 |
なし | 指定したメッセージを表示し、決定キーが押されるまで待機します。なお、決定キーを押すとログとメッセージウィンドウの設定が初期化されます。 |
int SelectMessage( string len1, string len2, int cansel); |
1:選択肢その1 2:選択肢その2 3:キャンセル時(0:その1が選択/1:その2が選択) |
その1を決定→1 その2を決定→2 |
2択の選択肢を表示します。len1は上側、len2は下側の選択肢です。なお、canselに-1を指定するとキャンセル不可になります。 |
int Conpound( int item1, int num1, int item2, int num2, int item3, int num3, int item4, int num4, int Titem, int Tnum, int Fitem, int Fnum, float P, int money ); |
1,2:材料アイテム1, 個数 3,4:材料アイテム2, 個数 5,6:材料アイテム3, 個数 7,8:材料アイテム4, 個数 9,10:成功アイテム, 個数 11,12:失敗アイテム, 個数 13:成功確率 14:費用 |
合成成功→1 合成失敗or材料、費用不足→0 |
4種類までのアイテムで合成します。合成に成功すると、Titemで指定したアイテムをTnumで指定した個数、失敗するとFitemで指定したアイテムをTnumで指定した個数操作キャラクターが獲得します。なお、Pで成功確率、 moneyで費用を指定できます。 |
int PassWord(int answer); | 1:正解パスワード |
正しい数値を入力→1 間違った数値を入力orキャンセル→0 |
パスワード入力を要求します。answerに指定したパスワードが入力されると1を返します。なお、-1000はキャンセル番号として使用されているため、-1000が答えとなるような場合はこの関数を使用しないでください。 |
int SetGraph(
void *Chara, string String, int graph ); |
1:グラフを表示するキャラクター 2:グラフの上側に表示する文字 3:グラフの本数(1〜5) |
なし | グラフを表示します。graphを1以外で指定すると多重にします。(紫→青→緑→黄→赤)なお、NormalProcess(1);を実行していると、表示に線が入ります。NormalPrcocess(0);にし、プロセス関係を自分で構築してください。 |
void SetGraphEx( void *Chara, string String, int graph, int max ); |
1:グラフを表示するキャラクター 2:グラフの上側に表示する文字 3:グラフの本数(1〜5) 4:グラフ全体の最大値 |
なし |
基本的にSetGraph関数と同じです。maxで指定した値がグラフの最大の値となります。多重にしている場合、全体の最大値となります(=キャラクターの最大HP-maxがグラフのズレとなります。) グラフがなくなっても生きているように見せたり、グラフでHPを多く見せたい時などに使用します。ただし、キャラクターの最大HPよりmaxの値が大きいと、HPが0になっても表示され続けるので、if文などで分岐してください。 |