【アリス】system4.0【御用達】 at GAMEDEV
[2ch|▼Menu]
[前50を表示]
200:名前は開発中のものです。
07/05/24 20:29:03 VV86rHCv
古いソースをバックアップから戻してきた時なんかは要るんじゃないか?

201:名前は開発中のものです。
07/05/24 20:37:27 IEun+Nff
>>198-200
お答えありがとうございます。
最初はリビルドの方がいいんですねー。

202:名前は開発中のものです。
07/05/26 04:00:03 d0wCHXnH
たびたびの質問で申し訳ありません。
カスタムスプライトに登録するというのは
どんな意味があるのでしょうか?

203:名前は開発中のものです。
07/05/26 22:46:33 d0wCHXnH
特に意味はないのですね。

204:名前は開発中のものです。
07/06/09 02:29:41 NrGxl5KC
WIKIに繋げない……。
WIKIWIKI自体が潰れた?

ところで関数って、多いと何かデメリットはあるんでしょうか?
作りやすいのでいらなそうなものまで作っているんですが。

205:名前は開発中のものです。
07/06/09 12:14:31 EHVa+eQR
特に無い。
自分で何の関数があるかわからなくなった、なんてのは知らんがw


206:名前は開発中のものです。
07/06/09 13:07:25 ehdyyL7Y
きちんと構造化して、再利用しやすい形でモジュール化してるなら
いつか役に立つときが来るかも知れないから
趣味のプログラム書いてるだけなら別に何作ってもいいと思う

さすがに、完膚無きまでに役に立たないのを作ってもどうしようもないが
それは自分で適当に判断するということで

207:名前は開発中のものです。
07/06/10 21:16:00 8J8rI6Jr
>>205-206
問題ないんですねー。じゃあビル真っ二つ関数は
そのまま残しておくことにします。
ありがとうございましたー。


208:名前は開発中のものです。
07/06/11 08:55:24 LUdJUfVB
激しく気になる>ビル真っ二つ関数

209:名前は開発中のものです。
07/06/11 19:17:59 o7w0Atnq
どっちかというとライブラリ的に再利用するってより
まとめて見やすくするとか何度も使うとかっていう関数だなw<真っ二つ

210:名前は開発中のものです。
07/06/11 22:38:58 sGdW13N9
int ビル真っ二つ()
とかできるのがSys4の良いところ(違

211:名前は開発中のものです。
07/06/13 23:59:14 OXdlFTYx
あれ? WIKI復活してる?

212:名前は開発中のものです。
07/06/14 23:27:56 53GF9/hv
最近RPG制作が、はやってるみたいな感じだ。

213:名前は開発中のものです。
07/06/15 10:36:48 2FNISR3Q
そうか?

214:名前は開発中のものです。
07/06/15 19:24:06 pTXmdP3V
きんさかさんとルビーアイさんとこと
れつとれさんとこかな。

215:名前は開発中のものです。
07/06/17 23:24:15 htFxLWZg
何も書くことないから書いておこう
更新乙

216:名前は開発中のものです。
07/06/19 07:07:26 rXfLnLfd
参照変数で気になったのですが、使い方は
戻り値 = 一つ
参照変数 = 複数の戻り値
ということでいいのでしょうか?


217:名前は開発中のものです。
07/06/19 19:35:41 739CWyTX
戻り値というと「数が返す値」しか思いつかないので
その文章は意味がよくわからんのだが・・・


一つの変数に結びついている参照変数は、元の値と同じ値を返す。
そして、一つの参照変数に複数の変数が結びついている状態はありえない。
なので>>216はちょっと勘違いしてる気がする。
違ってたらすまん

218:名前は開発中のものです。
07/06/19 20:11:04 v3ALLbbm
int func(void)だとint一つしか返せないけど、
void func(ref int a, ref int b)だとint二つ返せるよね、ってことじゃね?

使い方の一つとしては間違ってないと思うけど、
>216の書き方だとどういう理解をしてるのか俺には分からん。

219:名前は開発中のものです。
07/06/19 22:06:32 rXfLnLfd
>>218
はい。そういうことです。

一つの関数が自身の内部で、別な計算用の関数を呼び出し、
自身のローカル変数の値を、その計算用の関数で計算されるローカル変数の値に変更する時、
returnで計算された結果を返し、その戻り値を=するか あるいは
参照変数型での引き数を使うと思いますが、
その際
単独のローカル変数を変更するのであれば 戻り値を=
複数のローカル変数を同時に変更するのであれば 参照変数型での引き数
を使用するということでいいのでしょうか?

という風に聞きたかったのです。分かりにくくてすみませんでした。

220:名前は開発中のものです。
07/06/21 19:37:12 eiLXPffC
まあ構造体組んでそいつを返せば無理やりできんことはないが、
普通は構造体なんかに値突っ込むときも参照だわな。

221:名前は開発中のものです。
07/06/29 18:49:40 MGei+fJA
ほっしゅ

222:名前は開発中のものです。
07/06/29 19:28:18 yKQrVVdW
ちょっと困りました。
コンパイルエラーが出たとき、アウトプットに出力される、
ファイルにリンクされた文字をクリックしても、そのファイルを開けません。

(例:gamemain.jaf(7):構造体【a】は宣言されていません)
~~~~~~~~~~~~~~~~~ここ

クリックすると、

"C:\サンプル\source\gamemain.jaf(7)"が見当たりません
 新規作成しますか?

というダイアログが表示されます。何故でしょうか。
ちなみにエディターはテラパッドです。

223:名前は開発中のものです。
07/06/30 20:17:04 RMC7WURe
環境設定でパラメータがないやつは
ファイル名の最後に行数までくっつけてエディタに送っちゃうから。
>"C:\サンプル\source\gamemain.jaf(7)"が見当たりません
の(7)がそれ。


224:名前は開発中のものです。
07/07/01 21:17:19 FtSxvsXR
ありがとうございます!
秀丸エディターに設定したらちゃんと開けました。

225:名前は開発中のものです。
07/07/07 12:55:13 LDQTU85a
処理に関して質問です

キャラクターの移動をママトトやままにょにょみたいに表したく

 SP_GET_POS( 0, x, y);
 for( i=0; i<4; i++){
  x = x + 8;
  SP_SET_POS( 0 ,x ,y);
  SACT_UPDATE();
  W(100);
 }

上記のように8ドットづつ動かしたいのですが、
実際に実行してみると
0.1秒に8ドットづつ32ドット右に移動する場合と
0.4秒待ってから一気に32ドット移動する場合があります

なぜ分かれてしまうのでしょうか? }

