トップページgamedev
1001コメント272KB

HSP - Hot Soup Processor [8]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/08/05 17:33ID:uVX1jKHB
関連サイト
  ONION software (本家)
   http://www.onionsoft.net/
  HSP CENTER
   http://hspcenter.com/
  HSP ML
   http://garde.esprix.net/hsp-ml/

誰かDtHSPpOH ◆kxrJVlZ8OEに答えてやれよ。
誰かが答えないと永遠に質問繰り返しそうだぞ。
それにマルチで他のスレにも迷惑がかかる。
0101 ◆HOTsoUpxjY 04/08/16 21:51ID:NdsK9cQC
>>99
onexit…ほすぷ!
0102名前は開発中のものです。04/08/16 21:58ID:k1sOyoOU
getkey a,36
if a:end
onexit *l

×をクリックしてもAlt+F4を押しても無駄。これ。
だが36が何のキーかわかっていれば怖くもなんともない。
ま、初心者は強制終了で回避しなさいってこった。
0103名前は開発中のものです。04/08/16 22:00ID:k1sOyoOU
>>変数に入ってる数値を文字列としてとりだすにはどうするですか?
というか、そもそも



moji=hensu : str mojiで十分だろ。と。
0104名前は開発中のものです。04/08/16 22:11ID:EmJrywdV
釣り糸を見つけただけでひどいはしゃぎようだな。
養殖産か?
天然ならもっと釣り糸を食いちぎるくらいにょぁけいgj・;ほんたま。あえいh
0105名前は開発中のものです。04/08/16 23:12ID:FemptPDc
>>103
おれはこういうことを言ってるんじゃないかと思ったんだが。。

