Воскресенье, 20.07.2025, 18:17

Мой блог

Главная | Регистрация | Вход
Приветствую Вас Гость
RSS
Форма входа
Календарь
«  Октябрь 2008  »
Пн Вт Ср Чт Пт Сб Вс
  12345
6789101112
13141516171819
20212223242526
2728293031
Поиск
Друзья сайта
Статистика

Дневник


Главная » 2008 » Октябрь » 09 » Создаем шарики с позами
Создаем шарики с позами
16:52

Создаем новый объект (шар) задаем для него нужный цвет и размер.

Заходим в раздел "содержание или  content"  добавляем из инвинтаря туда нужную анимацию.

Жмем кнопку "Новы скрипт" или "New skript" и добавляем следующий скрипт:

vector POSITION=<0.0, 0.0, 0.05>;
string HOVERTEXT="Sit Here";
string SIT_TEXT="";
string HOVER_RGB="255,255,255";
integer LISTEN=FALSE;
integer CHANNEL=8;

set_text()
{
  if (llStringLength(HOVERTEXT)>0)
  {
  rgb=llCSV2List(HOVER_RGB);
  llSetText(HOVERTEXT,<llList2Float(rgb,0)*0.003921568627450980392156862745098,llList2Float(rgb,1)*0.003921568627450980392156862745098,llList2Float(rgb,2)*0.003921568627450980392156862745098>,1.0);
   
  }  
  else
  llSetText("",<0,0,0>,0.0);  
}
start_listen()
{
  llListenRemove(listener);
  if (LISTEN==TRUE)
  listener=llListen(CHANNEL,"","","");
}
hide_me()
{
  llSetAlpha(0.0, ALL_SIDES);
  llSetText("",<0,0,0>,0.0);  
}
show_me()
{
  llSetAlpha(1.0, ALL_SIDES);
  set_text();  
}
list rgb;
string animation;
integer listener;
default 
{
  state_entry() 
  {
  if (llStringLength(SIT_TEXT)>0)
  llSetSitText(SIT_TEXT);
  llSitTarget(POSITION, ZERO_ROTATION); 
  set_text();
  start_listen();
  }
   
  on_rez(integer r)
  {
  start_listen();
  }
   
  listen(integer channel, string name, key id, string msg)  
  {
  if (msg=="hide")
  {
  hide_me();
  llMessageLinked(LINK_SET,0,"hide", NULL_KEY);
  }
  else if (msg=="show")
  {
  show_me();
  llMessageLinked(LINK_SET,0,"show", NULL_KEY);
  }
  }
   
  changed(integer change) 
  { 
  if (change & CHANGED_LINK) 
  {
   
  if (llAvatarOnSitTarget() != NULL_KEY) 
  { 
  llRequestPermissions(llAvatarOnSitTarget(), PERMISSION_TRIGGER_ANIMATION);
  }
  else
  {
  integer perm=llGetPermissions();
  if ((perm & PERMISSION_TRIGGER_ANIMATION) && llStringLength(animation)>0)  
  llStopAnimation(animation);
  llSetAlpha(1.0, ALL_SIDES);
  set_text();
  animation="";
  }
  }
  }
  run_time_permissions(integer perm)
  {
  if (perm & PERMISSION_TRIGGER_ANIMATION)
  {
  llStopAnimation("sit");
  animation=llGetInventoryName(INVENTORY_ANIMATION,0);
  llStartAnimation(animation);
  llSetAlpha(0.0, ALL_SIDES);
  llSetText("",<0,0,0>,0.0);
  }
  }

  link_message(integer sender_num, integer num, string str, key id)
  {
  if (str=="hide")
  {
  hide_me();
  }
  else if (str=="show")
  {
  show_me();
  }
  }
}


POSITION - Определяет где именно аватар будет находиться относительно шара поз (или объекта, содержащего скрипт). Вы возможно захотите оставить это на откуп самому шару поз, тем более, что вы уже настроили его положение. Но если вы используете скрипт, вставленный в диван или другой предмет мебели, вам скорее всего понадобится воспользоваться этой настройкой, чтобы аватар оказался в правильном положении. 

HOVERTEXT - Это текст, которые высвечивается над шаром поз. Помните, там, где должно быть написано "Mermaid Sunbathing"? :). 

SIT_TEXT - Когда кто-то кликает ПКМ по шару поз, этот текст высвечивается в меню кликнувшего аватара. Если вы оставите настройку без изменений, то скрипт будет писать просто "Sit Here". Вы можете изменить надпись на "Pose", "Cuddle", "Kiss", "Sunbath", или что-то другое, что придет вам в голову. 

HOVER_RGB - Это цвет текста над шаром поз. Три числа отражают насыщенность красного, зеленого и синего цветов соответственно. Таким образом "0,0,0" означает черный цвет, "255,255,255" означает белый, "255,0,0" значит красный, а "0,0,255" чистый синий. 

LISTEN - Эта настройка определяет будет ли шар поз откликаться на команды чата (настройка CHANNEL ниже определяет по какому именно каналу он будет получать команды). Вы можете использовать команды чата, чтобы показать и вновь спрятать шар поз. Видимый шар поз чреват появлением лагов, поэтому постарайтесь держать его в скрытом состоянии до тех пор, пока он вам действительно не понадобится! 

CHANNEL - Эта настройка определяет канал чата, на котором шар поз будет воспринимать команды. Channel 0 - это обычный чат (так что вы просто можете напечатать "show" или "hide" в обычнм чате и шар поз отреагирует соответствующим образом). В основном лучше всего избегать Channel 0, потому. что там ведется слишком много бесед, на которые шар поз может отреагировать.

Сохраняем, закрываем меню правки, ставим в нужное место и пользуемся ;-)

Просмотров: 1340 | Добавил: volldemar | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright MyCorp © 2025
Сайт управляется системой uCoz