#include #include #include #include #include //new const ny_time = 1230764400 // 00:00:00 1 styczen 2009 new ny_time new cvar_ny_time new cvar_ny_time_format new gmsgDamage new FIRE = 0 new c_info = 0 new const max_info = 100 public plugin_init() { register_plugin("New Year Countdown", "0.1", "Pavulon") gmsgDamage = get_user_msgid("Damage") cvar_ny_time = register_cvar("amx_ny_time", "00:00:00 01-01-2012"); cvar_ny_time_format = register_cvar("amx_ny_time_format", "%H:%M:%S %d-%m-%Y"); set_task(2.0, "B4",777) } public plugin_cfg() { new sz_ny_time[32], sz_ny_time_format[32]; get_pcvar_string(cvar_ny_time, sz_ny_time, charsmax(sz_ny_time)); get_pcvar_string(cvar_ny_time_format, sz_ny_time_format, charsmax(sz_ny_time_format)); ny_time = parse_time(sz_ny_time, sz_ny_time_format); } public B4() { new sek_left = ny_time - get_systime() if (sek_left>0) set_task(1.0, "countdown",0,_,_,"b") else pause("a") } public countdown() { new sek_left = ny_time - get_systime() if (sek_left<0) { remove_task(0) set_task(0.1,"ny_info", 999) return } else if (sek_left<=8 && !FIRE) { FIRE = 1 server_cmd("sv_restart 1") set_task(5.0, "rakietki", 1337) set_task(60.0, "normal_lights", 666) } new Time[128] format(Time, 127, "%s", timeleft(sek_left)) set_hudmessage(0, 0, 255, 0.020, 0.20, 0, 6.0, 1.0, 0.0, 0.0) ShowSyncHudMsg(0,CreateHudSyncObj(),"Do nowego roku pozostalo:^n%s",Time) } public ny_info() { if (c_info>max_info) return set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, -1.0, 0, 6.0, 0.1, 0.0, 0.0) ShowSyncHudMsg(0,CreateHudSyncObj(),"!!! SZCZESLIWEGO NOWEGO ROKU !!!^n!!! Zyczy ekipa !!!^n!!!tralalala !!!") c_info++ set_task(0.1,"ny_info", 999) } public rakietki() { new players[32], inum get_players(players, inum) for (new i = 0; i < inum; ++i) { cs_set_user_money (players[i] , 16000, 1) set_task(0.2*inum+0.1, "admin_rocket", players[i]) } } stock timeleft(sek_left) { new dni, godzin, minut, left = sek_left new Time[128], len = 0 if (left / 86400 >= 1) { dni = (left / 86400) left -= dni * 86400 len += format(Time[len], 127 -len, "%d d. ", dni) } if (left / 3600 >= 1) { godzin = (left / 3600) left -= godzin * 3600 len += format(Time[len], 127 -len, "%d godz. ", godzin) } if (left / 60 >= 1) { minut = (left / 60) left -= minut * 60 len += format(Time[len], 127 -len, "%d min. ", minut) } format(Time[len], 127 -len, "%d sek.", left) return Time } //////////////////////////////////////////////////////////////////////////////////////////////////////////// //ADMIN ROCKET v1.3 by f117bomb //Revised by JTP10181 //========================================================================================================== new rocket_z[33] new blueflare2, mflash, white, smoke public admin_rocket(id) { emit_sound(id,CHAN_WEAPON ,"weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) fm_set_user_maxspeed(id,0.01) set_task(1.2, "rocket_liftoff", id+69) } public rocket_liftoff(id) { new victim = id - 69 if (!is_user_alive(victim)) return fm_set_user_gravity(victim,-0.50) client_cmd(victim,"+jump;wait;wait;-jump") emit_sound(victim, CHAN_VOICE, "weapons/rocket1.wav", 1.0, 0.5, 0, PITCH_NORM) rocket_effects(victim) } public rocket_effects(victim) { if (!is_user_alive(victim)) return new vorigin[3] get_user_origin(victim,vorigin) message_begin(MSG_ONE, gmsgDamage, {0,0,0}, victim) write_byte(30) // dmg_save write_byte(30) // dmg_take write_long(1<<16) // visibleDamageBits write_coord(vorigin[0]) // damageOrigin.x write_coord(vorigin[1]) // damageOrigin.y write_coord(vorigin[2]) // damageOrigin.z message_end() if (rocket_z[victim] == vorigin[2]) { rocket_explode(victim) } rocket_z[victim] = vorigin[2] //Draw Trail and effects //TE_SPRITETRAIL - line of moving glow sprites with gravity, fadeout, and collisions message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( 15 ) write_coord( vorigin[0]) // coord, coord, coord (start) write_coord( vorigin[1]) write_coord( vorigin[2]) write_coord( vorigin[0]) // coord, coord, coord (end) write_coord( vorigin[1]) write_coord( vorigin[2] - 30) write_short( blueflare2 ) // short (sprite index) write_byte( 5 ) // byte (count) write_byte( 1 ) // byte (life in 0.1's) write_byte( 1 ) // byte (scale in 0.1's) write_byte( 10 ) // byte (velocity along vector in 10's) write_byte( 5 ) // byte (randomness of velocity in 10's) message_end() //TE_SPRITE - additive sprite, plays 1 cycle message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte( 17 ) write_coord(vorigin[0]) // coord, coord, coord (position) write_coord(vorigin[1]) write_coord(vorigin[2] - 30) write_short( mflash ) // short (sprite index) write_byte( 15 ) // byte (scale in 0.1's) write_byte( 255 ) // byte (brightness) message_end() set_task(0.2, "rocket_effects", victim) } public rocket_explode(victim) { if (is_user_alive(victim)) { new vec1[3] get_user_origin(victim,vec1) // blast circles message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1) write_byte( 21 ) write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2] - 10) write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2] + 1910) write_short( white ) write_byte( 0 ) // startframe write_byte( 0 ) // framerate write_byte( 2 ) // life write_byte( 16 ) // width write_byte( 0 ) // noise write_byte( 188 ) // r write_byte( 220 ) // g write_byte( 255 ) // b write_byte( 255 ) //brightness write_byte( 0 ) // speed message_end() //Explosion2 message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte( 12 ) write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2]) write_byte( 188 ) // byte (scale in 0.1's) write_byte( 10 ) // byte (framerate) message_end() //smoke message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1) write_byte( 5 ) write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2]) write_short( smoke ) write_byte( 2 ) write_byte( 10 ) message_end() user_kill(victim,1) } //stop_sound emit_sound(victim, CHAN_VOICE, "weapons/rocket1.wav", 0.0, 0.0, (1<<5), PITCH_NORM) fm_set_user_maxspeed(victim,1.0) fm_set_user_gravity(victim,1.00) } stock fm_set_user_maxspeed(index, Float:speed = -1.0) { engfunc(EngFunc_SetClientMaxspeed, index, speed) set_pev(index, pev_maxspeed, speed) return 1 } stock fm_set_user_gravity(index, Float:gravity = 1.0) { set_pev(index, pev_gravity, gravity) return 1 } public plugin_precache() { mflash = precache_model("sprites/muzzleflash.spr") smoke = precache_model("sprites/steam1.spr") blueflare2 = precache_model( "sprites/blueflare2.spr") white = precache_model("sprites/white.spr") precache_sound("weapons/rocketfire1.wav") precache_sound("weapons/rocket1.wav") }