スクリプトが働かなくなった現象について

スクリプトが働かなくなった現象について

Destiny ikim發表於
Number of replies: 4

御世話になっております。

バグなのかいまひとつわからない状況でございますが、いままでは支障なく行えていた事が出来ない状態になりましたので、ご報告を兼ねまして記載させていただいております。

 

SITすると起動するポーズボールに入れておいたスクリプトが、働かなくなりました。

衣装合わせ用に使っていたもので、そのボールへ座ると(SIT)基本姿勢で立ち姿勢のまま固定となるものでした。

以前は問題なく作用していたのですが、本日は何度やっても作用せず、普通に着席するポーズとなってしまっております。

 

オブジェクトの中のスクリプトと同封しておりますポーズのアニメーションにつきましては、そのアニメーション単独ではIW内で問題なく機能しており再生できております。

 

 

オブジェクトに収めたスクリプトは以下のとおりです。

------(ここから)-------

 

string HOVER_TEXT = "ぽーずぼーる"; ///// floating text
string SIT_TEXT = ""; ///// sit text
vector TEXT_COLOR = <1.0, 1.0, 1.0>;

string ANIMATION_NAME; ///// animation file
key USER = NULL_KEY;
vector USER_POSITION = <0.0, 0.0, -0.2>; ///// positon
vector USER_ROTATE = <0.0, 0.0, 0.0>; ///// rotate (not need to change)

hide() {
llSetText("", TEXT_COLOR, 1);
llSetAlpha(0, ALL_SIDES);
}
show() {
llSetText(HOVER_TEXT, TEXT_COLOR, 1);
llSetAlpha(1.0, ALL_SIDES);
}

check_amimation() {
integer TOTAL_ANIMATION = llGetInventoryNumber(INVENTORY_ANIMATION);
if (TOTAL_ANIMATION == 0) { llOwnerSay("Could not find the animation file."); }
else if (TOTAL_ANIMATION > 1) { llOwnerSay("This script can have only one animation in contents. You currently have " + (string)TOTAL_ANIMATION + ". Please delete the excess animations."); }
else { ANIMATION_NAME = llGetInventoryName(INVENTORY_ANIMATION, 0); }
}

default {

on_rez (integer params) { llResetScript(); }

state_entry() {
llSitTarget(USER_POSITION, llEuler2Rot(USER_ROTATE * DEG_TO_RAD));
llSetText(HOVER_TEXT, TEXT_COLOR, 1);
llSetSitText(SIT_TEXT);
check_amimation();
}

changed(integer change) {
if(change == CHANGED_INVENTORY) {
llSleep(2.0);
llResetScript();
}

if (change & CHANGED_LINK) {
key AV = llAvatarOnSitTarget();
if (USER != NULL_KEY) {
if (AV == NULL_KEY) {
llStopAnimation(ANIMATION_NAME);
show();
USER = NULL_KEY;
}
}
else {
if (AV != NULL_KEY) {
USER = AV;
llRequestPermissions(USER, PERMISSION_TRIGGER_ANIMATION);
}
}
}
}

run_time_permissions(integer perm) {
key PERM_KEY = llGetPermissionsKey();
if (PERM_KEY == USER) {
if (perm & PERMISSION_TRIGGER_ANIMATION) {
list AMIMATIONS = llGetAnimationList(USER);
integer i;
for (i = 0; i < llGetListLength(AMIMATIONS); i++) {
llStopAnimation(llList2Key(AMIMATIONS, i));
show();
}
llStartAnimation(ANIMATION_NAME);
hide();
}
}
}
}

 

 

 

 

---------(↑ここまで)--------

作用していたスクリプトがなぜか無視されて普通の着席姿勢になってしまいます。

どこをどのようにすればこの症状を解消できるのか、お教えただけましたら幸いでございます。

 

お手数をお掛けいたしますが宜しくお願いいたします。

In reply to Destiny ikim

Re: スクリプトが働かなくなった現象について

Iseki Fumikazu發表於

スクリプトが起動しなのは,十中八九サーバ(リージョン)の問題です.

サーバ側のプロセスを再起動しました.スクリプトは大丈夫のようです.

今後おかしな点がありましたら,SIMのオーナーはリージョンを再起動できますので,先ずリージョンを再起動してみてください.
再起動方法は「ワールド(世界)」->「地域/不動産」->「デバッグ」->「地域再起動」です.

よろしくお願いします.

追加情報:
トレーシー島の物理エンジンは BulletX です.スクリプトでの物理オブジェクトに対する動きが,従来の ODE とは違うようです.
可変リージョンは BulletX でないと動かないので,BulletXになっています.

In reply to Iseki Fumikazu

Re: スクリプトが働かなくなった現象について

Destiny ikim發表於

お世話になっております。

( ´∀`)ノ

 

ご対応ありがとうございます。

早速ポーズボールの方へ座ってみたところ、機能しておりました。

。+.゚ヽ(o´∀`)ノ゚.+。

 

また、SIM再起動といった対処法のご説明もありがとうございます。

何時かございましたら、今後はまずこの方法を実施させていただきます。

( ・`ω・)ゞ ビシッ

 

今回もご対応くださいまして、ありがとうございました

ヾ(〃^∇^)ノ

 

 

物理エンジンにつきましては、折角のご説明を下さっておられるのですが、あたしの方としましては・・・・

よくわかっておりません・・・・・すみません・・・・・。

(;A´д`)

In reply to Destiny ikim

Re: スクリプトが働かなくなった現象について

Iseki Fumikazu發表於

その後,同じ現象がグリッド全体で起こっていることがわかりました.

リモート起動したときにの起動順序に問題があった可能性があります(実はあまり考えないで起動しました(+_+; )
現在,全てのリージョンを再起動しました.

ikim さんのおかげで問題を発見できました.ありがとうございました.

 

In reply to Iseki Fumikazu

Re: スクリプトが働かなくなった現象について

Destiny ikim發表於

お疲れ様でございます。

(人´∀`)

 

なんかよくわかりませんが、お役に立てた様で、良かったです。

( *´艸`)フフフ

 

これからもJOグリッドの方、使わせていただきます。

お世話になります。

。+.゚ヽ(o´∀`)ノ゚.+。