ニコスクリプト専用スレ


告知欄


■ニコスクリプト専用スレ

現在表示しているスレッドのdatの大きさは58KBです。

1 名前: no name :2007/11/12(月) 16:38:44 ID:EYSN3gPx

何これ楽しすぎるwwwwwwwwwwwww

35 名前: no name :2007/11/26(月) 16:48:25 ID:HH2G3sjw

@120は@001でも大丈夫だよね?

36 名前: no name :2007/11/26(月) 16:48:44 ID:AP/+ozOf

このスプリクトはZIP厨とか楽しそうに使うだろうから、一般開放しなくていいよ。

37 名前: no name :2007/11/26(月) 17:01:35 ID:5veenqc9

ニコスクリプトマニュアル
http://www.nicovideo.jp/static/script/

38 名前: no name :2007/11/26(月) 17:15:36 ID:5veenqc9

デフォルト
『コメントのデフォルトの表示設定を変える機能です。』

コメント禁止
『一定時間コメントを非表示にし、閲覧者のコメントを禁止します』

投票
『動画で流れているコメントから任意のコメントの数を数える機能です。』

投票結果
『『@投票』の結果を集計して表示する機能です。』

投票ジャンプ
『『@投票』の結果によって別の動画にジャンプする機能です』

ジャンプ
『別の動画へジャンプさせる機能です。(動画ジャンプはこのコマンドを入れた箇所で行われます)』

キーワードジャンプ
『動画視聴者が特定のコメントを入れた時に動画ジャンプする機能です。(コメント入力者のみ動画ジャンプします)』

キーワードメッセージ
『動画視聴者が特定のコメントを入力時に任意の文字列を表示します。(コメント入力者に対してのみ表示され、他の閲覧者にはみえません)』

39 名前: no name :2007/11/26(月) 17:16:05 ID:HH2G3sjw




投下

40 名前: no name :2007/11/26(月) 17:17:33 ID:5veenqc9


『動画の上に窓枠を被せる機能です。窓枠はコメントで動かすことが出来ます。』


『動画の上に玉を出現させ、コメントで動かすことができる機能です。』

玉窓ジャンプ
『@窓 及び@玉 で使った窓穴及び玉が任意の場所に来た時に別の動画にジャンプさせる機能です。』

置換
『コメント内に特定の文字列が含まれる場合、文字列を別の文字列に変更するします。または、特定の文字列を含むコメント全体を別の文字列に置き換えます』

41 名前: no name :2007/11/26(月) 17:18:25 ID:7eqIhz66

>>34
なるほど
でも飛ぶのに数秒いるみたいだから次回予告切れそう。
使うなら最後に数秒空白用意して欲しいな。
>>35
投票のコマンドの話?
投票の集計時間の設定だから1秒じゃどうにもならんかと

42 名前: no name :2007/11/26(月) 17:20:38 ID:TBUM/EQ3

スクリプトの設定にはmigi hidariのコマンドが使えるな

43 名前: no name :2007/11/26(月) 17:38:36 ID:HH2G3sjw

玉窓ジャンプ判定厳しすぎwww

44 名前: no name :2007/11/26(月) 17:56:14 ID:7eqIhz66

外部でスクリプト書きまくって持って来たらリストに反映するときに再生時がバグる。。
一動画内に投票と結果何個も乱立したらバグるっぽい
とりあえず構文ミスってないか確認中

45 名前: no name :2007/11/26(月) 18:02:30 ID:JmXF/QTm

公式動画のタイピングは面白かったけど、とにかく処理落ちがひどいな

46 名前: no name :2007/11/26(月) 18:10:19 ID:7eqIhz66

>>44
いきなりですまないが解決した
秒数を60とかジャストで指定してたが60.01で指定したらスクリプトが混乱しなくなったのか一発でいけた

47 名前: no name :2007/11/26(月) 18:31:22 ID:DJjaCU4E

むー。玉を120秒設定「@120」 にしても、70秒位で玉が消えてしまう。。。何故だ。。。

48 名前: 47 :2007/11/26(月) 18:38:19 ID:DJjaCU4E

解決。・・・そうか、画面の外まで出ていくのか・・・。
なんか対応策ないもんかね。画面外に窓や玉がいなくなると切ない。

49 名前: no name :2007/11/26(月) 21:23:59 ID:SPOL0msX

