ソラマメブログ

2008年06月06日

AAメーカー

AAを外人に見せたい!
と思って作ったやつ
クリック で同じプリムに仕込んであるノートカード一覧を表示
選択   でそのノートカードの中身を表示

フォント違うから崩れまくりなんですけどね^^;;;;;;;;;;;;  
続きを読む
タグ :LSL
Posted by Inequality at 04:20Comments(1)TrackBack(3)LSL

2008年06月06日

論理演算

論理演算の勉強用にどうぞ
BIT
NOT
OR
AND
XOR
を使って発言するとその内容で演算してくれるぞ

スクリプトは追記から
  
続きを読む
タグ :LSL
Posted by Inequality at 04:13Comments(0)TrackBack(0)

2008年06月06日

今日から俺は

更新無さ杉でヤバイ
今日から作ったもの毎回ここに書くことにするわ
ショボくてもはずかしがらずに頑張って書くぜ
  
Posted by Inequality at 04:11Comments(0)TrackBack(0)雑記

2008年03月25日

冬休みの無駄使い

おもすれー


途中の抜けてる所で一瞬鯖から蹴られた

  
続きを読む
タグ :LSLHavok
Posted by Inequality at 19:03Comments(2)TrackBack(0)

2008年03月19日

ホワイトボード2

この間のホワイトボードを少し書き進めた
高校数学の知識でここまで頑張ったぜ  
続きを読む
Posted by Inequality at 11:15Comments(0)TrackBack(0)

2007年11月30日

土地動画用LSL

しばらく前に書いた土地動画を追加削除できるLSLを少し修正したよ
記事  
Posted by Inequality at 03:45Comments(0)TrackBack(0)雑記

2007年11月23日

チャット表示用フォントの変更

チャット表示用フォントの変更

あんずもじ
「あんずもじ」で表示

あぅあぅwwwww
MS P ゴシックでAA
崩れずに見えてるのは俺だけっていう
まさにL5

~Windows 2000の場合~

デフォルト設定で説明するぜ

C:\Program Files\SecondLife\fonts
の中に表示に使いたいフォントを入れる

C:\Documents and Settings\ (ユーザ名) \Application Data\SecondLife\user_settings\settings.xml
をNotepadか何かで開く

一番下までスクロールしての上の行に
<FontSansSerif value="(フォントファイル名)"/>
・・・と追加
拡張子を付けるのを忘れずに

これでSecondlifeを起動・再起動すればフォントが変わってるはず

もしも起動しなくなったら一連の作業を元に戻せばおk


ちなみにこれは外人が「日本語見てみたい!」って言い出したから書いたページだぜ
ここから下は外人用
翻訳使ったバカな英語だから見ないでくれよ><
----------------------------------------------------------

A method to display Japanese in a message
(In the case of Windows 2000)

C:\Program Files\SecondLife\fonts
Classify the font that can display Japanese into a folder.

(If you use Windows, I suggest to you to use a "Arial Unicode MS "font.
A folder storing away a font of Windows contains the "Arial Unicode MS "font.)

C:\Documents and Settings\ (User name) \Application Data\SecondLife\user_settings\settings.xml
Open a file in Notepad.

<FontSansSerif value="(Font file name)"/>
Write a tag in the line of somewhere as "<settings>" between "</settings>".

Setting is an end.

I use an interpreter.
I'm sorry if you cannot understand it.
  
Posted by Inequality at 01:00Comments(2)TrackBack(0)Tips

2007年11月14日

quaternion

いい加減、ホワイトボード完成させよう

Rez関数に角度を渡せるようにしよう

角度3つ同時に変えるとバグらね?

四元数ってうまいの? ←やっとこのあたり

どうやらRotationってのが四元数の値ってとこまではわかったんだけど
四元数の扱い方がまったくわかんね\(^o^)/  
タグ :LSL
Posted by Inequality at 22:36Comments(0)TrackBack(0)雑記

2007年11月10日

無限ループって怖くね?

