2007年09月29日
ハートスクリプト(リンデンスクリプト Tips)
2種類のハートが飛び出すスクリプトです。「スクリプト内容」 // // DoubleHeartsOutput script v1.0 // // Created by Zero2000 Kid 2007/09/29 // integer counter=0; string texname; list pstatus = []; initStatus() { pstatus = [ PSYS_SRC_TEXTURE , texname ,PSYS_PART_START_ALPHA ,1.0 ,PSYS_PART_END_ALPHA , 1.0 ,PSYS_PART_START_COLOR ,<1.0,1.0,1.0> ,PSYS_PART_END_COLOR ,<1.0,1.0,1.0> ,PSYS_PART_START_SCALE ,<0.08,0.08,0.0> ,PSYS_PART_END_SCALE ,<0.08,0.08,0.0> ,PSYS_SRC_BURST_SPEED_MIN ,0.2 ,PSYS_SRC_BURST_SPEED_MAX ,0.2 ,PSYS_PART_MAX_AGE ,3.0 ,PSYS_SRC_MAX_AGE,0.0 ,PSYS_SRC_ACCEL ,<0,0,0> ,PSYS_SRC_PATTERN , PSYS_SRC_PATTERN_EXPLODE ,PSYS_SRC_ANGLE_BEGIN , PI_BY_TWO ,PSYS_SRC_ANGLE_END , PI_BY_TWO ,PSYS_SRC_BURST_PART_COUNT , 1 ,PSYS_SRC_BURST_RADIUS , 0.0 ,PSYS_SRC_BURST_RATE , 0.9 ,PSYS_PART_FLAGS , (0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_SCALE_MASK ) ]; } setParticles() { llParticleSystem(pstatus); } default { state_entry(){ initStatus(); setParticles(); llSetTimerEvent(0.5); } on_rez(integer int) { llResetScript(); } timer(){ counter ++; if (counter == 2){ counter = 0; texname="a1d48734-bb17-4fb3-4e5c-131bb2b73ada"; } else if (counter == 1){ texname="3e887ba1-8bc6-e3e2-6d5b-8d39a03a5690"; } initStatus(); setParticles(); } } リンデンスクリプト Tips Intexへ
この記事へのトラックバックURL
この記事へのコメント
ハートが2種類なのに、テクスチャーセットが3ヶ所。
3つ目が気になる・・・ 非表示用かなー。
ここで乱数(× ガンダム、○ ランダム)を使って
ハートの出現を交互でなくすると・・・
で、だんだんスクリプトの深みにはまるんだよね。
スクリプトは地味で、ちまちましてるけど、
がんばって下さいね。
Posted by VtWin at 2007年09月30日 14:11
VtWinさん
こんにちは。
確かに3つ目必要ないですw修正しました。
tipsはこれからどんどん充実させてく予定なので
よろしくです。
Posted by ZERO at 2007年10月01日 23:22



「スクリプト内容」
//
// DoubleHeartsOutput script v1.0
//
// Created by Zero2000 Kid 2007/09/29
//
integer counter=0;
string texname;
list pstatus = [];
initStatus() {
pstatus = [
PSYS_SRC_TEXTURE , texname
,PSYS_PART_START_ALPHA ,1.0
,PSYS_PART_END_ALPHA , 1.0
,PSYS_PART_START_COLOR ,<1.0,1.0,1.0>
,PSYS_PART_END_COLOR ,<1.0,1.0,1.0>
,PSYS_PART_START_SCALE ,<0.08,0.08,0.0>
,PSYS_PART_END_SCALE ,<0.08,0.08,0.0>
,PSYS_SRC_BURST_SPEED_MIN ,0.2
,PSYS_SRC_BURST_SPEED_MAX ,0.2
,PSYS_PART_MAX_AGE ,3.0
,PSYS_SRC_MAX_AGE,0.0
,PSYS_SRC_ACCEL ,<0,0,0>
,PSYS_SRC_PATTERN , PSYS_SRC_PATTERN_EXPLODE
,PSYS_SRC_ANGLE_BEGIN , PI_BY_TWO
,PSYS_SRC_ANGLE_END , PI_BY_TWO
,PSYS_SRC_BURST_PART_COUNT , 1
,PSYS_SRC_BURST_RADIUS , 0.0
,PSYS_SRC_BURST_RATE , 0.9
,PSYS_PART_FLAGS , (0
| PSYS_PART_EMISSIVE_MASK
| PSYS_PART_INTERP_SCALE_MASK
)
];
}
setParticles() {
llParticleSystem(pstatus);
}
default
{
state_entry(){
initStatus();
setParticles();
llSetTimerEvent(0.5);
}
on_rez(integer int) {
llResetScript();
}
timer(){
counter ++;
if (counter == 2){
counter = 0;
texname="a1d48734-bb17-4fb3-4e5c-131bb2b73ada";
} else if (counter == 1){
texname="3e887ba1-8bc6-e3e2-6d5b-8d39a03a5690";
}
initStatus();
setParticles();
}
}