a=566287042
s=""
memcpy s, a, 4
mes s
stop
0106名前は開発中のものです。04/08/18 18:07ID:z3bBlp8H
>>105
えええ?どゆこと?
0107名前は開発中のものです。04/08/18 18:21ID:YLzITXg7
右上の×ボタン(閉じる)を押したら gosub っていう風にしたいんですがそんなコマンドってあります?(ってかできますか?)
0108名前は開発中のものです。04/08/18 18:38ID:7eUQAifl
>>107
gosubか。onexitあげるから自分で考えなさい
0109名前は開発中のものです。04/08/18 20:52ID:IDfPpqsf
>107
一般的には、wait,awaitをモジュール内のみで使うようにして、onexit先からreturn。
ただし、loop中だとcntが初期化され、stopのある場所ではどうにもならん。
0110名前は開発中のものです。04/08/19 10:31ID:KJCYxvbp
;なんでこれでフェードになるかわからない(´・ω・`)
;gmodeの半透明の数値の法則教えてください
buffer 1
cls 4
gsel 0
repeat
gmode 3,,,1
gcopy 1,0,0,640,480
await 0
loop
0111名前は開発中のものです。04/08/19 10:54ID:2+oR/qWp
>>110
同じ画像が1/256の透明度で画面に上書きされていくからフェードになる。
011211004/08/19 11:12ID:KJCYxvbp
>>111
おお!なるほど。画面をクリアする命令をいれたらうまくいきました。
こんな時間からすいません。dクス
0113名前は開発中のものです。04/08/19 17:33ID:xMBklbI2
四角形のウィンドウではなくて
特殊な形をしたウィンドウを作れますか?
0114名前は開発中のものです。04/08/19 19:32ID:Fe7kAI51
作れる。
そういうプラグインもあるし。
0115名前は開発中のものです。04/08/20 00:35ID:v73mL9b9
mesboxの背景色をグレーではなく透過色にしたいんですが、
どうやればいいんでしょうか?
0116名前は開発中のものです。04/08/20 22:02ID:L/uIGgO9
>>115
半透明ウィンドウを作って、最前面表示させる。
0117名前は開発中のものです。04/08/21 01:30ID:glKoUJbC
>>115
サブクラス化する
0118名前は開発中のものです。04/08/21 12:29ID:RkZ22lhv
指定キーを指定時間だけ押す命令ってないですか?
0119名前は開発中のものです。04/08/21 12:48ID:IUeRTr/R
aplkey
0120名前は開発中のものです。04/08/21 13:17ID:FrQeoPag
で、HSPのデコーダーって結局どこいっちゃったの?
0121名前は開発中のものです。04/08/22 19:25ID:r6RWoogF
>>70
勝手に俺の作品出してる
俺の失敗作を・・・・
0122名前は開発中のものです。04/08/22 20:43ID:QBbw04Nn
コンテストにだすなよ
0123名前は開発中のものです。04/08/22 21:08ID:JfUIgF6K
勝手に!?著作権法違反だ!!!京都ry
0124sino君04/08/23 07:44ID:JrnnRHlC
僕のがHSPコンテストに試しに出して見た作品なんですけど、
もちろん評判悪いです 作ったきっかけは 小6の時にHSPで、
くだらないOS作ってみようと思ったんです。
でもこのソフトのせいで皆さんを不快にさせて申し訳ありません。


>>70 だからってぼくがHSPに出しても2ch勝手に出すのはやめて下さいよ
0125sino君04/08/23 07:47ID:JrnnRHlC
申し遅れましたが
>121番は僕です
0126名前は開発中のものです。04/08/23 09:36ID:hh15+HtS
ウンコウズの粘着厨どっか逝け。
0127名前は開発中のものです。04/08/23 11:29ID:24WA5Ghh
くだらねぇ
0128名前は開発中のものです。04/08/23 21:13ID:6XfKDPGp
>>124
去年のマサ君ってキミ?
0129sino君04/08/24 09:04ID:2FhcZCoC
>>128
違います
僕はマサ君ではないです
0130名前は開発中のものです。04/08/24 14:06ID:csX+wOGz
どっちにしてもコテ付けないで消えてね。早く夏休みの宿題片づけなさい。
0131名前は開発中のものです。04/08/24 20:48ID:lqf4V61i
>129
ピラミッドをパクッたのは君?
0132名前は開発中のものです。04/08/25 00:28ID:1bQF38/E
何でうんこを題材にしたんですか?
0133名前は開発中のものです。04/08/25 21:10ID:8KbiaLeU
#module〜#global間とそれ以外でも同じ変数として扱いたいのですが
どうやればいいんですか?
C言語のグローバル変数みたいな感じです。

0134名前は開発中のものです。04/08/25 21:57ID:Lx+3Kg7I
>>133
アットマーク ピピン で ぐぐれ
0135名前は開発中のものです。04/08/26 22:01ID:ZKFmTP+b
hsperun.exeを開くと必ず内部エラーが出るんですが、何故でしょうか?
0136名前は開発中のものです。04/08/26 22:09ID:GMn/SY28
>>135
環境も書かない で ぐぐれ
0137ウンコウズ2004X04/08/27 15:45ID:wW8N2JjM
ウンコウズ2004Xの作者ですが何か?
0138名前は開発中のものです。04/08/27 22:43ID:tDcPTgtX
別に何も。
0139名前は開発中のものです。04/08/27 22:57ID:9GP1HFA7
ウンコウズXPの開発者ですが何か?
0140名前は開発中のものです。04/08/28 02:40ID:IJbhzZXI
ウンコウズ2004Xですが何か?
0141名前は開発中のものです。04/08/28 02:54ID:JsUuUySk
うんこですが何か?
0142名前は開発中のものです。04/08/28 13:44ID:XQNbxVw9
2007年ウンコウズ発売決定!
0143名前は開発中のものです。04/08/28 16:32ID:V2siQa21
>>137-142
頼むからム板でやってくれ
0144名前は開発中のものです。04/08/28 16:36ID:6yv19I3A
作者はリア消で煽ってるのはリア厨か?
0145名前は開発中のものです。04/08/28 18:54ID:mbs2tLzF
>>143
まあやってるのは一人なんだろうけどな
0146名前は開発中のものです。04/08/28 19:19ID:0/2PaZim
Cで言うところの

int a; char b;
a = 12
b = "a"+a

みたいなインチキ文字列変換ってHSPではどうすれば出来るでしょう?
いや、別にあるなら b = chr( str$("a") + a ) でも良いんですが。
0147名前は開発中のものです。04/08/28 19:38ID:WO94nHPF
a = 12
b = ""
poke b, 0, 'a' + a

かなぁ。簡単に書くなら。
文字コードからcharに変換する手段ってpokeぐらいかなぁ。
そういうマクロ作っちゃえばいいんだけど。


#define ctype chr(%1,%2) %1="":poke %1,0,%2

a = 12
chr(b, 'a' + a)

mes b
stop
014814604/08/28 19:53ID:0/2PaZim
おー、出来ました。どうもありがとうございました
0149名前は開発中のものです。04/08/28 21:51ID:7bcwZdBq
>>143
ム板に来てもらっても困るこっちで対処しれ
0150名前は開発中のものです。04/08/29 05:21ID:dddTVq7f
ウンコウズ作った奴
キモスギ
0151名前は開発中のものです。04/08/29 08:32ID:qxaEzTyc
>>150
・・・・っつーかヲチはスレ違いだっての。
ム板に行ってもらっても困るから
ヲチ板にでも行ってスレ立ててこい。
0152名前は開発中のものです。04/08/29 14:14ID:2HgU9CsN
リストボックスに数個項目を表示させて、その表示された項目をクリックすると
どこかにメッセージが出るようなプログラムってかけますか?

リストボックスを表示させるところまでは出来たんだけど、そこからがわからない…
だれかわかる人いたら教えてください。

num=2
listbox num,100,"項目1\n項目2\n項目3\n項目4"
stop

で、たとえば項目1を選択するとなんかメッセージが他の場所に出るような…
0153名前は開発中のものです。04/08/29 14:41ID:L6Tbm1GI
わざと変な風におしえてみよう

num=2
listbox num,100,"項目1\n項目2\n項目3\n項目4"

repeat,num
wait 1
if num^cnt:dialog ""
continue num
loop
0154名前は開発中のものです。04/08/29 15:10ID:208IVyC3
HSPってイベントドリブンが弱いよな。
どうせ内部でメッセージ捕まえてるんだから
特定のメッセージが来たときに特定のラベルにジャンプするような
プログラムができるようにすればいいのに。
0155名前は開発中のものです。04/08/29 15:16ID:L6Tbm1GI
listbox や combox も button みたいな動作をしてくれたらね。。
あらゆるメッセージを取れたら理想だけど
0156名前は開発中のものです。04/08/29 15:16ID:2HgU9CsN
えと,dialogのところを:pos ***,***:mes ""っていじったら、
なんとなく自分のやりたかったことができたんですが
まだ、ちゃんと実現は出来てません。。。
俺が、プログラムをちゃんと読み解けてないんで
これからがんばって、改造できるようにします。。。
(TдT) アリガトウございました。

プログラムズイ
0157名前は開発中のものです。04/08/29 15:41ID:LDbkJNa5
CPUを占有して、他のゲーム等の実行速度を落とすような事をしたいんですが、
waitを入れないと全部止まるし、適当な処理+await 1 では思ったより速度を落とせません。
何かいい方法無いですか。

objmode 1
screen 0,300,60,4
mode = 0
ct = 50000
input ct,100,30,7
objsize 100,30
pos 0,30 : button "開始",*kaisi
pos 100,30 : button "停止",*teisi
*main
if mode = 1 : gosub *waiting : await 1 : goto *main
stop
*kaisi
mode = 1 : goto *main
*teisi
mode = 0 : goto *main
*waiting ;時間稼ぎ処理?
dum = 1
repeat ct
dum = dum + 1
loop
return
0158名前は開発中のものです。04/08/29 15:46ID:JAndd3aX
特定の回数ごとにawait入れとけ
0159名前は開発中のものです。04/08/29 15:57ID:L6Tbm1GI
それ以前に、プライオリティクラスの格上げが要ると思う。
それでもNT系だと大して重くならないけど。
016015704/08/29 17:33ID:LDbkJNa5
優先度を「普通」から「高い」にしたらかなり派手に重くなったので
ここから調整出来ないか試してみまつ。thx
0161名前は開発中のものです。04/08/29 22:22ID:JAndd3aX
自分で使う分にはいいけど、公開には厳しいよなぁ。。。
0162名前は開発中のものです。04/08/29 22:59ID:NIUWb1FN
他のアプリをわざと重くするようなソフトは利用者にボコボコに叩かれるぞ、
実験的な物ならいいが、配布は考えない方がいい。

ただでさえHSP製のソフトはシステムに負荷が掛かりやすいので、
プライオリティは上げるべきではない。
(と、HSPの裏ワザのページでも注意していたな)
0163名前は開発中のものです。04/08/29 23:20ID:JAndd3aX
HTとかだったら意味無いかもしれんし。
0164名前は開発中のものです。04/08/29 23:50ID:L6Tbm1GI
たいしたことないよ、似非 Dual。
0165名前は開発中のものです。04/08/31 16:45ID:LPyXsTFz
RPGのアイテム実装が上手く出来ないyo!
0166名前は開発中のものです。04/08/31 19:25ID:Vt99nhBs
>>165
詳しく書かなきゃ誰も答えてくれないyo!
0167名前は開発中のものです。04/08/31 21:42ID:xieCU++w
xの平方根はどう表しますか?
0168名前は開発中のものです。04/09/01 08:35ID:khTX0zoI
命令リファレンスを「平方根」で検索しる
0169名前は開発中のものです。04/09/01 15:42ID:bY97cPix
ども
0170名前は開発中のものです。04/09/01 18:08ID:BF3KezQ+
//ベータに長文荒らしか、理解してから物言えと
0171名前は開発中のものです。04/09/02 17:53ID:UVXDAMtx
命令リファレンスってなんですか?
0172名前は開発中のものです。04/09/02 18:01ID:ssP0OBi5
>>171
逝ってよし
0173名前は開発中のものです。04/09/02 21:13ID:PD62Spqe
初心者質問スレで本家行けといわれたので質問です。

HSPのオフィシャル本を買ったのですが付録CDについている
ビューキャプチャーってありますよね?
あれをちょっと改造してテキストを読み込めるようにしたいのですが
どれを削って何を補えばいいのかさっぱりわかりません。
.scnを読み込んだ奴でオリジナル版は
一行目 画像,音
二行目 シナリオ(カンマで改行)
三行目 選択肢、飛び先:選択肢、飛び先:・・・
を繰り返す奴なんですがなんか、
ごちゃごちゃしてて自分の技量がついてってくれません。

一行目 質問文
二行目 選択肢(二択)
三行目 片方のに対しての反応
四行目 他方に対しての反応
五行目 質問文
・・・
という風にしたいのですが・・・。

オフィシャル本っていうのはこいつです。
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0821-4
0174名前は開発中のものです。04/09/02 21:39ID:yWTDix1E
>>173
改造は難しいから諦めたほうが良いかと
ひとつひとつ命令を覚えて自力で0から構築したほうが良い

たぶん今のレベルだとコードを示して貰っても意味は理解できないと思う。
0175名前は開発中のものです。04/09/02 21:40ID:8AsoM2EY
ここは本家じゃないんだが……。
0176名前は開発中のものです。04/09/02 22:36ID:9mSmR2oo
誰か命令リファレンスってなんなのか教えて〜
0177名前は開発中のものです。04/09/02 22:41ID:u1r5csrr
reference=参照
0178 ◆HOTsoUpxjY 04/09/02 22:42ID:yN/iQrjx
>>173
「View Chapter」ね
本家はHSPの公式の掲示板、だけど行かなくてもいいよ
単にメモリーパッド命令で変数に読んどくだけじゃん

選択肢とかは本体のコードの方で実現する訳でしょ
あと質問文から始まるブロックを区別するために
なんでもいいから印つけてそれを判別する

>>176
HSPをインストするとマニュアルインデックスというのが見れる
そこに命令リファレンスというのがあってHSPの命令が詳しく書いてあるよ
0179名前は開発中のものです。04/09/02 23:50ID:LXix11hD
釣りじゃないのか?
リファレンスって言葉がわからなくても
命令を知りたけりゃ普通ヘルプを見ると思うんだが・・・
0180名前は開発中のものです。04/09/03 00:28ID:PE4Uzv16
この文体からして奴っぽい。
放置推奨。
0181名前は開発中のものです。04/09/03 00:37ID:oTV4m4BN
SpellChapterの後身ソフトなのかな?
TAKERUが終了する間際にそんな名前のADVツール
(といってもデジコミくらいが関の山)を買った。
どっちもTKO絡みっぽいし。
0182名前は開発中のものです。04/09/04 16:22ID:E1G1YdXE
シューティング作っていあす。分からないことがあったら教えてください。
0183名前は開発中のものです。04/09/04 16:49ID:cvbkjZVC
わからないことがわからないえす
0184名前は開発中のものです。04/09/04 22:57ID:ibTTTM6H
すみません、質問です。

HSPでマウスのホイール(中ボタンの上下スクロール)を
検出するにはどうしたらよいでしょう?
中ボタンのクリックは検出できても、スクロールは取れなくて困ってます。
やっぱりWindowsAPI使うしかないんでしょうか?
0185名前は開発中のものです。04/09/04 23:01ID:BxH7154J
Win32API使うしかないね。

Get(+Translate,Dispatch)Messageをループに入れれば
DLL無しでもできるけど。
018618404/09/05 01:02ID:uPdLgQdF
なるほど、やっぱりWinAPI使うしかなさそうですね。

>Get(+Translate,Dispatch)Messageをループに入れれば
>DLL無しでもできるけど。
これはよくわからないです。

ありがとうございました。
0187名前は開発中のものです。04/09/05 01:06ID:/HvBCjSz
>Get(+Translate,Dispatch)Messageをループに入れれば

( ゚д゚)ポカーン
0188名前は開発中のものです。04/09/05 01:57ID:3HnSk4Yy
GetMessage〜
TranslateMessage〜
DispatchMessage〜

をLORDLIB機能で呼び出せばHSPスクリプト上で、
全てのメッセージは取れるが
要らないメッセージをウィンドウズに返すことが出来ないので
HSPスクリプトはそこで毎回処理待ち状態で停止する。
(ループ内に書けばループ一回ごとに処理待ち停止)
GetMessageの前にPeekMessageでキューを確認してから処理すれば
若干ましな動作になるが、さらにHSP本体のメッセージ処理のことも
考慮する必要があるため、レスポンスはかなり悪くなる。

念のため、これらは全てWINAPIであってHSPの標準コマンドではない。

HSPスクリプト上での処理は実用性が低いので、
個人的にはサブクラス化をしてメッセージ処理が出来る
拡張ランタイム(hsgmrt.hrt)でコンパイルすることをお勧めする。
0189名前は開発中のものです。04/09/05 02:36ID:ADxc4IyV
>>184
β板でおにたまに頼み込む。
3Button(以上)じゃないマウスなんて今時かなりすくないだろ。
0190名前は開発中のものです。04/09/05 10:39ID:m9wQKMLO
#define WA_NODEBUG
#include "wam\\user32.as"

repeat
    PeekMessage PTR(msg), PRMHWND, $20A, $20A, 0
    if dllret{
        wheel = HIWORD(msg.2)
        if wheel > $7FFF: wheel = wheel | $FFFF0000
        mes wheel
    }
    await
loop
stop

用途が限られる、確実ではない、など問題抱えまくりだが。
019118204/09/05 17:34ID:eM0q8RQX
シューティングで自分の座標がx,y敵の座標がx1,y1で当たり判定するとき
if (x=x1)&(y=y1) : end
とするとピッタシ重なったときしか当たり判定できまえん。
分かりません。
0192名前は開発中のものです。04/09/05 17:47ID:nhbtuZoa
HSP 当たり判定
↑グーグルつかって検索してみれば良いと思うよ。
0193名前は開発中のものです。04/09/05 18:10ID:bj9htMv1
これはHSPの質問とは違うなw
0194名前は開発中のものです。04/09/05 18:17ID:L9sJyZWG
しかしHSP初心者の質問ではある
0195名前は開発中のものです。04/09/05 19:50ID:m9wQKMLO
ObjectA   ObjectB
点1     点3
 | ̄ ̄ ̄|  | ̄ ̄ ̄|
 |     |  |     |
 |___|  |___|
     点2      点4

ObjectAとObjectBが重なっているとき
点1は点4と等しいかそれより左にある。
点2は点3と等しいかそれより右にある。
点1は点4と等しいかそれより下にある。
点2は点3と等しいかそれより上にある。
(逆の場合、重なり得ないので。)
0196名前は開発中のものです。04/09/05 20:57ID:j/kwO/lw
20x20重なり
if (x-x1/10=0)&(y-y1/10=0) : end
0197名前は開発中のものです。04/09/06 17:20ID:g/OzmxPB
さめがめのようなものを作っているのですが
消去できるかの判定で困っています。

今は
★=1 :▲=2 :●=3 :■=4
とした場合
二次元配列にその数値を代入し
左上(0.0)の右と下を調べ同じ数値ならそこから再び上下左右を調べ
それをと右下の配列まで繰り返しています。
そして3つ以上繋がっているところがあれば消去可能といった感じです。

これだとかなり無駄があるような気がするのですが
もっと効率の良い方法ってありますか?
0198名前は開発中のものです。04/09/06 22:00ID:Hh6mgCOA
さめがめ程度の要素数でちゃんと判定できてればそれで十分だと思う。
真面目にやるんなら塗り潰し、アルゴリズムあたりでググれば参考になる
サイトも出てくると思うけど正直大して高速化しないと思う。
0199名前は開発中のものです。04/09/06 22:57ID:OVwqkKA+
オンデマンドでやるなら再帰使えばいい。
全体に消せるかどうかの表示をするならまだしも
普通はクリック又はマウスオーバーで判定だろうし。
0200名前は開発中のものです。04/09/07 00:05ID:BivJdpsi
ソフトサイトからDLしたゲームを
プレイしようと思ったんだけど、「画像が表示されません」と出ます。
同様に、プログラミングで画像を出そうと思っても同系統の受け答えが帰ってきます。
解決方法などがあったら教えてください・・・
0201名前は開発中のものです。04/09/07 01:34ID:WaK+rGCL
>>200
1.ダウンロードしたゲーム全て同じ症状なのか?
2.具体的にどういうスクリプトを書いたのか?
3.画像・ゲームを置くフォルダはどこにあるのか?
■ このスレッドは過去ログ倉庫に格納されています