Spawnprotection

Credits

Submitter
  • P1: Beggar
    Points: 306
  • C1: Member
  • A4: Graduate
    Account Age: 3 years
AbSoLuTe (Creator/Co-creator)
Key Authors
AbSoLuTe
Scripting

Rating

?/10
Not yet rated.

Stats

Post Count
0
ViewCount
905
Date Added
2 years ago
Date Modified
2 years ago

An advanced spawn protection

									block load
{

	es_xset SpawnProtectionTime 10  // how long the Spawnprotection is on

	es_math SpawnProtectionTime + server_var(mp_freezetime)
	es_xset spawnprotvers "1"
	es_xmakepublic spawnprotvers
	es_xset counter 0
}

block unload
{
	repeat delete startrep
}

event round_start
{
	es foreach player tempid #all "es_doblock spawnprot/saveHP"
	es_xset protan 1
	es_xmsg #multi #lightgreen[SpawnProt]#green SpawnProt Enabled
	repeat create startrep "es_xdoblock spawnprot/perio"
	es_delayed 0.1 repeat start startrep 1 server_var(SpawnProtectionTime)
	es_xset counter 0
	es_xmsg #multi #lightgreen[SpawnProt]#green You are protected from spawn attacking!
    es_xcentermsg You are protected from spawn attacking!
}

block perio
{
	es_xmath counter + 1
	if (server_var(counter) == server_var(SpawnProtectionTime)) do
	{
		es_xset protan 0
		es_msg #multi #lightgreen[SpawnProt]#green SpawnProt Disabled
		es foreach player tempid #all "es_doblock spawnprot/setHP"
	}
	
}

block saveHP
{
	es_xset tempHP 0
	es_getplayerprop tempHP server_var(tempid) CCSPlayer.baseclass.m_iHealth
	es playervar set server_var(tempid) HP server_var(tempHP)
	es_math tempHP + 1024
	es_setplayerprop server_var(tempid) CCSPlayer.baseclass.m_iHealth server_var(tempHP)
}
	

block setHP
{
	es_xset tempHP 0
	es playervar get tempHP server_var(tempid) HP
	es_setplayerprop server_var(tempid) CCSPlayer.baseclass.m_iHealth server_var(tempHP)
}

event player_hurt
{
	
	if (server_var(protan) == 1) do
	{

	
		es_xset tempHP 0

		es playervar get tempHP event_var(userid) HP
		
	
		if (event_var(attacker) == 0) do
		{
			es_math tempHP - event_var(dmg_health)
			es playervar set event_var(userid) HP server_var(tempHP)
		}
		else do
		{
			if (event_var(attacker) == event_var(userid)) do
			{
				es_math tempHP - event_var(dmg_health)
				es playervar set event_var(userid) HP server_var(tempHP)
				
			}
			else do
			{
				es_xset tempArmor 0
				es_set tempArmor event_var(armor)
				es_math tempArmor + event_var(dmg_armor)
				es_setplayerprop event_var(userid) CCSPlayer.m_ArmorValue server_var(tempArmor)
				
				es_sexec event_var(attacker) kill
				es_msg #multi #lightgreen[SpawnProt]#default event_var(es_attackername)#greenhas been slayn for spawn attacking
			}
		}
		if (server_var(tempHP) <= 0) do
		{
			es_sexec event_var(userid) kill
		}
		else do
		{
			es_math tempHP + 1024
			es_setplayerprop event_var(userid) CCSPlayer.baseclass.m_iHealth server_var(tempHP)
		}
		
	}
}
									

A spawnprotection which is better than all the others because: - It saves the HP (works well with RPGMods) - Falldamage isnt disabled (you can die by falling from too high although spawn protection is on) - You can see how much HP you have left till you would die (by falling, selfdamage) - Restores armor - Also slays the attacker

Just check it out :D

  • You must be a member

Comments

None found

  • You must be a member