約 4,341,482 件
https://w.atwiki.jp/sakurascript/pages/15.html
表示系コマンド(サーフィスその他) サーフィスコマンド(アニメーション他) \i[ID,wait] \![anim,clear,ID] \![anim,pauseID] \![anim,resume,ID] \![anim,offset,ID,x座標,y座標] \![anim,add,overlay,ID] 補足 \![anim,stop] \![anim,add,text,x,y,横幅,縦幅,文字列,表示時間,r,g,b,フォントサイズ,フォント名] \__w[animation,ID] \![bind,カテゴリ名,パーツ名,数値] \![lock,repaint] \![unlock,repaint] サーフィスコマンド(設定) \![set,alignmentondesktop,top] \![set,alignmentondesktop,bottom] \![set,alignmenttodesktop,left] \![set,alignmenttodesktop,right] \![set,alignmenttodesktop,free] \![set,scaling,倍率] \![set,scaling,横倍率,縦倍率,変化時間] \![set,alpha,数値] \![set,alignmenttodesktop,default] \![effect,プラグイン名,速度倍率,パラメータ] \![effect2,追加サーフィスID,プラグイン名,速度倍率,パラメータ] \![filter,プラグイン名,起動時間,パラメータ] \![filter] サーフィスコマンド(アニメーション他) \i[ID,wait] ID番号のサーフィスアニメーションを待ちながら表示する。 \![anim,clear,ID] ID番号のサーフィスアニメーションを巻き戻しする。 \![anim,pauseID] ID番号のサーフィスアニメーションを一時停止する。 \![anim,resume,ID] 上記の一時停止を解除する。 \![anim,offset,ID,x座標,y座標] ID番号のサーフィスアニメーションの位置を指定した座標分ずらす。 \![anim,add,overlay,ID] ID番号のサーフィスを現サーフィスに重ねる。※下記参照 CROW専用。 補足 \![anim,add,overlay,ID] ID番号のサーフィスを現サーフィスに重ねる。 \![anim,add,overlayfast,ID] ID番号のサーフィスを現サーフィスにoverlayfastで重ねる。 \![anim,add,base,ID] 現ベースサーフィスをID番号のサーフィスに変更する。 \![anim,add,move,x,y] 現サーフィスをXY座標に移動して表示。 \![anim,add,overlay,ID,x,y] ID番号のサーフィスを現サーフィスにXY座標に移動して重ねる。 \![anim,add,overlay,ID,x,y,表示時間,ID,x,y,表示時間,ID,x,y,表示時間...] 重ねたサーフィスをアニメーションする。(時間はms) \![anim,add,overlay,ID,x,y,表示時間,ID,x,y,表示時間,ID,x,y,表示時間,アニメーションタイミング] アニメーションタイミングにはrunonce、alwaysが指定できる。 \![anim,stop] サーフィスアニメーションを停止する。 CROW専用。 \![anim,add,text,x,y,横幅,縦幅,文字列,表示時間,r,g,b,フォントサイズ,フォント名] サーフィス上にテキストを表示する。 文字列までは必須。 CROW専用。 \__w[animation,ID] ID番号のアニメーションが完了するまで待機。 \![bind,カテゴリ名,パーツ名,数値] 着せ替えパーツを着衣、脱衣する。 数値部分は1で着衣、0で脱衣。 パーツ名を空欄にするとカテゴリ単位の動作になる。 \![lock,repaint] \![unlock,repaint]が呼ばれるまで再描画を停止する。 \![unlock,repaint] 上記を解除する。 サーフィスコマンド(設定) \![set,alignmentondesktop,top] 現スコープ側サーフィスをデスクトップ上部に吸着。 \![set,alignmentondesktop,bottom] 現スコープ側サーフィスをデスクトップ下部に吸着。 \![set,alignmenttodesktop,left] 現スコープ側サーフィスをデスクトップ左部に吸着。 \![set,alignmenttodesktop,right] 現スコープ側サーフィスをデスクトップ右部に吸着。 \![set,alignmenttodesktop,free] サーフィスを自由移動可能にする。 \![set,scaling,倍率] サーフィスの倍率を変更する。 \![set,scaling,横倍率,縦倍率,変化時間] サーフィスの倍率を精密に変更する。 CROW専用。 \![set,alpha,数値] 現スコープ側サーフィスを0~100で透明度を変更する。 \![set,alignmenttodesktop,default] サーフィスをdescript.txtの定義の位置に戻す。 \![effect,プラグイン名,速度倍率,パラメータ] サーフィスをプラグインにより変化させる。 CROW専用。 \![effect2,追加サーフィスID,プラグイン名,速度倍率,パラメータ] 追加したサーフィスをプラグインにより変化させる。 CROW専用。 \![filter,プラグイン名,起動時間,パラメータ] サーフィスを変化があるたびにプラグインにより変化させる。 CROW専用。 \![filter] 上記を解除する。 CROW専用。
https://w.atwiki.jp/stgbuilder/pages/134.html
<スクリプト編集> 各キャラクタにセットするためのスクリプトを作成する画面。スクリプトを用いて、詳細な動作設定が可能。 タスク選択 マルチタスクで同時に複数のスクリプトを実行可能なため、タスク毎にスクリプトを配置可能。 タイトル スクリプトの名前を設定。 継承スクリプト ゲートが設定されていないタスクでは、継承スクリプトで設定されたスクリプトを使用。 →継承スクリプト パネルサイズ:横のパネル数×縦のパネル数(初期値:8パネル×8パネル) 横のパネル数×縦のパネル数を指定し、「サイズ更新ボタン」を押して更新。 継承スクリプトの方がパネルサイズ(横のパネル数×縦のパネル数)が大きい場合、はみ出したスクリプトパネルは実行されない。 メモ表示 画面下方にスクリプトの説明を記入することができる場所を表示。もう一度ボタンを押すことで非表示。 →メモ表示 制御フィールド 右側の青い格子で区切られた場所で、制御パネルを配置可能。 制御パネル 制御パネルはいくつかのグループに分かれており、パネルの色で識別可能。左側のタブを切り替えると配置可能な制御パネルが変化。 タブ毎の制御パネルの一覧は、タブ内での右クリックにより「2列表示」と「3列表示」を切り替え可能。(初期値:2列表示) 配置したいパネルを右側の制御フィールドへドラッグ。(すでにパネルがある場合は、ドロップするとパネルの置き換え) すでに配置した制御パネルを移動したい場合は、フィールド上でドラッグ。 →スクリプト編集 右クリックメニュー 実行順番 制御フィールドの左上隅に「ゲート:N」というパネルが実行開始位置。(Nは複数のゲートを識別するための番号) ゲートから開始された制御パネルは特に何もない限り、下方向(制御パネル間に小矢印の方向で、下方向と右方向を選択可能)へ順番に実行。 制御パネルが存在しない領域はそのまま下方向へ通過。 最下段まで実行された場合は再びゲートから実行。 スクリプトパラメータ 全制御パネルにはスクリプトパラメータと呼ばれるいくつかの制御値があり、配置した制御パネルをクリックし、ウインドウ上部の編集パネルで設定可能。 ほとんどの制御パネルには時間待ち(ウエイト)が設定可能。 ウエイトを設定すると、そのパネルを実行後、設定された時間が経過するまで次のパネルへ移動しない。 時間を経過させずに無限ループさせるとデッドロックするので注意。 →ウエイト 進行方向 実行方向を下方向と右方向で選択可能。 初期設定では下方向のため、ゲートから開始された制御パネルは、原則的に下方向へ順番に実行。 条件分岐を伴うパネルでは、条件を満たせば右方向、条件を満たさなければ下方向へ実行。 スクリプトパネル ラベルパネル 制御パネル 移動パネル 攻撃パネル 描画パネル サウンドパネル 背景パネル スコアパネル 変数パネル 予備パネル:v0.99.62で廃止 物理演算パネル:v0.99.62より導入 →スクリプト一覧 →スクリプト編集,タスク,マルチタスク,デフォルトスクリプト,継承スクリプト スクリプト情報蓄積 プロジェクトマネージャ>> スプライト編集,効果音編集,BGM編集,プレイヤー編集,背景編集,ステージ編集,エフェクト編集:0.99.17で廃止 弾幕編集,キャラクタ編集,編隊編集,フォント編集,レイアウト編集,パス編集,3Dモデル編集:0.99.45より導入
https://w.atwiki.jp/myscripts/pages/30.html
スクリプトを起動する方法は多岐に渡り、用途によって柔軟に対応できます。 スクリプト一覧画面を目的のスクリプトをタップ URLスキームからの起動通知センターからの起動(MyShortcuts) ホーム画面からの起動(Touch Icon Creator) URLスキームからの起動(テキスト指定) バックグラウンド監視 外部からのopenin スクリプトを処理するスクリプトの起動 スクリプト一覧画面を目的のスクリプトをタップ 最も単純な起動方法で、多くのスクリプトはこの方法で起動します。 テキストを処理するスクリプトの場合、対象文字列はクリップボードの文字列です。 URLスキームからの起動 myscripts //run?title=TITLE の形のURLスキームによって既存のスクリプトを外部から起動出来ます。 テキストを処理するスクリプトの場合、対象文字列はクリップボードの文字列です。 このURLスキームはスクリプト一覧画面で対象スクリプトを長押しし、「リンクを作成」→「スクリプト実行用(クリップボード)」を選択することで取得できます。 通知センターからの起動(MyShortcuts) myscripts //run?title=TITLE の形のURLスキームをMyShortcutsアプリに登録することで通知センターから起動出来ます。 参照:MyScriptsの基本「通知センターからの起動」 - Teachme MyScripts MyShortcuts ホーム画面からの起動(Touch Icon Creator) myscripts //run?title=TITLE の形のURLスキームをTouch Icon Creatorアプリに登録することでホーム画面から起動出来ます。 参照:スクリプトをSpotlightから検索する方法 - Teachme MyScripts URLスキームからの起動(テキスト指定) myscripts //run?title=TITLE text=TEXT の形のURLスキームによってテキストを指定しつつ既存のスクリプトを外部から起動出来ます。 文字列を処理するスクリプトの場合、対象文字列はTEXTで指定された文字列です。 このURLスキームはスクリプト一覧画面で対象スクリプトを長押しし、「リンクを作成」→「スクリプト実行用(パラメータ)」を選択することで取得できます。 取得したURLスキームの中で TEXT の部分は起動元のアプリに従って書き換えます。 例えば検索ハブアプリで入力したテキストをスクリプトに渡したい場合 myscripts //run?title=TITLE text=_Q_ と書き換えます。 バックグラウンド監視 設定.appで通知→MyScriptsと進み通知センターをオンにしておきます。(通知のスタイルはバナー通知が良いでしょう。) スクリプト一覧画面 で目的のスクリプトの右にあるチェックボックスをオンにします。 他のアプリで文をコピーするとコピーされたテキストの処理結果が通知センターに表示されます。 アクションがcopyであるスクリプト(アイコンがメモの絵文字)のときはクリップボードの内容が処理されるのでそのままペーストします。 その他のアクションであるスクリプトはバナー通知をタップすることでMyScriptsに画面が移行し、目的のスクリプトが起動します。 参照:MyScriptsの基本「バックグラウンド監視」 - Teachme MyScripts 外部からのopenin 中身がテキストであるファイル(txt, js, htmlなど)はOpen inによっても処理出来ます。 まず他のアプリで目的のテキストファイルを選択し、Open in(アプリによっては「共有」、「...で開く」などの名前)を選択します。 メニューからMyScriptsを選択するとMyScriptsに画面が移り「テキストを処理します」のメニューが現れます。 「スクリプトを実行...」を選択し、実行するスクリプトを選ぶと、元のテキストファイルが選んだスクリプトに従って処理されます。 スクリプトを処理するスクリプトの起動 スクリプト一覧画面で処理対象のスクリプトを長押しします。 メニューから「スクリプトを実行...」を選択します。 スクリプトを処理するスクリプト(#PROCESS_SCRIPTがソースコードに含まれる)の一覧が表示されるので選択します。 処理対象のスクリプトのタイトルや本文が、選択したスクリプトによって処理されます。
https://w.atwiki.jp/jane_js/pages/49.html
スクリプト一覧 View本スレやスクリプトスレにて公開されたスクリプト (スクリプト名クリックで各スクリプトの説明ページに移動、最終更新日クリックで当該レスに移動) スクリプト名 機能・説明 最終更新 AnalyzeThread.js スレ内のレスの解析し、名前等のランキングを表示 10/04/16 autoThreadAbonebyBE.js スレを開いたときに1のBEがリストに登録されていればスレッドあぼーんする 10/03/20 clickUpBeProf.jsPopupBeProf.js BeプロフのリンクをクリックするとBeプロフをポップアップ表示 10/01/18 CreateVwCache.js 画像ファイルからリンクのURLのキャッシュファイルをつくる 12/09/27 DrawTabColor.js 板タブ、スレタブそれぞれに背景色を表示する(Tab色のサンプルっぽいもの) 09/12/07 ExtractBe.js Be抽出 11/01/16 ExtractFinalWriting.jsExtractResponse.js 開いているスレタブの中で書き込んだスレのレスを抽出 09/09/28 FindDrafts.jsGroupByRefCount.js 入力補完、レス数でグループ化、草稿検索 09/09/27 HeadlineAutoNavigation.js 速報headline板などのheadlineスレを開いたら、対象のスレッドを自動で開く 09/10/30 idconditionalAbone.js 条件にマッチするレスIDをカウントし、範囲内ならあぼーん、範囲外であればあぼーん解除 11/01/30 JaneWlitaKaiaku_ViewScripting.js ローカルに仮想板をつくってスクラップスレを作る 11/01/15 keitaiURL.js 携帯用URLをPC用URLに置換 携帯URL以外のURLも置換 11/08/29 madakanaCheck.js 規制中ならタブの背景色を変更してタブのスレタイ名の先頭に「※規制中※」を付ける 12/05/20 .NET のラッパとプラグイン レス数でグループ化レス数トップ10ID右クリから所属板の取得ログからID検索して日時順にソート開いているスレを条件で書き出す開いているスレをソート条件でスレビューを閉じる草稿の検索last.dat とクリップボードの書き出し 09/10/12 NgExclusion.js 1をNGから除外 09/10/14 PopupExtractRef.js マウスオーバで被参照レスPopup 11/03/03 ReloadableScripts.js スクリプトファイルの自動再読み込みを行うスクリプト 09/09/27 VariousFormCopy.js 様々な書式でURLコピー 12/07/12 ResMarkCheck.js 「このレスをチェック」があるスレをスレビューに表示するときにスレURLをリストに記録する 11/08/29 RestrictViewTab.js 設定値を超えるスレビュータブが開いたら自動で閉じる 10/06/07 ShortURLDecoderPPoi.js 短縮URLの転送先URLを取りに行ってPOPUPで表示 10/04/11 showIdCount.js レスのIDをカウントしてIDの横に回数を表示する 12/10/10 TabUrlList.js 開いている全スレタブのURLをクリップポードかファイルに出力 09/09/28 ダンジョン2ちゃんねる ヤターダンジョン2ちゃんねるできたよー 09/09/24 DelCache_Close.js 画像のキャッシュを削除してからタブを閉じる ビューア上で呼ぶ 10/07/15 Minimize.js メニューバーの「窓」の中に最小化メニューを追加 マウスジェスチャ登録可 10/08/06 conditionalAddNgId.js 指定条件にマッチするレスのIDをカウントし、設定回数以上の場合はNG登録 10/08/20 databaseform_ViewScripting.js Image Databaseの自動登録書式を書き込みダイアログに設定する 10/09/13 ExtractLink.js リンクを含むレスの抽出 10/09/18 飛び先のチェック 飛び先のチェック by ぴょん基地の友達 でWebページのソースをチェック 10/08/16 ここにジャンプ ログから検索βやレス抽出のレス番リンクのクリックでそのレスにジャンプ 11/01/16 auto924ThreadAbone.js スレ一覧更新時にDatNameの先頭が"924"のスレッド(宣伝・告知スレ)をあぼーんする 11/01/20 autoMaruLogin.js 書き込み投稿時に規制されていた場合●ログインして投稿、書き込み完了後ログアウト 12/05/20 writeResviaP2.js p2経由で書き込み 11/02/07 expandResPopup.js 20レス以上の範囲指定のポップアップの制限を指定 11/04/27 PopupThread2KB.js スレを2KB分取得してポップアップで表示 11/03/06 autoCheckThreadTitle.js 指定したキーワードを含むスレタイのスレッドをスレ一覧で上の方に持ってくる 12/10/11 印をつけるをトグる 印をつけるをトグる 印のついたタブに目印をつける 11/05/10 GoBackFilter.js 参照アンカーを遡っていって取得したレス番のレスだけを表示する 11/09/02 AddToFavToOpenAsBoard.js スレビューに表示されているスレッドをお気に入りフォルダにまとめて登録して板としてスレ一覧に表示 11/11/21 ExtractHistoricalThread.js 板の過去ログを抽出してAddToFavToOpenAsBoard.jsを利用して板としてスレ一覧に新タブで表示 11/11/14 ReWriteBrdFile.js 選択レスから2chやPINKの板URLを取得してBRDファイルを書き直す 11/12/08 CheckNumberLinksCount.js ResAction.txtに登録して利用 レス本文に含まれるアンカーの数をチェック 12/01/14 スレタイplus 嫌儲の「スクリプトアサシン」で実装されているスレタイplusという機能をアドオンスクリプト型に作りなおしてみました 12/08/31 CloseLeftOrRightImageTabs.js ビューアのアクティブタブから左を閉じるor右を閉じる 12/07/20 AlertAtOpenWriteForm.js このスクリプトに登録した板やその板のスレで書き込みフォームを開いたら警告メッセージ 12/09/11 AddSelectedIDsToNG.jsExtractNewLinked.jsGrepSelectedText.jsOpenNewImages.jsOpenUpdatedThreads.jsRecentlyClosed.js 選択範囲に含まれるIDをすべてNGIDに登録URLを含む新着レス・新着赤レスを抽出して、そのレスの画像を全て開く選択したテキストをログから抽出新着レスに含まれる画像を自動、手動で全て開く裏で板を更新して、新着があるスレを全て開く履歴数が変更可能で履歴が終了後も保存される最近閉じたスレの一覧 12/10/13 autoMaruLoginLight.jsMarkedTabMozaikuClear.jsGotoTsugisure.js ●にログインしてから24時間経過したら再ログインする画像ビューアでマークされたタブのモザイクを解除オートヒストリの右クリックメニューに次スレを開くコマンドを追加 12/07/0412/05/05 JaneViewUpdateCheck.js 起動時にJaneViewの更新を確認する 12/10/23 ものぐさ工房 にて公開されているスクリプト スクリプト名 機能・説明 最終更新 CheckMyRes.js 自分の書き込みや自分への返信を判定できるようにする 11/02/09 ExtractStreaming.js WMEによる動画配信URLをスレから抽出し、一覧化&URLを含むレスの確認を行う 10/11/27 OpenURLExt.js Webページをスレビューで簡易HTML表示するクリップボードのURLを開く 11/02/11 PrepareNextThread.js 開いているスレの次スレを立てるための草稿を作成する 10/11/21 SearchID.js 指定IDの板内検索を行う 11/01/23 SPLink.js 動画サイトへのリンクのクリックからStreamingPlayerを呼び出す 10/10/09 TabColorRA.js ResAction.txtで指定した条件を満たした場合にスレタブの色を変える 11/01/10 ImegeURLEx.js html埋め込み型の画像をビューアで開く 11/02/11 Twitter.js Twitterをスレビューで閲覧する 11/02/06 ReplyToSelectedRes.js 選択範囲のレスに対するアンカー( 444-446等)を打って書き込み欄を開く 10/09/23 AddExBoardLink.js 未登録板の板・スレのリンククリック時に自動で板登録を行う 10/11/04 OpenBoardBG.js 開いているスレの板をバックグラウンドで開く(更新する) 09/10/25 CutSpaceOnWriting.js 書き込み時に文末の空白・改行を除去する 10/11/21 ReplaceTAB.js 書き込み時にタブ文字を[TAB]に置換 スレ右クリックに"[TAB]を置換してコピー"を追加 10/11/27 OpenThreadOnBuilding.js スレを立てた後にそのスレを自動で開く 10/11/21 DispBeIcon.js ssspリンクをBeアイコンに変換する 11/02/11 RotateImage.js キャッシュされているJPEG画像を回転させる 11/02/11 Jane用スクリプト にて公開されているスクリプト スクリプト名 機能・説明 最終更新 GetLog.js ミラーを巡回して過去ログを取得 2ch、みみずん、うんかーからログを取得 13/12/11 SearchEx.js 外部検索機能の拡張 複数のパラメータ、POSTによる検索など 13/12/11 SendURL.js 選択範囲に含まれるURLをプログラムに送る Irvine、Free Download Manager他 13/12/11 CloseImage.js 不要な画像タブを閉じる クリック、範囲選択以外で開いた画像を自動で閉じる 13/12/11 LiveForm.js 実況用書き込みフォーム アクティブなスレを変更すると書き込み対象のスレも自動で変更 13/12/11 TabGroup.js タブをグループ化する スレを板別に、板をカテゴリ別にグループ化 13/12/11 SaveSession.js セッションを保存する 開いているタブの自動保存、アンドゥ、リドゥ 13/12/11 OpenURL.js 外部サイトをスレタブで開く 入力、クリックしたURL、検索結果をスレタブに表示 13/12/11 CheckBan.js 規制されたタブの色を変える まだかなをチェックしタブの文字の色を変える 13/12/11 LimitRes.js レス上限を超えたIDをNGにする 必死チェッカーをチェックし上限を超えたIDをNGにする 13/12/11 JSPrompt.js スクリプトプロンプト 入力されたスクリプトを実行し結果をトレース画面に出力 13/12/11 Threana.hta (外部コマンド) スレッド分析 名前、ID、日時などの項目でレス数を集計 13/12/11 scriptstuff にて公開されているスクリプト (ImageViewURLReplace.datのまとめも同サイトにて更新されています) スクリプト名 機能・説明 最終更新 ImageViewURLReplaceUpdate.js ImageViewURLReplace.dat をダウンロードして更新する 自動更新可 11/01/07 ScriptAssassinUpdate.js Script AssassinのNGIDをJaneView単体で利用する 自動更新可 12/02/05 ImageViewerTabLimit.js ビューアのタブ数を一定数以下に制限する 12/10/06 JaneViewに付属のサンプルスクリプト (Viewアーカイブ内のOption\Scriptフォルダの中) スクリプト名 機能・説明 最終更新 AddNgId.js IDをNGIDとNGWordに同時に登録する 10/12/31 CloseExtractedViewItem.js スレ表示以外のタブを閉じる 09/09/15 Ding.js スレを読み込んだ時にResActionに定めた条件で音を鳴らす 10/08/24 ExtractRed.js リンクされ赤くなったレスの抽出 10/02/21 ExtractUrl.js スレに含まれている画像を一覧化する 09/09/14 JumpToLastWrote.js 最終書き込みまでジャンプ 12/09/09 LinkAction.js リンクのhrefの文字列そのものをポップアップするだけ 09/11/05 TabColor.js お気に入りやログを開いた板タブや、ログ検索、レス抽出のスレタブの色を変える 09/11/05 ThreadAbone.js スレタブからスレッドあぼーん 10/01/24 WebAccess.js Wikipediaポップアップ 09/11/05 AddressBarFind2ch.js アドレスバーに入力された文字列で2ch検索を行う 結果はビューアで表示 10/08/14 http-ttp.js 書き込み欄のhttp //をttp //に置換する 10/08/24 SkinScriptTest.js レスにそのレスをワンクリックであぼーんできるリンクを作成するサンプル 11/01/12 ExtractMulticastId.js 検索対象にしたスレの中で、複数のスレにレスしているIDを抽出する 10/10/09 AboneLinked.js リンクのリンク先レスをあぼーんする 10/11/22 ExtractCheck.js 複数のスレからチェックしたレスを抽出する 10/12/31 Hisshi.js 必死チェッカーもどきでIDを検索 11/02/08 SqlTypeTutorial.js SQLiteデータベース使用時の型変換に関するサンプルスクリプト 12/03/06 OpenRelatedFavfolder.js 開いているスレがあるお気に入りフォルダを板として開く 12/08/27 BoardTreeCustomize.js 板ツリーのホットトラックを薄紫色に、板アイテムの背景を灰色にする 12/09/09 Find2ch.js 2ch検索(find.2ch.net)の検索結果を板として表示する 12/10/09 コメント スクリプトが増えて見辛くなったので表にした - 名無しさん 2010-07-10 16 01 18 見よう見まねでスクリプトスレで挙がってた物いくつか増やしてみた - 名無しさん 2011-04-23 15 42 37 Xreaに上がってるの消えてる・・・ - 名無しさん 2013-11-07 15 04 36 OpenUpdatedThreads.jsが欲しいんだけど・・・ - 名無しさん 2013-12-10 02 57 17 CloseLeftOrRightImageTabs.jsもリンク切れか・・・ - 名無しさん 2013-12-16 09 31 10 名前
https://w.atwiki.jp/tts-script/pages/27.html
引用元:http //steamcommunity.com/sharedfiles/filedetails/?id=724540431 はじめに: ・GUIDについてぐらいは知っておこう>-[[GUID]] ・ページ制作者が知ってる範囲の解説だよ Tables テーブルはTTSゲームの大部分を占めるから重要だよ! ここにテーブルのスクリプトがある↓ mytable = {} 普通のスクリプトだったら下の項目設定がいるんじゃないかって? key/index value いりません。 しかし、あえて、下のように入力すると・・・ mytable.thisisakey = value or mytable[ thisisakey ] = value テーブルは次のようになります key/index value thisisakey value テーブルには、どのような値でもどんなキーでも格納できます。 キーは一意ですが、値は異なります。 次のコードの後に、テーブルの外観を把握してみてください。 mytable.thisisakey2 = value mytable.thisisakey = 1 mytable.thisisalsoakey = 1 key/index value thisisakey 1 thisisakey2 value thisisalsoakey 1 ただし、キーの代わりにインデックスを使用できます。 次の2つのスニペットで同じテーブルが作成されます。 mytable = { data , moredata } mytable = {} mytable[1] = data mytable[2] = moredata key/index value 1 data 2 moredata テーブルから情報を取得する方法はいくつかあります。 キーと値のペアを持つテーブルがある場合は、このようにすることができます。 kはキーであり、vはテーブル内のそのキーの値です。 for k,v in pairs(mytable) do print(k,v) end キーの代わりにインデックスを持つテーブルがある場合は、この方法でも実行できます。 #mytableはテーブルの長さです。 これは、索引を持つ表に対してのみ機能します。 for i=1,#mytable do print(mytable[i]) end 最後の注意として、テーブルにテーブルを入れることもできます mytable = {} mytable.table = {} mytable.something = data mytable.table.table = {} mytable.table.table.table = { hello } こんな風になります。 key/index value table key/index value table key/index value table key/index value 1 hello something data ときには、このようなことをしている人がいることがあります mytable = {[ something ] = value , [ somethingelse ] = value2 } ↓これと同じことです。 mytable = {something = value , somethingelse = value2 } 唯一の違いは、入力する余分なテキストがあることです。括弧を使用しない場合は、キーに数字を使用することはできません mytable = {[ 123key ] = 1} -- ok mytable = {123key = 1} -- not ok Keywords 重要なキーワードはグローバル(global)と自己(self)の2つです。 グローバルはメインスクリプト内のすべてのものを参照し、selfはスクリプトが置かれているオブジェクトを参照します。 -- on a deckprint(self.name)Global.call( myFunction ) -- in global scriptprint(deck.name)myFunction() Callbacks/Functions in Parameters 場合によっては、一部の関数でコールバックパラメータが表示されることがあります。 コールバックは、現在の関数が完了したときに呼び出される関数です。 コールバック関数に影響を与える他の2つのパラメータがあります。 params.callback = theFunctionName params.callback_owner = Global -- this is where function theFunctionName() is located params.params = {1,2,3} あなたはこれを想像することができます -- some function that utilizes the callback parameter i.e. spawnObject or takeObject theFunctionName({1,2,3}) -- this will only run once spawnObject or takeObject has completed 場合によっては、コールバック関数やパラメータテーブルに関数があり、 自動的に何が自動的に渡されるのか疑問に思っているときは、単にプリント(表示機能)を送信してみてください。 button.click_function = print それを考慮して print(parameter,parameter,parameter...) また、カンマ付きのprintステートメントでは、文字列を連結して(それらをまとめて)、chatログのように表示されます Custom_Object (LuaGameScriptObject)White -- or something like that それを分けて、あなたは2つのことがあります: 1.オブジェクト 2.ボタンを押した人の色 これは、ボタンの機能に渡される2つのパラメータ、それがオンになっているオブジェクト、それを押したプレイヤーの色があることを意味します。 ----API---- API[berserk-games.com] Collisions 衝突 function onCollisionEnter(collision_info) print( The object that hit me\ s name is .. collision_info.collision_object.getName()) for i=1,#collision_info.contact_points do print( Collision point ) for k,v in pairs(collision_info.contact_points[i]) do print(k .. = .. v) end end print( Relative velocity values ) print( x= .. collision_info.relative_velocity.x) print( y= .. collision_info.relative_velocity.y) print( z= .. collision_info.relative_velocity.z) end function onCollisionExit(collision_info) print( The object that left me\ s name is .. collision_info.collision_object.getName()) for i=1,#collision_info.contact_points do print( Collision point ) for k,v in pairs(collision_info.contact_points[i]) do print(k .. = .. v) end end print( Relative velocity values ) print( x= .. collision_info.relative_velocity.x) print( y= .. collision_info.relative_velocity.y) print( z= .. collision_info.relative_velocity.z) end function onCollisionStay(collision_info) print( The object is hitting me\ s name is .. collision_info.collision_object.getName()) for i=1,#collision_info.contact_points do print( Collision point ) for k,v in pairs(collision_info.contact_points[i]) do print(k .. = .. v) end end print( Relative velocity values ) print( x= .. collision_info.relative_velocity.x) print( y= .. collision_info.relative_velocity.y) print( z= .. collision_info.relative_velocity.z) end Picked Up/Dropped 拾い上げ、落とし function onDropped(player_color) print(player_color .. dropped .. self.getName()) end function onPickedUp(player_color) print(player_color .. dropped .. self.getName()) end function onObjectPickedUp(player_color, object) print(player_color .. dropped .. object.getName()) end function onObjectDropped(player_color, object) print(player_color .. dropped .. object.getName()) end Save/Load セーブ ロード function onSave() return JSON.encode({savedSomething=true}) end function onLoad(save_state) print( Everythings loaded! ) if JSON.decode(save_state).savedSomething then print( Something was saved from before ) end end コメント:onSave()は文字列を返す必要があります。 JSON.encode()はテーブルを文字列に変換します。 JSON.decode()はそれらの文字列をテーブルに戻します。 Destroy 破壊 function onDestroy() print( I\ m dying!! ( .. self.getName() .. ) ) end function onObjectDestroyed(dying_object) print(dying_object.getName() .. is dying!! ) end destroyObject(obj) Scripting Zones function onObjectEnterScriptingZone(zone, enter_object) print(enter_object.getName() .. has entered zone .. zone.getGUID()) end function onObjectLeaveScriptingZone(zone, exit_object) print(leave_object.getName() .. has left zone .. zone.getGUID()) end Player Color Change プレイヤーの色を変える onPlayerChangedColor(player_color) print( Someone moved to .. player_color) end Player Turns プレイヤーのターン onPlayerTurnEnd(player_color_end, player_color_next) print(player_color_end .. just ended his turn. Now it is .. player_color_next .. \ s turn. ) end onPlayerTurnStart(player_color_start, player_color_previous) print(player_color_previous .. just ended his turn. Now it is .. player_color_start .. \ s turn. ) end Notebook Tabs メモ帳 local params = {} params.title = myNewNotebookTab params.body = myNewNotebookTabContents\nHere s a new line params.color = White addNotebookTab(params) params.title = myNewNotebookTab2 addNotebookTab(params) local params = {} params.index = 1 params.title = myNewTitle params.body = myNewBody\nAnd Other params.color = Red editNotebookTab(params) local tabs = getNotebookTabs() for i=1,#tabs do print(tabs[i].index) print(tabs[i].title) print(tabs[i].body) print(tabs[i].color) end removeNotebookTab(1) Copy, Paste, and Spawn コピー ペースト 生成 local objects = {} objects[1] = obj1 objects[2] = obj2 copy(objects) paste({position={0, 0, 0}, snap_to_grid=false}) local params = {} params.type = myObjectType params.position = {0, 0, 0} params.rotation = {0, 0, 0} params.scale = {0, 0, 0} params.callback = myCallbackFunction params.callback_owner = Global params.snap_to_grid = false params.params = { myCallbackParams1 , myCallbackParams2 } spawnObject(params) Notes local notesText = getNotes() print(notesText) setNotes( These are the notes ) Printing 表示 print( Only host can read this ) printToAll( Everyone can read this , {1, 1, 1}) printToColor( Only white can read this , White , {1, 1, 1}) Misc. flipTable() getAllObjects() getObjectFromGUID( objguid ) local seated = getSeatedPlayers() for i=1,#seated do print(seated[i]) end function update() print( frame gone by ) end clearPixelPaint() clearVectorPaint() startLuaCoroutine(Global, myFunction ) local color_table = stringColorToRGB( White ) print( White\ s R value is .. color_table.r) print( White\ s G value is .. color_table.g) print( White\ s B value is .. color_table.b) ----Objects---- Objects[berserk-games.com] Clone 複製 myclonedobject = obj.clone({position={0,0,0},snap_to_grid=false}) -- is the same as copy({obj}) myclonedobject = paste({position={0,0,0},snap_to_grid=false})[1] Buttons ボタン Method 1 local button_parameters = {} button_parameters.click_function = myFunction button_parameters.function_owner = Global button_parameters.label = myTextHere button_parameters.position = {0, 0, 0} button_parameters.rotation = {0, 0, 0} button_parameters.width = 500 button_parameters.height = 500 button_parameters.font_size = 20 object.createButton(button_parameters) button_parameters.click_function = myOtherFunction object2.createButton(button_parameters) Method 2 local button_parameters = {click_function = myFunction , function_owner = Global, label = myTextHere , position = {0, 0, 0}, rotation = {0, 0, 0}, width = 500, height = 500, font_size = 20} object.createButton(button_parameters) button_parameters.click_function = myOtherFunction object2.createButton(button_parameters) Method 3 object.createButton({click_function = myFunction , function_owner = Global, label = myTextHere , position = {0, 0, 0}, rotation = {0, 0, 0}, width = 500, height = 500, font_size = 20}) object2.createButton({click_function = myOtherFunction , function_owner = Global, label = myTextHere , position = {0, 0, 0}, rotation = {0, 0, 0}, width = 500, height = 500, font_size = 20}) これらのスニペットはすべて同じことをしますが、異なる方法で行います。 あなたのスクリプトに最適なものを選択してください。 function myFunction(object, player) print(player .. pressed the button on .. object.getName()) end Taking out of Containers myBag.takeObject({position={0,1,0}, rotation={0,0,180}, callback= myFunction , callback_owner = Global, params = {self,1}, flip = false, top = false}) function myFunction(paramstable) for k,v in pairs(paramstable) do print(k,v) end end ----Notable Functions/Classes---- Somewhat more indepth. spawnObject( Table parameters ) 一見すると、spawnObjectはそれほど印象的ではないと思うかもしれませんが、物理的な表のような2つの印象的なもの、テキストツール、スクリプトゾーン、そしてテーブルさえ作ることができます。 3つのことを待ってください。 私はspawnObjectを使って作業するという一般的なアイデアについて説明します。 まず、生成するオブジェクトを作成し、そのオブジェクトの名前を出力します。 今あなたはそのタイプを知っていて、あなたはそのタイプをスポーンすることができます。 guid = 297853 -- pretend this is the guid of a scripting zoneprint(getObjectFromGUID(guid).name)-- this will print ScriptingTrigger spawnObject({type= ScriptingTrigger }) -- this will spawn a scripting zone これはテーブルやテキストツールでも機能します(テキストツール名は3DTextです)。しかし、テーブルのGUIDを取得できないため、onCollisionEnterを使用してテーブルオブジェクトを取得できます。 function onCollisionEnter(info)print(info.collision_object.name)end テーブルでのオブジェクト生成についての最も重要な部分は、それらのサイズを決めることができることです。 --my huge table spawnObject({type= table_custom ,scale={10,1,10}}) あなたが生成することができるもう一つとして、隠しゾーンがあります。 しかし、隠しゾーンの名前をどうやって得るか? オブジェクトの名前フィールドを見つける別の方法は、隠しゾーンだけを含む保存ファイルを作成し、.JSONセーブファイルに直接行き、名前フィールドを調べることです。 Name FogOfWarTrigger , これが隠しゾーンです。 spawnObject({type= FogOfWarTrigger }) そして今、あなたは隠れることのできるゾーンを持っています。 onDestroy() それはonDestroy()と呼ばれますが、破壊はあなたが思っているほど単純ではありません。 オブジェクトを削除するときに呼び出されますが、オブジェクトが「消える」、つまりデッキやバッグに入ったときにも呼び出されます。 私はどのようにデッキやバッグを取得するか分からない。 function onDestroy() print( I ve disappeared into a container ) end Timer タイマーは、しばらくの間、関数の呼び出しを遅らせる方法です。 Timer.create({identifier= uniqueGUID , function_name= myFunction , function_owner=Global, delay=2}) function myFunction() print( 2 seconds have passed since the Timer was created ) end ----Random Snippets---- 私のMODで、いくつか取り扱ってます。 Getting Player Count #getSeatedPlayers() String Manipulation function split(input, split) local returnarr = {} local i = 1 for str in string.gmatch(input, ([^ .. split .. ]+) ) do returnarr[i] = str i = i + 1 end return returnarr end options = split( option1=val1 , = ) print(options.option1) -- val 1 私は自分で作ったので、LUAのデフォルトの文字列分割関数を見つけることができませんでした。 Color Manipulation function onetotfs(rgbtableone) rgbtableone.r = dechex(rgbtableone.r * 255) rgbtableone.g = dechex(rgbtableone.g * 255) rgbtableone.b = dechex(rgbtableone.b * 255) return [ .. rgbtableone.r .. rgbtableone.g .. rgbtableone.b .. ] end function dechex(number) local base=16 local hexvals= 0123456789ABCDEF local returnval = local remainder while number 0 do number,remainder=math.floor(number/base),number%base+1 returnval=string.sub(hexvals,remainder,remainder)..returnval end return returnval end function niceColorName(color) return onetotfs(stringColorToRGB(color[1])) .. Player[color[1]].steam_name .. [-] end print(dechex(255)) -- ff print(niceColorName({ White })) -- [ffffff]reimu[-] note bb tags will just color the text ベースを10から16に変更します。ベースを変更することはできますが、これは特にTTSが使用するRGBテーブル(最大値1)をbbcodeタグに変更するためのものです。 Searching Containers function getIndexOf(col,table) for i=1,#table do if table[i] == col then return i end end return -1 end table = {1,2,3} print(getIndexOf(2,table)) -- 2 それはテーブル/配列を検索するためのものです function searchForIn(object, containerguid, params2) params2.guid = 000000 local deckorbag local guids = {} if type(containerguid) == string then deckorbag = getObjectFromGUID(containerguid) else deckorbag = containerguid end local obj = nil for k,v in pairs(deckorbag.getObjects()) do ifstring.find(string.lower(v.name==niland v.nickname==nil and orv.nameor v.nickname), string.lower(object)) then table.insert(guids, v.guid) end end if #guids 0 then params2.guid = guids[math.random(#guids)] return deckorbag.takeObject(params2) else return false end end ちょっと複雑な関数で、名前が一致するすべてのオブジェクトをバッグで検索し、ランダムなものを取り出します。 パラメーター: Stringオブジェクト - 検索するオブジェクトの名前 String / Object containerguid - 検索するコンテナ/デッキのGUID、または実際のコンテナ/デッキオブジェクト Table params2 - オブジェクトを取り出すときのパラメータ 戻り値 - コンテナ/デッキにオブジェクトが見つからない場合はfalse、オブジェクトがコンテナ/デッキにある場合はオブジェクトへの参照 ----Player Control---- プレイヤーを扱う公式サイトのドキュメントに記載されていないいくつかの機能。 Kick, promote これらはスクリプト作成でできることです print(Player.white.promoted) Player.white.promote() Player.white.kick()
https://w.atwiki.jp/aceofspades/pages/65.html
スクリプト製作のすすめ ※誰か拡充お願いします。 まずは、鯖立てセットのscriptsフォルダに入っている既存のスクリプトをひたすら眺めましょう。次第に、「この記述はこういう働きをしているのかな」といったことが分かってくるはずです。 少し理解出来てきたら、次は既存のスクリプトを自分で改造して実際に動かしてみましょう。最初は適当な数値や数式を変えてみて、変える前と挙動がどう変わったのかを確認し、慣れてきたら記述も自分で変えたり書き加えてみたりすると徐々に理解が深まります。 そして最終的にはいよいよ一から自分でスクリプトを書き出します。期待していた通りの動作を確認する瞬間は感動です!! 頻繁に使うページ 基本的な関数 変数やメソッド 解説 http //aosjp.5com.info/bbs/topic-t78.html
https://w.atwiki.jp/korosiai/pages/16.html
http //www15.atwiki.jp/korosiai?cmd=upload act=open pageid=16 file=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC.zip テンプレ.zip ┗テンプレの中の人の現段階zip。少々諦め気味。 http //www15.atwiki.jp/korosiai?cmd=upload act=open pageid=16 file=BR.lzh BR.lzh ┗BR設置等のリンク。 http //www15.atwiki.jp/korosiai?cmd=upload act=open pageid=16 file=btlryl.lzh btlryl.lzh ┗zibunさんのよくわからないBRスクリプト。 http //www15.atwiki.jp/korosiai?cmd=upload act=open pageid=16 file=br2.lzh br2.lzh ┗S-PAIさんのよくわからないBRⅡスクリプト。 ※一応ノートン先生で調べてはいますが、DLしたらウイルスチェックしてください※
https://w.atwiki.jp/sakurascript/pages/19.html
オープンコマンド InputBoxからブラウザまで「開く」コマンド。SSPで数多く実装された様々な入力ボックスは入力された情報をどう生かすかで可能性は無限大 オープンコマンド \j[ID] \![open,browser,パラメータ] \![open,mailer,パラメータ] \__t \![open,teachbox] \![open,communicatebox] \![open,inputbox,ID,表示時間,テキスト] \![open,passwordinput,ID,表示時間,テキスト] \![close,inputbox,ID] InputBox補足 \![open,dateinput,ID,表示時間,年,月,日] \![open,sliderinput,ID,表示時間,現在値,最小,最大] \![open,timeinput,ID,表示時間,時,分,秒] \![open,configurationdialog] \![open,ghostexplorer] \![open,shellexplorer] \![open,balloonexplorer] \![open,headlinesensorexplorer] \![open,pluginexplorer] \![open,rateofusegraph] \![open,rateofusegraphballoon] \![open,rateofusegraphtotal] \![open,calendar] \![open,help] \![open,messenger] \![open,readme] \![open,file,ファイル名] \![open,dialog,open,パラメータ] \![open,dialog,save,パラメータ] ファイルを開く/ファイルを保存 パラメータ補足 \![open,dialog,folder,パラメータ] フォルダ選択 パラメータ補足 \![open,dialog,color,パラメータ] カラーパレット パラメータ補足 \![open,surfacetest] オープンコマンド \j[ID] IDにジャンプする。http //~でURLジャンプする。 file //~でOSに関連付けられた拡張子でファイルを実行する。 ※SSPのみ mailto ~でその宛先の新規メールを作成する \![open,browser,パラメータ] 本体で設定されたブラウザを開く。 イベントページへの誘導などに。 \![open,mailer,パラメータ] 本体で設定されたメーラーを開く。 \__t TeachBoxを開く。 \![open,teachbox] TeachBoxを開く。 \![open,communicatebox] CommunicateBoxを開く。 入力するとOnCommunicateイベントが発生。 コミュニケートをする時にはこの命令を記述。里々でもこれを使います。 \![open,inputbox,ID,表示時間,テキスト] InputBoxを開く。 入力した時にOnUserInputが発生。 IDはreference0に格納される。 仮にIDを「名前」としておけば、例えば里々では *OnInputBox >(R0)が入力された としておけば *名前が入力された で対応できる。 「表示時間」は-1でタイムアウトなし。 「テキスト」は最初から入力されている内容を指定できる。名前変更時に(ユーザ名)としておくとちょっと親切かも? \![open,passwordinput,ID,表示時間,テキスト] 文字を隠すInputBoxを開く。 \![close,inputbox,ID] IDで指定されたInputBoxを閉じる。 InputBox補足 このコマンドを指定すると入力ボックスが表示される。 入力後、決定されるとSHIORIイベント、OnUserInputが発生する。 IDはreference0に格納される。 タイムアウト時にはreference1はtimeoutと返る。 表示時間は-1でタイムアウト無しになる。単位はms。 入力の間、他の一切を受け付けない。 MATERI、SSPのみボックス内にあらかじめテキストを用意できる。 さらにSSPのみテキストの代わりにオプションを指定できる。(カンマ区切りで複数指定) 『--text=標準で入力されているテキスト』 『--limit=入力制限文字数』 第3引数に関数を指定することもできる。その場合関数名はOnからはじめること。文字列の入力後にその関数が実行される。入力された文字列はreference[0]に格納され、その関数内で使える。 例(YAYA) \![open,inputbox,OnTest,0] OnTest{reference[0]+"が入力されたよ"} \![open,dateinput,ID,表示時間,年,月,日] 年月日入力ダイアログを開く。 \![open,sliderinput,ID,表示時間,現在値,最小,最大] スライダー調節ダイアログを開く。 \![open,timeinput,ID,表示時間,時,分,秒] 時間入力ダイアログを開く。 \![open,configurationdialog] 設定ダイアログを開く。 \![open,ghostexplorer] ゴーストエクスプローラを開く。 ゴーストエクスプローラは使い勝手がいいので、ショートカットキーに仕込んでおくと色々と便利。ただ、仕込まなくても標準で共通のショートカットキー(Ctrl+E)が用意されているので、そっちを覚えているなら不要。 \![open,shellexplorer] シェルエクスプローラを開く。 \![open,balloonexplorer] バルーンエクスプローラを開く。 \![open,headlinesensorexplorer] ヘッドライセンスエクスプローラを開く。 \![open,pluginexplorer] プラグインエクスプローラを開く。 \![open,rateofusegraph] ゴースト使用率を表示する。 \![open,rateofusegraphballoon] バルーン使用率を表示する。 \![open,rateofusegraphtotal] ゴースト使用率(合算)を表示する。 \![open,calendar] カレンダーを開く。 \![open,help] SSPヘルプを開く。 \![open,messenger] インスタントメッセンジャーを開く。 \![open,readme] readme.txtを開く。 \![open,file,ファイル名] ファイルを実行する。 txtファイルを開かせたり、ランチャー機能を実行する時に。 \![open,dialog,open,パラメータ] ※ファイルを開くのダイアログを開く。 \![open,dialog,save,パラメータ] ※ファイルの保存のダイアログを開く。 ファイルを開く/ファイルを保存 パラメータ補足 『--title』 ダイアログのタイトルバーに表示されるテキスト 『--dir=パス』 初期表示フォルダ 『--filter=フィルタ』 BMP|*.bmp|その他|*.png;;*.gif のように記述 『--ext=拡張子』 保存時の標準拡張子 『--name=ファイル名』 保存時の標準ファイル名 『--id=イベントID』 OnSystemDialog/OnSystemDialogCancelに送るID イベントIDをOn~にするとそのIDのイベントが発生する。 \![open,dialog,folder,パラメータ] ※フォルダ選択のダイアログを開く。 フォルダ選択 パラメータ補足 『--title』 ダイアログのタイトルバーに表示されるテキスト 『--dir=パス』 初期表示フォルダ 『--id=イベントID』 OnSystemDialog/OnSystemDialogCancelに送るID イベントIDをOn~にするとそのIDのイベントが発生する。 \![open,dialog,color,パラメータ] ※カラーパレットのダイアログを開く。 カラーパレット パラメータ補足 『--color=R G B』 RGBをそれぞれ0~255で指定 『--id=イベントID』 OnSystemDialog/OnSystemDialogCancelに送るID イベントIDをOn~にするとそのIDのイベントが発生する。 \![open,surfacetest] サーフィステストダイアログを開く 。 ゴーストエクスプローラ同様、共通ショートカットキー(Ctrl+T)が用意されているので、こちらを覚えているなら特に使う必要はないかも。
https://w.atwiki.jp/jcdp/pages/15.html
スクリプトの実行 スクリプトの実行は、メニューコマンドの呼び出しと同じくらい簡単です。単に「Tool メニュー - Run script - 各スクリプト」から実行するスクリプトを選択するだけです。 スクリプトメニューに表示されるスクリプトは「script」フォルダ内にあるスクリプトと同じです。「script」フォルダは Cheetah3D のプログラムがあるフォルダにあります。Cheetah3D は、このフォルダ内にないスクリプトファイルを見つけられません。 新しいスクリプトをインストールするときは「script」フォルダにコピーします。Cheetah3D を再起動させればスクリプトメニューに新しいスクリプトが表示されます。 注意:Cheetah3D は、「.js」という拡張子のついたスクリプトしかスクリプトメニューに表示しません。
https://w.atwiki.jp/mizcremorne/pages/134.html
LSLの常套手段やちょっと気の利いた使い方、特殊な関数など、tipsのような記事です。 基本的にLSLの基礎がわかっている方向けの内容になっています。 回転について(記述中) はじめに rotation型 vector型 vectorとrotation間の変換 回転の向きについて rotationの合成 回転の合成順序 グローバル座標系とローカル座標系 リンクプリムの回転 テレポート テレポートハック 移動型テレポーター LSLで日本語を使う はじめに listenによる入力 URLエスケープの使用 その他の方法 パーティクル パーティクルとは パーティクル関数(llParticleSystem関数) パーティクルモジュールパラメータの説明マスク・パラメータ パターン・パラメータ その他詳細パラメータ 応用編 鍵をかける はじめに 鍵をかけることの意味操作できる人を限定する方法 鍵をかける 強制排除スクリプト Emailの送受信? リモートロード? 高度なカメラ制御 はじめに カメラ制御とはポジション フォーカス ロック ディスタンス ピッチ ビハインドネス ラグ スレッショルド カメラ制御の関数llSetCameraParams関数 llClearCameraParams関数 llReleaseCamera関数 カメラ制御スクリプト俯瞰カメラ 固定追尾カメラ 完全固定カメラ カメラの動的制御 モジュール化 はじめに スクリプトのサイズ モジュール化の概念 モジュール化の手法 ドア・システム・スクリプト基本的なモジュールslide door module standard door module door main module short touch module group touch module 拡張モジュールsensor module phantom door module モジュール化の効果 モジュール化のデメリット