Raised This Month: $ Target: $400
 0% 

Server crashes in Dodgeball Day


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
ironskillz1
AlliedModders Donor
Join Date: Jul 2012
Location: Sweden
Old 01-28-2015 , 12:03   Re: Server crashes in Dodgeball Day
Reply With Quote #10

Use this and edit it yourself.


Code:
public plugin_init()
{
	register_plugin("Daysmenu", VERSION, "Larcyn")
	
	register_message(get_user_msgid("SendAudio"), "msg_sendaudio")
	register_message(get_user_msgid("TextMsg"), "msg_textmsg")
	
	register_event("CurWeapon", "EventCurWeapon", "be","1=1")
	register_event("DeathMsg", "eventDeathMsg", "a", "1>0");
	
	register_event("HLTV", "EventRoundRefresh", "a", "1=0", "2=0")
	register_logevent("EventRoundRefresh", 2, "1=Round_End")
	
	register_clcmd("say /dm", "CmdDayMenu")
	register_clcmd("say /daymenu", "CmdDayMenu")
	
	register_clcmd("say /stop", "CmdStopDay")
	register_clcmd("say /open", "CmdOpenCells")
	
	RegisterHam(Ham_Touch, "armoury_entity", "FwdHamPlayerPickup")
	RegisterHam(Ham_Touch, "weaponbox", "FwdHamPlayerPickup")
	RegisterHam(Ham_TraceAttack, "player", "FwdTraceAttack")
	
	register_forward(FM_EmitSound,"FwdEmitSound")
	register_forward(FM_SetModel, "FwdSetModel")
	
	register_touch("*","player","player_interact")
	register_touch("grenade","*","ball_interact")
	
	register_think("grenade", "GrenadeThink")
	
	cStun = register_cvar("box_stun", "1")
	
	g_iMaxPlayers = get_maxplayers()
	g_msgCurWeapon = get_user_msgid("CurWeapon")
	
	Setup_Buttons()
}
Code:
//    ___________
//___/ DODGEBALL \_________
//~~~~~~~~~~~~~~~~~~~~~~~~~
public StartDodgeball() 
{	
	iDay = 3
	for(new i = 1; i < g_iMaxPlayers; i++)
	{
		if(is_user_connected(i) && !is_user_bot(i) && is_user_alive(i))
		{
			set_task(1.0, "CheckGame", 321, _, _, "b")
			
			client_cmd(i, "spk sound/PlayGroundv2dodge/dodgeball.wav")

			strip_user_weapons(i)
			set_user_health(i, 100)
			
			switch(cs_get_user_team(i))
			{
				case CS_TEAM_T:
				{
					set_task(1.7, "GiveHE", i, _, _, "b")
					give_item(i, "weapon_hegrenade")
				}
				case CS_TEAM_CT:
				{
					give_item(i, "weapon_knife")
					set_user_godmode(i, 1)
					give_item(i, "weapon_deagle")
					cs_set_user_bpammo(i, CSW_DEAGLE, 35)
					give_item(i, "weapon_m4a1")
					cs_set_user_bpammo(i, CSW_M4A1, 90)
					cs_set_user_armor(i, 100, CS_ARMOR_VESTHELM)
				}
			}
			
			ColorChat(i, GREY, "%s Objective: Dodge your teammates!", prefix)
			CantPickGun[i] = true
		}
	}
	return PLUGIN_HANDLED
}

public GiveHE(iPlayer)
{
	if(is_user_alive(iPlayer))
	{
		give_item(iPlayer, "weapon_hegrenade")
		reset_user_nade(iPlayer)
	}
	return PLUGIN_CONTINUE
}

public GrenadeThink(iEnt) 
{
	if(iDay == 3 || iDay == 4)
		return PLUGIN_HANDLED
		
	return PLUGIN_CONTINUE
}