226:名前は開発中のものです。
07/07/08 02:34:41 OMaK/Dvz
void game_main(void)
{
SP_CREATE(1, 200, 200, 255, 0, 0, 255);
int i;
int x = 0;
int y = 0;

SP_GET_POS( 1, x, y);
 for(i=0; i<4; i++){
  x = x + 8;
  SP_SET_POS( 1 ,x ,y);
  SACT_UPDATE(100);
}

'移動'A;
game_main;
}

とりあえずやってみたけど、一気に進むのが再現できないので
何故分かれるのか分からん。一気に32ドット進むのは、UPDATEができていないからだと
思うけど、別にUPDATEするのに何か条件を入れているわけじゃないしね。仮にforの
中身がスルーされているならそもそも進むことすらないわけだし。

どういう状況で分かれるのか教えてもらえると助かる。
あと、変数の宣言はGOかLOか? どんな数値が入っているか? 
他のスプライトに重なってたりして見えなくなっているということはないか?
といったことなんかも。移動用関数としてあるなら、そのままのせて欲しい。

227:名前は開発中のものです。
07/07/08 12:58:00 1gTI6MKH
>>226
ありがとうございます。

分かれる状況は実行する度にランダム(?)で処理が分かれていました。、
もしかしたら、チュートリアルにあるぱたぱたアニメーションと同時に行っている為、
その際、移動する画像が消えた瞬間に移動を実行してしまった為かと思い始めました。

ソースが長くなってしまったので以下にあげました
URLリンク(www11.axfc.net)
URLリンク(www11.axfc.net)
pass : source

228:名前は開発中のものです。
07/07/08 13:44:11 jNRdLWCe
>227
待機モーションでnSp1の方が表示されているときに移動しようとすると、
nSp0が未表示になってるから移動が見えないんだと思われ。

移動の時にnSp0を表示するようにするか、現在表示されている方を移動させるようにすれば
直ると思われます。

229:名前は開発中のものです。
07/07/08 14:47:34 1gTI6MKH
移動時の表示の切り替えを正したら直りました。

回答下さった方ありがとうございました。

230:名前は開発中のものです。
07/07/17 23:18:26 u+tbtlEn
hosyu

231:名前は開発中のものです。
07/07/24 22:16:50 eLT263mP
保守

232:名前は開発中のものです。
07/07/25 02:49:00 9LCgxJ9S
system 4.0ってさオブジェクトの再利用ってどうすんの?
クラスの継承もprototypeによる委譲もMix-inもないけどさ。
演算子オーバライドも無いからメンバアクセスをprototypeにリダイレクトもできないし。

それにこれのどこがOOPなの?言語仕様が劣化C++でライブラリ設計がベターCじゃん。
使ってる人はどうやってOO実現してるの?
名前空間もパッケージも無いけどモジュール性の確保とかどうするの?


233:名前は開発中のものです。
07/07/25 20:38:35 AsNfm7Ol
下手をすれば、未だに構造化すらされていないスクリプトのエンジンが動いてるような
エロゲ業界においては、最も進んだプログラムパラダイムに位置しているシステムのうちの一つ、
という意味で、オブジェクト指向に近いという程度の話。

一方で、学問的な美しさとは程遠い泥臭さも強い。
言語仕様が劣化C++でライブラリ設計がベターCってのは、全く持ってその通り。
天才級のプログラマ達が、長年かけて積み上げてきたシステム設計ハックを
Sys4が言語的にサポートした所で、それを(PGとしては)にわか仕立てである
ライターやグラフィッカーが使いこなせなければ意味がない。


要するに、アレがサポートされてない、コレがサポートされてないと
何でもブーたれる本職のプログラマは、素直にアレとコレがサポートされている言語を選んで
足りないゲームライブラリを自前で書けば良い。と俺は思う

234:名前は開発中のものです。
07/07/26 18:30:37 wUr/yAzc
そう考えると吉里吉里のTJSはエロゲにはとんでもないオーバーテクノロジーなんだな、
今風の動的なパラダイム満載言語は。

作者のハードウェアとソフトウェアを頭の中で分離出来てなくて
アセンブリで関数エミュレートして動的リンクとか言ってたのは、流石に何言ってんだコイツ?
とか思ったけど、エロゲ界のマだと普通なんだろうか。


235:名前は開発中のものです。
07/07/26 20:19:55 RIwjy3oY
難しい言語話している人達は日本人ですか?
トーシロの私はさっぱりわからんべさ。

楽できないアレがほしいという部分はあるけど、ウィザードリィを作ろうと思えば
作れるスクリプト、そのくらいの機能があるだけでとりあえずは十分だと思えてしまう。
そして、そういう点でいえば吉里吉里よりも(個人的に)使いやすい。

私的にはセーブ日時やクリアデータの保存ぐらいにしか構造体は必要ない、
ぶっちゃけじゃま〜と考えている人間だけど、これって少数派ですかね。

236:名前は開発中のものです。
07/07/27 11:34:34 HnpebtNA
ウィザードリィ作ろうと思うと構造体欲しくないか?

237:名前は開発中のものです。
07/07/27 18:31:28 Sob+9ToY
配列で十分かな。

238:名前は開発中のものです。
07/07/28 01:00:12 1WPiB24Y
アリスソフトは分業が確立されてるから
ゲームくむひととシステムつくるひととライブラリつくるひとが
分かれてる(システムとライブラリは同じ人かも試練)

みんながそれぞれ仕事をやりやすくするための落としどころが
劣化C++でライブラリ設計がベターCってところなのかもね。
あくまでも市販ソフトを作るための社内ツールなので、社員にとって
使いやすいか、嫌らしいバグを生み出しにくいような設計になってるか、
機能性よりも安定性か、、あたりが重視されてるんだとおも。

そういえば社内ではゲームくむひとの都合でSystem3.xライクな
命令名のライブラリを使ってるんじゃないっけ?

239:名前は開発中のものです。
07/07/28 03:12:45 oK2zS/M5
BASIC時代じゃないんだからそりゃ分業はするだろ。
とくにエロゲなら徹底的に分業すると思う。
分業した結果ならなおさら劣化C++構文は負担になりそうだけど。

240:名前は開発中のものです。
07/07/28 12:59:46 xxhma4iV
専任のプログラマがSys4の上に更にゲームシステムを構築した上で
他のスタッフに投げる事を想定してるみたいだから
末端のシナリオ関数はBASIC的な形式にしてしまっても何ら問題ない。
プログラマはプログラマで、DLLを作ってSys4に組み込むことができる。


