2009年09月29日
時間でテクスチャを切り替える
こんにちは。
今、アイテムキャンプのスクリプトをいじっているのですが、フローティングテキストが嫌でテクスチャの表示にしたいと考えています。
0123456789のテクスチャ(数字1個につき1枚)を作ったのですが、それを残り時間に応じて表示したいのです。
数字にテクスチャを当てはめる方法がわかりません。
※設定できる時刻は1分~最大99分です。
スクリプトそのものではなくて、参考やヒントでも構いませんので、ご教授いただけると助かります。
なにとぞよろしくお願いします。
※現在作っているテクスチャは数字1個につき1枚ですが、まだ未アップなので0-9で1枚のテクスチャに変更も可能です。
テクスチャのアップ代を考えるとそちらの方がいいとは思うのですが、テクスチャをずらすのが苦手で1枚1枚にしてみました。
今、アイテムキャンプのスクリプトをいじっているのですが、フローティングテキストが嫌でテクスチャの表示にしたいと考えています。
0123456789のテクスチャ(数字1個につき1枚)を作ったのですが、それを残り時間に応じて表示したいのです。
数字にテクスチャを当てはめる方法がわかりません。
※設定できる時刻は1分~最大99分です。
スクリプトそのものではなくて、参考やヒントでも構いませんので、ご教授いただけると助かります。
なにとぞよろしくお願いします。
※現在作っているテクスチャは数字1個につき1枚ですが、まだ未アップなので0-9で1枚のテクスチャに変更も可能です。
テクスチャのアップ代を考えるとそちらの方がいいとは思うのですが、テクスチャをずらすのが苦手で1枚1枚にしてみました。
2009年09月29日
オーナーだけがタッチすると作動するスクリプト
こんばんは^^
タッチで壁のテクスが変わるスクリプトを入れてみたのですが、上手く動きません;;
オーナーだけが作動するようにしたいのですが、誰がタッチしてもテクスが変わってしまいます。
正しく作動するよう、ご教授願えたら幸いです。
よろしくお願いいたします^^
-----------------------------------------------------------------------
integer number;
string name;
integer choice = 0;
default
{
state_entry()
{
number = llGetInventoryNumber(INVENTORY_TEXTURE);
number -= 1;
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = choice + 1;
}
}
touch_start(integer total_number){
if (llDetectedKey(0) == llGetOwner()) {
}
if (choice < number)
{
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = choice + 1;
}
}
else
{
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = 0;
}
}
}
changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
llResetScript();
}
}
}
タッチで壁のテクスが変わるスクリプトを入れてみたのですが、上手く動きません;;
オーナーだけが作動するようにしたいのですが、誰がタッチしてもテクスが変わってしまいます。
正しく作動するよう、ご教授願えたら幸いです。
よろしくお願いいたします^^
-----------------------------------------------------------------------
integer number;
string name;
integer choice = 0;
default
{
state_entry()
{
number = llGetInventoryNumber(INVENTORY_TEXTURE);
number -= 1;
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = choice + 1;
}
}
touch_start(integer total_number){
if (llDetectedKey(0) == llGetOwner()) {
}
if (choice < number)
{
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = choice + 1;
}
}
else
{
name = llGetInventoryName(INVENTORY_TEXTURE, choice);
if (name != "")
{
llSetTexture(name, ALL_SIDES);
choice = 0;
}
}
}
changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
llResetScript();
}
}
}