AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   VIP Plugin! need help with code (https://forums.alliedmods.net/showthread.php?t=131389)

Wardenis 07-04-2010 15:43

VIP Plugin! need help with code
 
Ok this is my first attempt in coding, and i need your help!

Code:

#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <sqlx>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new g_MsgSync
new g_menu_active


#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9) // Keys: 1234567890
new round = 1
#if defined DAMAGE_RECIEVED
    new g_MsgSync2
#endif

public plugin_init()
{
    register_plugin("Gruzas Vip menu", "1.0", "Gruzas")
    g_menu_active = register_cvar("menu_active", "1")
    register_event("Damage","Damage","b")
    register_event("DeathMsg","death_msg","a")
    register_logevent("logevent_Round_Start", 2, "1=Round_Start");
    register_event("DeathMsg", "hook_death", "a", "1>0")
    register_cvar("vp_knife_hp", "300")

    maxplayers = get_maxplayers()

    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")

    g_MsgSync = CreateHudSyncObj()

#if defined DAMAGE_RECIEVED
    g_MsgSync2 = CreateHudSyncObj()
#endif
    register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
    register_logevent("logevent_Round_Start", 2, "1=Round_Start")
    register_clcmd("say /vip","ShowMotd")
    maxplayers = get_maxplayers()
    gmsgSayText = get_user_msgid("SayText")
    register_clcmd("say", "handle_say")
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public on_damage(id)
{
    new attacker = get_user_attacker(id)

#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    if ( is_user_connected(id) && is_user_connected(attacker) )
    if (get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new damage = read_data(2)

        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
        ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
    if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
    {
        new damage = read_data(2)
#endif
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
        ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
    }
}


public logevent_Round_Start()
{
    round++;
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
        player = players[i];
        if(get_user_flags(player) & ADMIN_LEVEL_H)
        {
        if (!get_pcvar_num(g_menu_active))
            return PLUGIN_CONTINUE
        if(round > 1) Showrod(player)
        }
    }
    return PLUGIN_HANDLED
}

public Showrod(id) {
    show_menu(id, Keysrod, "VIP Menu^n\w1. 300HP+Knife Only ^n\w2.Normal Play Mode^n0. Exit^n", -1, "rod") // Display menu
}
public Pressedrod(id, key) {
    /* Menu:
    * VIP Menu
    * 1. "300HP+Knife Only"
    * 2. "Normal Play Mode"
    * 0. Exit
    */

    new team[32], User[32];
    get_user_team(id,team,32);
    get_user_name(id,User,32);
    switch (key) {
        case 0: {
            strip_user_weapon(id)
            give_item(id, "weapon_knife");
            set_user_health(id, get_user_health(id)+get_cvar_num("vp_knife_hp"))
            }
            if(get_user_weapon(id) != CSW_KNIFE && get_user_weapon(id) != CSW_C4)
        {
            set_task(0.2, "drop_c4", id)
        }
    }
}
        case 1: {
  set_user_health( id, 120)
  set_user_armor( id, 150)
  give_item(id, "weapon_flashbang");
  give_item(id, "weapon_flashbang");
  give_item(id, "weapon_hegrenade");
              }
            if(get_user_weapon(id) != CSW_KNIFE && is_user_alive(id))
        {
            new hp = get_user_health(id);
               
                if(hp < 130)
                {
                    set_task(2.5,"gyogyitas", id)
            }
        }
    }
            case 2: { // 0
           
        }
    }
    return PLUGIN_CONTINUE
}

public gyogyitas(id) {
   
    new hp = get_user_health(id);
   
    if(hp < 130)
    {
        set_user_health(id, hp + 5);
        set_task(2.5,"gyogyitas", id);
    }
    else
    {
        client_print(id, print_chat, "No More HP For you. Good Luck", hp)
        return PLUGIN_HANDLED;
    }
   
    return PLUGIN_CONTINUE;
}

public drop_c4(id)
{
    engclient_cmd(id,"drop", "weapon_c4")
    set_task(0.2, "strip_weapons", id)
}

public strip_weapons(id)
{
    strip_user_weapons(id)
    set_task(0.2, "give_knife", id)
}

public give_knife(id)
{
    give_item(id,"weapon_knife")
}


public ShowMotd(id)
{
 show_motd(id, "vip.txt")
}
public client_authorized(id)
{
 set_task(30.0, "PrintText" ,id)
}
public PrintText(id)
{
 client_print(id, print_chat, "Welcome To Gruzas TeamPlay GunGame Server.")
}