商業ベースで定期的にソフトを出すのでエンジンが必要で、
ADVだけでなくRPGやSLGにも持って行きたいが、エンジンを複数抱える余裕はない。
ゲームの規模が小さくないので、まるで構造化されてないコードは管理が難しく、オブジェクト指向を取り入れるメリットもある。
しかし所詮エロゲメーカーなので社員数も少なく、エンジンに触れる人をプログラマだけに限定できるわけでもないので
本物のオブジェクト指向設計を強いることは現実的ではない。
同じコードを使い回すことでエンジンを安定させたいが、タイトルによっては
固有のC++&DirectXのコードを拡張できる余地は残したい。
という完全にアリスソフトの内向きの都合でできてるものなので、変態仕様なのは百も承知してる。

プログラマの立場から見るなら、
C++の機能が使えない事が不服ならC++を使いましょう。
非プログラマの立場から見るなら、
C++の構文が不服なら普通のADVエンジンでも探しましょう。あるいはプログラマを探しましょう。
って所

241:名前は開発中のものです。
07/07/28 22:10:52 L3NhbgI6
単にBASIC時代の人間が今時普通のOOとVMに触発されただけじゃないの?
ライブラリがベターCなのは命名規則をSys3.xに似せた互換性の問題で。

文法が劣化C++ならVMじゃなくてコンバータでC++ソース吐いてコンパイラに食わせた方が勝手が良いてのはマなら思うだろうし。
VMにしたのは趣味じゃない?

242:名無しさん@そうだ選挙に行こう
07/07/29 01:33:10 rW3UYyqT
URLリンク(www.xfuweb.com)

この辺にヒントが。妹尾氏の趣味的な要素もあるんだろね。
関係ないけどMSX版はMSX-BASICと簡単なマシン語で組まれてたの思い出した。

243:名無しさん@そうだ選挙に行こう
07/07/29 09:44:31 h8wW1RfM
>>242
それ読んでアリスがチャンピオンソフトだってこと思い出した。

244:名無しさん@そうだ選挙に行こう
07/07/29 11:54:31 EE6V65Tj
>240
>専任のプログラマがSys4の上に更にゲームシステムを構築した上で
>他のスタッフに投げる事を想定してるみたいだから
ゲームシステムも上の方はディレクターとかが直接調整してんじゃね?
さすがに昔みたいにシナリオ、プログラム、音声編集を一人でなんてことはないだろうけど。


245:名前は開発中のものです。
07/08/05 21:46:32 hMQ0peJL
>>237
配列は便利だし、大抵のことはできるけど、=でコピーが出来ないのが個人的にめんどいかな。
構造体(といっても、配列変数だけのもの)の配列なら構造体コピーの形でコピー出来るんで、
そっちの方がちょっと不便だけど便利かもしれない。(Σどっちだ)

246:名前は開発中のものです。
07/08/09 23:34:07 OpEyQuyp
ふう……。
floatの最大値はどうやって入力したもんでしょう。
普通なら 3.402823466*POW(10,38) 
でいいんでしょうけど、グローバル変数で宣言しようにも
【const値の要求に対して式が与えられました】って怒られてしまうし……。

247:名前は開発中のものです。
07/08/11 10:24:18 cjFV7OEr
>>246
3.402823466e+38

248:名前は開発中のものです。
07/08/12 19:39:20 A9TrQSIZ
>>247
オー サンクスです。

249:名前は開発中のものです。
07/08/17 20:27:32 JLD0UdeZ
超初心者的な質問で恐縮なんですが、
最初から用意されている機能だけを使って画面揺らしながら同時に文章表示とか出来ないですか?

250:名前は開発中のものです。
07/08/17 20:33:38 dXA5Pbtb
最初から用意されているってのは
特別HLLライブラリとかをインポートせずに、サンプルのコードだけをちょちょっと弄って
文字を出したいってこと?
やりたいことがよく判らないな、なんとなく出来なさそうな気がするけど

251:名前は開発中のものです。
07/08/17 21:17:42 JLD0UdeZ
はい、そういう事です。分かりにくくてすいません・・・

252:名前は開発中のものです。
07/08/17 21:45:39 9fQEwE3z
お手軽コースなら文章表示後SACT_QUAKE_SCREEN関数
文字を徐々に一文字ずつ表示と画面を揺らしっぱなのを
並列実行とかだとめんどいことになりそう

253:名前は開発中のものです。
07/08/17 22:08:25 BvI/SudH
文字はシングルフォーテーションでなく、
stringの引数で取る関数を使って一文字ずつごと揺らすように
した方がいいかな? できないことはないと思う。

LengthByte()で文字列の長さを取得、
文字を szB = szA[nLoop];みたいに一文字ごと取得しながら
文字の表示X位置を増やしつつ振動させるみたいな感じになるかな。
分かりにくくてごめん。





254:名前は開発中のものです。
07/08/17 23:29:54 2MBXeHrG
MES_CALL_FUNC のサンプルコードが使えそうな気がする
振動用の関数作らなきゃいけないけど

255:名前は開発中のものです。
07/08/18 02:00:59 CwbJmHSx
249の者です、こんな初心者な質問に答えて下さって皆さんどうもありがとうございます。

先程まで書かれていた方法を試そうと色々やっていたのですが、
私の知識では結局>>254さんの方法しか成功させることが出来ませんでした。
>>252-253さんの方法ではどうしても一文字ずつ取得する方法が分からなかったもので・・・、
(string型やarray@とか見たことも聞いたこともありません・・・、ポインタとか使えないみたいだし・・・)

とにかくお陰で問題を解決することができました、皆さん本当にありがとうございました。

256:名前は開発中のものです。
07/08/19 23:26:54 2nMt3sJN
すまんがちょっとだけ質問です。

CGのフェードアウトができる関数(フェードアウトのパターンが幾つかあって、引数で指定できる)が
SACT2だかに組み込みであったような記憶があるんだけど、マニュアルを探してもそれらしい関数が見つからない。
名前を思い出させてください

257:名前は開発中のものです。
07/08/19 23:49:57 6QwYBDpR
んー。

SACT_EFFECT(int nType, int nTime, int nfKey);

じゃないかな?

258:名前は開発中のものです。
07/08/19 23:55:13 2nMt3sJN
それでした
お騒がせいたしました

259:名前は開発中のものです。
07/08/24 00:15:19 vTd5piEW
お題:戦国ランスのタイトル画面の焔玉の演出

