ソラマメブログ
QRコード
QRCODE
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
オーナーへメッセージ

  

Posted by at

2008年10月31日

INVENTORY boxed HUD

あ!何だか毎日持ち物整理のことばっかですね^^;
というか経過報告はいいからやり方教えろというお言葉がありまして・・・・

誰でもできま〜〜す。根気の問題ですかね

えとですね
●まずLM整理、これ簡単!!


↑こういうふうにノートカード新規作成で作ってLMをぶちこむだけwwww

●次、テクスチャ
これはたまたまマメタ貯めて買ったものですが
テクスチャストッカーの類が気の利いたとこだと売ってます、数ドルで買えます



●boxed HUD
これがいつも言ってる箱詰めですね
自作でプリムの箱つくりそこにぶちこむ


図のようにHUD→centerに装着して使います
使いたいアイテムのところをポンと押すだけで持ち物欄にボタン名のフォルダが作成されそこに入ります

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

ではお待ちかね作り方

1まず箱を自作


2サイズ変更
そのままのサイズでHUDにしてしまうとでかすぎるので20センチ角にします


3個数設定
まぁそれだけ単体のHUDならこれでいいですがどうせならたくさん収納したいので
横にコピーしていきます。わかりますよね?
シフト押しながら横に移動すれば次々同じものが複製されますね
でこのサイズだと7個までが一度に表示できますのでここでは7つ作りますね


4個数設定2
で、自分の場合これでも少ないので縦にもコピーwwww


5タイトル用はみだし
これ後でわかりますwwww
1個でけはみださせておきます


6リンク
これをそろそろリンクしますが・・・・
リンクするとどのオブジェクトのタイトルを優先するかでタイトルが変わります
あるメインのプリムがあってそこにうじゃうじゃくっついてると考えるようですね
そのメインのプリムはリンクした時に黄色になってます
基本的にメインのプリムは選択できないみたいですね
たいがいは端っこのがそうなるんであえて1つだけはみださせておいたわけです



7メインプリム名
そのメインになってるプリムにタイトルをつけます
これが持ち物にあ入った時のタイトルになりますので十分検討の上名前をつけましょう


8他の引き出しプリム名
他の引き出し的なプリムにも名前をつけます
この時につけた名前でフォルダが生成されるので
名前の頭に***などとつけておくと持ち物欄の一番上にでますので探しやすいです


9オブジェクト保存
いよいよ持ち物をぶち込みましょう
この時注意はそのオブジェクトがno copyでないこと
当然Nocopyの物は箱から出すと箱に残らないので
・・・・・ということは今後の買い物にも気をつけましょうということかなwwww


10スクリプト投入
unpackスクリプトをぶちこみます
これは銃などを買うと付いてきますね
これを入れるとタイトルがプリム名でプリムの上に文字が浮かぶはずです
もしプリム名があってるのに表示されなかったり名前を変更した場合は
リセットをかけてあげましょう
※スクリプトは下記に別記


11テクスチャ
そのボタンにあたる商品箱のテクスチャを貼りますが
この時に内容にも同じテクスチャを保存しておきましょう
当然コピー可にしてね



12一応これで完成です
takeしてみてメインのプリム名でobjectフォルダに入ってればオッケー


完成したものがこれ
HUD装着した状態です


このようにして全部HUD化されています






※unpack script

default
{
state_entry()
{
llSetText(llGetObjectName() + "\n", <1,1,1>,1);
}
on_rez(integer param)
{
llResetScript();
}
touch_start(integer total_number)
{
integer x;
for(x = 0; x < total_number; x++)
{
if(llDetectedKey(x) == llGetOwner())
{
string InvenName;
integer InvenNumber = llGetInventoryNumber(INVENTORY_ALL);
list InvenList = [];
integer y;
for(y = 0; y < InvenNumber; y++)
{
InvenName = llGetInventoryName(INVENTORY_ALL, y);
if(InvenName != llGetScriptName()) InvenList += [InvenName];
}
llGiveInventoryList(llGetOwner(), llGetObjectName(), InvenList);
}
}
}
}

まぁこんなもんでしょうか^^;  続きを読む


Posted by tochan28 nishi at 11:46Comments(2)SL快適化