待ってくれた人もそうじゃない人もこんばんわ
高解像度版の日本語板やっとできたぞー\(^o^)/

いやぁ結構掛かったなー
なんでこんなに伸びたかっていうと
うるふぇんのAIMがかなりうまくなってきて
毎日のようにチンチンしてたらSLやってる時間が少なくなっちゃって・・・
(´・ω・`)ズズー
 つ旦と

ここまでETVIPネタ

まあそんな感じでサボりながらも一応バグと闘ってたんだよ
 ∧_∧    
 ( ´・ω・)=つ≡つ -= バグ =-
 (っ ≡つ=つ      -= バグ =-
 /   ) ババババ
 ( / ̄∪

この前作ったGIMPでフォント配置するってプログラムなんだけど
配置してくれるのはいいんだけど
フォントセットに対応していない文字を勝手に補正してくれるっていういらん機能が付いてて
そういうバグが一番困るんだよな(´・ω・`)

「そんなら一緒に入れちゃえばいいじゃん」ってのが昔の俺だったんだけど
フォントのライセンスやらを調べてたらそういう訳にもいけなくなってさ

ここまで遅れた言い訳

完成品はこんな感じ

(大きさを最大にして撮影)

フォントが変わってかなり濃い文字が出るようになってるけど
使える文字種が少なくなってる

