2013/09/24

レーダーで表示名[本名]を表示

(消えてしまった1年前の記事の焼き直しです^^)

私の店で1番売れているのは、だれでも持っていそうな、ありふれた「レーダー」
まわりにいる人の名前と距離を教えてくれます。
それまで自分もフリーのを使ってましたが、ちょこちょこ不満もあるので、友だちの要望もあって、自作しました。
なので、使い勝手はそのフリーのとほとんど同じです。

不満の第一は、最近の「表示名」に対応してないこと、それと「Resident」だらけでうっとおしいことです。
スクリプトでは、表示名[本名]の形で表示し、「Resident」は省きます。
string agentName(key id) {
  string legacy=llKey2Name(id); // 本名
  list names=llParseString2List(legacy,[" "],[]);
  if (llList2String(names,1)=="Resident")
      legacy=llList2String(names,0); // Resident省く
  string display=llGetDisplayName(id);
  if (display==legacy||display==""||display=="???")
      return legacy; // 本名のみ表示
  else return display+"["+legacy+"]";
}
表示名が"???"とは、そういうケースもあるようなので、そんな場合は表示名をあきらめます。

このレーダーは、フリーに対抗して(^^)L$25 で売ってます:
SLマーケットプレイス
https://marketplace.secondlife.com/p/lovemax-RADAR-HUD-MyRadar/3959760
築地場外市場(SLurl)
http://slurl.com/secondlife/TSUKIJI/80/55/22/
LOVEHO Dmart(SLurl)
http://slurl.com/secondlife/LOVEHO/189/180/23/