こいつぁーいかにもDrawSnowで実装されてそうな気がするぜ
と思って調べてみたら意外とあっさり再現できて拍子抜けした。
既出だったらごめんなさい。 →まとめWiki

260:195
07/08/30 03:53:25 aU2W/YNb
DC38のURL見つけてダウンロードしようとしたら404・・・・
サーバ容量不足で削除されたっぽい?
タイミング悪〜

261:名前は開発中のものです。
07/09/11 20:32:08 FHs3wfoj
hosyu

262:名前は開発中のものです。
07/09/14 08:14:32 mYG5MPRu
system4.0で
FFのようなRPGのMAPって、
MAPチップでつくるのか?
あるいはいったん一枚のCGにするのか?


263:名前は開発中のものです。
07/09/14 17:18:53 e30btVMx
どっちもできる

どんなゲームにするかにもよると思うけど
一枚絵にアイテムのみチップで乗せるのが
作るのもチェックするのも個人的には楽だった

264:名前は開発中のものです。
07/09/14 17:51:20 k4+u9ySn
ママトトみたいな、アイテムボックスの出し入れをやりたいんだけど、
何をどうしたらいいのかわからない・・・誰か教えてくだしあorz

265:名前は開発中のものです。
07/09/15 01:52:21 8xNpHwwW
>>263
でもその方法だと
樹とかの障害物だと楽でも
壁とかの障害物は大変そうだな

266:名前は開発中のものです。
07/09/15 11:16:20 GdSXpNtY
>>265
全部チップで並べるとマップの読み込みが遅くなるし
木でも壁でも進入不可区域の設定は同じようなもんだから
そうでもない……と思ってたけど、もっと楽な方法あるかも

267:名前は開発中のものです。
07/09/15 13:27:31 cmmKy4o+
PCが根性をインストールしているなら
一枚サイズのどデカイのを各種類ごと(アイテム、障害物、背景)つくって
三枚重ねて置くというのもできる。キャラ座標との重なりをαマップチェックで判定。
大きいマップなら便利かもしらん。当然重い。

ただ、個人的には全チップが一番楽だと思う。

>>264
ママトトPC買い換えて以来インストールしてないや……。
覚えてないんだけど、ままにょにょのnotパズルみたいなやつだっけ?
多分WIZとかのアイテムシステムと同じだと思う。

268:名前は開発中のものです。
07/09/15 23:30:48 8R4Y24aZ
int フラグ=0;
while(1){
 KEY_CLEAR();

 if(KEY_IS_DOWN(VK_LBUTTON)){
  if(フラグ==2&&マウス動いたかチェック()){// アイテムつかんで移動中
  }
  else{
   if(今選択中のアイテム==クリックしたとこのアイテム){
    フラグ=2; // 二度目の選択なので掴ませる
   }
   else{
    フラグ=1; // 選択アイテム変更
   }
  }
 }
 else{
  if(フラグ==1){
   フラグ=0;
  }
  else if(フラグ==2){
   フラグ=0; // アイテム放した時の処理
  }
 }
}

イメージ的にはこうか?
選択後左ボタン離さなくていいならこれより簡単になるね。

269:名前は開発中のものです。
07/09/16 15:31:45 /KVPUWxW
みんなどんなの作ってるの?

270:名前は開発中のものです。
07/09/18 21:46:33 xaL6FU+C
>>267
>WIZとかのアイテムシステム
ってのはどのようなものですか?


271:名前は開発中のものです。
07/09/18 21:58:37 xaL6FU+C
>>264
ままにょにょ でしたすいません。

272:名前は開発中のものです。
07/09/18 23:15:28 OkpVoOWr
>>267
最近なくなってきたけどキャラが八個までとか
十個までしかアイテム持てないタイプのシステム。
アイテム用の配列をつくるんじゃなく、キャラクターデータの配列に
(他のパラメーターと同じように)所持アイテムの要素を加えているもの。

273:名前は開発中のものです。
07/09/18 23:16:17 OkpVoOWr
おっと>270。

274:名前は開発中のものです。
07/09/18 23:19:48 xaL6FU+C
>>272
なんとなくイメージが掴めました。

すると、ままにょにょのように(2*2マス)アイテムとかをセットしていくのは、
多次元配列っぽい扱いで組むと良い・・・感じになるのでしょうか。

275:名前は開発中のものです。
07/09/18 23:23:06 nh0I3KRl
キャラデータに二次元配列でも持たせる。
0=装備不可、1=装備可、2=装備中として
2,2,1,1,0
2,2,1,1,0
1,1,1,0,0
みたいな感じにして装備時の判定に使う。
画面表示につかう装備位置とか種類はキャラごとにリストとして持っておく。

ぱっと思いついたのを適当にまとめようとしたら
中途半端になりそうだったのでここだけ。
というか、アイテムリストとかの作り方とかから関係してそうだし、
効率とかは別としていろんなパターンありそうだが。


276:名前は開発中のものです。
07/09/20 23:28:58 20DvfK8F
txtファイルやバイナリファイルの
読み込み方がわからない・・・
誰か教えて下さい。

277:名前は開発中のものです。
07/09/21 06:04:07 9fbbqFiF
それが何らかの構造体に対応する形式なら(設定データとか)File.dll使用。

と書いててふと思ったけど、
stringのみの構造体にFile.dllで全部読み込ませて
自前で文字列分割すればいける?。
File.dllで書き出したものしかダメかもしんないけど。

278:名前は開発中のものです。
07/09/21 11:26:28 Tv3x8N6Q
DATAアクセスのDATA.hllってどうやって使うん?
変換ツールの使い方すらよくわからんorz

279:名前は開発中のものです。
07/09/21 20:31:35 9fbbqFiF
使ったこと無いから違うかも。

変換はドラッグアンドドロップ。
iniファイルに書かれたフォルダに全部変換されるからNL5でリンク。

Openでデータを開いてReadで指定された構造体へ読込。
書いてないがRead毎に一つのデータを読むのかも。

サンプルデータ.txtだと多分構造体は
struct Data{
string; //名前
int; //性別
int; //体力
int; //攻撃
int; //魔法
int; //防御
int; //魔抵
string; //特技
int; //属性
};
こんな感じだと思われ(変数名とかはめんどいので省略)
データの#defineが効くのは変換時だろうし。


280:名前は開発中のものです。
07/09/21 20:33:45 9fbbqFiF
改行多すぎたorz

int result;
Data param;
result = Open(リンク番号);
if(result == 1)
{
if(Read(param) == 1)
{
// 成功
}
Close();
}
これをちゃんと動くように書き直して試してみたらなんとかなるかも。
サンプルデータ.txt使ってランスが読み出せたら正解。

