Approved Best Defender

Gameplay Addons
User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1962
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

Best Defender

#1

Post by Raheem » 2 Years Ago

Humans Best Defender

Description:
  • This plugin will get the best defender in Humans teams based on the damage made. It will compare all players damage and the highest damage is the best defender. Best defender will be awarded double jumb and will be printed at the new round that he was best defender in the previous round.
Cvars:
  • ze_give_multijump 1 Enable or Disable MultiJump Award? 1 = Enable | 0 = Disable
  • ze_best_def_chat_notice 1 Enable or Disable Chat Notice? 1 = Enable | 0 = Disable
  • ze_best_def_give_xp 40 XP amount to be given For Best Defender? If you make it 0 he won't get anything.
  • ze_best_def_give_ec 20 Escape Coins amount to be given For Best Defender? If you make it 0 he won't get anything.
  • ze_show_best_def_stats 1 State Message: 0 = Disabled | 1 = Chat Message | 2 = Hud Message | 3 = DHud Message
Commands:
  • say /mydamage Show player his damage and how much damage needed to became Best Defender.
Installation & Instructions:
Changelog:
  • Spoiler!
    Version: 1.0
    • First Release.
    Version: 1.1
    • New Algorithm used to detect Highest one made damage.
    • New Cvar Added so you can give Best Defender some XP.
    • New Cvar Added so you can give Best Defender Some Escape Coins.
    • Chat Notice Message Updated with XP, EC Amounts.
    • Some Problems in Spawn Event has been fixed.
    Version: 1.2
    • Fixed chat message problem it was show wrong values.
    • Fixed If no one make damage. Message won't appear and No one will be awarded.
    • Fixed problem related to resting damage counter at new round.
    • Added New Chat/Hud/DHud message for stats by command.
    Version: 1.3 [Current Version]
    • Fixed some problems in code, I don't know how i make these mistakes.
    • Add damage to show to the best defender when he say /mydamage
Screenshots:
  • ImageImageImageImageImageImageImageImage

Downloads:
You don't know? Learn and you will know.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#2

Post by johnnysins2000 » 2 Years Ago

Instead of Multijump why don't we reward him Some Escape Coins ?
Nobody Is That Busy If They Make Time :roll:

User avatar
Mohamed Alaa
Mod Developer
Mod Developer
Egypt
Posts: 622
Joined: 2 Years Ago
Location: Egypt
Has thanked: 34 times
Been thanked: 48 times
Age: 19
Contact:

#3

Post by Mohamed Alaa » 2 Years Ago

johnnysins2000 wrote:
2 Years Ago
Instead of Multijump why don't we reward him Some Escape Coins ?
It does both, it'd be better if he made Cvar! :P
Want your own mod edition? PM me.
Accepting web projects.
CS 1.6 hosting: powergamingtech.com

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1962
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#4

Post by Raheem » 2 Years Ago

I'll make this in the next Update nice idea.
You don't know? Learn and you will know.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#5

Post by johnnysins2000 » 2 Years Ago

Raheem wrote:
2 Years Ago
I'll make this in the next Update nice idea.

And Some XP too if the User is using Level xp system
Nobody Is That Busy If They Make Time :roll:

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1962
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#6

Post by Raheem » 2 Years Ago

When i get time i'll make these nice ideas in the next versions.
You don't know? Learn and you will know.

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1962
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#7

Post by Raheem » 2 Years Ago

New version Released.
Current Version Now: 1.1
You don't know? Learn and you will know.

User avatar
sam_bhosale4
Mod Tester
Mod Tester
India
Posts: 109
Joined: 2 Years Ago
Location: INDIA
Has thanked: 5 times
Been thanked: 2 times
Age: 21
Contact:

#8

Post by sam_bhosale4 » 2 Years Ago

Good plugins but needs some fixes raheem bro!
It Gives xp and coins even if no one defends! and shows 0 defend awards!
Please fix the values like minimum 800 or 1000 damage done needed to become best defender otherwise it keeps giving free xp and coins!
so it will balance it!
thanks!
-=SeRious-GaminG|Zombie Escape[Alien vs. Predator]|Asia=-
206.189.132.169:40000
Image

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1962
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#9

Post by Raheem » 2 Years Ago

As best infector, Change:
  • Code: Select all

    	if (get_pcvar_num(cvar_give_xp) != 0 || get_pcvar_num(cvar_give_escape_coins) != 0)
    	{
    		if (g_iBestDefIndex == 0 || g_iBestDefIndex != id)
    			return
    		
    		ze_set_escape_coins(g_iBestDefIndex, get_pcvar_num(cvar_give_escape_coins) + ze_get_escape_coins(g_iBestDefIndex))
    		ze_set_user_xp(g_iBestDefIndex, get_pcvar_num(cvar_give_xp) + ze_get_user_xp(g_iBestDefIndex))
    	}
