- This plugin will give random prizes once per map with command /prize.
| Defines:
- // Remove '//' to use XP rewards
Code: Select all
#define USE_XP
- // Remove '//' to use multijump reward
Code: Select all
#define USE_MULTIJUMP
- // Remove '//' to use parachute reward
Code: Select all
#define USE_PARACHUTE
| Cvars:
- Escape Coins increase amount?
Code: Select all
ze_ranpriz_ecincrease
- Escape Coins decrease amount?
Code: Select all
ze_ranpriz_ecreduce
- HP increase amount?
Code: Select all
ze_ranpriz_hpincrease
- HP decrease amount?
Code: Select all
ze_ranpriz_hpreduce
- Speed increase amount?
Code: Select all
ze_ranpriz_speedincrease
- Speed decrease amount?
Code: Select all
ze_ranpriz_speedreduce
- XPincrease amount?
Code: Select all
ze_ranpriz_xpincrease
- XP decrease amount?
Code: Select all
ze_ranpriz_xpreduce
| Changelog:
- Spoiler!
| Code:
- // Remove '//' to use XP rewards
- #define USE_XP
- // Remove '//' to use multijump reward
- #define USE_MULTIJUMP
- // Remove '//' to use parachute reward
- #define USE_PARACHUTE
- #include <zombie_escape>
- #if defined USE_XP
- #include <ze_levels>
- #endif
- #if defined USE_MULTIJUMP
- #include <ze_multijump>
- #endif
- #if defined USE_PARACHUTE
- #include <ze_parachute>
- #endif
- enum _:Cvars
- {
- EscapeCoins_Increase = 0,
- EscapeCoins_Decrease,
- Health_Increase,
- Health_Decrease,
- Speed_Increase,
- Speed_Decrease
- }
- new bool:g_bUsed[33]
- new g_iMaxPlayers
- new g_pCvar[Cvars]
- new g_pCvarZombieSpeed, g_pCvarHumanSpeed
- #if defined USE_XP
- new g_pCvarXP_Increase, g_pCvarXP_Decrease
- #endif
- public plugin_init()
- {
- register_plugin("[ZE] Addons: Random Prizes", "1.2", "Jack GamePlay")
- // Commands
- register_clcmd("say /prize", "give_prize")
- register_clcmd("say_team /prize", "give_prize")
- // Cvars
- g_pCvar[EscapeCoins_Increase] = register_cvar("ze_ranpriz_ecincrease", "4")
- g_pCvar[EscapeCoins_Decrease] = register_cvar("ze_ranpriz_ecreduce", "4")
- g_pCvar[Health_Increase] = register_cvar("ze_ranpriz_hpincrease", "200")
- g_pCvar[Health_Decrease] = register_cvar("ze_ranpriz_hpreduce", "200")
- g_pCvar[Speed_Increase] = register_cvar("ze_ranpriz_speedincrease", "200")
- g_pCvar[Speed_Decrease] = register_cvar("ze_ranpriz_speedreduce", "200")
- #if defined USE_XP
- g_pCvarXP_Increase = register_cvar("ze_ranpriz_xpincrease", "200")
- g_pCvarXP_Decrease = register_cvar("ze_ranpriz_xpreduce", "200")
- #endif
- g_iMaxPlayers = get_member_game(m_nMaxPlayers)
- for (new id = 0; id < g_iMaxPlayers; id++)
- {
- if (!is_user_connected(id) || !g_bUsed[id])
- continue
- g_bUsed[id] = false
- }
- }
- public plugin_cfg()
- {
- g_pCvarZombieSpeed = get_cvar_pointer("ze_zombie_speed")
- g_pCvarHumanSpeed = get_cvar_pointer("ze_human_speed_factor")
- }
- public plugin_end()
- {
- for (new id = 1; id < g_iMaxPlayers; id++)
- {
- if (!is_user_connected(id) || !g_bUsed[id])
- continue
- g_bUsed[id] = false
- }
- }
- public give_prize(id)
- {
- if (!is_user_alive(id))
- {
- ze_colored_print(id, "!tYou must be alive!y.")
- return
- }
- else if (g_bUsed[id])
- {
- ze_colored_print(id, "!tYou've used this command already!y.")
- return
- }
- if (!g_bUsed[id])
- {
- if (ze_is_user_zombie(id))
- {
- switch(random(11))
- {
- case 0:
- {
- ze_set_escape_coins(id, ze_get_escape_coins(id) + get_pcvar_num(g_pCvar[EscapeCoins_Increase]))
- ze_colored_print(id, "!tYou've got !g%i !tEscape Coins!y.", get_pcvar_num(g_pCvar[EscapeCoins_Increase]))
- }
- case 1:
- {
- ze_set_escape_coins(id, ze_get_escape_coins(id) - get_pcvar_num(g_pCvar[EscapeCoins_Decrease]))
- ze_colored_print(id, "!tYou've lost !g%i !tEscape Coins!y.", get_pcvar_num(g_pCvar[EscapeCoins_Decrease]))
- }
- case 2:
- {
- set_entvar(id, var_health, float(get_user_health(id) + get_pcvar_num(g_pCvar[Health_Increase])))
- ze_colored_print(id, "!tYou've got !g%i !tHealth!y.", get_pcvar_num(g_pCvar[Health_Increase]))
- }
- case 3:
- {
- set_entvar(id, var_health, float(get_user_health(id) + get_pcvar_num(g_pCvar[Health_Decrease])))
- ze_colored_print(id, "!tYou've lost !g%i !tHealth!y.", get_pcvar_num(g_pCvar[Health_Decrease]))
- }
- case 4:
- {
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- }
- case 5:
- {
- ze_set_zombie_speed(id, get_pcvar_num(g_pCvarZombieSpeed) + get_pcvar_num(g_pCvar[Speed_Increase]))
- ze_colored_print(id, "!tYou won !y[+!g%i!y] !tspeed for !y[!g15!y] !tsec!y.", get_pcvar_num(g_pCvar[Speed_Increase]))
- set_task(15.0, "ResetSpeed", id)
- }
- case 6:
- {
- ze_set_zombie_speed(id, get_pcvar_num(g_pCvarZombieSpeed) - get_pcvar_num(g_pCvar[Speed_Decrease]))
- ze_colored_print(id, "!tOops!y! !tYou lost !y[-!g%i!y] !tspeed for !y[!g15!y] !tsec!y.", get_pcvar_num(g_pCvar[Speed_Decrease]))
- set_task(15.0, "ResetSpeed", id)
- }
- case 7:
- {
- #if defined USE_XP
- ze_set_user_xp(id, ze_get_user_xp(id) + get_pcvar_num(g_pCvarXP_Increase))
- ze_colored_print(id, "!tYou won !y[+!g%i!y] !tXP!y.", get_pcvar_num(g_pCvarXP_Increase))
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- #endif
- }
- case 8:
- {
- #if defined USE_XP
- ze_set_user_xp(id, ze_get_user_xp(id) - get_pcvar_num(g_pCvarXP_Decrease))
- ze_colored_print(id, "!tYou lost !y[-!g%i!y] !tXP!y.", get_pcvar_num(g_pCvarXP_Decrease))
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- #endif
- }
- case 9:
- {
- #if defined USE_MULTIJUMP
- ze_give_user_multijump(id)
- ze_colored_print(id, "!tYou won !gMultijump!y.")
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing !y.")
- #endif
- }
- case 10:
- {
- #if defined USE_PARACHUTE
- ze_give_user_parachute(id)
- ze_colored_print(id, "!tYou won !gParahute!y.")
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got noting !y.")
- #endif
- }
- }
- }
- else
- {
- switch(random(14))
- {
- case 0:
- {
- ze_set_escape_coins(id, ze_get_escape_coins(id) + get_pcvar_num(g_pCvar[EscapeCoins_Increase]))
- ze_colored_print(id, "!tYou've got !g%i !tEscape Coins!y.", get_pcvar_num(g_pCvar[EscapeCoins_Increase]))
- }
- case 1:
- {
- ze_set_escape_coins(id, ze_get_escape_coins(id) - get_pcvar_num(g_pCvar[EscapeCoins_Decrease]))
- ze_colored_print(id, "!tYou've lost !g%i !tEscape Coins!y.", get_pcvar_num(g_pCvar[EscapeCoins_Decrease]))
- }
- case 2:
- {
- set_entvar(id, var_health, float(get_user_health(id) + get_pcvar_num(g_pCvar[Health_Increase])))
- ze_colored_print(id, "!tYou've got !g%i !tHealth!y.", get_pcvar_num(g_pCvar[Health_Increase]))
- }
- case 3:
- {
- set_entvar(id, var_health, float(get_user_health(id) + get_pcvar_num(g_pCvar[Health_Decrease])))
- ze_colored_print(id, "!tYou've lost !g%i !tHealth!y.", get_pcvar_num(g_pCvar[Health_Decrease]))
- }
- case 4:
- {
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- }
- case 5:
- {
- rg_give_item(id, "weapon_smokegrenade", GT_APPEND)
- rg_set_user_bpammo(id, WeaponIdType:CSW_SMOKEGRENADE, 3)
- ze_colored_print(id, "!tYou've got !gx3 !tfrost nades!y.")
- }
- case 6:
- {
- rg_give_item(id, "weapon_hegrenade", GT_APPEND)
- rg_set_user_bpammo(id, WeaponIdType:CSW_HEGRENADE, 3)
- ze_colored_print(id, "!tYou've got !gx3 !tfire!y/!tnapalm nades!y.")
- }
- case 7:
- {
- rg_give_item(id, "weapon_hegrenade", GT_APPEND)
- rg_give_item(id, "weapon_smokegrenade", GT_APPEND)
- rg_give_item(id, "weapon_flashbang", GT_APPEND)
- rg_set_user_bpammo(id, WeaponIdType:CSW_SMOKEGRENADE, 3)
- rg_set_user_bpammo(id, WeaponIdType:CSW_HEGRENADE, 3)
- rg_set_user_bpammo(id, WeaponIdType:CSW_FLASHBANG, 3)
- ze_colored_print(id, "!tYou've got !gx3 !tof each nade!y.")
- }
- case 8:
- {
- ze_set_human_speed_factor(id, get_pcvar_num(g_pCvarHumanSpeed) + get_pcvar_num(g_pCvar[Speed_Increase]))
- ze_colored_print(id, "!tYou won !y[+!g%i!y] !tspeed for !y[!g15!y] !tsec!y.", get_pcvar_num(g_pCvar[Speed_Increase]))
- set_task(15.0, "ResetSpeed", id)
- }
- case 9:
- {
- ze_set_human_speed_factor(id, get_pcvar_num(g_pCvarHumanSpeed) - get_pcvar_num(g_pCvar[Speed_Decrease]))
- ze_colored_print(id, "!tOops!y! !tYou lost !y[-!g%i!y] !tspeed for !y[!g15!y] !tsec!y.", get_pcvar_num(g_pCvar[Speed_Decrease]))
- set_task(15.0, "ResetSpeed", id)
- }
- case 10:
- {
- #if defined USE_XP
- ze_set_user_xp(id, ze_get_user_xp(id) + get_pcvar_num(g_pCvarXP_Increase))
- ze_colored_print(id, "!tYou won !y[+!g%i!y] !tXP!y.", get_pcvar_num(g_pCvarXP_Increase))
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- #endif
- }
- case 11:
- {
- #if defined USE_XP
- ze_set_user_xp(id, ze_get_user_xp(id) - get_pcvar_num(g_pCvarXP_Decrease))
- ze_colored_print(id, "!tSorry!y, !tYou lost !y[-!g%i!y] !tXP!y.", get_pcvar_num(g_pCvarXP_Decrease))
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing!y.")
- #endif
- }
- case 12:
- {
- #if defined USE_MULTIJUMP
- ze_give_user_multijump(id)
- ze_colored_print(id, "!tYou won !gMultijump!y.")
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got nothing !y.")
- #endif
- }
- case 13:
- {
- #if defined USE_PARACHUTE
- ze_give_user_parachute(id)
- ze_colored_print(id, "!tYou won !gParahute!y.")
- #else
- ze_colored_print(id, "!tUnfortunately!y! !tYou've got noting !y.")
- #endif
- }
- }
- }
- g_bUsed[id] = true
- }
- }
- public ResetSpeed(id)
- {
- if (is_user_connected(id))
- {
- ze_colored_print(id, "!gSpeed expired!y, !tyour speed now normal!y!")
- if (ze_is_user_zombie(id))
- ze_reset_zombie_speed(id)
- else
- ze_reset_human_speed(id)
- }
- }
- public ze_roundend()
- {
- for (new id = 1; id < g_iMaxPlayers; id++)
- {
- if (!is_user_connected(id))
- continue
- ze_remove_user_parachute(id)
- ze_remove_user_multijump(id)
- }
- }