281:名前は開発中のものです。
07/09/22 01:34:26 5k6/7BO3
ああ、iniファイルに指定されたフォルダ作ってドラッグドロップすれば良かったのか。
exeだけ実行しても何も起きないはずだorz

サンキュー、これでデータ組み込み&修正が楽になりまする。


282:名前は開発中のものです。
07/09/22 20:55:43 lCiDoZD6
>>279
NL5って何?

283:名前は開発中のものです。
07/09/22 21:02:08 lCiDoZD6
すまん、調べたらすぐでてきた

284:名前は開発中のものです。
07/09/23 14:51:39 1iwE3MFE
>279,280

おかげさまでデータ読み込みまで出来るようになりましたアリガト!(´▽`)

予想通りreadコマンドで読めるの一行だけみたいでしたけど、
配列構造体に格納しつつエラーが出るまで読み続ければOKでした。

これでデータがかなり整理できまする(;つД`) タスカッタ

今まではエクセルのリストから初期化用定義文吐きだしてコピペ。
一個ずつ代入してくって面倒なコトしてたw

285:名前は開発中のものです。
07/09/23 17:44:12 gTMsvm9z
>>284
できればソースを見せてくれませんか?
僕もやっているのですがうまくいかなくて

286:284
07/09/24 01:33:40 wQrq8l22
>>285
こんなんす。
ループが入っているだけで、教えてもらったのとほとんど一緒です。

===
void ★ReadData(void){
int No = 0;

if(Data.Open(1) == 1) {
while(true) {
No++;
if(Data.Read(g_ReadData[No]) == 1) {
// 読み込み成功

//system.MsgBox("No = " + g_ReadData[No].nNo.String() + ":名前 = " + g_ReadData[No].sName);

} else {
//system.MsgBox("データの読み込みを終了しました。");
break;
}
};

Data.Close();
} else {
system.MsgBox("データのロードに失敗しました。");
}

}

287:284
07/09/24 02:16:10 wQrq8l22
あ、そだそだ。
データチェックとか色々してたんでwhile文とif文分かれてますけど、
普通に作る分にはwhileだけで問題ないです。

うちも最終的には直すんで。


288:名前は開発中のものです。
07/09/24 15:02:52 PLTvhaxX
>>286
サンクス。
286のやつでやってもうまくいかないから
Data.dllかNL5でのリンクがうまくいってないみたいだ

289:名前は開発中のものです。
07/09/30 00:54:23 jYQSajes
「Data.dll」→RUN\DLLフォルダ
「Data.hll」&「Data.inc」→HLLフォルダ
この三つをそれぞれのフォルダに置いてSys42IDEの"HLLを追加"で追加したけれど
【Open】関数は定義されていません となって使えません
もしかして追加の仕方が間違ってるのでしょうか?

290:名前は開発中のものです。
07/09/30 07:39:52 DbtRC+b1
ちゃんと「エイリアス名.Open」にしてるか。
System40.iniをしてるか。

この辺。

291:名前は開発中のものです。
07/10/09 22:50:08 q9E93AE4
hosyu

292:名前は開発中のものです。
07/10/20 01:07:20 +048CWqr
0乗は1になるのかー。初めて知った。

293:名前は開発中のものです。
07/10/23 23:14:01 g6dhJWeE
過疎だ……。
誰かRPGとか作っている人います?

294:名前は開発中のものです。
07/10/24 00:35:21 xn+nw84C
今パズル作ってるけど業務が忙しくなって丸2ヶ月くらい触ってない・・・

295:名前は開発中のものです。
07/10/25 00:31:39 Zn6cpkxM
よさげな戦闘システム思いついたけど実装できなくて放置中

296:名前は開発中のものです。
07/10/25 16:27:46 vNqY00up
>>295
晒したら誰か助言くれるかもよ

297:sage
07/10/26 12:02:12 /MaVV48B
今ボードゲームタイプのRPGモドキを作ってる。

最近はwikiの更新が多くて嬉しい。
wiki充実させたいけど、面白い関数とかのネタも特にない。
どういう情報が載ってれば便利なのかな。

298:名前は開発中のものです。
07/10/26 13:27:24 +vtTpZVu
あのゲームのこういうとこはこういう風にして動いててsystem4で書くとこうなるんですよ
的な解説とか面白そう&便利そう

299:名前は開発中のものです。
07/10/26 23:39:08 HBlQXi9f
ゲームそのものの解説になるけど、そういうサイト自体少ないからな。


それより、wikiの更新が途切れないのはいいんが
あの独特のインデント・カッコの使い方は修整してもいいんだろうか?
まぁコード書いてる本人が判ってるなら別に文句を言う筋はないんだが
あんなスタイル始めて見た

300:名前は開発中のものです。
07/10/27 00:00:22 94TX4bJ6
いいよー。もともと我流の上に、普段からTAB使いなんで
WIKIだと自分でも分かりにくいなと思ってる。


301:名前は開発中のものです。
07/10/29 22:11:56 F5r4jyoq
今更思ったんだけど……。
RPGの制作って解説に向いて無い?
ソースの増え方が天井知らず。

302:名前は開発中のものです。
07/10/30 00:03:44 c1631LRa
RPGでソースが増えるのは仕方ないかと

jafじゃなくてtxtファイルにしてくれたらブラウザで読めて便利かなと思った
ファイル数多いと落とすのがちょっと大変
まあ勝手な言い分なのでやりやすい形で続けてくれ

303:名前は開発中のものです。
07/11/01 00:12:05 mCtKzBY/
システム4.0でシューティングは作れるのだろうか
グラディウスやR-TYPEのレベル

304:名前は開発中のものです。
07/11/01 00:29:38 v32JWrVo
システム4.0でシューティングのサンプル、見たことありますよ。

305:名前は開発中のものです。
07/11/01 00:43:59 mCtKzBY/
すげぇ
突き詰めればかなり融通が効くのだろうか

306:名前は開発中のものです。
07/11/01 07:09:28 53sZItNQ
タスクシステムサンプルならスゲスゴにあると思う。

融通が効くというか、関数ポインタを構造体に持たせられるなら、
STGもACTもRPGもSLGもSRPGもそれほど変わらないような作り方で出来る。
処理の重さがネックだけど。

307:名前は開発中のものです。
07/11/01 07:17:14 mCtKzBY/
関数どころか算数が出来ないレベルに落ちたぜ