public grenade_throw(index, greindex, wId) 
{
	if(wId != CSW_HEGRENADE)
	{
		return PLUGIN_CONTINUE;
	}
	
	if(iDay == 3 || iDay == 4)
	{
		entity_set_edict(greindex,EV_ENT_euser1,index)
		set_task(0.3, "clearowner", greindex)
		entity_set_int(greindex, EV_INT_iuser1, 0)
		entity_set_size(greindex, Float:{-6.0,-6.0,-6.0}, Float:{6.0,6.0,6.0})
		entity_set_float(greindex, EV_FL_friction,0.6)
		
		new r = random_num(1, 255)
		new g = random_num(1, 255)
		new b = random_num(1, 255)
		
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
		write_byte(22)
		write_short(greindex)
		write_short(iBeamspr)
		write_byte(10)
		write_byte(10)
		write_byte(r)
		write_byte(g)
		write_byte(b)
		write_byte(100)
		message_end()
		
		set_rendering(greindex,kRenderFxGlowShell, r, g, b)
		set_task(1.5, "EventStopRoll", greindex)

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE
}

public EventStopRoll(iEnt) 
{
	if(is_valid_ent(iEnt)) 
	{
		if(get_entity_flags(iEnt) & FL_ONGROUND) 
		{
			entity_set_vector(iEnt, EV_VEC_velocity, Float:{0.0,0.0,0.0})
			entity_set_float(iEnt, EV_FL_gravity, 1.0)
			
			set_rendering(iEnt)
			clearowner(iEnt)
			
			remove_entity(iEnt)
		}
		else 
		{
			set_task(1.0, "EventStopRoll", iEnt)
		}
		
	}
}

public clearowner(iEnt) 
	if(is_valid_ent(iEnt)) 
		entity_set_edict(iEnt, EV_ENT_owner, 0)

public player_interact(iEnt, iPlayer) 
{
	if(iDay == 3 || iDay == 4)
	{
		if(is_valid_ent(iEnt)) 
		{
			new iClassname[32], iModel[32]
			entity_get_string(iEnt, EV_SZ_classname, iClassname, charsmax(iClassname))
			entity_get_string(iEnt, EV_SZ_model, iModel, charsmax(iModel))
		
			if(equali(iClassname, "grenade") && !equali(iModel,"models/w_c4.mdl")) 
			{
				hit_by_ball(iPlayer, iEnt)
			}
		}
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public ball_interact(iBall, iEnt) 
{
	if(iEnt == 0) 
	{
		entity_set_int(iBall, EV_INT_iuser1, 1)
		set_rendering(iBall);
	}
	else 
	{
		new iClassname[32]
		entity_get_string(iEnt,EV_SZ_classname, iClassname, charsmax(iClassname))
		
		if(equali(iClassname,"func_", 5)) 
		{
			entity_set_int(iBall, EV_INT_iuser1, 1)
			set_rendering(iBall)

			new Float:start[3], Float:end[3], Float:ground[3]
			entity_get_vector(iBall, EV_VEC_origin, start)
			end = start
			end[2] -= 1024.0
			trace_line(iEnt,start,end,ground)
			ground[2] += 7.0
			entity_set_vector(iBall, EV_VEC_origin, ground)
		}
	}
	return PLUGIN_CONTINUE
}

public hit_by_ball(iPlayer, iBall) 
{
	if(entity_get_int(iBall, EV_INT_iuser1) == 1) // Dead ball
		return PLUGIN_HANDLED

	new owner = entity_get_edict(iBall, EV_ENT_euser1)

	if(owner == iPlayer)
	{
		entity_set_int(iBall,EV_INT_iuser1, 1);
		set_rendering(iBall);
		return PLUGIN_HANDLED
	}

	if(get_user_team(iPlayer) != get_user_team(owner))
	{
		entity_set_int(iBall, EV_INT_iuser1,1);
		set_rendering(iBall);
		return PLUGIN_HANDLED
	}
	
	set_task(0.1, "kill", iPlayer)

	if(is_user_connected(owner)) 
	{
		set_user_frags(owner,  get_user_frags(owner)+1)
		message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
		write_byte(owner)
		write_short(get_user_frags(owner))
		write_short(cs_get_user_deaths(owner))
		write_short(0)
		write_short(get_user_team(owner))
		message_end()
	}

	make_deathmsg(owner, iPlayer, 1, "dodgeball")

	entity_set_int(iBall, EV_INT_iuser1, 1)
	set_rendering(iBall)
	
	return PLUGIN_HANDLED
 }

public kill(iPlayer) 
{
	strip_user_weapons(iPlayer)
	set_user_godmode(iPlayer, 0)
	user_silentkill(iPlayer)
	message_begin(MSG_BROADCAST,get_user_msgid("ScoreInfo"))
	write_byte(iPlayer)
	write_short(get_user_frags(iPlayer))
	write_short(cs_get_user_deaths(iPlayer))
	write_short(0)
	write_short(1)
	message_end()
}

public msg_sendaudio() 
{
	if(iDay == 3 || iDay == 4)
	{
		new string[32];
		get_msg_arg_string(2,string,31);

		if(equali(string,"%!MRAD_FIREINHOLE")) 
			return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public msg_textmsg() 
{
	if(iDay == 3 || iDay == 4)
	{
		new string[32]
		
		get_msg_arg_string(2,string,31);
		if(equali(string,"#Weapon_Cannot_Be_Dropped"))
			return PLUGIN_HANDLED;

		if(str_to_num(string) > 0) 
		{
			get_msg_arg_string(3,string,31)
			if(equali(string,"#Game_radio")) 
			{
				get_msg_arg_string(5,string,31)
				if(equali(string,"#Fire_in_the_hole"))
					return PLUGIN_HANDLED
			}
		}
	}
	return PLUGIN_CONTINUE
}
__________________
I have many private and unique plugins for Jailbreak and Hide'N'Seek. PM me for more info.

Pm me.

Check out my roulette site.
ironskillz1 is offline
Send a message via Skype™ to ironskillz1
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 15:24.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode