[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/11 18:20 / Filesize : 261 KB / Number-of Response : 894
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

HSP - Hot Soup Processor [14]



1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ]
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-4 あたり
    ヽ ──── '

  ONION software (本家)
   www.onionsoft.net/

429 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 17:38:40 ID:j28Q+xuO]
>>427
キャラの向きを変数で持っとけばいい。
↑0、→1、↓2、←3みたいに。
方向キー入力の度に現在の向きを数値で保存しておいて、後は実際にキャラを描画する際に、
保存した方向の値を元に、表示する画像を選べば良いだけ。
画像データを配列にして持っておけば、if文もいらないからもっと楽。

430 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 17:41:57 ID:j28Q+xuO]
>>428
うお、早w
・・・うん、まあ>>427はそんな感じで頑張れw

431 名前:427 [2007/02/20(火) 17:56:20 ID:35NxbGRL]
>>428 >>429 >>430
ありがとうございます!! がんばります!
これでやっとRPGが作りはじめられる;;

432 名前:名前は開発中のものです。 [2007/02/20(火) 18:32:53 ID:nJaWXZmF]
>>431
まずはシューティングだろ、技術的に考えて…

433 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 19:44:08 ID:cfAvRUKe]
なんでやねん

434 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 19:54:31 ID:67b5bLjK]
シューティングらしきものを作るのは楽だからな。
まあアクションの細分ジャンルみたいなもんだから
フォーマットが限られてるという理由もある。

435 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 20:01:11 ID:4t1drqz4]
こんな基本的なこと質問してるレベルじゃあ
ろくなモン作れないさ。

436 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 20:32:38 ID:tSiBbCYw]
まぁシューティングからかな
ドラクエ式RPGを最初に作ろうってのは無謀

437 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 21:47:31 ID:TEatCogU]
つーか、普通のRPGみたいなのは素材が問題だからなw



438 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 22:04:17 ID:sIMFx+0Q]
難易度的には簡単だと思うが、ドラクエみたいなのを作ろうとしたら膨大な素材が必要だし一人で作るのはまず無理だな
技術的に可能でもとてもやる気がもたんだろうw

439 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 22:49:44 ID:tSiBbCYw]
RPGとかノベルゲーは思いのほか
プログラムが面倒だぞ

アクション系はものにもよるけど
結構いきあたりばったりでいける

440 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:12:55 ID:j28Q+xuO]
個人的な経験上、RPGやノベルゲームは、システムを作るかゲーム内容を作るか、
絵や絵素材を描き込むか、三つの内の二つまでが根気の続く限界だったw

昔初めて作った自作RPGも、結局ドット絵で4方向キャラ絵描くのが大変で、
システムじゃ対応させていたのに、画面じゃ初代DQ1と同じ正面固定キャラだったり・・・

441 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:19:48 ID:2Kw8UJd6]
最終的には、くだらないツール作り・・・

442 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:27:54 ID:zE56GDp8]
マップ上のキャラだけポリゴンにするとかw

443 名前:名前は開発中のものです。 [2007/02/21(水) 02:24:31 ID:fMYYp1Y1]
randomize
sexplay=rnd(100)

if sexplay = 0 : dialog "プギャー"

F5

 ! プギャー


('A`)



444 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 10:11:04 ID:VNWQKOrq]
200回実行して、一度もプギャーされないんだが

445 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 14:44:56 ID:Lykz6MYj]
>>431
ドラクエ型RPGよりも
20年前のウィザードリー型
(直線だけで書かれたヘボイ3D迷路のダンジョンで
 ストーリーが殆どないRPG。
 あるのは迷路探索と戦闘と店の売買と宝探しと
 多少のイベント)
のRPGのほうが作りやすいんじゃないかい?

それだと、ソースのテンプレみたいのもあるし
マップがあまり広くなくても大丈夫だし
ストーリーも殆どいらないし
主人公や仲間のグラフィック書かなくていいし
重要なのは敵の出現率と強さのバランスだけだから
(これは重要。本当に重要)作りやすいよ。