最低限は可能だが(プラスマイナスかけるわり算)
それ以上の方程式という高度なレベルは
学生時代から投げ出していたぜ

そんな自分でもシステム4.0を構築出来なくはないレベルなのだろうか

308:名前は開発中のものです。
07/11/01 11:16:48 4l261QOy
大丈夫でしょ。
面倒な計算はそれこそPCにさせればいい。

309:名前は開発中のものです。
07/11/01 11:33:17 mCtKzBY/
何という恐怖
システム4.0を突き詰めれば
大概のゲームが作れるとわ…

数学分からないとか言い訳せず
頑張ってみる

310:名前は開発中のものです。
07/11/01 19:34:57 gkLUOEZ3
究極に突き詰めたら、
最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。
まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。

311:名前は開発中のものです。
07/11/02 17:38:20 LI5jfqFF
俺はアリス儲だからsystem4.0でやる事に意義がある
まあたいしたもん作ってないけどさw

312:名前は開発中のものです。
07/11/02 23:44:46 n3OSdW5H
ユーザークラブのZEROは「こういうのも作れます」
のよい見本だと思う。

313:名前は開発中のものです。
07/11/05 22:47:48 eDoMJSU2
うー実行時に

【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】

と出る……。
これがintの場合は大丈夫なのに何故でしょう。

314:名前は開発中のものです。
07/11/06 21:18:33 dVZUWYYT
>313
ふと思ったんだが、dll.func("ABC")とかやってない?
ref stringで。
いや、参照じゃなくてもこれができるかはわかんないし、
intなら大丈夫の意味もわかんないんだけど。

もし自前DLL作ってるなら、
どういう風に呼び出してるかとかHLLとか出してみてよ。
(そのままじゃなくてもいいから)

315:名前は開発中のものです。
07/11/06 23:18:45 cZ2R0MB+
それが自作のDLLを使用しているわけではないんです。
全体のソースをはらせていただきます。

URLリンク(wikiwiki.jp)

無駄に量はありますが、エラーの条件は

RPG \ CHAR_MAKE \ tagObject.jaf

にある、object構造体のコンストラクタの一行です。
同ファイルの先頭にあるg配列の

array@object asChar[20];

の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。
ローカルでoName_baseを呼ぶ分には問題ないようです。
もし宜しければ教えて下さい。

316:名前は開発中のものです。
07/11/06 23:23:09 cZ2R0MB+
あれ……テキストは直リンクできるのにZIPは出来ない?
このファイルです。

URLリンク(wikiwiki.jp)

317:名前は開発中のものです。
07/11/07 20:40:19 aH1Zfske
ええとごめん、時間がないからエラーの出る場所だけで。

game_main>asChar_Data>oCharMakeと辿っていって、
最終的にans_t::SString関数内の
if(szX != szA){asY[nL] = szX;return asY[nL];}
の行でエラーが出る。
asChar_Dataを呼ぶ前にAコマンドで止めて、
ブレークポイント使ってステップ実行するとわかると思う。

ただ、使い方が間違ってるのかどうかまではわかんない。
(ライブラリの作者さんならわかりやすいのかな)
あと、intなら大丈夫の意味も未だにわかんない。

318:名前は開発中のものです。
07/11/07 22:25:35 aH1Zfske
ふと思いついて、
if(szX != szA){asY[nL] = szX;return asY[nL];}

if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];}
としたらエラーはなくなったんだが、
これは>313、ライブラリ作者さん共に正しい動作になってるか?

319:名前は開発中のものです。
07/11/07 23:13:39 xpaYlRaB
>>317-318
どうも有り難うございます。エラー箇所は分かったのですが、
何故エラーになるのかがどうしても分かりません。

>>318
まことに申し訳ないのですが、正しい動作になりません……。
第二引数に何を入れてもマウンテンデューが返ってくるようです。
「intなら大丈夫」というのはこういうことです。

//テスト
void game_main(void)
{
ans_t MS;

//MS.nSet("keyword",100);
//MS.nSet("keyword",200);
//N(MS.nGet("keyword"));A;//正常な動作だと200が出力

MS.ssSet("keyword","じむ");
MS.ssSet("keyword","がんたんく");
S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力
}

nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。
ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。
SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、
操作はほとんど同じです。

しかしnSet(上のコメントアウトしている方)は正常に動作し、
下のssSetの方は単独では前述のエラーメッセージが出ます
(コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます)
どうしてこんな違いが出るのかに大混乱です。

320:318
07/11/08 19:54:53 mXVUOzqf
あ、InsertはPushBackしないのか。
>318の修正を
if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];}
にしてみて。
修正前は文字列を直接置き換えてたっぽいから、
新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。

>319でもエラーは出ないし、
RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。

原因はわかんない。
stringの配列要素に直接代入するところが特殊仕様かもしれないけど、
ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。
エラーが出るときもそうでないときも
デバッガに出るans_t変数の現在値は変わらないように見えるし。

321:名前は開発中のものです。
07/11/08 19:56:16 NpNB32t6
代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。

とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、
もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、
stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。


//stringエラー対策用の代入式
void ADD(ref string szX,string szY)
{
int nLength = szX.Length();
szX += szY;
int nL;

for(;nL < nLength;nL++)
{
szX.Erase(0);
}
}

//文字列から要素を検索し、szXを返します。[asXが要素の役割]
string SString(string szX,string szV = szA,string szY = "Renew")
{ ans_ReAlloc;
int nL;for (nL = 0;nL < asX.Numof(); nL++)
{if(szX == asX[nL]){if(szV == szA){return asY[nL];}
if(szV != szA){ADD(asY[nL],szV);return asY[nL];}
}
} if(szY == "Renew" && szV != szA)
{asX.PushBack(szX);asY.PushBack(szV);return szV;}
return szA;
}

322:名前は開発中のものです。
07/11/08 20:02:41 NpNB32t6
>>320
どうも有り難うございますー。上手くいきました。
値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。

323:名前は開発中のものです。
07/11/10 18:30:17 EfYdmYW2
まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん
送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz


324:名前は開発中のものです。
07/11/10 18:34:59 EfYdmYW2
と思ったら出来た
スレ汚しスマソ

325:名前は開発中のものです。
07/11/13 07:08:47 E7kpa99+
気がつくとWIKIもグーグルの1ページ目だなあ。内容は
初心者向けなのか上級者向けなのか分からないところはあるが……。

326:名前は開発中のものです。
07/11/19 00:19:07 5fRgCIrj
いいってことよ