TO:
  • Code: Select all

    	if (get_pcvar_num(cvar_give_xp) != 0 || get_pcvar_num(cvar_give_escape_coins) != 0)
    	{
    		if (g_iBestDefIndex == 0 || g_iBestDefIndex != id || g_fDamage[id] <= 200.0)
    			return
    		
    		ze_set_escape_coins(g_iBestDefIndex, get_pcvar_num(cvar_give_escape_coins) + ze_get_escape_coins(g_iBestDefIndex))
    		ze_set_user_xp(g_iBestDefIndex, get_pcvar_num(cvar_give_xp) + ze_get_user_xp(g_iBestDefIndex))
    	}
Change the 200 to any value as you need: g_fDamage[id] <= 200.0

It will give the best defender the reward if the damage he made is higher than 200.0
You don't know? Learn and you will know.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#10

Post by johnnysins2000 » 2 Years Ago

this is for Sam! Sam try this ... it worked for me !

Code: Select all

#include <zombie_escape>
#include <ze_multijump>
#include <ze_levels>

// Variables
new Float:g_fDamage[33], g_iBestDefIndex

// Cvars
new cvar_give_multijump, cvar_show_chat_notice, cvar_give_xp, cvar_give_escape_coins

public plugin_init()
{
	register_plugin("[ZE] Best Defender", "1.1", "Raheem")
	
	// Hook Chains
	RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
	RegisterHookChain(RG_CBasePlayer_Spawn, "Fw_PlayerSpawn_Post", 1)
	
	// Cvars
	cvar_give_multijump = register_cvar("ze_give_multijump", "1")
	cvar_show_chat_notice = register_cvar("ze_best_def_chat_notice", "1")
	cvar_give_xp = register_cvar("ze_best_def_give_xp", "40")
	cvar_give_escape_coins = register_cvar("ze_best_def_give_ec", "20")
}

public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:fDamage, bitsDamageType)
{
	if (!is_user_alive(iVictim) || !is_user_alive(iAttacker))
		return HC_SUPERCEDE
	
	g_fDamage[iAttacker] += fDamage
	return HC_CONTINUE
}

public ze_roundend()
{
	Get_Best_Defender()
}

public Fw_PlayerSpawn_Post(id)
{
	if (get_pcvar_num(cvar_show_chat_notice) != 0)
	{
		new szName[32]
		get_user_name(g_iBestDefIndex, szName, charsmax(szName))
		
		if (g_iBestDefIndex == 0)
			return
		
		if (get_pcvar_num(cvar_give_multijump) == 0)
		{
			ze_colored_print(id, "!tBest Defender: !g%s. !tDamage: !g%i. !tAwards: !g%d XP, %d EC!y.", szName, floatround(g_fDamage[id]), get_pcvar_num(cvar_give_xp), get_pcvar_num(cvar_give_escape_coins))
		}
		else
		{
			ze_colored_print(id, "!tBest Defender: !g%s. !tDamage: !g%i. !tAwards: !g%d XP, %d EC, Multi-Jump!y.", szName, floatround(g_fDamage[id]), get_pcvar_num(cvar_give_xp), get_pcvar_num(cvar_give_escape_coins))
		}
	}
	
	if (get_pcvar_num(cvar_give_multijump) != 0)
	{
		if (g_iBestDefIndex == 0 || g_iBestDefIndex != id)
			return
		
		ze_give_user_multijump(g_iBestDefIndex)
	}
	
	if (get_pcvar_num(cvar_give_xp) != 0 || get_pcvar_num(cvar_give_escape_coins) != 0)
	{
		if (g_iBestDefIndex == 0 || g_iBestDefIndex != 500.0)
			return
		
		ze_set_escape_coins(g_iBestDefIndex, get_pcvar_num(cvar_give_escape_coins) + ze_get_escape_coins(g_iBestDefIndex))
		ze_set_user_xp(g_iBestDefIndex, get_pcvar_num(cvar_give_xp) + ze_get_user_xp(g_iBestDefIndex))
	}
	
	// Delay Needed
	set_task(3.0, "Rest_Damage", id, _, _, "a", 1)
}

public Rest_Damage(id)
{
	g_fDamage[id] = 0.0
}

public Get_Best_Defender()
{
	new Float:fTemp = 0.0
	
	for (new i = 0; i <= 32; i++)
	{
		if (g_fDamage[i] > fTemp)
		{
			fTemp += g_fDamage[i]
			g_iBestDefIndex = i
		}
	}
}
Nobody Is That Busy If They Make Time :roll:

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest