一応説明。

>#戻り値: 1: ラッキー賞、0: はずれ
>$ppp = (localtime($GB->{NOWTIME}) + $GB->{BEpoints} * 7) % 10800;
>if ($ppp < $GB->{BEpoints}) { return 1; }
>return 0;

【引用2行目】現在時刻(その瞬間にスレッドが立った場合のスレッドキー)に保有BEポイントの7倍を加え、10800で割った余りを$pppとします。
【引用3行目】$pppと保有BEポイントを比較し、保有BEポイントが多ければ、ラッキー賞とします。
【引用4行目】ラッキー賞でない場合ははずれとします。

10800秒(3時間)中、連続した保有BEポイント秒間だけラッキー賞になります。
(保有BEポイントが1点なら1秒間、300点なら300秒間)
保有BEポイントが多ければ多いほど、ラッキー賞になる秒数は長くなり、
10800点以上では、常にラッキー賞になります。

「保有BEポイントの7倍を加え」の部分は、ラッキー賞の開始時刻を、
保有BEポイントによって変化させている部分です。
保有BEポイントが1点増えるごとに、ラッキー賞の開始時刻は7秒早くなります。
開始時刻は10800秒(3時間)でループしているので、
保有BEポイントが1543点差違うと、開始時刻は1秒の差になります。

引用2行目の7や10800が変更された場合は、それに従って読み替えてください。