Snow & other Effects for your forum
This modification is in the archives.
[Original Source & Files Copyrighted to © Dynamic Drive]
UPDATED: Ok i have changed the code a little bit and added some images to the zip folder at current i havent added a menu in admin CP to globally turn this off when i manage to figure out the new hooks system ill have a bash at doing it for you . You can easily add your own images just upload your image to the effects folder which should be located in your forums image folder for example /forum/images/misc/effects/ Then change the code to point to the new image name. The images will only work with the Forum Effects code ok lets get started . first goto admincp > styles & templates > edit templates and locate header and edit at the very very top before anything else. Add one of the following codes, For small snowflakes add this code Code:
<!-- Snow Effect(Small SnowFlakes) by Blackpheonix © to Dynamic Drive --> <script type="text/javascript" src="/forum/images/misc/effects/snow.js"> </script> <!-- /Snow Effect(Small SnowFlakes) by Blackpheonix © to Dynamic Drive --> src="/forum/images/misc/effects/snow.js point it to your forum image path **************************************************************************** For big snowflakes and other effects add this code Code:
<!-- Forum Effects by Blackpheonix © to Dynamic Drive --> <script language="JavaScript1.2"> //Configure below to change URL path to the snow image var snowsrc="/forum/images/misc/effects/effect(*).gif" // Configure below to change number of snow to render var no = 10; var ns4up = (document.layers) ? 1 : 0; // browser sniffer var ie4up = (document.all) ? 1 : 0; var ns6up = (document.getElementById&&!document.all) ? 1 : 0; var dx, xp, yp; // coordinate and position variables var am, stx, sty; // amplitude and step variables var i, doc_width = 800, doc_height = 600; if (ns4up||ns6up) { doc_width = self.innerWidth; doc_height = self.innerHeight; } else if (ie4up) { doc_width = document.body.clientWidth; doc_height = document.body.clientHeight; } dx = new Array(); xp = new Array(); yp = new Array(); am = new Array(); stx = new Array(); sty = new Array(); for (i = 0; i < no; ++ i) { dx[i] = 0; // set coordinate variables xp[i] = Math.random()*(doc_width-50); // set position variables yp[i] = Math.random()*doc_height; am[i] = Math.random()*20; // set amplitude variables stx[i] = 0.02 + Math.random()/10; // set step variables sty[i] = 0.7 + Math.random(); // set step variables if (ns4up) { // set layers if (i == 0) { document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><a href=\"http://dynamicdrive.com/\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/layer>"); } else { document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"><\/layer>"); } } else if (ie4up||ns6up) { if (i == 0) { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>"); } else { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>"); } } } function snowNS() { // Netscape main animation function for (i = 0; i < no; ++ i) { // iterate for every dot yp[i] += sty[i]; if (yp[i] > doc_height-50) { xp[i] = Math.random()*(doc_width-am[i]-30); yp[i] = 0; stx[i] = 0.02 + Math.random()/10; sty[i] = 0.7 + Math.random(); doc_width = self.innerWidth; doc_height = self.innerHeight; } dx[i] += stx[i]; document.layers["dot"+i].top = yp[i]; document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]); } setTimeout("snowNS()", 10); } function snowIE_NS6() { // IE and NS6 main animation function for (i = 0; i < no; ++ i) { // iterate for every dot yp[i] += sty[i]; if (yp[i] > doc_height-50) { xp[i] = Math.random()*(doc_width-am[i]-30); yp[i] = 0; stx[i] = 0.02 + Math.random()/10; sty[i] = 0.7 + Math.random(); doc_width = ns6up?window.innerWidth : document.body.clientWidth; doc_height = ns6up?window.innerHeight : document.body.clientHeight; } dx[i] += stx[i]; if (ie4up){ document.all["dot"+i].style.pixelTop = yp[i]; document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]); } else if (ns6up){ document.getElementById("dot"+i).style.top=yp[i]+'px'; document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+'px'; } } setTimeout("snowIE_NS6()", 10); } if (ns4up) { snowNS(); } else if (ie4up||ns6up) { snowIE_NS6(); } </script> <!-- /Forum Effects by Blackpheonix © to Dynamic Drive --> var snowsrc="/forum/images/misc/effects/effect(*).gif" point it to your forum image path and delete the (*) and put a number from 1-18 (make sure there is no space for example effect1) to use the pre-added images. **************************************************************************** now download forum_effects.zip and upload the effects folder to your forum image path for example /forum/images/misc/ **************************************************************************** Few addons for this modification. **************************************************************************** Let your forum members choose weather or not to display the effect. - Thanks to SHANE-D-PAIN Go to AdminCP => User Profile Fields => Add new User Profile field => Single Select Menu Title: View Forum Effects Description: Choose yes to view forum effects. Options: Yes No Set Default: Yes, but No First Blank Option Editable By User: Yes Display Page: Options: Other Options Write down your field# . i.e field5 Change X to the Field id. Just remember to wrap the code with the if tags provided. Code:
<if condition="$bbuserinfo[fieldX] != 'No'"> Add The Code Here </if> Code:
<if condition="$bbuserinfo[field5] != 'No'"> <!-- Snow Effect(Small SnowFlakes) by Blackpheonix © to Dynamic Drive --> <script type="text/javascript" src="/forum/images/misc/effects/snow.js"> </script> </if> <!-- /Snow Effect(Small SnowFlakes) by Blackpheonix © to Dynamic Drive --> Make modification optional per usergroup. - Thanks to SHANE-D-PAIN Code:
<if condition="is_member_of($bbuserinfo[usergroupid], array(1,2,3,4,5))"> Add The Code Here </if> For Example: Code:
<if condition="is_member_of($bbuserinfo[usergroupid], array(1,2,3,4,5))"> <!-- Snow Effect(Small SnowFlakes) by Blackpheonix © to Dynamic Drive --> <script type="text/javascript" src="/forum/images/misc/effects/snow.js"> </script> </if> <!-- /Snow Effect(Small SnowFlakes) Effect by Blackpheonix © to Dynamic Drive --> To Save on the heavy CPU usage that this mod uses follow the instructions below - Thanks to Solitary Seraph Please Note, This is for the small snowflakes and not the big ones. Edit the snow.js with any type of editor (ie. notepad). Code:
var num = 20; //Number of flakes var timer = 75; //setTimeout speed. Varies on different comps var enableinNS6 = 1 //Enable script in NS6/Mozilla? Snow animation could be slow in those browsers. (1=yes, 0=no). Keep tweaking with it and eventually it should work nicely for everyone, or you can turn it off with the last bit, for the mozilla users. **************************************************************************** I would also like to thank the following ppl Smiry Kin's - for the nicer snow image. **************************************************************************** PLEASE NOTE: Big snowflakes and other effects may slow down your board and may not be viewable via firefox browsers. The small flakes should be ok and can be viewed by firefox. hope u enjoy! [Original & Files Copyrighted to © Dynamic Drive] Download This modification is archived and cannot be downloaded. Screenshots
|
Similar Mods
Forum Display Enhancements Falling Snow On your forum | vBulletin 3.6 Add-ons |