446 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 14:55:21 ID:2oVWmjXk]
>>445
消防の頃、88で自作の3DRPG作ったのを思い出す。
初めて自分の作ったダンジョンの中を歩いた時は、そりゃ感動したもんだ。
LINE文が、描画中の線が目に見えるほど遅かったのには難儀したが。

447 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 20:10:26 ID:sqTKc8XK]
>>446
俺もやったけど、描画は遅いんであらかじめ描いておいてパレットチェンジで対応した。
描画の速さはちょっと自慢だったが、完成してないので誰も見ていないw



448 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 20:27:05 ID:2oVWmjXk]
>>447
ああ、そう言う方法の方が早かったかも知れないですな。
あんまり遅かったんで、俺はLINE文を自作のマシン語で置き換えて作ってたよ。
まあダンジョンの中歩けた時点で満足して、俺もゲームらしいゲームには作らなかったけど・・・

449 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 21:51:11 ID:ffqSjqvs]
>>446
消防でか。すげーな。
俺の通ってた小学校にいたら間違いなくヒーローだぞ。

450 名前:447 mailto:sage [2007/02/21(水) 21:57:51 ID:sqTKc8XK]
さすがにマシン語は無理だったw
緑の点を打つ、あたりで挫折した覚えがあるよ。446すげーな
つーかここHSPスレじゃねえかw

451 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 22:25:26 ID:CjGnhR5w]
てかなんでそんな人間が今HSPなんだよ

452 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 23:00:10 ID:sqTKc8XK]
ラクだからじゃないのか

453 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 23:29:33 ID:0jTyllT+]
いくつかの数字から、何個か選ぶみたいな命令ってあるの?
ロト6用に簡単なものをつくってみたいんだけど、
ぱっと思いつくrepeatとrndをつかった文だと、重複した時の対処を
一つずつやっていかなきゃならないけど、
なんかもっときれいな形にできないかなと。

454 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:04:43 ID:MHAA7b9m]
ぱっと思いつくrepeatとrndをつかった文で重複した時の対処を一つずつやっていけばいいと思う。

455 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:44:26 ID:XI+KwTS4]
ちょっと分かりにくいかもしれない。
シューティング作ってるんだけど、弾の出し方がよく分からない。

・押しっぱなしで出続ける(最大何発とかの制限あり)
・離すと切れる

は出来るんだけど、

・一回押したら最後まで出る(ミサイルが4発時間差で出たり)

ってのが出来ない。
だれかヒントを…


456 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:55:44 ID:0D03FtgL]
ショットボタン押されたらカウンター生成(カウンター≠0ならショットボタンを無視)

カウンターが規定値に達したらカウンターを0に。

カウンターが特定の値のとき、自機の座標に応じてショットを生成

ループ

で良くね

457 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:58:29 ID:MHAA7b9m]
ミサイルのフラグ(待機、発射中、硬直中、残弾無し、一時使用不可)を作って
キー押されたらフラグ変えて、ループ中に作ったif文で関数なりなんなりに飛んでけばおk
モジュール空間にミサイル発射間隔とカウンタ等を入れるのがお勧め



458 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 03:06:11 ID:AGuE7p3B]
>454
そうですかそれしかないですか(´・ω・`)ションボリ

459 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 04:11:10 ID:AGuE7p3B]
#include "hspda.as"
*saisho
dim a,6
randomize
repeat 6,0
*yarinaoshi
a(cnt)=rnd(43)+1
if cnt=1 & a(1)=a(0) :goto *yarinaoshi
if cnt=2 & (a(2)=a(1) or a(2)=a(0)) :goto *yarinaoshi
if cnt=3 & (a(3)=a(2) or a(3)=a(1) or a(3)=a(0)) :goto *yarinaoshi
if cnt=4 & (a(4)=a(3) or a(4)=a(2) or a(4)=a(1) or a(4)=a(0)) :goto *yarinaoshi
if cnt=5 & (a(5)=a(4) or a(5)=a(3) or a(5)=a(2) or a(5)=a(1) or a(5)=a(0)) :goto *yarinaoshi
loop
sortval a,
repeat 6
mes a(cnt)
loop

mes "\n enterでもう一回。ESCで終了"

*keycode
stick key
if key&32 :cls :goto *saisho
if key&128 :end
await 1
goto *keycode

つくって見たんだけど、EXEファイルが実行してもエラー。
どうすれば良いか全然分からん。( つД`)