ニコスクリプト、CPU占有率が99%とか酷いことになるんだけど……
メモリ使用率もかなり上がる。
マシン全体の処理が止まってマトモに見れない。
スペックはそこそこいい方だと思うんだけどねぇ……

50 名前: no name :2007/11/26(月) 22:25:02 ID:5veenqc9

ニコニコ動画(RC2)‐非公開ニコスクリプト@ドア 体験動画

51 名前: no name :2007/11/26(月) 22:35:19 ID:5veenqc9

@投票 A、B、C            ←を設定して
__nicoscript_1.words["A"];       ←ってやるとAの集計数にアクセス出来て
/replace(src:"Aの数",dest:__nicoscript_1.words["A"]);  ←ってやると"Aの数"っていう文字列をAの集計数に置換出来るんだけど

/replace とか __nicoscript_1 とかって仕様公開されているの?
まさか普通の隠しコマンドみたいに flvplayer.swfを解析して自分で見つけろって言っている?
見当違いなことを言っていたらスマンが誰か教えておくれ

52 名前: no name :2007/11/26(月) 22:43:17 ID:5veenqc9

運営が作ったサンプル動画、これやるまでテスト動画みたいなので試してたけど
どうにも微妙感あったが、サンプルのやったらそれなりに楽しめたわ
やっぱりごちゃごちゃ入れるんじゃなしに”これ”と決めて作った動画のほうが楽しいわな

ニコスクリプト@投票 体験動画


ニコスクリプト@窓 体験動画


ニコスクリプト@置換 体験動画

53 名前: no name :2007/11/27(火) 00:16:22 ID:kZfn30eP

ttp://d.hatena.ne.jp/kotas/20071126/nicoscript
画像付きのチュートリアル

54 名前: no name :2007/11/27(火) 21:49:00 ID:mx3eP9eV

ジャンプ機能の有効活用動画

55 名前: no name :2007/11/28(水) 05:57:02 ID:Z1EDVsgh

アイマスヲタがアイマスADVやってるみたいだなwww
動画いっぱいうp必要あるだろうにww

リレー小説ならぬリレー動画ってのはさすがに大変か

56 名前: no name :2007/11/30(金) 07:09:44 ID:TSeR9QW8

>>51
なんだそりゃwwすげええええwwwwwwwww

57 名前: no name :2007/12/26(水) 20:31:55 ID:Y2HQMobB

一般開放されたことだし上げとく、これでニコスクリプトを良い感じに使った動画とか出てきそうだ

58 名前: no name :2007/12/26(水) 21:36:00 ID:8fMi762t

全員ジャンプ機能を使えるようになると「ツマラン」とか「自演」「死ね」って書くヤツを
強制的にガチムチ動画にジャンプさせたり出来るからNG機能より使えると思う。

59 名前: no name :2007/12/26(水) 21:47:14 ID:61ClxIgu

>>58
ワロタ
でもそれやったら余計叩かれそうだなw
ランキング系の動画とかならありかも

60 名前: no name :2007/12/26(水) 22:56:43 ID:BMhuhL0i

スクリプトの種類を増やせば、もっと面白いのつくれるかもね

たとえば、@窓とか@玉を○以外にも□△◇とか増やすだけでも

61 名前: no name :2007/12/26(水) 23:27:40 ID:BMhuhL0i

【ニコスで】体内時計ゲーム



この動画ってどういうこと?
公式で用意してないスクリプトをうp主が自分で書いたのか?
投稿者コメント見ると、なんかプログラムっぽいの書いてあるけど

62 名前: no name :2007/12/26(水) 23:38:21 ID:Y0S6brqW

問題の部分を抜き出してみた。

/t=drawText(text:"",size:100,color:0x00ff00);t2=drawText(text:"",size:30,color:0x0000ff,y:70)


/commentTrigger(then:if(when:chat.message.indexOf("そぉい")>=0&&chat.isYourPost,then:i=chat.vpos-33;p=i-10;t.text=i;if(when:p==0,then:t2.text="EXELLENT!(゜∀゜)! RANK:S";t2.color=0xffff00);if(when:p<-1||1<p,then:t2.text="BAD(´・ω・`) RANK:C";t2.color=0x0000ff);if(when:(-1<=p&&p<-0.3)||(0.3<p&&p<=1),then:t2.text="GOOD!(`・ω・´) RANK:B";t2.color=0xff8800);if(when:(-0.3<=p&&p<0)||(0<p&&p<=0.3),then:t2.text="GREAT!(・∀・) RANK:A";t2.color=0xff0000)),timer:15)

/から始まるコメントはプログラム?

63 名前: no name :2007/12/26(水) 23:52:52 ID:BMhuhL0i

いわゆるjava scriptって奴なの?

しかし悪用されんのかな、ブラクラみたいなの

64 名前: no name :2007/12/28(金) 19:50:18 ID:hsUNXL+D

>>61
なんかスクリプト追加されたみたいだ

>>62
ところでその長いスクリプト、どうやってコピーしたの?
firefoxじゃコピーできないが

65 名前: no name :2007/12/28(金) 22:20:52 ID:/t9wbl9S

>>61みたいなのもいいけどさ
公式見本として出てたタイピング動画欲しいわ
見ててゲージが減っていく演出とか秀逸だったし誰か作ってくれないかなぁ
今のとこ公式のが一番やってて楽しいんだよね
ニコスクリプト@置換 体験動画

66 名前: no name :2007/12/28(金) 23:41:33 ID:whqBvQSp

こんな感じ

/drawShape(width:)

67 名前: no name :2007/12/28(金) 23:42:20 ID:whqBvQSp

あー書き込みわる前に投稿しちまった

68 名前: no name :2007/12/31(月) 15:21:57 ID:qJzqVJ02

@キーワードメッセージってちゃんと使える?

69 名前: no name :2007/12/31(月) 18:00:21 ID:Q98uUXeV

>>68
61の動画は使ってるんじゃね?

70 名前: no name :2008/01/01(火) 10:36:20 ID:A84IztqL

しかしこれさ、投稿者コメントカテゴリいらねえや
前まではプレミアム専用カテゴリとして機能してたけど
それなくなったらもう邪魔でしかなくね?
ニコスクリプト使う=投稿者コメントで書く だから、そこに表示されちゃうわけだし
なんていうか俺の理想としては通常カテの中にニコスクリプト使った動画とか混じってる状態なんだよね

71 名前: no name :2008/01/01(火) 16:15:48 ID:E9PO0c1X

>>70
激しく同意。普通のアニメとかにも使いたいのに

72 名前: no name :2008/01/06(日) 21:45:41 ID:wE7/1QPE

>>70-71
それは「投稿者コメント」タグを消去すれば解決する予感。
ロックかかってるけど、「ロック外し→消去」すれば消せるはず。

まあ一々ロック外すの面倒だから、
デフォルトでロックになるのだけは何とかして欲しいが。

73 名前: no name :2008/01/09(水) 21:28:25 ID:Qa3PXNub

1000件まで登録できるようになったそうだ
ニコスそこまで登録しないが歌詞とか弾幕とか遊ぶ分にはよさそうじゃね?
とりあえず運営乙

>>70
「投稿者コメント」カテゴリ確かにイラネ
他のカテゴリタグと一緒に登録されてると
トップに表示されないわランキングには載らないわで
投稿者コメ付けて盛り上げる意味ねーよw

74 名前: no name :2008/01/09(水) 22:33:35 ID:v0chSds3

>>73

>他のカテゴリタグと一緒に登録されてると
>トップに表示されないわランキングには載らないわで

以前の仕様では載らなかったけど、今は載るよ。
・・・投稿者コメント以外のカテゴリランキングには載らなくなるけど。

75 名前: no name :2008/02/10(日) 17:11:57 ID:+6pseEYi

>>65
>公式見本として出てたタイピング
ってどんなの?
sm2279142作ってみた

76 名前: no name :2008/02/10(日) 19:44:05 ID:6FxlPya0

>>75
>>65の言ってるのは65に乗ってるこれのこと
難易度もほどほどで、時間内に入力すれば+正解+と置き換えされるのでわかりやすくもあった
ニコスクリプト@置換 体験動画

77 名前: no name :2008/02/10(日) 20:55:33 ID:+6pseEYi

>>76
thx。
ゲージは動画側で作ってあるんだね。確かにわかりやすい

78 名前: no name :2008/02/19(火) 02:29:32 ID:Uv+TwZ0r

JavaScript風のは、@から始まるやつに比べたらかなり自由度高いな

79 名前: no name :2008/03/06(木) 00:51:12 ID:+/FgHZYg

新機能あげ

80 名前: no name :2008/03/14(金) 00:06:54 ID:Jc6aJhFV

誰か非公開スクリプトでボタン使う方法わかった人いる?

