2008年06月06日
AAメーカー
2008年06月06日
2008年06月06日
2008年03月25日
2008年03月19日
2007年11月30日
2007年11月23日
チャット表示用フォントの変更

「あんずもじ」で表示

MS P ゴシックでAA
崩れずに見えてるのは俺だけっていう
まさにL5
~Windows 2000の場合~
デフォルト設定で説明するぜ
C:\Program Files\SecondLife\fonts
の中に表示に使いたいフォントを入れる
C:\Documents and Settings\ (ユーザ名) \Application Data\SecondLife\user_settings\settings.xml
をNotepadか何かで開く
一番下までスクロールしての上の行に
・・・と追加
拡張子を付けるのを忘れずに
これで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.
2007年11月14日
quaternion
↓
Rez関数に角度を渡せるようにしよう
↓
角度3つ同時に変えるとバグらね?
↓
四元数ってうまいの? ←やっとこのあたり
どうやらRotationってのが四元数の値ってとこまではわかったんだけど
四元数の扱い方がまったくわかんね\(^o^)/
2007年11月10日
無限ループって怖くね?
高解像度版の日本語板やっとできたぞー\(^o^)/
いやぁ結構掛かったなー
なんでこんなに伸びたかっていうと
うるふぇんのAIMがかなりうまくなってきて
毎日のようにチンチンしてたらSLやってる時間が少なくなっちゃって・・・
(´・ω・`)ズズー
つ旦と
ここまでETVIPネタ
まあそんな感じでサボりながらも一応バグと闘ってたんだよ
∧_∧
( ´・ω・)=つ≡つ -= バグ =-
(っ ≡つ=つ -= バグ =-
/ ) ババババ
( / ̄∪
この前作ったGIMPでフォント配置するってプログラムなんだけど
配置してくれるのはいいんだけど
フォントセットに対応していない文字を勝手に補正してくれるっていういらん機能が付いてて
そういうバグが一番困るんだよな(´・ω・`)
「そんなら一緒に入れちゃえばいいじゃん」ってのが昔の俺だったんだけど
フォントのライセンスやらを調べてたらそういう訳にもいけなくなってさ
ここまで遅れた言い訳
完成品はこんな感じ