460 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 05:04:52 ID:lPfRj7VD]
;その件に関するオレ的考え
*selnum ;数字選定
dim r,44
repeat 6
repeat cnt+1
a=rnd(7)+1:if r(a)=0:r(a)=1:break
loop
loop
;表示
repeat 43,1:if r(cnt) :mes cnt
loop
;まだやるかい
mes "\nENTERで「元気…イッパイ…だぜ…ヘッ…」\nESCで、「ヒ…」":a=0
repeat:wait 1:stick key
if key&32 :a=1:break
if key&128 :end
loop
if a:cls :goto *selnum

461 名前:460 mailto:sage [2007/02/22(木) 05:07:35 ID:lPfRj7VD]
;6行目間違い。デバッグ用の数値のままだった。
a=rnd(43)+1:if r(a)=0:r(a)=1:break

462 名前:名前は開発中のものです。 [2007/02/22(木) 06:26:39 ID:TB+Oxm9G]
>>459
出来るなら [Ctrl]+[F9] で実行ファイル作ってる?



463 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 06:27:44 ID:PPY3Nm7Z]
>>453 ロト6のやつ
randomize: notesel a: repeat 43,1: noteadd ""+cnt: loop
repeat 6: i=rnd(43-cnt): noteget n(cnt),i: notedel i: loop
repeat 6: mes n(cnt): loop: stop

464 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 12:39:48 ID:ULv4wJip]
>460
オメスゲーナ。やり用によってはこうやってできるのか。
ちょっとわからんところ。
repeat cnt+1 の意味と最後にa=0とかa=1の意味とか、
良かったら教えてくれ。
if ってこういう使い方もあったのか。ヘルプだけじゃワカラン。

>462
内部エラー38とか言われる。何がダメなのかわからないので、晒してみた。

>463
重複が重複のまま・・。

465 名前:名前は開発中のものです。 [2007/02/22(木) 14:41:18 ID:TB+Oxm9G]
>>464
>内部エラー38とか言われる。何がダメなのかわからないので
「38 "外部DLLの呼び出しに失敗しました"」
hsp30のフォルダにあるhspda.dllを
作った実行ファイルと同じフォルダにコピーしる

466 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 15:15:46 ID:ULv4wJip]
>465
うぉうデキタ。トン
exeにしたときは同じとこにないとダメなのね。憶えた。
一緒にひっくるめてファイルにしてくれるもんかと思ってた。

できた記念に一口買ってくるヮ
8、11、12、16、19、38
思いきり当たらなそうだけどなーorz

467 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 15:43:16 ID:lPfRj7VD]
>>464
思いついて適当に書いたけど
問われて改めて考えると、バグの元や無駄があるのに気づくな…。

─repeat cnt+1 は─
無限ループに陥るのを回避するために、ループ回数を指定してるんだけど
「ランダムで数字を選んだ時、すでに選択した数字とカブってる」
という状況は、7回以上連続して発生してもおかしくないんで、
試行回数 cnt+1 では不十分だ…。

>463氏の、選択した数値を抜き取っていく方法なら、
同じ数値が選ばれる問題は発生しないから、そっちのほうがいいやね。


─a=0とかa=1は─
キー待ちループの所で、
どういう理由でループを脱出したかを、あとで判定するための
フラグ操作のつもりだったのだけど、
脱出する理由は一つだけなんだから、フラグ立てるまでもなかった。

repeat:wait 1:stick key
if key&32 :break
if key&128 :end
loop
cls :goto *selnum ;これで十分だった。



468 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:00:40 ID:u/uL+4lY]
HSPでRPG作ろうと思ってるんだけど、音楽の再生(BGM)までの時間遅くない?
これを皆さんどうやって解決してますか?

469 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:09:48 ID:5nAwOm3S]
なんじゃそら
データの無音時間が長いんじゃねえの

470 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:44:16 ID:TMK/38nP]
>>466 そぉい!