81 名前: no name :2008/03/14(金) 00:10:02 ID:BDFVkD8Y

addButton()入れてみたけど全然導入できないね…。何か宣言が必要とか?

82 名前: no name :2008/03/14(金) 00:17:26 ID:Jc6aJhFV

__init_buttons が怪しい

いちお引数一覧をあげとく
message :string :表示メッセージ
mail :string ボタンの表示設定
vpos :int :表示させるタイミング(?)
commes :string :押された後に表示させる文字(?)
commail :string :投稿コメントの表示設定
comvisible :bool : 投稿コメントの表示/非表示
limit :int :押せる限界数
hidden :bool :表示、非表示

(?)は激しく自信がないもの

83 名前: no name :2008/03/14(金) 00:20:54 ID:Jc6aJhFV

もしかしてプレミアム限定なのか

84 名前: no name :2008/03/14(金) 00:22:25 ID:zdhPLwsZ

commesはボタンを押すと投稿されるコメントじゃない?

85 名前: no name :2008/03/14(金) 00:32:41 ID:Z+4oVjfo

こういうのってどやって解析してるんですか?
やっぱ勘?

86 名前: no name :2008/03/14(金) 01:21:38 ID:wBCkrwl+

@ボタンで作成したオブジェクトは、__init_buttons[x]というラベルが付けられる。
dt(__init_buttons[0].mail)→@10 shita big red みたいに参照できるけど、
__init_buttons[0].message = "hoge" としたところでボタンの表示は変わらず。

87 名前: no name :2008/03/14(金) 01:36:01 ID:wBCkrwl+

addButtonコマンドを仕様した後、dt(__init_buttons[0])とすると
undefinedではなくObject型で返すことから見ると生成自体は出来てるらしい。

88 名前: no name :2008/03/14(金) 02:26:48 ID:wBCkrwl+

@ボタンでもまぁいいんだけど何が不満って、
ボタンを縦にしか並べられないことだよ・・・・

新機能紹介動画の時点では十字キーを出してるじゃない・・・詐欺だ・・・orz

89 名前: sage :2008/03/14(金) 02:33:52 ID:G3PxH5ul

1つの動画からある動画にジャンプ→戻る、数秒後に別の動画にジャンプ→戻る、というのはできないのかな?
一回ジャンプしたら、戻ってきた後の時刻に設定した「@ジャンプ」に反応しない…_| ̄|○

90 名前: no name :2008/03/14(金) 02:56:13 ID:Jc6aJhFV

まあどうせ未公開スクリプトで使えたとしても、
色設定、位置設定、表示設定もろもろ
@ボタンとほとんどやれることが変わらんからな。
drawtextみたいにcolorとかx,yとかあればよかったんだけど。

ああ、でも__init_buttons[x]で動的にボタンの状態を制御できるのか。

91 名前: no name :2008/03/14(金) 05:26:59 ID:wBCkrwl+

いや__init_buttonsは、ほぼ読み取り専用だわ。

92 名前: no name :2008/03/14(金) 05:55:34 ID:dKtXPHSu

この新しい投票ジャンプって、自分自身の別の場所にシークできるみたいだけど
例えば4択で、それぞれが1位になった場合に別の場所に飛ばすにはどうすればいいんだ? これ…

30::@投票ジャンプ [ラベル] smXXXXXX,smXXXXXX,smXXXXXX,smXXXXXX 1:00,2:00,3:00,4:00

とかだとダメみたいなんだけど

93 名前: no name :2008/03/14(金) 16:05:54 ID:3lgwDIIa

別の動画にジャンプした後、戻ってくると最初から再生する仕様になった?
あるいは、串をかましているから?
わからんことが多すぐる

94 名前: no name :2008/03/14(金) 17:23:04 ID:Jc6aJhFV

http://www.nicovideo.jp/watch/sm9?returnto=10&returnmsg=back&returnid=sm1097445&length=10&from=10

どうもジャンプはURLで制御してるみたいだぞ

95 名前: no name :2008/03/14(金) 17:26:23 ID:Jc6aJhFV

ttp://www.nicovideo.jp/watch/sm9?returnto=10&returnmsg=back&returnid=sm1097445&length=10&from=10
ミスったw

96 名前: no name :2008/03/14(金) 18:01:09 ID:zdhPLwsZ