public handle_say(id) {
    new said[192]
    read_args(said,192)
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/nooption") != -1 )
        set_task(0.1,"print_adminlist",id)
    return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
    new adminnames[33][32]
    new message[256]
    new contactinfo[256], contact[112]
    new id, count, x, len
   
    for(id = 1 ; id <= maxplayers ; id++)
        if(is_user_connected(id))
            if(get_user_flags(id) & ADMIN_LEVEL_H)
                get_user_name(id, adminnames[count++], 31)

    len = format(message, 255, "%s VIP ONLINE: ",COLOR)
    if(count > 0) {
        for(x = 0 ; x < count ; x++) {
            len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
            if(len > 96 ) {
                print_message(user, message)
                len = format(message, 255, "%s ",COLOR)
            }
        }
        print_message(user, message)
    }
    else {
        len += format(message[len], 255-len, "No VIP online.")
        print_message(user, message)
    }
   
    get_cvar_string("amx_contactinfo", contact, 63)
    if(contact[0])  {
        format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
        print_message(user, contactinfo)
    }
}

print_message(id, msg[]) {
    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
    write_byte(id)
    write_string(msg)
    message_end()
}

I'm trying to do this VIP menu, but when i try to compile this code to .amxx i get alot of errors :) So please someone tell me what i'm doing wronge.

compilation error: http://yfrog.com/jlasdasdqtjhttp://yfrog.com/jlasdasdqtj

edgaras85 07-04-2010 16:51

Re: VIP Plugin! need help with code
 
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <sqlx>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
#define DAMAGE_RECIEVED
#define Keysrod (1<<0)|(1<<1)|(1<<2)
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new g_MsgSync
new g_menu_active
new round 1
#if defined DAMAGE_RECIEVED
    
new g_MsgSync2
#endif
public plugin_init()
{
    
register_plugin("Gruzas Vip menu""1.0""Gruzas")
    
g_menu_active register_cvar("menu_active""1")
    
register_event("Damage","Damage","b")
    
register_event("DeathMsg","death_msg","a")
    
register_logevent("logevent_Round_Start"2"1=Round_Start");
    
register_event("DeathMsg""hook_death""a""1>0")
    
register_cvar("vp_knife_hp""300")
    
maxplayers get_maxplayers()
    
register_event("Damage""on_damage""b""2!0""3=0""4!0")
    
g_MsgSync CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
    
g_MsgSync2 CreateHudSyncObj()
#endif
    
register_menucmd(register_menuid("rod"), Keysrod"Pressedrod")
    
register_logevent("logevent_Round_Start"2"1=Round_Start")
    
register_clcmd("say /vip","ShowMotd")
    
maxplayers get_maxplayers()
    
gmsgSayText get_user_msgid("SayText")
    
register_clcmd("say""handle_say")
    
register_cvar("amx_contactinfo"CONTACTFCVAR_SERVER)
}
public 
on_damage(id)
{
    new 
attacker get_user_attacker(id)
#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    
if ( is_user_connected(id) && is_user_connected(attacker) )
    if (
get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new 
damage read_data(2)
        
set_hudmessage(255000.450.5020.14.00.10.1, -1)
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage)
#else
    
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
    {
        new 
damage read_data(2)
#endif
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1)
        
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage)
    }
}

