Difference between revisions of "LlBreakAllLinks/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LSL_Function/permission/ja|PERMISSION_CHANGE_LINKS|grant= オーナ}}{{LSL_Function/ja
{{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=
<lsl>
<source lang="lsl2">
//-- requests permission to change linkes, then breaks all links on touch.
//-- リンクを変更する許可を求め、タッチすると全てのリンクを解除します。
default{
default{
   state_entry(){
   state_entry(){
     llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
     llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
   }
   }
 
   run_time_permissions( integer perm ){
   run_time_permissions( integer vBitPermissions ){
     if (PERMISSION_CHANGE_LINKS & perm){
     if (PERMISSION_CHANGE_LINKS & vBitPermissions){
       state sMain;
       state sMain;
     }else{
     }else{
Line 25: Line 26:
   }
   }
}
}
 
state sMain{}
state sMain{
   touch_start( integer total_num ){
   touch_start( integer vIntTouched ){
     llBreakAllLinks();
     llBreakAllLinks();
   }
   }
}
}
</lsl>
</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llBreakLink/ja|llBreakLink]]|リンクを解除します}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llBreakLink}}|リンクを解除します}}
{{LSL DefineRow||[[llCreateLink/ja|llCreateLink]]|他のオブジェクトにリンクします}}
{{LSL DefineRow||{{LSLG/ja|llCreateLink}}|他のオブジェクトにリンクします}}
|also_tests
|also_tests
|also_events={{LSL DefineRow||[[changed/ja|changed]]|[[CHANGED_LINK/ja|CHANGED_LINK]]}}
|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

要約

関数: 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 他のオブジェクトにリンクします

記事

•  権限/スクリプト

特記事項

Search JIRA for related Issues

Signature

function void llBreakAllLinks();
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。