>>93
今テストしてみたけど、ちゃんとジャンプした時間から再生されたよ。
一応参考まで
jump("sm9", msg:"sm9に飛ぶ時に表示するコメ",from:10,return:true,length:10,returnmsg:"sm9から戻ってくる時に表示するコメ")

97 名前: no name :2008/03/14(金) 18:51:42 ID:Jc6aJhFV

シークを使ってニワン語でループ構文が作れるかなと思ったんだけど、無理っぽいね。
なんか変数がシーク前まで戻されてる。
これってやっぱシークが発生すると、最初からスクリプトを評価しなおしてるってことなのか?

98 名前: no name :2008/03/14(金) 18:58:02 ID:wBCkrwl+

変数の変化は時系列で格納されてるからな。
もっとグローバルな変数が使えればいいんだけど、ひょっこり見つからないかな?

99 名前: 93 :2008/03/14(金) 20:36:27 ID:3lgwDIIa

>>96
ありがとう。助かりました。
元動画からジャンプする際、1/10秒以下のところを指定していたからでした。
元に戻るとき、エンコされたURLをブラウザが理解しなかった?みたいです。

100 名前: no name :2008/03/15(土) 00:40:50 ID:P9Ti/mwS

色々調べてみたー

s = "文字列";
dt(s[2] + s[0]); 列文と表示
dt(s.size) 3と表示

d = ["A","B","C"];
dt(d[0]+d[1]+d[2]); ABCを表示
dt(d.size); 3を表示
d.push("D");
d.push("E");
d.pop;
dt(a[a.size-1]) Dを表示

[1,2,3].sum、 [1,2,3].productもツカエタよ

101 名前: no name :2008/03/15(土) 00:44:30 ID:4IzGFKpH

http://bbs.nicovideo.jp/test/read.cgi/request/1192027372/188
↑のページを参考にして
ランダムに出題されるクイズ作りましたー




すんげー疲れた。。割に過疎ってるけど。。orz

102 名前: no name :2008/03/15(土) 00:51:02 ID:xPSFjXmd

前のバージョンでは
d = ["A","B","C"];
d[1] = "C"
dt(d[0]+d[1]+d[2])→CCC な感じだったけど
今のバージョンでは直ってるっぽい?

103 名前: no name :2008/03/15(土) 01:00:46 ID:P9Ti/mwS

試してみたけど、ACCになったよ
直ってるみたいだね

104 名前: no name :2008/03/15(土) 01:43:12 ID:xPSFjXmd

ああ、でも
d = ["A","B","C"]; d[1] = "C"
dt(d[0])→表示されず、というよりこの行がスクリプトエラーになる。

0::/ d=["A","B","C"];d[1]="B";dt(d[1])
0::/ dt(d[0])→Bと表示。
このあたりの不具合は直ってないな・・・
こういうのは同じ行に連続で書いちゃダメっぽいね。

105 名前: no name :2008/03/15(土) 02:15:28 ID:P9Ti/mwS

他の行で配列参照するとバグるんだね。修正きぼん

106 名前: no name :2008/03/15(土) 02:17:57 ID:LPmfQa6M

糞機能すぎる

107 名前: no name :2008/03/15(土) 04:53:42 ID:q+p2k+TV

>>100 >>102
乙!
これで簡単な文字列解析もできるわけか

108 名前: no name :2008/03/15(土) 07:03:25 ID:xPSFjXmd

型毎に使えそうなものを列挙してみた。
String: indexOf , size , index , toInteger , toFloat
array: index , push , unshift , pop , shift , size , sum , product
chat: message , vpos , isYouPost , mail , fromButton , isPremium

109 名前: no name :2008/03/15(土) 13:42:40 ID:UhrleQZn

>>88
@ボタンでなんちゃって十字キー作ってみた sm2649827
ニワン語じゃないけど……。addButton謎すぐる

110 名前: 《K》”管理” ◆JQxQAYTWJE :2008/03/15(土) 17:00:08 ID:r1iWWfTp

@ボタン 糞機能はすぎる

それこそコメントこじきって感じだな

ずっとアニメタグの上にあって 見た目にもいい印象ではない

それに1秒以内の間隔でもコメントできるから

すさまじい鯖への負担

規制は好きではないが あまりにも不快に感じた 

111 名前: no name :2008/03/15(土) 17:31:16 ID:q+p2k+TV

>>110
確かに現状荒れすぎだよな
でもこういう使い方ならいいかなと思って作ってみた



どうもパソコンによってはとまってしまうようなんだが、
だれか調べてもらえないだろうか