public 
logevent_Round_Start()
{
    
round++;
    new 
players[32], playerpnum;
    
get_players(playerspnum"a");
    for(new 
0pnumi++)
    {
        
player players[i];
        if(
get_user_flags(player) & ADMIN_LEVEL_H)
        {
        if (!
get_pcvar_num(g_menu_active))
            return 
PLUGIN_CONTINUE
        
if(round 1Showrod(player)
        }
    }
    return 
PLUGIN_HANDLED
}
public 
Showrod(id) {
    
show_menu(idKeysrod"VIP Menu^n\w1. 300HP+Knife Only ^n\w2.Normal Play Mode^n0. Exit^n", -1"rod"// Display menu
}
public 
Pressedrod(idkey) {
    
/* Menu:
    * VIP Menu
    * 1. "300HP+Knife Only"
    * 2. "Normal Play Mode"
    * 0. Exit
    */
    
new team[32], User[32];
    
get_user_team(id,team,32);
    
get_user_name(id,User,32);
    switch (
key) {
        case 
0: { 
              
strip_user_weapons(id)
              
give_item(id"weapon_knife");
              
set_user_health(idget_user_health(id)+get_cvar_num("vp_knife_hp"))
              if(
get_user_weapon(id) != CSW_KNIFE && get_user_weapon(id) != CSW_C4)
          {
               
set_task(0.2"drop_c4"id)
          }
  }
    case 
1: { 
      
set_user_healthid120)
      
set_user_armorid150)
      
give_item(id"weapon_flashbang");
      
give_item(id"weapon_flashbang");
      
give_item(id"weapon_hegrenade");
              if(
get_user_weapon(id) != CSW_KNIFE && is_user_alive(id))
          {
               new 
hp get_user_health(id);
                
                  if(
hp 130)
                  {
                       
set_task(2.5,"gyogyitas"id)
               }
          }
  }
            case 
2: { 
   
// 0
            
        
}
    }
    return 
PLUGIN_CONTINUE
}
public 
gyogyitas(id) {
    
    new 
hp get_user_health(id);
    
    if(
hp 130)
    {
        
set_user_health(idhp 5);
        
set_task(2.5,"gyogyitas"id);
    }
    else
    {
        
client_print(idprint_chat"No More HP For you. Good Luck"hp)
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
drop_c4(id)
{
    
engclient_cmd(id,"drop""weapon_c4")
    
set_task(0.2"strip_weapons"id)
}
public 
strip_weapons(id)
{
    
strip_user_weapons(id)
    
set_task(0.2"give_knife"id)
}
public 
give_knife(id)
{
    
give_item(id,"weapon_knife")
}

public 
ShowMotd(id)
{
 
show_motd(id"vip.txt")
}
public 
client_authorized(id)
{
 
set_task(30.0"PrintText" ,id)
}
public 
PrintText(id)
{
 
client_print(idprint_chat"Welcome To Gruzas TeamPlay GunGame Server.")
}
public 
handle_say(id) {
    new 
said[192]
    
read_args(said,192)
    if( ( 
containi(said"who") != -&& containi(said"admin") != -) || contain(said"/nooption") != -)
        
set_task(0.1,"print_adminlist",id)
    return 
PLUGIN_CONTINUE
}
public 
print_adminlist(user
{
    new 
adminnames[33][32]
    new 
message[256]
    new 
contactinfo[256], contact[112]
    new 
idcountxlen
    
    
for(id id <= maxplayers id++)
        if(
is_user_connected(id))
            if(
get_user_flags(id) & ADMIN_LEVEL_H)
                
get_user_name(idadminnames[count++], 31)
    
len format(message255"%s VIP ONLINE: ",COLOR)
    if(
count 0) {
        for(
count x++) {
            
len += format(message[len], 255-len"%s%s "adminnames[x], < (count-1) ? ", ":"")
            if(
len 96 ) {
                
print_message(usermessage)
                
len format(message255"%s ",COLOR)
            }
        }
        
print_message(usermessage)
    }
    else {
        
len += format(message[len], 255-len"No VIP online.")
        
print_message(usermessage)
    }
    
    
get_cvar_string("amx_contactinfo"contact63)
    if(
contact[0])  {
        
format(contactinfo111"%s Contact Server Admin -- %s"COLORcontact)
        
print_message(usercontactinfo)
    }
}
print_message(idmsg[]) {
    
message_begin(MSG_ONEgmsgSayText, {0,0,0}, id)
    
write_byte(id)
    
write_string(msg)
    
message_end()



Wardenis 07-04-2010 17:40

Re: VIP Plugin! need help with code
 
Thank you. hmmm... but plugin still not working, can someone tell me how to edit it that it would work? what i need to add/remove?

edgaras85 07-04-2010 18:03

Re: VIP Plugin! need help with code
 
Quote:

Originally Posted by Wardenis (Post 1228414)
Thank you. hmmm... but plugin still not working, can someone tell me how to edit it that it would work? what i need to add/remove?

What doesnt work?

edgaras85 07-06-2010 05:32

Re: VIP Plugin! need help with code
 
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <sqlx>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
#define DAMAGE_RECIEVED
#define Keysrod (1<<0)|(1<<1)|(1<<9)
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new g_MsgSync
new g_menu_active
new round 1
#if defined DAMAGE_RECIEVED
    
new g_MsgSync2
#endif
public plugin_init()
{
    
register_plugin("Gruzas Vip menu""1.0""Gruzas")
    
g_menu_active register_cvar("menu_active""1")
    
register_logevent("logevent_Round_Start"2"1=Round_Start");
    
register_cvar("vp_knife_hp""300")
    
maxplayers get_maxplayers()
    
register_event("Damage""on_damage""b""2!0""3=0""4!0")
    
g_MsgSync CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
    
g_MsgSync2 CreateHudSyncObj()
#endif
    
register_menucmd(register_menuid("rod"), Keysrod"Pressedrod")
    
register_logevent("logevent_Round_Start"2"1=Round_Start")
    
register_clcmd("say /vip","ShowMotd")
    
maxplayers get_maxplayers()
    
gmsgSayText get_user_msgid("SayText")
    
register_clcmd("say""handle_say")
    
register_cvar("amx_contactinfo"CONTACTFCVAR_SERVER)
}
public 
on_damage(id)
{
    new 
attacker get_user_attacker(id)
#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    
if ( is_user_connected(id) && is_user_connected(attacker) )
    if (
get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new 
damage read_data(2)
        
set_hudmessage(255000.450.5020.14.00.10.1, -1)
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage)
#else
    
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
    {
        new 
damage read_data(2)
#endif
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1)
        
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage)
    }
}
public 
logevent_Round_Start()
{
    
round++;
    new 
players[32], playerpnum;
    
get_players(playerspnum"a");
    for(new 
0pnumi++)
    {
        
player players[i];
        if(
get_user_flags(player) & ADMIN_LEVEL_H)
        {
        if (!
get_pcvar_num(g_menu_active))
            return 
PLUGIN_CONTINUE
        
if(round 1Showrod(player)
        }
    }
    return 
PLUGIN_CONTINUE
}
public 
Showrod(id) {
    
show_menu(idKeysrod"VIP Menu^n\w1. 300HP+Knife Only ^n\w2.Normal Play Mode^n0. Exit^n", -1"rod"// Display menu
}
public 
Pressedrod(idkey) {
    
/* Menu:
    * VIP Menu
    * 1. "300HP+Knife Only"
    * 2. "Normal Play Mode"
    * 0. Exit
    */
    
new team[32], User[32];
    
get_user_team(id,team,32);
    
get_user_name(id,User,32);
    switch (
key) {
    case 
0: { 
                
strip_user_weapons(id)
                
set_user_health(id300)
                if(
get_user_weapon(id) == CSW_KNIFE && get_user_weapon(id) != CSW_C4)
            {
                  
set_task(0.2"drop_c4"id)
            }
       }
    case 
1: { 
         
set_user_healthid120)
         
set_user_armorid150)
         
give_item(id"weapon_flashbang");
         
give_item(id"weapon_flashbang");
         
give_item(id"weapon_hegrenade");
                
   if(
get_user_weapon(id) == CSW_KNIFE && is_user_alive(id))
            {
                  new 
hp get_user_health(id);
                
                    if(
hp 130)
                    {
                         
set_task(2.5,"gyogyitas"id)
                  }
            }
       }
    case 
9: {  // 0
            
        
}
    }
    return 
PLUGIN_CONTINUE
}
public 
gyogyitas(id) {
    
    new 
hp get_user_health(id);
    if(
get_user_weapon(id) == CSW_KNIFE && is_user_alive(id))
    {
     if(
hp 130)
     {
         
set_user_health(idhp 5);
         
set_task(2.5,"gyogyitas"id);
     }
     else
     {
         
client_print(idprint_chat"No More HP For you. Good Luck"hp)
         return 
PLUGIN_HANDLED;
     }
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
drop_c4(id)
{
    
engclient_cmd(id,"drop""weapon_c4")
    
set_task(0.2"strip_weapons"id)
}
public 
strip_weapons(id)
{
    
strip_user_weapons(id)
}
public 
ShowMotd(id)
{
 
show_motd(id"vip.txt")
}
public 
client_authorized(id)
{
 
set_task(30.0"PrintText" ,id)
}
public 
PrintText(id)
{
 
client_print(idprint_chat"Welcome To Gruzas TeamPlay GunGame Server.")
}
public 
handle_say(id) {
    new 
said[192]
    
read_args(said,192)
    if( ( 
containi(said"who") != -&& containi(said"admin") != -) || contain(said"/nooption") != -)
        
set_task(0.1,"print_adminlist",id)
    return 
PLUGIN_CONTINUE
}
public 
print_adminlist(user
{
    new 
adminnames[33][32]
    new 
message[256]
    new 
contactinfo[256], contact[112]
    new 
idcountxlen
    
    
for(id id <= maxplayers id++)
        if(
is_user_connected(id))
            if(
get_user_flags(id) & ADMIN_LEVEL_H)
                
get_user_name(idadminnames[count++], 31)
    
len format(message255"%s VIP ONLINE: ",COLOR)
    if(
count 0) {
        for(
count x++) {
            
len += format(message[len], 255-len"%s%s "adminnames[x], < (count-1) ? ", ":"")
            if(
len 96 ) {
                
print_message(usermessage)
                
len format(message255"%s ",COLOR)
            }
        }
        
print_message(usermessage)
    }
    else {
        
len += format(message[len], 255-len"No VIP online.")
        
print_message(usermessage)
    }
    
    
get_cvar_string("amx_contactinfo"contact63)
    if(
contact[0])  {
        
format(contactinfo111"%s Contact Server Admin -- %s"COLORcontact)
        
print_message(usercontactinfo)
    }
}
print_message(idmsg[]) {
    
message_begin(MSG_ONEgmsgSayText, {0,0,0}, id)
    
write_byte(id)
    
write_string(msg)
    
message_end()




All times are GMT -4. The time now is 07:11.

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