#define ALL 43 //0~42の合計43個から
#define NEED 6 //6個選ぶとして

dim a, ALL

repeat ALL
a(cnt) = cnt
loop

repeat NEED
idx = rnd(ALL-(cnt+1))
idx += (cnt+1)

//ここで2つをスワップ
tmp = a(cnt)
a(cnt) = a(idx)
a(idx) = tmp
loop
//処理が終了した、結果を確認 ****

repeat ALL
mes "a[" + cnt + "] = " + a(cnt)

if(cnt == (NEED-1)): mes "↑ ここまで"
loop

471 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 23:23:00 ID:MHAA7b9m]
#define ALL 43 //0~42の合計43個から
#define NEED 6 //6個選ぶとして

if ALL < NEED : dialog "ALL が NEED 未満\nALL="+ALL+" NEED="+NEED,1,"MyError!" : end

//初期化
dim a, ALL
repeat ALL : a(cnt) = cnt : loop

//シャッフル
randomize
repeat NEED
  idx = rnd(ALL-cnt)+cnt   //←*******ここ、これでもいけるんじゃね?*********
  //ここで2つをスワップ
  tmp = a(cnt) : a(cnt) = a(idx) : a(idx) = tmp
loop

//処理が終了した、結果を確認 ****
sdim result, 32*ALL : notesel result
repeat ALL
  noteadd "a[" + strf("%2d",cnt) + "] = " + a(cnt)
  if(cnt == NEED-1) : noteadd "↑ ここまで"
loop
mesbox result, ginfo_winx,ginfo_winy, 0

472 名前:名前は開発中のものです。 [2007/02/22(木) 23:57:08 ID:TB+Oxm9G]
>>468
.MID?
なら音の初期化に時間が掛かってる(仕様)
それが嫌なら MCI コマンド で
mpegvideoのデバイス使用したりすればいい

473 名前:名前は開発中のものです。 mailto:sage [2007/02/23(金) 00:14:35 ID:O0erhAiM]
BGMは普通にオーディオファイル使いなよ

474 名前:470 mailto:sage [2007/02/23(金) 10:12:11 ID:E2Prn5Yf]
>>471
指摘と訂正ありがとう!
言われて気づきますた。>>470は rnd() で拾う範囲が間違ってました。

475 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 19:54:37 ID:W+rZHJ8X]
>>468
___________________
| GuruGuruSMF            || 検 索 |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                         ↑

476 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 03:54:57 ID:VNaVZIL+]
SMFでBGM鳴らすと嫌がられるかもよ

477 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 06:18:25 ID:g1M1g916]
kwsk



478 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 14:44:33 ID:JBJKbo+u]
高性能なソフトウェア音源持ってるとオーディオ鳴らすよりメモリ食うから
ゲームの処理自体も遅くなるってことか>476

479 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 15:03:49 ID:AlLVbpDx]
俺もMIDIは嫌だな。
環境依存だから作曲者の意図した音色で鳴らないし、内蔵のはとにかく音がヘボイ。
外部音源(GM非対応)持ってるんだけど、MIDIのルーティングそっちにしてると
勝手に変な信号送るしな。

基本的には用量が小さい以外のメリットはないからオーディオデータのが良いよ。
フリー素材使う&レコーディング環境が無いならSMFデータでも仕方ないが。


480 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 16:42:45 ID:/zNzezvq]
mp3はライセンスがあれだからoggだね

481 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:02:00 ID:VNaVZIL+]
>477
俺が見てるゲーム系スレでMIDIだと一部に叩かれたりしてたってだけ
478-479みたいな話だった

俺もホムペでBGMにしてるとことかウザいし、内蔵の音嫌いなんで切っちゃってるがw

482 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:18:26 ID:fYDjuiva]
GGSMFは指定すれば外部音源も使えるが、
DirectMusicモードにすればどのパソコンも共通のDLSを使うんだぜ(そのDLSを変えれば別だが、普通はしない)。
処理は重くならない。

まぁ音がショボイのは髪の毛が抜けるほど同意なんだけどさ。

483 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:27:28 ID:fYDjuiva]
連ですまんが俺は