112 名前: no name :2008/03/15(土) 17:42:57 ID:xPSFjXmd

コメントが集中してるポイントでcommentTriggerが
表示されたコメントを一斉に条件処理してるわけだから重くもなる。
ひとつのコメントに対しての処理が少なく、コメントが分散するような動画なら処理が軽くなるだろうね。

113 名前: no name :2008/03/15(土) 17:48:05 ID:q+p2k+TV

>>112
最初にchat.isYourPostで場合わけはしたんだけどね。
!!!を処理する場所をあと2〜3個作って、
ランダムでどれかに飛ばすようにすれば軽くなるわけか。

ブラクラ並みに重くなる環境が出ないか心配だ

114 名前: no name :2008/03/15(土) 18:39:06 ID:dG5OES+i

重いとかなら改善すべきだとは思うけど、コメントランキングは別に気にならない

115 名前: no name :2008/03/16(日) 17:46:56 ID:pisu4NF/

ランダム置換について色々試行錯誤中。
ttp://www.nicovideo.jp/watch/sm2595140

一番最初(すんごい重かった)
---------------
 0::/random=0
 ###置換対象が4つあるため、以下の行を対象と結果を変えて4回記述
  0::/rep1=replace(src:'置換対象1',dest:'1置換結果1',fill:true,color:0x00ffff,size:'small');
  commentTrigger(random=(rand(chat.message)+chat.vpos*1000+random)%5;
  if(when:random==1,then:rep8.dest='1置換結果2');
  if(when:random==2,then:rep8.dest='1置換結果3');
  if(when:random==3,then:rep8.dest='1置換結果4');
  if(when:random==4,then:rep8.dest='1置換結果5'),timer:200)
---------------

現状(多少軽くなった?)
---------------
 0::/random=0;ex1=['結果1','結果2','結果3','結果4'];ex2=['結果1','結果2','結果3','結果4'];ex3=['結果1','結果2','結果3','結果4'];ex4=['結果1','結果2','結果3','結果4']
  0::/rep1=replace(src:'‡',dest:'‡',fill:true,color:0x00ffff);
  rep2=replace(src:'‰',dest:'‰',fill:true,color:0xffff00);
  rep3=replace(src:'o',dest:'o',fill:true,color:0xff0000);
  rep4=replace(src:'§',dest:'§',fill:true,color:0x00cc00,size:'small')
 ###置換結果を配列化し、コメントトリガー内のif文を削除
  0::/commentTrigger(random=(rand(chat.message)+chat.vpos*1000+random)%6;
  rep1.dest=ex1[random];rep2.dest=ex2[random];rep3.dest=ex3[random];rep4.dest=ex4[random]),timer:200)
---------------

コメントトリガー使ってランダム置換するのって、高負荷になるのは避けられないんですかねぇ。。

116 名前: no name :2008/03/16(日) 20:09:47 ID:RQrLeDSG

その乱数の使い方だとコメントが増えたときに、そのコメント以降すべてに影響が出るよな。
コメント投稿時の負荷を軽くしたいんだったら random=rand(chat.vpos)%4 でいいんじゃね?
そもそもmp4再生にCPU食われてるんだから、どのみち高負荷よね。

117 名前: no name :2008/03/16(日) 20:48:42 ID:pisu4NF/

>>116
>コメントが増えたときに、そのコメント以降すべてに影響が出る
投稿内容そのものが上書きされるわけじゃないので、
全体をばらけさせようと思うと、どうしてもこういう使い方になっちゃうんですよねぇ。。

>random=rand(chat.vpos)%4
たしかにこの用法ではこんなもんで十分なのかも。
ちょっとやってみますー

118 名前: no name :2008/03/16(日) 20:56:50 ID:pisu4NF/

random=(rand(chat.vpos)+random)%6
↑に変えてみました。(実際の配列要素は6個定義してます)

119 名前: no name :2008/03/16(日) 21:46:51 ID:azz9TH5Q

>>115
ttp://www.hal.fscs.jp/nicoscript/ の作者です
動画内での宣伝ありがとうございます。

random=(rand(chat.message)+chat.vpos*1000+random)%5 についてですが、
これは3/13以前のrand関数では、いろいろと制限があり、純粋な乱数を得るためにわざわざこのような形にしていました。
しかし、スクリプト強化に伴いrand関数の仕様が変更されたため、現在なら random=rand(chat.vpos)%6 でも問題なく動作します。
ただrand関数は整数を引数とするため、0秒から0.999秒は同じ値を返すことになります。
ですので random=rand(chat.vpos*1000)%6 とすることをオススメします。

