Difference between revisions of "LlBreakAllLinks/ja"
Jump to navigation
Jump to search
Void Singer (talk | contribs) m (加えられた例 (added example)) |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{LSL_Function/permission/ja|PERMISSION_CHANGE_LINKS|grant=オーナー}}{{LSL_Function/ja | |||
|sort=BreakAllLinks | |sort=BreakAllLinks | ||
|func_id=143|func_sleep=0.0|func_energy=10.0 | |func_id=143|func_sleep=0.0|func_energy=10.0 | ||
|func=llBreakAllLinks | |func=llBreakAllLinks | ||
|func_desc= | |func_desc=リンクセットの全プリムのリンクを解除します。 | ||
|func_footnote | |func_footnote | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats | |caveats= | ||
*この関数はオーナーがスクリプトの入っているオブジェクトの編集権限を持っていない場合は失敗します。システムメッセージ "''Delink failed because you do not have edit permission''" がオーナーに通知されます。 | |||
|constants | |constants | ||
|examples= | |examples= | ||
< | <source lang="lsl2"> | ||
//-- リンクを変更する許可を求め、タッチすると全てのリンクを解除します。 | |||
default{ | default{ | ||
state_entry(){ | state_entry(){ | ||
llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS ); | llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS ); | ||
} | } | ||
run_time_permissions( integer | run_time_permissions( integer vBitPermissions ){ | ||
if (PERMISSION_CHANGE_LINKS & | if (PERMISSION_CHANGE_LINKS & vBitPermissions){ | ||
state sMain; | state sMain; | ||
}else{ | }else{ | ||
Line 24: | Line 26: | ||
} | } | ||
} | } | ||
state sMain{ | state sMain{ | ||
touch_start( integer | touch_start( integer vIntTouched ){ | ||
llBreakAllLinks(); | llBreakAllLinks(); | ||
} | } | ||
} | } | ||
</source> | |||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow|| | |also_functions={{LSL DefineRow||{{LSLG/ja|llBreakLink}}|リンクを解除します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llCreateLink}}|他のオブジェクトにリンクします}} | ||
|also_tests | |also_tests | ||
|also_events | |also_events={{LSL DefineRow||{{LSLG/ja|changed}}|{{LSLG/ja|CHANGED_LINK}}}} | ||
|also_articles | |also_articles | ||
|notes | |notes | ||
|cat1=Link | |cat1=Link | ||
|cat2 | |cat2=Link/Management | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
}} | }} |
Latest revision as of 05:57, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llBreakAllLinks( );リンクセットの全プリムのリンクを解除します。
実行するには、llRequestPermissions による PERMISSION_CHANGE_LINKS 権限がオーナーから与えられなければなりません。
警告
- 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
- スクリプトに PERMISSION_CHANGE_LINKS の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
- PERMISSION_CHANGE_LINKS がオーナー以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
- いったん PERMISSION_CHANGE_LINKS 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
- この関数はオーナーがスクリプトの入っているオブジェクトの編集権限を持っていない場合は失敗します。システムメッセージ "Delink failed because you do not have edit permission" がオーナーに通知されます。
サンプル
//-- リンクを変更する許可を求め、タッチすると全てのリンクを解除します。
default{
state_entry(){
llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
}
run_time_permissions( integer vBitPermissions ){
if (PERMISSION_CHANGE_LINKS & vBitPermissions){
state sMain;
}else{
llResetScript();
}
}
}
state sMain{
touch_start( integer vIntTouched ){
llBreakAllLinks();
}
}
関連項目
イベント
• | run_time_permissions | – | 権限取得イベント | |
• | changed | – | CHANGED_LINK |
関数
• | llGetPermissions | – | 付与されている権限を取得します | |
• | llGetPermissionsKey | – | 権限を許可したエージェントを取得します | |
• | llRequestPermissions | – | 権限を要求します | |
• | llBreakLink | – | リンクを解除します | |
• | llCreateLink | – | 他のオブジェクトにリンクします |
記事
• | 権限/スクリプト |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。