スーファミチックなグラフィック   = SMF
3Dなど、綺麗なグラフィックや世界観 = オーディオデータ

でいいんじゃないかと思っている
でもまぁ個人差はあるよね

484 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:52:08 ID:VNaVZIL+]
どちらもオーディオでいいと思うけどw
何らかの理由でとにかくデータを小さくしたいなら別だが

485 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 18:25:52 ID:AgVpiUO/]
ジャンルによるけど、オーディオだと素材が見つからないんだよね。
聴いたことあるやつだったりして萎えたり。

MIDIは豊富だけどどこもショボいし、
かといって自分じゃ作れないし…
はぁ

486 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 01:40:02 ID:57LQAIMh]
>>483
ああ、それ分かるわ〜
ファミコンチックな絵にはmusic.comのMMLで。

winで鳴らすプラグインあったよな…
いいわ。アレ。

487 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 01:53:38 ID:oDJiOUFE]
TSSで良いんじゃね。HSP用プラグインあるし。
あとMIDIデータがあるならGXSCCでオーサリングするとか。

とにかく環境依存のSMFは、技術的に他に選択肢が無い場合以外は回避が吉。



488 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 19:23:37 ID:RONGsV2o]
わかった!
別でソフト音源を自作して配布すれば人類みな兄弟だ

489 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 20:48:02 ID:SJxC1fKB]
そりゃPSGの時代にSCC積むってんなら分かるけど。
MIDIやmp3じゃだめなの?

490 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 20:54:27 ID:A8+9CQeT]
低脳回線の俺にとっては、5分くらいかけて一生懸命落としたやつが、
超ハイクオリティなオーディオデータ使ってても
内容が糞だと本当に萎える。
作者は自分の技量に合った容量の音楽データを決めてくれよな/(^o^)\ハッナザッワサーン

チラ裏だけど
俺はショボいMIDIのほうがゲームには味があっていいなと思う時がある

491 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 21:09:27 ID:I1DVp87U]
>作者は自分の技量に合った容量の音楽データを決めてくれよな
ムチャクチャ言うとるw

だからTSS使えと

492 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 22:17:32 ID:PGtAGC7+]
ここはミュージックフォーマットスレですか?

HSPの話題ないのかね

493 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 22:53:47 ID:oDJiOUFE]
TSSをHSPで使ってみよう

494 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 01:26:41 ID:sv8ON4Xo]
元から進行遅いんだし何話題にしてももうなんでもよくね?
と妥協気味なんだが。

495 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 04:16:21 ID:sv8ON4Xo]
というか、こういう話題で荒れなかったのは奇跡な気がしてきた。

496 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 17:27:06 ID:RL8xs1BY]
>467
レストンクス
cnt+1はそういうことだたのかー。
あの時はcntがどこにかかっているのかまだ良くわかってなかった。
でも これは (cnt+1/43)^(cnt+1) ってことで
確率としてはよっぽどと思うけど、
プログラマからすると高い方なんだろうか。
組んで計算してみようかと思ったけど、累乗してくれる命令が見つからない。
a=はフラグなのね。なるほどね。フラグってそうやって表すんか。
別のプログラムでこのやり方使ってうまくいった。勉強になりました。

>470-471
ようやっと仕組みがわかった。これも凄いな。
こういう発想は慣れればすぐ出てくるものなのかとただただ感心。
でもそれだけじゃ悔しいのであえていうと、
ロト6にゼロはないから、 a(cnt)=cnt+1にシル。

497 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 21:45:03 ID:nNF0epL2]
hsp wikiが

アクセス権限がありません

とかで見れない・・・俺だけ?



498 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 22:49:20 ID:5hSvgbhg]
見れるが

……何かやらかしたんじゃないだろうなw

499 名前:名前は開発中のものです。 [2007/03/02(金) 22:52:48 ID:xch9HBdf]
>>497
俺は開ける
ついこの前開発wikiが
>07/02/28から07/03/01までの間アクセスできない状態が続きました。原因はスパムによる高負荷だったようです。
だったみたいだから
そのうち繋がるんじゃね?