327:名前は開発中のものです。
07/11/28 23:43:23 GQA8QXik
最近、関数や機能の整理ためにクラス使い出したんだけど、
クラス内のメソッド関数にデフォルト引数って使えんの?

「メソッド定義にデフォルト引数は使用できません」

ってエラーになっちゃうんだけど。

マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。

328:名前は開発中のものです。
07/11/29 01:38:38 YNi9MS+N
メソッドを分割して定義してるなら、上に定数を入れたらできたよ。

329:名前は開発中のものです。
07/11/29 06:18:36 Z4mGFDpB
メソッド定義って出てるからそっちに書いてるんじゃない?
実装側に書かないと。

330:名前は開発中のものです。
07/11/29 06:23:12 Z4mGFDpB
ごめん、違ってた。
忘れてorz

331:名前は開発中のものです。
07/11/29 21:24:17 vAxuvCot
おお、なるほど。
クラスの定義側で定数入れて、
実装側は引数の宣言だけしておけばいいのか。

定義と実装両方同じにしておかないといけないと思ってましたorz


332:名前は開発中のものです。
07/12/10 19:19:39 MKJaX+BI
age

333:名前は開発中のものです。
07/12/11 18:39:15 usuyb1bv
>>25みてarray@int@4 asasas[1000][1000][1000][1000];とかやってみたら超絶重くて大爆笑した

334:名前は開発中のものです。
07/12/16 16:32:57 F9amJRpt
mp3使えない事に気付かず一日を無駄にした(;´Д`)

335:名前は開発中のものです。
07/12/17 20:52:51 LmPKFuIU
>>333
 array@int asasas[1000000000000];
と消費メモリは同じですからね。大抵応答待ちで固まる。

WIKIの方も更新感謝。ところで、

>プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、
>その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの
>ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。
>それらをダブルクリックすることで、そのショートカットを実行できます。

とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?

336:名前は開発中のものです。
07/12/19 22:49:07 tM4C1oFz
やってみれば解るけどそのショートカット元のプログラムが実行されるよ

っつーか今まで知らなかったけどこれ便利だな
とりあえず電卓は常に入れておく事にしよう

337:名前は開発中のものです。
07/12/24 10:38:52 TLPoSiAJ
戦国ランスのソースとかってないのか?
戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)

338:名前は開発中のものです。
07/12/25 21:41:17 rTg9VkUH
ない。

具体的に、ココがこう判らん、という話なら
教えるなり議論するなり、話の種くらいにはなるかもしれないが

339:名前は開発中のものです。
07/12/26 05:49:19 ZQpX3LBN
ココがこう判らん
それがわかれば問題の8割は解決済みだ

340:名前は開発中のものです。
07/12/26 06:02:44 iWoIrrsz
プログラムの常識かsysytem4の仕様か分かんなくてうやむやなとこが一番つまづいた

341:名前は開発中のものです。
07/12/26 20:03:45 Mctx91sa
「作りたい物」を分割&抽象化して、
ソースコードと対になる設計にまで持ち込む作業ってコーディングより難しい。
というか、そこまでがゲームプログラムのキモだし。今更言うようなこっちゃないけど。

なんで、とりあえずお題を決めて何か喋ろうぜ。

342:名前は開発中のものです。
07/12/27 10:15:46 f6iZ7GYt
お題
system4.0ですごいと思った所

343:名前は開発中のものです。
07/12/27 19:33:22 2qgB1qG1
マイナスが使えるところと65535以上まで使えるところかな……。あと配列があるんで
3.XとかNScript風の文字列設定にもできるところ。ネット機能が失われたのは残念。
そんな私は3.Xからの移行組。

344:名前は開発中のものです。
07/12/28 19:27:29 Qh9aViXN
エロゲのシステムを触ったことがないので、もしかしたら当たり前の機能なのかもしれないが・・・

変数の表示くらいならともかく、スタックを総ざらいしたり
ブレークポイントをかけたりできるのに感動した。
ある意味、もうVS&C++でいいぢゃんという流れになる諸刃の剣だが

345:名前は開発中のものです。
07/12/28 23:22:01 KfUqS68a
>>338
やっぱり無いのか(´・ω・`)

じゃあ質問なんだが
戦国で相手の行動パターンってどんなかんじで作ってあるんだ?
交戦状態のときとか兵数が一定以下になったら攻めるのをやめるみたいな感じなんだろうけど
どういう風に書けば良いのかわからん


346:名前は開発中のものです。
07/12/28 23:45:23 MhwWZ8rw
説明が難しいな……。国データと直結している。
多分国データの内部にある武将データが関係。

347:名前は開発中のものです。
07/12/29 00:35:25 kfiiBsKO
struct 武将{
 兵数
 種別(前衛or後衛)
}
struct 軍団プリセット{
 種別[6]
}
struct 国{
 武将配列、軍団プリセット配列
}
軍団プリセット 全部忍者 = {忍者、忍者、忍者、忍者、忍者、忍者}
軍団プリセット バランス[1] = {武士、僧兵、なし、弓、巫女}
軍団プリセット バランス[2] = ・・・

void ターン(){
 for(国ID=0 ; 国ID<国数 ++国ID){
  if(交戦中フラグ[国ID]){
   国行動( 国ID )
}}}
国行動( 国ID )
{
 if(合戦回数=1)
  rerurn 全部忍者
 
 for(int i=0 ; i<試行回数 ; ++i)
  if( 派遣できる?関数( 国データ,バランス[ramdom] ) ) return バランス[ramdom];
 return 待機
}

ごめんかなり適当に考えた
複数回行動は定数とか割合を基準にして適当に計算したら楽だけど
SLG作るならもっとスマートにやらなきゃいかんのかな・・・ 定数使うのは意外とアリだと思うけど

348:名前は開発中のものです。
07/12/30 15:11:34 8hcAIO7D
SLG作る際に重要な機能ってなんだ?


349:名前は開発中のものです。
07/12/30 17:34:45 iIx8r+UB
構造体かな?
あと関数呼び出しのオブジェクト(関数ポインタだっけ)。
RPGでも重要だけど、思考ルーチンはSLGの方が重視されがちだし。

350: 【末吉】
08/01/01 01:34:40 ZLqCplPi
あけおめことよろ。
さて今年の開発進行はどうかなっと
おーみーくーじー

351:名前は開発中のものです。
08/01/02 18:38:49 yjODYZJu
構造体同士のメンバ変数全部加算させるみたいな事出来ないものか・・・

352:名前は開発中のものです。
08/01/02 22:03:35 vVbqFkaY
演算子のオーバーロードがやりたいなら、無理だ。

