▼スレッド
│
└◇624:お忙しいところすみません [masaki] 05/25 13:07
├◇626:Re:お忙しいところすみません [moon] 05/25 14:55
│└◇627:Re[2]:お忙しいところすみません [masaki] 05/25 16:02
│ └◇628:Re[3]:お忙しいところすみません [moon] 05/25 16:56
│ └◇629:Re[4]:お忙しいところすみません [moon] 05/25 17:24
│ └◇630:Re[5]:お忙しいところすみません [masaki] 05/25 17:45
│ └◇638:訂正 [moon] 05/27 08:42
│ └◇639:Re:訂正 [masaki] 05/27 18:28
│ └◇640:Re[2]:訂正 [moon] 05/27 19:34
│ └◇641:Re[3]:訂正 [masaki] 05/27 21:33
│ └◇642:Re[4]:訂正 [moon] 05/27 22:31
│ └◇643:Re[5]:訂正 [masaki] 05/28 06:27
│ └◇644:一番をみつける [masaki] 05/28 19:55
│ └◇645:Re:一番をみつける [moon] 05/28 20:46
│ └◇646:Re[2]:一番をみつける [masaki] 05/28 21:26
└◇647:↓← 646 [moon] 05/28 21:59
└◇648:Re:↓← 646 [masaki] 05/29 06:30<-last
お忙しいところすみません。スレッド一覧
色々試したのですが、わからないので質問させていただきます。
if($sp =~ /Ll/){
($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$ky = int(rand(2))+1;
if($min =='0'){$mn+=$ky;
push(@msg,'給料$ky\Gが配られました<br>');}}
Llのスキルを持っていたら一時間毎に給料が配られるようにしようと、↑のを作ったのですが、sub player's dataに加えてもお金が増えませんでした。(メッセージも表示されず。)(;;
メッセージは、ログインしたときに
給料$ky\Gが配られました
と表示されるかな?と考えたのですがだめでした。(^^;;
(複数の場合は
給料$ky\Gが配られました
給料$ky\Gが配られました'
という感じで・・w)
全く意味不明なことをしているかもしれませんが、宜しくお願いします。
> お忙しいところすみません。スレッド一覧
> 色々試したのですが、わからないので質問させていただきます。
> if($sp =~ /Ll/){
> ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(time);
> $ky = int(rand(2))+1;
> if($min =='0'){$mn+=$ky;
> push(@msg,'給料$ky\Gが配られました<br>');}}
> Llのスキルを持っていたら一時間毎に給料が配られるようにしようと、↑のを作ったのですが、sub player's dataに加えてもお金が増えませんでした。(メッセージも表示されず。)(;;
> メッセージは、ログインしたときに
> 給料$ky\Gが配られました
> と表示されるかな?と考えたのですがだめでした。(^^;;
> (複数の場合は
> 給料$ky\Gが配られました
> 給料$ky\Gが配られました'
> という感じで・・w)
> 全く意味不明なことをしているかもしれませんが、宜しくお願いします。
まず、ログイン時にするということならplayer_dataではなくmake_conで処理をします。
次に、$min == '0'では0分ちょうどにログインした場合だけ給料が入るということになります。('0'を==で比較しているのはこの際置いておいて・・・)
一定時間が経過した場合にだけ入手できる、とするにはif(time - $tm >= 3600)という感じで判定する必要があります。(ただし、デフォルトの$tmはログイン時以外にも変更されるので実際は最後のアクセスからの経過となりますが)
> まず、ログイン時にするということならplayer_dataではなくmake_conで処理をします。スレッド一覧
>
> 次に、$min == '0'では0分ちょうどにログインした場合だけ給料が入るということになります。('0'を==で比較しているのはこの際置いておいて・・・)
> 一定時間が経過した場合にだけ入手できる、とするにはif(time - $tm >= 3600)という感じで判定する必要があります。(ただし、デフォルトの$tmはログイン時以外にも変更されるので実際は最後のアクセスからの経過となりますが)
ありがとうございます!できました(^^
'ではなく"でしたw(初歩的なミスを(爆
2時間以上過ぎた場合、
> 給料$ky\Gが配られました
> 給料$ky\Gが配られました
のように表示させるにはどうすればいいのでしょうか?(^^;
いろいろすみません。
> 'ではなく"でしたw(初歩的なミスを(爆スレッド一覧
いえ、'や"の違いではなく'0'というように文字列としているのに==で数字として比較しているのでわかりにくくないのかな、と思っただけです。
> 2時間以上過ぎた場合、
> > 給料$ky\Gが配られました
> > 給料$ky\Gが配られました
> のように表示させるにはどうすればいいのでしょうか?(^^;
> いろいろすみません。
次のような感じかな。
$i = (time - $tm) / 3600;
if($i > 0){
$i = 2 if($i > 2); # 最大が2の場合
# 回数分給料を足すなり、単純に掛け算するなり。
}
> > 'ではなく"でしたw(初歩的なミスを(爆スレッド一覧
これはpush(@msg,'〜');についてのことだったようですね。
> いえ、'や"の違いではなく'0'というように文字列としているのに==で数字として比較しているのでわかりにくくないのかな、と思っただけです。
こう書いたのは、
> '0'を==で比較しているのはこの際置いておいて・・・
への返事だと勘違いしたからです。
> > > 'ではなく"でしたw(初歩的なミスを(爆スレッド一覧
>
> これはpush(@msg,'〜');についてのことだったようですね。
>
> > いえ、'や"の違いではなく'0'というように文字列としているのに==で数字として比較しているのでわかりにくくないのかな、と思っただけです。
>
> こう書いたのは、
>
> > '0'を==で比較しているのはこの際置いておいて・・・
>
> への返事だと勘違いしたからです。
できました(^^
ありがとうございました!!
こちらこそ意味不明なことばかりですみません。
>'0'というように文字列
'0'だと文字列になってしまうのですか(^^;
勘違いしてました(爆
文字列ということは、==ではなくeqですね(^^;;;
ありがとうございました(^^
ミスがあったので訂正します。スレッド一覧
正しくは、
$i = int((time - $tm) / 3600);
です。(前に書いたものだと作り方によっては1秒後でも給料がもらえる可能性があるので・・・)
> ミスがあったので訂正します。スレッド一覧
>
> 正しくは、
> $i = int((time - $tm) / 3600);
> です。(前に書いたものだと作り方によっては1秒後でも給料がもらえる可能性があるので・・・)
ありがとうございます(^^
早速修正しておきました!
あと、もう一つだけ質問を(^^;
S1のスキルを持っているプレイヤー全員の所持金を数えるにはどうすればいいのでしょうか?(^^;
> S1のスキルを持っているプレイヤー全員の所持金を数えるにはどうすればいいのでしょうか?(^^;スレッド一覧
どこ(トップページやプレイヤー画面など)でカウントするかによりやることが変わってきますのでどこでカウントしますか?
ちなみにトップページでカウントするのが一番簡単です。
> > S1のスキルを持っているプレイヤー全員の所持金を数えるにはどうすればいいのでしょうか?(^^;スレッド一覧
>
> どこ(トップページやプレイヤー画面など)でカウントするかによりやることが変わってきますのでどこでカウントしますか?
> ちなみにトップページでカウントするのが一番簡単です。
ではトップページでお願いします(^^;(ぉぃ
> ではトップページでお願いします(^^;(ぉぃスレッド一覧
では、sub find_bestで、
$mncount += $mn if(index($sp, 'S1') >= 0);
のようにカウントして、あとはsub sagaでint($mncount)を表示するだけです。
# これに限らずトップページへの機能追加は負荷がかかりやすいのでそのことは念頭においておいたほうが良いと思います。
> > ではトップページでお願いします(^^;(ぉぃスレッド一覧
>
> では、sub find_bestで、
> $mncount += $mn if(index($sp, 'S1') >= 0);
> のようにカウントして、あとはsub sagaでint($mncount)を表示するだけです。
はい。ありがとうございます(^^
> # これに限らずトップページへの機能追加は負荷がかかりやすいのでそのことは念頭においておいたほうが良いと思います。
気をつけます(^^
ありがとうございました。
$mncount1 += $mn if(index($sp, 'S1') >= 0);スレッド一覧
$mncount3 += $mn if(index($sp, 'S3') >= 0);
$mncount5 += $mn if(index($sp, 'S5') >= 0);
$mncount7 += $mn if(index($sp, 'S7') >= 0);
$mncount8 += $mn if(index($sp, 'S8') >= 0);
とするところまではわかったのですが、このなかから一番大きいものを見つけるにはどうしたらいいのでしょう?(^^;
ひとつずつifで比べていくしかないのでしょうか?
> $mncount1 += $mn if(index($sp, 'S1') >= 0);スレッド一覧
> $mncount3 += $mn if(index($sp, 'S3') >= 0);
> $mncount5 += $mn if(index($sp, 'S5') >= 0);
> $mncount7 += $mn if(index($sp, 'S7') >= 0);
> $mncount8 += $mn if(index($sp, 'S8') >= 0);
> とするところまではわかったのですが、このなかから一番大きいものを見つけるにはどうしたらいいのでしょう?(^^;
> ひとつずつifで比べていくしかないのでしょうか?
そうですね。5つくらいならifで比べるのが手っ取り早いはずです。
> $mncount1 += $mn if(index($sp, 'S1') >= 0);
> $mncount3 += $mn if(index($sp, 'S3') >= 0);
> $mncount5 += $mn if(index($sp, 'S5') >= 0);
> $mncount7 += $mn if(index($sp, 'S7') >= 0);
> $mncount8 += $mn if(index($sp, 'S8') >= 0);
関係ないけれど、上の書き方は処理に無駄が多いです。
if-elsifを使用して無駄な比較を少なくしたほうが良いと思います。
> > $mncount1 += $mn if(index($sp, 'S1') >= 0);スレッド一覧
> > $mncount3 += $mn if(index($sp, 'S3') >= 0);
> > $mncount5 += $mn if(index($sp, 'S5') >= 0);
> > $mncount7 += $mn if(index($sp, 'S7') >= 0);
> > $mncount8 += $mn if(index($sp, 'S8') >= 0);
> > とするところまではわかったのですが、このなかから一番大きいものを見つけるにはどうしたらいいのでしょう?(^^;
> > ひとつずつifで比べていくしかないのでしょうか?
>
> そうですね。5つくらいならifで比べるのが手っ取り早いはずです。
はい(^^
わかりました〜。
> > $mncount1 += $mn if(index($sp, 'S1') >= 0);
> > $mncount3 += $mn if(index($sp, 'S3') >= 0);
> > $mncount5 += $mn if(index($sp, 'S5') >= 0);
> > $mncount7 += $mn if(index($sp, 'S7') >= 0);
> > $mncount8 += $mn if(index($sp, 'S8') >= 0);
>
> 関係ないけれど、上の書き方は処理に無駄が多いです。
> if-elsifを使用して無駄な比較を少なくしたほうが良いと思います。
indexの意味がよくわからなかったので(ぉぃ
わかるものを使った方がいいですよね(^^;
ありがとうございました。
> > if-elsifを使用して無駄な比較を少なくしたほうが良いと思います。スレッド一覧
> indexの意味がよくわからなかったので(ぉぃ
> わかるものを使った方がいいですよね(^^;
> ありがとうございました。
indexの説明は省きますが、言いたかったのはindex云々ではなくて、
> $mncount1 += $mn if(index($sp, 'S1') >= 0);
> 〜〜〜
> $mncount8 += $mn if(index($sp, 'S8') >= 0);
こうやるのなら、
if(index($sp, 'S1') >= 0){$mncount1 += $mn;}
〜〜〜 # elsifの連なり
elsif(index($sp, 'S8') >= 0){$mncount8 += $mn;}
とやったほうが良い、ということです。
> > > if-elsifを使用して無駄な比較を少なくしたほうが良いと思います。スレッド一覧
> > indexの意味がよくわからなかったので(ぉぃ
> > わかるものを使った方がいいですよね(^^;
> > ありがとうございました。
>
> indexの説明は省きますが、言いたかったのはindex云々ではなくて、
> > $mncount1 += $mn if(index($sp, 'S1') >= 0);
> > 〜〜〜
> > $mncount8 += $mn if(index($sp, 'S8') >= 0);
> こうやるのなら、
> if(index($sp, 'S1') >= 0){$mncount1 += $mn;}
> 〜〜〜 # elsifの連なり
> elsif(index($sp, 'S8') >= 0){$mncount8 += $mn;}
> とやったほうが良い、ということです。
はい(^^
ありがとうございました!!
これからも宜しくお願いしますm(_ _)m