500 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 08:16:02 ID:/ZMyxF+O]
まりがとう。

ところで、
装備品やアイテムのパラメータがExcelで管理できたら
製作者的に便利だと思ったんですが、
HSPとのやりとりは難しいですかね・・・?

今はnote命令でやってるんですが視認性があまり良くなくて・・・

501 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 11:47:02 ID:b1MKL1pP]
>>500
本格的なxsl形式対応は難しくても、csvなら簡単じゃね?
まあ何をどういう感じにしたいのかは知らんが。

502 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 12:28:23 ID:WpAkZHyn]
>>500
今はどんな感じに(noteで読んでる)ファイル作ってる?

503 名前:名前は開発中のものです。 [2007/03/03(土) 13:18:13 ID:a544u/75]
HSP3です。
screen で作成したWindowを、HSPスクリプトディタみたく、
最大化ボタンを追加し、起動時に最大化を行う
(ただしタスクバーと重ならないように)
ようにする方法があれば教えてください。

Wikiの過去ログで最大化ボタンを追加する方法がありましたが、
タスクバーの後ろに画面が重なったり、
プログラム実行時、自動的に最大化する方法がわかりませんでした。

504 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 13:21:58 ID:/ZMyxF+O]
こんなカンジです
;武器データの例(各0行目=インデックス=武器ID)
;10行目;ファイル名,アイテム名,材質
;11行目;アイテムの説明
;12行目;損壊後ID,耐久度,重量
;13行目;切断力,刺突力,衝撃力
;14行目;対切,対刺,対衝
;15行目;切,穿,打
;16行目;構えN,構えT,構えW
;17行目;持易N,持易T,持易W
;18行目;価格,汎/重
;19行目;欠番(改行だけを入れる)

Excelだとフィルタとか使えてアイテム間のバランス調整が楽だなあと思いまして

505 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:07:38 ID:WpAkZHyn]
>>503
#uselib "user32.dll"
#func ShowWindow "ShowWindow" int, int
//  BOOL ShowWindow(
//    HWND hWnd,    // ウィンドウハンドル
//    int nCmdShow  // 表示状態
//  );
#func SetWindowLong "SetWindowLongA" int, int, int
//  LONG SetWindowLongA(
//    HWND hWnd,    // ウィンドウハンドル
//    int nIndex,      // 変更するデータの指定
//    LONG dwNewLong  // 新しい値
//  );
#func SetWindowPos "SetWindowPos" int, int, int, int, int, int, int
//  BOOL SetWindowPos(
//    HWND hWnd,            // ウィンドウのハンドル
//    HWND hWndInsertAfter,    // 配置順序のハンドル
//    int X,int Y,int cx,int cy,    //位置と大きさ
//    UINT uFlags            // ウィンドウ位置のオプション
//  );
#define GWL_STYLE                -16
#define WS_OVERLAPPEDWINDOW    0x00CF0000
#define SW_SHOWMAXIMIZED        3
#define SWP_FRAMECHANGED      0x0020
screen 0,ginfo_dispx,ginfo_dispy,0,,,640,480
SetWindowLong hwnd, GWL_STYLE, WS_OVERLAPPEDWINDOW
ShowWindow hwnd, SW_SHOWMAXIMIZED
SetWindowPos hwnd, 0, ginfo_wx1, ginfo_wy1, ginfo_dispx, ginfo_dispy, SWP_FRAMECHANGED

とりあえず作ったぜ?最大化はこんな感じ?
で、タスクバーが重ならないのはフルスクリーンではないのか?

506 名前:503 [2007/03/03(土) 14:33:02 ID:a544u/75]
>>505
早い回答ありがとうございます。
>>505の内容を新規作成で実行しましたが、ウィンドウがちらっと見えて速攻落ちました。
ちなみにこちらで作ってみたのを下に書いてみます。