普通に、構造体を2つ渡す関数を用意するのじゃ駄目かね?

353:名前は開発中のものです。
08/01/03 00:22:17 J9suxAsk
初歩的な質問で申し訳ないけど……。
整数を16進数で返す方法ってありますか?

354:名前は開発中のものです。
08/01/03 09:20:17 fZeOkcpH
Sys4に限らないと思うけど、
2進数も10進数も16進数も、表記法が違うだけで中身は同じだよ。

10進数16が、16進数0x10という見た目になるだけであって
どちらもint型変数に格納できる。

355:名前は開発中のものです。
08/01/03 10:31:39 J9suxAsk
はい。つまり表記で返すやり方を知りたいのです。
例としては、整数65535 を 文字列"FFFF" で返すということです。

356:名前は開発中のものです。
08/01/03 16:11:12 X7Gj3bxx
>>355
プログラムの中で返したいの?

って、変換した奴だけ使いたいなら、いくらでもソフトあるか。

357:名前は開発中のものです。
08/01/04 08:38:05 bR+AzSYo
>>355
いろいろ試してみたけどむずかしい。10→16なら簡単なんだけどね。
方法を予想してみると、とりあえず16進数の桁数だけ領域を取った一次元のint配列に
「1-15」までの要素を入れ、最後にくっつけるやり方がスマートかもしれない。10進数から
16進数の桁数を算出する方法と、要素に16進数での値を入れる方法さえ分かればできると思う。
(俺はわからない)

358:名前は開発中のものです。
08/01/04 12:15:27 Bc3fruj+
"%x"とかじゃ駄目なんか

359:名前は開発中のものです。
08/01/04 13:36:14 ZvrZQLG7
間違えた。16→10だ。
つまり"FFFF"を 65535 にするならWIKIを参考にできるんだが。

>>358
"%x"って何だっけ?
出力変換なら、そういうのは無かったように思う。

360:名前は開発中のものです。
08/01/04 14:18:47 Bc3fruj+
適当にググったらCめいた出力変換が出来る様なことが書いてあったよ
URLリンク(www.geocities.jp)
俺はsystem4.0使ってないから無責任な発言ですまんが

361:名前は開発中のものです。
08/01/04 15:48:13 VVEb3/k/
れつとれさんとこのは使い方が違うような……
蛙のダンジョンさんとこのソースがいいんじゃない?

362:名前は開発中のものです。
08/01/04 17:04:16 i/Zwdvnb
蛙のだんじょん!ところの人です。
頑張ってソース書いたけど、れつとれさん所の解説読んだら、出力変換できました。
以下ソース。(パラメータあんまりよく分かってません)

void 10→16進数(){
int 元=RAND(2147483647);
string 結果="%0X" % 元;
'10進数:'NH(元);R;
'16進数:'S(結果);A;
}

363:名前は開発中のものです。
08/01/04 19:34:30 ZvrZQLG7
おおほんとうだ。マニュアルには
int値変換%d float値変換%f string値変換%s char値変換%c bool値変換%b
しか書かれてなかったから試さなかった。すまん>358。

"%X"は2バイト文字ではなく大文字になるみたいだね。
ありがとう熾憂さん。

364:名前は開発中のものです。
08/01/09 20:42:47 oVZERYj2
>>356-363
遅くなりましたが有り難うございます。
おかげで型sz、引数intの関数をつくれました。

365:名前は開発中のものです。
08/02/02 22:57:39 ykvhHgTN
プログラマ募集キター!!!
腕に自身のある奴、行っとけ!

俺は無理orz

366:名前は開発中のものです。
08/02/03 00:14:39 fzEiLEZm
大阪まで通えません><

そもそも腕に自信もないがorz

367:名前は開発中のものです。
08/02/14 15:33:24 lFvH5fEb
SACT2関数の
REGISTER_MESSAGE_CALLBACKとSACT_MESSAGE_REGISTの
使い方が良くわかりません。
サンプルコードを試してみたがマニュアルにあるコードの実行例を再現できない。

ボスケテ

368:名前は開発中のものです。
08/02/16 01:56:37 OruBd+lh
サンプルコードとは違うけど、コールバック関数内のreturnを消して、
一番最後にSACT_MESSAGE_REGISTを追加すれば、再現はできるよ。

369:名前は開発中のものです。
08/02/16 02:16:48 IniXt8yd
ボス 決して走らず急いで歩いてきて そして早く僕らを助けて…か! むう lFvH5fEb…なんて難しい注文を!

蛙でございます。
//ユーザー定義コールバック関数
void game_message_callback(ref int nMsgNum,int nNumofMsg, ref string sText){
//メッセージが 主人公 という文字列であれば ランス に置き換える。
if(sText=="主人公"){
sText="ランス";
nMsgNum = -1;
}
SACT_MESSAGE_REGIST(nMsgNum, sText);
}
void 初期化(){
REGISTER_MESSAGE_CALLBACK(&game_message_callback);
}

SACT_MESSAGE_REGIST関数が''内の文字を表示させる関数っぽい。しかしmessage関数の処理を見たらユーザー定義コールバック呼出が設定されているときに、このSACT_MESSAGE_REGIST関数が処理されない感じだった(たぶん)。
SCAT弄るの嫌なのでユーザー定義のコールバック関数の方に追加。
なお、ソース見たらsact_message_callback_tは関数型だったので、REGISTER_MESSAGE_CALLBACKの引数はsact_message_callback_t型の関数を使えということだろうと。
多分マニュアルの単純な記述ミスだと思います。

関数型って何なんだ…って所から始めたので、正直合ってる自信がないけど、一応動いたことは動いたので、取りあえず動けばいいやってことでしたら。
正しい説明は他の人お願いします。

370:名前は開発中のものです。
08/02/16 10:06:39 nq5dFx5j
>>368-369
ありがとうございます。再現できました。

371:名前は開発中のものです。
08/03/09 08:31:00 SkvlBWml
ニコ動に、作ったものを投稿したいのだけれど
sys4で録画する方法が分かりません。どうすればいいんでしょう。

372:名前は開発中のものです。
08/03/09 19:13:29 Cz82xsvA
sys4と関係ない一般的な話だから、Windows板かソフトウェア板にでも行って
DirectXでもキャプチャできるソフトを探せ

373:名前は開発中のものです。
08/03/09 23:03:46 SkvlBWml
それがキャプチャーできんのです。flapでもdxtoryでも。
SYS4の場合、DirectX系の動画キャプチャーでは無理っぽいのですが。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5332日前に更新/147 KB
担当:undef