「それなのにフォント変えたってことはもしかして・・・」
お察しの通りなんだ、すまない(´・ω・`)
ライセンスフリーのフォントを何か知ってたら紹介してくれ

ちゃっかり値段が380L$に上がってるので
安さに惹かれた人はその辺注意してくれ


Ver3.5 人柱版
Ver3.*を購入済みの人は例の箱をクリックすれば無料で手に入るぞ

まだかなりバグが残ってると思うから
変な所があったらここにコメント書くかIM入れてくれると助かる  
Posted by Inequality at 05:48Comments(7)TrackBack(0)雑記

2007年10月21日

完全に雑記

どうも土地に作る建物の図案が決まりません><
いい感じのアイデアが思いつきません><
文字板の文字出力のバグ(仕様?)が直りません><  
Posted by Inequality at 19:12Comments(2)TrackBack(0)雑記

2007年10月04日

Scheme

Excelでひとつひとつ画像撮って貼り付けって作業が面倒だったんで
Script-fuで文字を勝手に配置してくれるやつ作った
Scheme使うのなんてこれで最後だろうな。。。

おかげで1枚を作るのがかなり楽になって1枚の中に入れる文字数が減ったので
こんなかんじで文字がくっきり見えるようになりました


今LSLを組みなおしてる所だから
配布まではもう少しまってくれ  
続きを読む
Posted by Inequality at 09:26Comments(6)TrackBack(0)雑記

2007年10月03日

unbound avaivle

ごめん、文字板値上げするかも

海外に向けて売りだそうと思ってるんだけど
海外のこの手の文字板にしちゃ安すぎらしい
しばらくはバージョン3のままだと思うから安心してくれ

それとひとつ前の日記に書いた動画のスクリプトにバグがあったから修正
・常に一番最後に追加した動画が再生されてたのを修正
・タイマーの挙動がおかしかったのを修正
・操作中以外の人がタッチしたのに操作中の人に待てと表示されてたのを修正
・人によって操作できなくする機能追加(BAN機能
・追加した人を記録するように
・正常に削除できるように  
Posted by Inequality at 09:05Comments(0)TrackBack(0)雑記

2007年09月30日

誰でも土地動画追加視聴

”続きを読む”をクリックでソース表示  
続きを読む
Posted by Inequality at 03:21Comments(1)TrackBack(0)LSL

2007年09月23日

吹き出し


こんなん作ったぞ
使いまわしでサーセンwww

プリム文字板のオマケとして配布中
http://inequality.slmame.com/e34077.html

文字板買ってくれた方なら家の前のコレで手に入るぞ


使い方は装備して4チャンネルで発言だ
/4 文字文字くんハイパー  
Posted by Inequality at 19:35Comments(5)TrackBack(0)作品

2007年09月22日

LSLで日本語コメント

最近自分の頭の悪さを日記にしてる気がして
ちょっとブルーなInqualityですこんばんわ


なんとか日本語をLSL上で表示できないかと思って色々いじったら
フレンド登録してる人全員に間違えてIM送ってしまった
本当に申し訳ない。。。


結果、なんとか日本語を表示できたんだけど
そのまま変数に代入はできないし
llSayの上にそのまま書いてもエラーが出て使えないみたいだ
コメントが日本語で書けるってぐらいしか利点が無いけど
他の人にそのスクリプトをあげたらうまく動作するかも不安だ


listに代入できるものの出力はされず

一応やり方を書いておくけど
前にこの設定を間違えてセカンドライフ自体が起動しなくなったので
やるなら自己責任で頼む


Win2000のやりかた
①(セカンドライフがインストールされてるフォルダ)\fonts の中に日本語に対応したフォントを入れる
 C:\WINNT\Fonts辺りからMSPgothic.ttfでもコピーしとけばいいと思う
②セカンドライフを起動してCtrl+Alt+Dで上にClientを表示させる
③Client -> Debug Settingsを押してウィンドウを出して
 FontMonospace の値を MSPgothic.ttf
 FontSansSerif の値を MSPgothic.ttf
 FontSansSerifBold の値を MSPgothic.ttf
 FontSansSerifFallback の値を gulim.ttc;simhei.ttf;MSPgothic.ttf
 (かなり適当)
④セカンドライフを再起動

設定を失敗してセカンドライフが起動しなくなったら
C:\Documents and Settings\(ユーザ名)\Application Data\SecondLife\user_settings\settings.xml
の中の
FontMonospace
FontSansSerif
FontSansSerifBold
FontSansSerifFallback
のタグを消せば直るはず  
Posted by Inequality at 20:57Comments(3)TrackBack(0)雑記

2007年09月22日

アイデアとか雑記とか

アイデアというかメモというか
適当に思いついたのを書き連ねてみた

センサーから人の位置をPHPで画像出力
外部と繋げてアバターチャットにしたり
各地と繋げて巨大チャットにしたり
センサーと当たり判定とたけこんでマウス座標    普通のプリムが反応しないのでボツ
土地動画でスライドショー
Pushの距離計算    Pushの飛ぶ先を計算してその方向に飛ばす
SMILの実験    ここらへん使ってプレゼンとかできないかな
たけこんでプリム移動
センサーとEmailで各地たまり場の人数を相互表示
カメラだけを移動
SL内でドット絵作成ツール    プリム数の食いがはんぱないからボツ
HUDに物入れられるようにして中身をツリー表示してミニインベントリ
SLでニコニコURL指定→PHPにURL渡して鯖にチョメチョメ→鯖の中でエンコード→SL内再生リストに追加→再生リストから土地内再生動画指定   俺には無理すぎ

できるけどやらないだけ?
世間ではそれをできないっていうんだよ
まさに(ry

そもそも俺にはこんなことできない
というわけで俺には無理だから誰か作ってくれ


以下雑記

FlashでSculpt作りって書いたじゃん
あれFlashの無料期限切れて作れなくなった\(^o^)/  
タグ :LSL
Posted by Inequality at 02:38Comments(0)TrackBack(0)雑記

2007年09月21日

exe ファイル すてたい

しのぶに教えてもらって興味を持ったことでも書いておこうと思う

土地の動画再生機能使うと色々面白いことができるな
Quicktimeで再生できる形式ならなんでも再生できるらしいから
たとえばjpgを再生させてスライドショーを作ったり(アクセスが不安だけど)
たとえばSMILを再生させて文章を表示させたり

flvもユーザ側でプラグイン当てれば再生できるとか
http://rag.moe-nifty.com/miya/2007/07/flv_3807.html

上映会再開してほしいなぁ

プリム文字板を改造しようと思って色々考えてみた
・フォントの種類を増やす
・ビット演算を正確にする
・画像をさらに分割して文字の解像度を上げる

フォントに関しては
フリーでUnicodeのなるべく最新の企画に対応してるフォントを使いたいんだけど
英語が苦手な俺にはどうもうまく見つからないんだよな

画像を分割するとその分、分岐処理も増えるから
ビット演算と配列を使って高速化とか やる気があったらしたいな

とりあえず基本情報終わるまでなかなかいそがしい  
タグ :Tips
Posted by Inequality at 02:58Comments(3)TrackBack(0)雑記

2007年09月19日

引越し案内

どうもレンタルだと作業する分のプリム数が少なかったり
スクリプトがガンガン動かせなかったりなので
メインランドに引っ越すことにした

/roseland/160/20/30/



あの家をそのまま持ってきたんだけど
周りの風景に馴染まないから近いうちに新しい家作るかー

この位置じゃ狭くないかって?
むしろこの狭さがいいんじゃないか

奥にあるのは教室っぽいところ

近いうちにLSL教室でも開こうと思ってる

外壁のテクスチャが決まらないから
誰かいい感じのがあったら俺に譲ってくれないか  
Posted by Inequality at 00:07Comments(0)TrackBack(0)雑記

2007年09月17日

マウスルック以外の視点位置取得

ちょっと面倒だけどかなり面白いものができた

まあ説明は一番下だ

まず目の前にボックスを作って
X = 0.01
Y = 10
Z = 3
ってなかんじのサイズの板を作ってくれ(回転はいじらないほうがいい)

次に各大きさが0.2ぐらいの球形プリムを作って
名前をballにしてさっきの板の中にいれてくれ

終わったら次のスクリプトを板の中に仕込んでくれ

//3点から面の法線を求める
vector housen( vector pos1, vector pos2, vector pos3){
    //減法
    vector vec1 = pos2 - pos1;
    vector vec2 = pos3 - pos1;
    //外積
    vector vec = vec1 % vec2;;
    //正規化
    vector tanivec = llVecNorm(vec);
    return tanivec;
}

vector vecp( vector pos1, vector vec1, vector pos2, vector vec2){
    //減法
    vector vec = pos2 - pos1;
    //内積
    float a = vec * vec2;
    float b = vec1 * vec2;
    //板の点までの距離
    float t = a / b;
    //距離から点を求める
    vector pos = pos1 + (vec1 * t);
    return pos;
}
default{
    state_entry(){
        llRequestPermissions(llGetOwner(), PERMISSION_TRACK_CAMERA);
    }
    touch_start(integer total_number){
        if(llDetectedKey(0)==llGetOwner()){
            vector p = llGetPos();
            vector s = llGetScale();
            //面の3点を指定
            vector pos1 = <p.x,p.y+s.y/2,p.z+s.z/2>;
            vector pos2 = <p.x,p.y-s.y/2,p.z+s.z/2>;
            vector pos3 = <p.x,p.y+s.y/2,p.z-s.z/2>;
            //3点から面の法線を求める
            vector housenv = housen(pos1, pos2, pos3);
            vector setp = vecp(llGetCameraPos(),llRot2Fwd(llGetCameraRot()),p,housenv);
            llOwnerSay((string)setp);
            llRezObject("ball", setp, ZERO_VECTOR, ZERO_ROTATION, 0);
        }
    }
}

ここまでできたら
カメラの権限を要求されるので承諾
Alt + 左クリック で板のどこかに視点を合わせる
視点をあわせたら板を左クリック

視点の位置にさっきの球形プリムが作られたのがわかると思う

マウスルックを使わない視点の方向ってやつだな

簡単操作で図形を描くホワイトボードを作ろうとしてたんだけど
こんな形でしか作れなかったわ  
Posted by Inequality at 03:02Comments(2)TrackBack(0)LSL

2007年09月16日

意味の無いもの

ちょい面白いものを作ったからうp
説明は一番下

list itemBox;
integer page;
integer handle;
list dialogItems;
key touchAV;



integer dialog(){
    dialogItems = (dialogItems=[]);
    integer i;
    integer len = llGetListLength(itemBox);
    string prev;
    string next;
    for(i = 0 ; i < 3 ; i++){
        if( page * 3 + i < len ){
            dialogItems = [(string)(i+1)+"[Get]",llList2String(itemBox,page * 3 + i),"*Del"+(string)(i+1)] + dialogItems;
        }else{
            dialogItems = [" "," "," "] + dialogItems;
        }
    }
    if(page > 0){
        prev = "<<<";
    }else{
        prev = " ";
    }
    if(page < len / 3){
        next = ">>>";
    }else{
        next = " ";
    }
    dialogItems = [prev,((string)(page+1) + "/" + (string)(llFloor(len/3)+1)),next] + dialogItems;
    llDialog(touchAV,"hosii item wo erandene", dialogItems, 123);
    handle = llListen(123, "", touchAV, "");
   
    return 0;
}



integer itemCheck(){
    itemBox = (itemBox=[]);
    integer i;
    for(i = 0; i < llGetInventoryNumber(INVENTORY_ALL) ; i++ ){
        string itemName = llGetInventoryName(INVENTORY_ALL,i);



        if((llGetInventoryType(itemName) == INVENTORY_SCRIPT) & (llGetScriptName() != itemName)){
            llSetScriptState(itemName, FALSE);
           
            itemBox += [itemName];
        }else if(llGetScriptName() != itemName){
            itemBox += [itemName];
        }
    }
   
    return 0;
}



default
{
    state_entry()
    {
        llWhisper(0,"reset & stanby");
        llAllowInventoryDrop(TRUE);
        itemCheck();
    }



    touch_start(integer total_number)
    {
        //if(llDetectedGroup(0)){
            touchAV = llDetectedKey(0);
            state di;
        //}
    }
   
    changed(integer mask){
        if(mask & (CHANGED_INVENTORY|CHANGED_ALLOWED_DROP)){
            itemCheck();
        }
    }
}
state di{
    state_entry(){
        llWhisper(0,"dialog open");
        llAllowInventoryDrop(FALSE);
        page = 0;
        llSetTimerEvent(60.0);
        dialog();
    }
   
    listen(integer channel, string name, key id, string message){
        integer i = llListFindList(dialogItems , [message]);
       
        if(message == " "){
            state default;
        }else if(message == "<<<" & i == 0){
            page--;
            llSetTimerEvent(60.0);
            dialog();
        }else if(message == ">>>" & i == 2){
            page++;
            llSetTimerEvent(60.0);
            dialog();
        }else if(i == 1){
            state default;
        }else{
            if(i % 3 == 0){
                llGiveInventory(touchAV, llList2String(dialogItems,i+1));
                state default;
            }else if(i % 3 == 1){
                llGiveInventory(touchAV, llList2String(dialogItems,i));
                state default;
            }else if(i % 3 == 2){
                if(touchAV == llGetInventoryCreator(llList2String(dialogItems,i-1))){
                    llRemoveInventory(llList2String(dialogItems,i-1));
                    itemCheck();
                }
                state default;
            }
        }
    }
   
    timer(){
        llListenRemove(handle);
        llSetTimerEvent(0.0);
        state default;
    }
}

誰でもアイテムを入れられて
誰でもアイテムを取り出せる

・・・あれ?

普通にプリムを箱代わりにすればよかったんじゃね?

まあダイアログとか使ったり見た目がいいから
ちょっと興味あったら使ってみてくれよ
俺のためと思って。。

使い方はいつも通り適当な箱にスクリプト入れてセーブ
アイテムは普通に箱開いて中にドロップ
手に入れたいときは箱をクリックだ

ちなみに途中のコメントをはずすと
オブジェクトのグループの人しか取れなくなる

  
Posted by Inequality at 06:05Comments(0)TrackBack(0)LSL