screen 0,10,10,2
sz_w = ginfo(20)
sz_h = ginfo(21)
screen 2,sz_w,sz_h,,0,0
cls 4
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#uselib "user32.dll"
#cfunc GetWindowLong "GetWindowLongA" int,int
#func SetWindowLong "SetWindowLongA" int,int,int
#const GWL_STYLE -16
#const WS_MAXIMIZEBOX 0x00010000
ws = GetWindowLong( hwnd, GWL_STYLE ) //ウインドウスタイル取得
ws = ws | WS_MAXIMIZEBOX //最大化ボタン表示フラグを追加
SetWindowLong hwnd, GWL_STYLE, ws //ウインドウスタイルを再設定
gsel 2,-1 : gsel 2,1 // [最大化ボタン]再描画のため
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

>で、タスクバーが重ならないのはフルスクリーンではないのか?
フルスクリーンというのは、↓こんなのですか?
;$$$$$$$$$$$$$$$$$$$$$$
bgscr 2,ginfo(20),ginfo(21),,0,0
cls 4
;$$$$$$$$$$$$$$$$$$$$$$
というより、やりたかったのは最大化ボタンで最大化するとタスクバーを避けた範囲で最大化し、
タスクバーの高さをちょこちょこいじっても、追従してウィンドウの下枠が移動してくれるのです。

507 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:46:03 ID:WpAkZHyn]
>>506
落ちたっすかwwwwwwサーセンwwwwwww
そのままコピペして全角スペース残って無いだろうな?#defineの所。もし、そうならプロセスが残ってるはずだ

>フルスクリーン
そんなの

>追従してウィンドウの下枠が移動
そのスクリプトでその通りに動いてるが?というかWindowsが勝手にやってね?



508 名前:506 [2007/03/03(土) 14:54:53 ID:a544u/75]
>>507
もうしわけございません。//の行をそのままやってました。
ちゃんと整理すると思い描いていたとおりの動きで感激です。
かなり嬉しいです。どうも。

509 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 19:32:20 ID:Ia/P8ltl]
>>507
見吉ィぃぃぃぃいぃぃ!!!!

510 名前:名前は開発中のものです。 [2007/03/04(日) 17:15:14 ID:wznVdj4V]
突然の質問失礼します。Pcbnet2のサンプルのsample01_SimpleChatをコンパイル+実行
してみたのですが、HSP3ではエラーになってしまいます。
ソースコンバータ(HSP2をHSP3に変換してくれる)にかけたのですがサーバ側は問題
ないのですが、Client側でエラーが出てしまいます。
85|*main
86| tcpfail soc
87| if stat : tcpclose soc : dialog "接続が切断されました!",1 : end
88| tcpgetl buf,1024,soc
89| if stat : gosub *recv
90| instr a,msg,"\n"
91| if a!-1 : gosub *send
92| wait 1
93| goto *main

line89がエラーと出るのですが、どうしたらいいでしょうか? 教えてください

511 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 17:42:38 ID:S2R5w3OY]
>>510
ソースコンバータを過信しすぎだな。
HSP3.1b7で実行すれば、エラーメッセージに原因が表示されるぞ。

512 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 18:57:05 ID:YMvgADvJ]
instrを関数にしろ

513 名前: [2007/03/05(月) 00:21:04 ID:6FToFsAD]
>>512
instrを関数にしたいのですが、例えばa=instr(p1,p2,"string")ですよね?
このa=のaの部分を何にすればいいのかわかりません;;
>>511
早速DLしてきて試してみます! ありがとうございます ペコリ

514 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:26:34 ID:ao1dJWki]
>>513
ヘルプ見ろって・・・
>instr(p1,p2,"string")

>p1=変数名 : 検索される文字列が格納されている文字列型変数名
>p2=0〜(0) : 検索を始めるインデックス
>"string" : 検索する文字列
これでインデックス(自然数)が返ってくる。無ければ-1が返ってくる

515 名前: [2007/03/05(月) 00:34:38 ID:6FToFsAD]
>>514
すみません;; 本気でわからないのですが、instr(a,msg,"\n")では
パラメータ式の記述が無効です。
ってなります;;

516 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:35:14 ID:6FToFsAD]
↑ごめんなさい、1じゃないです。

517 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:48:28 ID:ao1dJWki]
>>515
C言語とかだと有効だけど、HSPでは関数の戻り値を入れる変数が必要
つまり、index=instr(a,msg,"\n")みたいな感じで。
というか、戻り値使わないと関数を実行する意味無くね?



