This is my first and very interesting Zombie Plague plugin.
When you type /hpmenu you get a Health Shop menu.
Prices are expressed in ammo packs.
PHP Code:
/* Plugin created by MiljanX */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>
#include <zombieplague>
#define PLUGIN "[ZP] Addon Health Shop"
#define VERSION "1.0"
#define AUTHOR "MiljanX"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("say /hpmenu","ConHealthID")
register_concmd("say_team /hpmenu","ConHealthID")
register_cvar("Advertise","50")
set_task(get_cvar_float("Advertise"),"advertise" , _ , _ , _ , "b")
}
public ConHealthID(id)
{
static CsTeams:team;
team = cs_get_user_team(id);
switch(team)
{
case ZP_TEAM_ZOMBIE:
{
Zombie_Menu(id);
}
case ZP_TEAM_HUMAN:
{
Human_Menu(id);
}
}
}
public Zombie_Menu(id)
{
new menu= menu_create("[ZP] Health Menu [Zombie]","Zombie_Handle")
menu_additem(menu,"1000 HP \r[10 Ammo]")
menu_additem(menu,"5000 HP \r[20 Ammo]")
menu_additem(menu,"7000 HP \r[35 Ammo]")
menu_additem(menu,"10000 HP \r[50 Ammo]")
menu_additem(menu,"50000 HP \r[90 Ammo]")
menu_display(id,menu)
}
public Zombie_Handle(id,menu,item)
{
if(item==MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_CONTINUE
}
switch(item)
{
case 0: /* 1000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 10 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 1000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 10);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 1000 HP i to te je kostalo 10 Ammo.")
return PLUGIN_HANDLED
}
}
case 1: /* 5000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 20 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 5000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 20);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 5000 HP i to te je kostalo 20 Ammo.")
return PLUGIN_HANDLED
}
}
case 2: /* 7000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 35 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 7000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 35);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 7000 HP i to te je kostalo 35 Ammo.")
return PLUGIN_HANDLED
}
}
case 3: /* 10000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 50 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 10000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 50);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 10000 HP i to te je kostalo 50 Ammo.")
return PLUGIN_HANDLED
}
}
case 4: /* 50000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 90 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 50000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 90);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 50000 HP i to te je kostalo 90 Ammo.")
return PLUGIN_HANDLED
}
}
}
}
public Human_Menu(id)
{
new menu= menu_create("[ZP] Health Menu [Human]","Human_Handle")
menu_additem(menu,"100 HP \r[5 Ammo]")
menu_additem(menu,"500 HP \r[10 Ammo]")
menu_additem(menu,"1000 HP \r[15 Ammo]")
menu_additem(menu,"2500 HP \r[20 Ammo]")
menu_additem(menu,"5000 HP \r[40 Ammo]")
menu_display(id,menu)
}
public Human_Handle(id,menu,item)
{
if(item==MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_CONTINUE
}
switch(item)
{
case 0: /* 100 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 5 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 100))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 5);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 100 HP i to te je kostalo 5 Ammo.")
return PLUGIN_HANDLED
}
}
case 1: /* 500 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 10 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 500))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 10);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 500 HP i to te je kostalo 10 Ammo.")
return PLUGIN_HANDLED
}
}
case 2: /* 1000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 15 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 1000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 15);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 1000 HP i to te je kostalo 15 Ammo.")
return PLUGIN_HANDLED
}
}
case 3: /* 2500 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 20 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 2500))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 20);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 2500 HP i to te je kostalo 20 Ammo.")
return PLUGIN_HANDLED
}
}
case 4: /* 5000 HP */
{
new ammo = zp_get_user_ammo_packs(id)
if(ammo < 40 ){
ColorChat(id, NORMAL, "^4[ZP] ^3Nemas dovoljno Ammo Packova.")
return PLUGIN_HANDLED
}
else {
set_user_health(id, (get_user_health(id) + 5000))
new ammo_parice = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id,ammo_parice - 40);
ColorChat(id, NORMAL, "^4[ZP] ^3Kupio si 5000 HP i to te je kostalo 40 Ammo.")
return PLUGIN_HANDLED
}
}
}
}
public advertise()
{
ColorChat(0, NORMAL, "^4[ZP] ^3Napisite /hpmenu da otvorite Health Shop")
return PLUGIN_HANDLED
}
for every 50 seconds published advertisements in chat.
Plugin is on Serbian Language. Sorry...
Who has time to be translated. I will later.