(大きさを最大にして撮影)
フォントが変わってかなり濃い文字が出るようになってるけど
使える文字種が少なくなってる
「それなのにフォント変えたってことはもしかして・・・」
お察しの通りなんだ、すまない(´・ω・`)
ライセンスフリーのフォントを何か知ってたら紹介してくれ
ちゃっかり値段が380L$に上がってるので
安さに惹かれた人はその辺注意してくれ
Ver3.5 人柱版
Ver3.*を購入済みの人は例の箱をクリックすれば無料で手に入るぞ
まだかなりバグが残ってると思うから
変な所があったらここにコメント書くかIM入れてくれると助かる
2007年10月21日
2007年10月04日
Scheme
Script-fuで文字を勝手に配置してくれるやつ作った
Scheme使うのなんてこれで最後だろうな。。。
おかげで1枚を作るのがかなり楽になって1枚の中に入れる文字数が減ったので
こんなかんじで文字がくっきり見えるようになりました

今LSLを組みなおしてる所だから
配布まではもう少しまってくれ
続きを読む
2007年10月03日
unbound avaivle
海外に向けて売りだそうと思ってるんだけど
海外のこの手の文字板にしちゃ安すぎらしい
しばらくはバージョン3のままだと思うから安心してくれ
それとひとつ前の日記に書いた動画のスクリプトにバグがあったから修正
・常に一番最後に追加した動画が再生されてたのを修正
・タイマーの挙動がおかしかったのを修正
・操作中以外の人がタッチしたのに操作中の人に待てと表示されてたのを修正
・人によって操作できなくする機能追加(BAN機能
・追加した人を記録するように
・正常に削除できるように
2007年09月30日
2007年09月23日
吹き出し

こんなん作ったぞ
使いまわしでサーセンwww
プリム文字板のオマケとして配布中
http://inequality.slmame.com/e34077.html
文字板買ってくれた方なら家の前のコレで手に入るぞ

使い方は装備して4チャンネルで発言だ
/4 文字文字くんハイパー
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
のタグを消せば直るはず
2007年09月22日
アイデアとか雑記とか
適当に思いついたのを書き連ねてみた
センサーから人の位置をPHPで画像出力
外部と繋げてアバターチャットにしたり
各地と繋げて巨大チャットにしたり
センサーと当たり判定とたけこんでマウス座標 普通のプリムが反応しないのでボツ
土地動画でスライドショー
Pushの距離計算 Pushの飛ぶ先を計算してその方向に飛ばす
SMILの実験 ここらへん使ってプレゼンとかできないかな
たけこんでプリム移動
センサーとEmailで各地たまり場の人数を相互表示
カメラだけを移動
SL内でドット絵作成ツール プリム数の食いがはんぱないからボツ
HUDに物入れられるようにして中身をツリー表示してミニインベントリ
SLでニコニコURL指定→PHPにURL渡して鯖にチョメチョメ→鯖の中でエンコード→SL内再生リストに追加→再生リストから土地内再生動画指定 俺には無理すぎ
できるけどやらないだけ?
世間ではそれをできないっていうんだよ
まさに(ry
そもそも俺にはこんなことできない
というわけで俺には無理だから誰か作ってくれ
以下雑記
FlashでSculpt作りって書いたじゃん
あれFlashの無料期限切れて作れなくなった\(^o^)/
2007年09月21日
exe ファイル すてたい
土地の動画再生機能使うと色々面白いことができるな
Quicktimeで再生できる形式ならなんでも再生できるらしいから
たとえばjpgを再生させてスライドショーを作ったり(アクセスが不安だけど)
たとえばSMILを再生させて文章を表示させたり
flvもユーザ側でプラグイン当てれば再生できるとか
http://rag.moe-nifty.com/miya/2007/07/flv_3807.html
上映会再開してほしいなぁ
プリム文字板を改造しようと思って色々考えてみた
・フォントの種類を増やす
・ビット演算を正確にする
・画像をさらに分割して文字の解像度を上げる
フォントに関しては
フリーでUnicodeのなるべく最新の企画に対応してるフォントを使いたいんだけど
英語が苦手な俺にはどうもうまく見つからないんだよな
画像を分割するとその分、分岐処理も増えるから
ビット演算と配列を使って高速化とか やる気があったらしたいな
とりあえず基本情報終わるまでなかなかいそがしい
2007年09月19日
引越し案内
スクリプトがガンガン動かせなかったりなので
メインランドに引っ越すことにした
/roseland/160/20/30/

あの家をそのまま持ってきたんだけど
周りの風景に馴染まないから近いうちに新しい家作るかー
この位置じゃ狭くないかって?
むしろこの狭さがいいんじゃないか
奥にあるのは教室っぽいところ

近いうちにLSL教室でも開こうと思ってる
外壁のテクスチャが決まらないから
誰かいい感じのがあったら俺に譲ってくれないか
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 + 左クリック で板のどこかに視点を合わせる
視点をあわせたら板を左クリック
視点の位置にさっきの球形プリムが作られたのがわかると思う
マウスルックを使わない視点の方向ってやつだな
簡単操作で図形を描くホワイトボードを作ろうとしてたんだけど
こんな形でしか作れなかったわ
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;
}
}
誰でもアイテムを入れられて
誰でもアイテムを取り出せる
・・・あれ?
普通にプリムを箱代わりにすればよかったんじゃね?
まあダイアログとか使ったり見た目がいいから
ちょっと興味あったら使ってみてくれよ
俺のためと思って。。
使い方はいつも通り適当な箱にスクリプト入れてセーブ
アイテムは普通に箱開いて中にドロップ
手に入れたいときは箱をクリックだ
ちなみに途中のコメントをはずすと
オブジェクトのグループの人しか取れなくなる