速度に関しては自分も研究中です。
なにか成果があったら報告します。

120 名前: no name :2008/03/16(日) 22:33:17 ID:azz9TH5Q

どうやらrand関数がだいぶ重たい関数であるようです。
rand関数を取り除いたところだいぶ処理速度が改善しました。
rand関数を使わずに乱数を取得する方法なんですが、
投稿時間の小数点以下がいいんじゃないかと。たぶんこれでも問題ないはず。
あと指定時間内の連続変更も制限してみたんですが、これもいい感じに効き目がありました。

以下サンプル
0::/
r=0;
b=0;
ex=['置き換え1','置き換え2','置き換え3'];
rep=replace(src:'',dest:'置き換え1',fill:true);
commentTrigger(
if(
when:b<chat.vpos,
then:
b=chat.vpos+0.5;
rep.dest=ex[(chat.vpos*1000)%3]
),
timer:30)

実際の(ry
0::/r=0;ex=['置き換え1','置き換え2','置き換え3'];rep=replace(src:'',dest:'置き換え1',fill:true);commentTrigger(r=(rand(chat.vpos*1000)+r)%3;rep.dest=ex[r],timer:30)

配列でif文を排除する方法は参考にさせてもらいました。
ほかにもいいアイデアがあったらぜひ教えてください。

121 名前: no name :2008/03/16(日) 22:37:20 ID:pisu4NF/

>>119
わざわざどもです!私元スレの160ですw
元々は単体で何回も遊べるランダム出題&ランダムご褒美なクイズを作りたくて、前の書き込みしたんですよー
時流を逃しましたが。。orz

>random=rand(chat.vpos*1000)%6
これって、chat.vposの値が同一でも異なる値を返すように仕様変更されたってことなんでしょうか。
random=(rand(chat.vpos*1000)+random)%6
                   ~~~~~~~~~
                      ↑は無意味っぽいですか?

って書き込む前にHP拝見したら、
やっぱ+randomはあったほうがいいっぽいっすよね。

122 名前: no name :2008/03/16(日) 22:39:42 ID:azz9TH5Q

ミスったw
しかも長文すまんw
実際の(ry (修正版
0::/r=0;b=0;ex=['置き換え1','置き換え2','置き換え3'];rep=replace(src:'',dest:'置き換え1',fill:true);commentTrigger(if(when:b<chat.vpos,then:b=chat.vpos+0.5;rep.dest=ex[(chat.vpos*1000)%3]),timer:30)

123 名前: no name :2008/03/16(日) 22:49:26 ID:azz9TH5Q

誤解を招くようなかきかたして申し訳ない
rand関数は、ある値に対して決まった別の数を返すので、
毎回変えたいならrandom=rand(chat.vpos*1000)%6でいいかと

ちなみに以前の仕様は、
「数値を引数にした場合、31の倍数のうちその引数を超えない最大のものを返す」
という仕様でした。
今考えれば rand(chat.vpos+' ')で十分だった気もします。

まあなんにせよrand関数は重たいんで、commentTrigger内で使うのはやめときましょう。
あと諸事情によりしばらくHPは更新できそうもないです

124 名前: no name :2008/03/16(日) 22:51:35 ID:azz9TH5Q

また間違えたw
random=rand(chat.vpos*1000+random)%6

125 名前: no name :2008/03/16(日) 23:16:09 ID:RQrLeDSG

もし、クイズなどで他人のコメントを乱数に使う場合は
問題を答えてるあいだに出題が変わる可能性がありますよね。
変化をもたせたい場合は、視聴者のコメントだけを使ったほうが安全かと。
その場合は、コメントをしないと進めないようにする必要もありますよね。

今日の豆知識:dt・drawTextは合計50個まで、それとは別にdrawShapeも50個まで。

126 名前: no name :2008/03/16(日) 23:32:51 ID:pisu4NF/

>>125
スクリプト量が異常なので晒せませんが、
クイズの方はもう出来てまっす。めちゃめちゃ過疎ってますが。。orz>>150のコメントにリンクがあります。

手法としては、問題とマッチング用の回答をペアにしてそれぞれ別の配列で管理して、
出題直前に要素番号をランダムで決めてます。
また、一問目は固定問題としてその間に処理タイミングをずらして色々やってます。

-----------------------
###問題回答配列
 arr問題=['1+1は?', 'このサイトの名前は?', 'りんごを英訳せよ。']
 arr回答=['2', 'ニコニコ', 'apple']

###出題内容確定
 random=(ry
###出題
 dt(arr問題[random])
###答え合わせ
 when:!keywordflag&&chat.isYourPost&&chat.message.indexOf(arr回答[random])!=-1,

###次の出題内容確定
 random=(ry
-----------------------

おっしゃるとおり初めは回答者のコメだけをトリガとしてランダム生成してたんですが、
あまりの過疎っぷりにうp後に問題生成の方針を変えましたw

127 名前: no name :2008/03/16(日) 23:33:21 ID:azz9TH5Q

>>125
なるほど。
つまりコメント一覧が更新されると、スクリプトが再評価されて、
乱数も更新されるのか。なんと恐ろしい罠w
参考になります。

>>124
もう3度目ですがまたミスが発覚。
chat.vpos*1000 だと一の位が0になっちゃうので、
chat.vpos*100としなければなりませんでした。

128 名前: no name :2008/03/16(日) 23:37:44 ID:pisu4NF/

>>126
書き込んだ直後に気がついた。
変数randomは、出題数の数だけ作ってます。やっぱ記憶だけで書くもんじゃないっすね。。

------
 random=[false,false,false,false,false,false,false,false,false,false,false,false,false]

 問題1を管理するのはrandom[0]
 問題2を管理するのはrandom[1]
------

んでさらに気がついた。
これじゃ指摘のバグ発生しちゃってるのかーーーーー!orz
元に戻すのめんどくさすぎる。。orz

129 名前: no name :2008/03/16(日) 23:50:25 ID:pisu4NF/

スクリプト全体の流れの中で、乱数算出に一度でも自分以外の投稿者コメント絡ませちゃうと、
どうやっても後ろ全部の問題が変わる可能性があるのか。。

今は↓のような感じで進めてます。
--------
0:00〜0:10 乱数決定
0:20〜0:40 出題&回答1
0:50〜0:60 乱数決定
0:70〜0:90 出題&回答2
--------
配列でペアにしてる関係上、問題と回答がずれるってことは起こりえないんですが、
見てたら突然問題が変わるって事は有り得る訳ですね。。orz

あと、、我ながら書き込み杉自重します。。orz

130 名前: no name :2008/03/17(月) 00:01:08 ID:oq5Y7scX

私は一向に構わんッッ!
せっかくのスレなんだから使ってなんぼでしょ。

いいこと思いついたような気がしたけど
「自動的にコメントを受信する」のチェックを外しても投稿したら受信しちゃうからこれは無理か。

131 名前: no name :2008/03/17(月) 00:14:20 ID:xv1Y9+k2

>>125
自重しない俺が来ましたよ。
実際に試したらその通りになりました。

刹那の見斬りのリザルト画面の左下に、
それよりも前のコメントで生成された乱数を表示してみました。
一覧が更新されるとこの値も更新されてます。
しばらく表示しとくんで見たい人はどうぞ。

イカソース
0::/rrr=0;commentTrigger(rrr=(chat.vpos*100+rrr)%100,timer:28)
85::/dt((rrr+'').toInteger(''),x:-screenWidth/2+10,size:10,pos:'shita',color:0x444444)

132 名前: no name :2008/03/17(月) 00:18:41 ID:7so/VezM

>>131
人がいっぱいいると、簡単に検証できていいですのう。。。w

if chat.isYourPost {
  全ての処理
}
もう、こうするしかないですな。。orz

133 名前: no name :2008/03/17(月) 00:22:18 ID:lCQxmn/G

if(when:条件式, then: ***, else: ***)
が、when省略出来るようになってるみたい。
if(条件式, then: ***, else: ***)
こう書ける

134 名前: no name :2008/03/17(月) 00:32:25 ID:xv1Y9+k2

>>132
ボタン様のおかげです
でもねぇ、コメントランキングの現状どうよってのが本音
ボタンコメントはデフォルトSAGEでおk

>>133
これはありがたい。

コメントが更新されるたびに、
スクリプトが再評価されるってのを考えて設計すれば、
速度もだいぶ改善される気がしてきた。

名前
メール
コメント
新着レスの表示 掲示板に戻る 全部 前100 次100 最新50