ないブログに表示されています。新しい記事を書く事で広告が消えます。電源タップをイオンで25元(約500円。高い)で買ったものの、しょっぱなからLEDすらつかないので中身を見てみたら、見事に半田が剥離してた。見た目からして品質が怪しかったけど、一旦日本に帰るまでの辛抱だと思って買ってみたら、これ以上ないくらい見事なまでのちゃいなくおりてーだった。これはもう、中学校の技術の授業とかに教材として使えるレベルなんじゃないかと思った。ちなみに、日本だったら100均でももっとマシなのが売ってる。ホントにちゃいなってくおりてーが低いんだな・・・。まともな店だからまともなものが売ってるかと思ったら、「安かろう悪かろう」じゃなくて「高くても悪かろう」だったとは。この言葉は日本にしか通用しないらしい。右に張ってあるのは見てのとおり、合格証である。検査の瞬間さえ通過すれば合格であろうことは言うまでもなかった。much?」と聞かれた。これには裏があるようだ。歩合制だったとしても給料に反映される取り分は極めて少なく、せいぜい1/20や1/30だろう。日本円で3000円の売り上げを出したら300円その月の給料が増えるとか。仮にメーターを回さなかった場合、それは監視されていない限りは空車のまま回送しているのと同じことになる。その間に客を乗せていようがいまいが、稼ぎはゼロだ。会社への売り上げにもならない。メーターを回さないで客を乗せた場合はどうなるか。自分が走ったことで儲けたお金を、管理元であるタクシー会社が8割9割ピンハネする代わりに、車を貸して商売させていて、福利厚生(があるかは知らないが)を保障するのが本来の会社契約だろう。逆に言えば、売り上げの大半は会社にピンハネされるということ。売り上げにはならないので自分の営業成績は悪化するが、ピンハネされることもない。客をひたすら拾っては直接金を受け取れば、自分は大もうけということになる。日本のように、いちいちそういうことをするタクシーを通報するようなクソ真面目な人間などいないし、今どこを走っているか監視もないので、やりたい放題だ。ところが、メーターを回さないと最終的な金額が分からない。「俺はメーターを回す気は無い。much?」が出てきたのだろう。本来なら一度走れば大儲けなのだから、相場よりもかなり安めでもOKするはずだ。much?」と聞かれて、目的地までの相場が分からないのであればふっかけられる可能性があるため、そのタクシーは断る方が無難だ。逆に、相場をしっかり知っているなら、かえって安くタクシーが利用できるチャンスでもある。正規のタクシーは白タク(モグリ)よりも遥かに安いので、ある意味でありがたい。こんなのは中国では日常もいいところなんだろう。注意点は、正規な料金が分からないため領収証を切ってくれないこと。領収証が欲しいなら、メーターを使えと指示するべし。動画で使えるようにするために、ハイヌ氏のレミリアを改造中。髪が伸びてますが、長い版と短い版を作る予定。データ置き場からどうぞ。戦果クリア機能が消えてたので、修正しました。ご報告ありがとうございました。(0)edit指定の乗り物を取得するコード2014-05-14GTA関連DOFさんへの返信用記事です。自分で追加したメモリプールの0x000番地に書き込むためのものです。下のMemoryPoolルーチンでメモリを確保します。0が8つあるので最大0xFFFFFFFFまで、つまり4byteデータを1つ格納できます。それを5つ用意してあります。私は基本的に4byteメモリを1変数として使っています。次にGetPointerルーチンは、メモリプールのMemoryPoolの位置を調べてそのメモリ上のアドレスを変数30@に書き込む処理です。@GetPointerと書いておけば、以降30@を基準として追加メモリにいつでもアクセスできるようになります。30@はcs内では絶対書き換えないようにしましょう。全てを、ハンドルの数値が若い順から1つずつ探していきます。1つ見つかったら、その乗り物とCJの距離を計算し、記憶します。同時にその乗り物のハンドルも記憶しておきます。次の乗り物を探し、またその乗り物との距離を計算し、もし現在記憶している距離よりも短ければ上書き記憶します。これを全ての乗り物に対して実行すれば、最期に記憶された乗り物はCJとの距離が一番近いものです。ここで、このコードでは「CJとの距離」を条件にしています(赤字部分)が、これを「規定の直方体の中にある乗り物で、最初に見つかったNGR500」に変更すれば、GetNearVehicleを呼び出した時に規定の範囲内にNGR500が存在するかをチェックできます。存在していたなら何もしなくていいですし、1台も見つからなかった時はその範囲内の指定の位置に生成させればOKです。あとはそのチェックするタイミングですが、これはCJが規定範囲内のある位置から一定距離離れた瞬間とか、一定時間ごとなど、色々やり方はあると思います。́・ω・`)ノシかなりアバウトな内容だとは思いますが、ほとんど全てを書いてます。地味な変更ですが、フェードモードが以前よりも滑らかに動くようになっています。微少な距離での動作も不正な動きをすることなく、正確に動作します。このエンジンは下で書いた原理をそのまま実装してあります。動作にはCLEO4のインストールが必須ですのでご注意下さい。間が空いたけど、続き書くよ!前回のおさらい。・・・1こういう式がありまして、これをグラフに描画するとこうなるんでした。これは入力するべきxが-6~+6で、使いづらい。xの値域を0~1にして、適宜ゲインをかけて調整できるようにしたいってことでした。ちなみに、こんな風に使いやすい値(1とか)で処理できるように改良することを「正規化」と呼びます。「~をまとめて1と考えると」などの思考は皆さん日常でも頻繁に使っていると思いますが、それがまさに正規化です。鉛筆12本を1ダースとして処理するのも、一種の正規化です。ことで、上の式を「正規化」して・・・2という式を作りました。これは要するに、zに0~1を入れたとき、1の式でxに-6~+6を入れたときと同じ結果になるようにしようというのが目的でした。xにその値域を入れるということは、-ax(eの指数)の結果は※a=1とするx=-6のとき、-ax=6x=±0のとき、-ax=0x=+6のとき、-ax=-6です。zを入れてこうなってくれるでしょうか。z=0のとき、eの指数=6z=0.5のとき、eの指数=0z=1のとき、eの指数=-6ちゃんとできてますね。それじゃ、Yはどうなるんでしたっけ。見事にzが0~1のとき、Yが0~1になっています。ちなみに、これをEXCELでグラフに描いてみた結果がこちら。線が3本ありますが、これは今まで「a=1」と言ってきた、いわゆるゲインを調節してみたものです。このaはeの指数全体に掛けるものなので、やっていることはeの指数部分「6-12z」を「a*(6-12z)」としているだけです。最終的には、このaをGTA内で調節することにより、こんな感じでカメラの加速の仕方をある程度調節できるようにします。上にある式を3つの軸それぞれに同じように適用させて処理します。3軸別々のゲインを設定できるようにすればかなり柔軟なカメラワークが作れると思いますが、その調整はイメージしにくく非常に面倒になることは間違いないので、3軸独立ゲインは実装しないことにします。それでは具体的にGTA上で話をしましょう。仮に、カメラワークを以下のように実行したいとします。初期値(始点)X:2500.0Y:1300.0Z:20.0目標値(終点)X:2550.0Y:1400.0Z:25.0※ここでのXというのは、GTAの3D座標を示す変数です。これまでにやってきた計算式のXとは意味が違いますので注意してください。GTAでは、この座標の単位1が約1m程度のようなので、この動きはざっくりと言ってけっこう大きな動きです。Zも20から25なので、地上から屋根の高さくらいまで動くことを意味します。これを、1000フレームで動かしてみようと思います。目標値まで動かすということは、初期値から、進んだフレーム分の変化量を足すということです。0フレーム目であれば変化量は0ですから、初期値+0、つまり初期値と同じ、要するにまだ全然動いていないということを示します。逆に1000フレーム目であれば、「終点-始点」をまるまる変化したわけですから、3Xの変化量=2550-2500=50Yの変化量=1400-1300=100Zの変化量=25-20=5となりますね。変化後のXの値=2500+50=2550変化後のYの値=1300+100=1400変化後のZの値=20+5=25となります。ここまでは長々と書いてきた計算式なんて使う必要もありません。500フレーム動いたときはどうでしょうか?500フレームというのは、総フレーム、つまり1000フレームのうち、何%でしょう?これは簡単です。500/1000=0.5=50%です。全体を1としたとき、0.5進んだ地点ということです。