518 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 01:10:21 ID:6FToFsAD]
ほんとにすみません;; index=のindexの部分を何にすればいいのかわかりません。
instrでmsgから"\n"改行?を探してるのかな?ってぐらいにしかわからないです;;

519 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 01:36:15 ID:6FToFsAD]
あ! HSP2のinstrのヘルプ見てわかったんですが、a=(msg,,"\n")にしてやればいいのかな?
ですが、これで実行してみるとチャット欄にhelloって文字を打ちエンター押すと
10行ぐらいhelloってずらずら続いてしまいます・・・・
やはり違うのかな・・・・

520 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:07:49 ID:ao1dJWki]
index = instr(msg,0,"\n")
これでmsgの中身をインデックス0(1文字目)から検索して"\n"があるインデックスがindexに入る

例 : msg = "hello\n"の時
6文字目にあるのでindexには5が入る。

521 名前:名前は開発中のものです。 [2007/03/05(月) 02:11:49 ID:6FToFsAD]
>>520
はい、そこまではわかりました。 でも、こんどはメッセージを送信したときに
メッセージがずらずら〜っといっぱい出てきてしまいます;;
Test17>test
Test17>test
Test17>test
Test17>test
Test17>test
こんな感じです;;
もう、思いつく限りの関数はHSP3用に直したのですが・・・;;
原因がさっぱりです

522 名前:名前は開発中のものです。 [2007/03/05(月) 02:14:37 ID:6FToFsAD]
*send
s=msg
instr a,s,"\n" //ここもa=instr(s,,"\n")に直しました
getstr ss,s,a+2
poke s,a,0
s+=ss
buf="say "+s+"\n"
tcpput buf,soc
objprm 0,""
return

523 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:36:17 ID:ao1dJWki]
//動作がよくわからなかったのでためしに書いた。
s = "0123456789\nabcdefg"
ss = ""
a = instr(s,0,"\n")
mes a
getstr ss,s,a+2
mes ss
poke s,a,0
s+=ss
mes s

つまり文字列途中の改行を抜きたいってことでいいのか?
もしそうならinstrとstrmidをセットで使ったほうが楽
strmid(buff,instr(buff,0,"\n")+2,256)
これでbuff内の\n以降が取得できる。

余談だが、\nって二文字分なのな。\n\rに変換してるってどっかで見たが・・・

524 名前:名前は開発中のものです。 [2007/03/05(月) 02:48:59 ID:6FToFsAD]
>>523 さん ほんとうにありがとうございます。
いぇ、改行を抜きたいのではなくて、pcbnet2のサンプルのsample01_Simplechat
をHSP3で正しくコンパイルしたいだけでして・・・;;

525 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:54:53 ID:ao1dJWki]
>>524
というか俺、さっきも書いた気がするがHSP3から入ったからHSP2の知識が全く無い。
移植そのものの役には立てそうにない。
しかし、良いスクリプトってだいたいHSP2だな・・・

526 名前:名前は開発中のものです。 [2007/03/05(月) 02:58:45 ID:6FToFsAD]
>>525
ですねぇ;; ソースコンバータがもっとバージョンアップしてくれれば・・・・
             ↑
          すごい他力本願^^;

527 名前:名前は開発中のものです。 [2007/03/05(月) 03:54:46 ID:IdxZqlrk]
>>522
msg=""
objprm 0,""
return

一応これで出来た
hsp2だと objprm 0,"" で使ってるバッファも影響受けるのかな?




528 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 03:57:48 ID:ay926VlW]
なんかごちゃごちゃやってるみたいだけど
ソースコンバータ通したスクリプトを

90行目
a=instr(msg,0,"\n")

135行目
a=instr(s,0,"\n"):msg=""

にするだけの話だぞ

529 名前:名前は開発中のものです。 [2007/03/05(月) 04:04:56 ID:6FToFsAD]
>>528
おお!! でけた! 528さん、ありがとうございます;;
このサンプルでpcbnet一生懸命勉強しようと思います。
どうもありがとうございました ペコペコ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef