Raised This Month: $ Target: $400
 0% 

ammo


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 04-05-2009 , 04:22   ammo
#1

how to do that given Ammo? on gun.
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
TheRadiance
Senior Member
Join Date: Nov 2007
Location: Kazakhstan
Old 04-05-2009 , 04:28   Re: ammo
#2

for cstrike ? cs_set_weapon_ammo / bpammo
TheRadiance is offline
Send a message via ICQ to TheRadiance
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 04-05-2009 , 05:00   Re: ammo
#3

Quote:
Originally Posted by TheRadiance View Post
for cstrike ? cs_set_weapon_ammo / bpammo
with that code:
if(PlayerLevel[id] == 5) // Checks level.
{
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
}
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
TheRadiance
Senior Member
Join Date: Nov 2007
Location: Kazakhstan
Old 04-05-2009 , 05:26   Re: ammo
#4

PHP Code:
#include < amxmodx >
#include < cstrike >
#include < fakemeta >

public plugin_init ( )
{
     
// Registering your plugin...
}

public 
somefunc /* func args */ )
{
    if(
PlayerLevel[id] == 5// Checks level.
    
{
        
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_UMP45 ), /* Your ammo */ )
    }
}

fm_get_weapon_ent(idwpnid 0)
{
    new 
name[32]

    if(
wpnid)
        
get_weaponname(wpnidname31)

    if (!
equal(name"weapon_"7))
        
format(namesizeof (name) - 1"weapon_%s"name)

    return 
fm_find_ent_by_owner(get_maxplayers(), nameid)
}

fm_find_ent_by_owner(id, const classname[], ownerjghgtype 0)
{
    new 
strtype[16] = "classname"
    
new ent id

    
switch (jghgtype)
    {
        case 
1strtype "target"
        
case 2strtype "targetname"
    
}

    while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner)
    {
    }

    return 
ent


Last edited by TheRadiance; 04-05-2009 at 05:52.
TheRadiance is offline
Send a message via ICQ to TheRadiance
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 04-05-2009 , 05:44   Re: ammo
#5

Quote:
Originally Posted by TheRadiance View Post
PHP Code:
#include < amxmodx >
#include < cstrike >
#include < fakemeta >
 
public plugin_init ( )
{
     
// Registering your plugin...
}
 
public 
somefunc /* func args */ )
{
    if(
PlayerLevel[id] == 5// Checks level.
    
{
        
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
        
cs_set_user_ammo fm_get_weapon_ent idCSW_UMP45 ), /* Your ammo */ )
    }
}
 
fm_get_weapon_ent(idwpnid 0)
{
    new 
name[32]
 
    if(
wpnid)
        
get_weaponname(wpnidname31)
 
    if (!
equal(name"weapon_"7))
        
format(namesizeof (name) - 1"weapon_%s"name)
 
    return 
fm_find_ent_by_owner(get_maxplayers(), nameid)
}
 
fm_find_ent_by_owner(id, const classname[], ownerjghgtype 0)
{
    new 
strtype[16] = "classname"
    
new ent id
 
    
switch (jghgtype)
    {
        case 
1strtype "target"
        
case 2strtype "targetname"
    
}
 
    while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner)
    {
    }
 
    return 
ent


Bad that code:

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta>
#include <cstrike>
#define MAXCLASSES 5
#define PREFIX "Animal Mod"
enum {
PLAYERLEVEL_1,
PLAYERLEVEL_2,
PLAYERLEVEL_3// How many Levels
PLAYERLEVEL_4,
PLAYERLEVEL_5,
PLAYERLEVEL_6
}
enum {
CLASS_NONE 0,
CLASS_COW,
CLASS_HORSE// Add your Classes there..
CLASS_CAT,
CLASS_DOG
}
new const 
CLASSES[MAXCLASSES][] = {
    
"None",
    
"Dog",
    
"Cat",
    
"Horse",
    
"Cow"
};
new const 
LEVELS[6] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200
};
new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
public 
plugin_init() {
    
register_plugin("XP Mod""1.0""fxfighter");
    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be");
    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("animod");
    
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say /class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say /xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
}
public 
eDeath() {
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);
    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);
    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);
    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_Knife);
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
        
client_print(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[attacker], CLASSES[PlayerClass[attacker]]);
        
PlayerLevel[attacker] += 1;
    }
    
ShowHud(attacker);
    
SaveData(attacker);
}
public 
ShowHud(id) {
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]);
}
public 
ChangeClass(id) {
    new 
menu menu_create("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Dog""1" 0);
    
menu_additem(menu ,"Cat""2" 0);
    
menu_additem(menu ,"Horse""3" 0);
    
menu_additem(menu ,"Cow""4" 0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);
    return 
PLUGIN_CONTINUE;
}
public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);
    new 
szCommand[6] , szName[64];
    new 
access callback;
    
menu_item_getinfo(menu item access szCommand szName 63 callback);
    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i) {
        
PlayerClass[id] = i;
        
client_print(id,print_chat,"[%s] You are now a %s"PREFIXCLASSES[i]);
    } else
        
client_print(id,print_chat,"[%s] You are already a %s"PREFIXCLASSES[i]);
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}
public 
client_connect(id)
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
public 
client_disconnect(id) {
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);
    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}
public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}
public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,255);
    
replace_all(vaultdata255"#"" ");
    new 
playerxp[32], playerlevel[32];
    
parse(vaultdataplayerxp31playerlevel31);
    
PlayerXP[id] = str_to_num(playerxp);
    
PlayerLevel[id] = str_to_num(playerlevel);
    return 
PLUGIN_CONTINUE;
}
// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
        return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] += expnum;
    switch( 
get_cvar_num "amx_show_activity" ) ) {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
       return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] -= expnum;
    switch(
get_cvar_num("amx_show_activity")){
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
 if(
PlayerLevel[id] == 0// Checks level. 
    

        
give_item(id,"weapon_glock18"); // Give yourself glock18 at level 0
        
cs_set_user_ammo fm_get_weapon_ent idCSW_GLOCK18 ), 120 
    } 
 if(
PlayerLevel[id] == 1// Checks level. 
    

        
give_item(id,"weapon_usp"); // Give yourself usp at level 1
        
cs_set_user_ammo fm_get_weapon_ent idCSW_USP ), 100 
    }
 if(
PlayerLevel[id] == 2// Checks level. 
    

        
give_item(id,"weapon_deagle"); // Give yourself deagle at level 2
        
cs_set_user_ammo fm_get_weapon_ent idCSW_DEAGLE ), 35 
    } 
 if(
PlayerLevel[id] == 3// Checks level. 
    

        
give_item(id,"weapon_elites"); // Give yourself elites at level 3
        
cs_set_user_ammo fm_get_weapon_ent idCSW_ELITES ), 120 
    } 
 if(
PlayerLevel[id] == 4// Checks level. 
    

        
give_item(id,"weapon_tmp"); // Give yourself tmp at level 4
        
cs_set_user_ammo fm_get_weapon_ent idCSW_TMP ), 120 
    } 
 if(
PlayerLevel[id] == 5// Checks level. 
    

        
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
        
cs_set_user_ammo fm_get_weapon_ent idCSW_UMP45 ), 120 
    } 
 if(
PlayerLevel[id] == 6// Checks level. 
    

        
give_item(id,"weapon_mp5"); // Give yourself mp5 at level 6
        
cs_set_user_ammo fm_get_weapon_ent idCSW_MP5 ), 120
    } 

~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
TheRadiance
Senior Member
Join Date: Nov 2007
Location: Kazakhstan
Old 04-05-2009 , 05:51   Re: ammo
#6

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta>
#include <cstrike>

#define MAXCLASSES 5
#define PREFIX "Animal Mod"
enum {
PLAYERLEVEL_1,
PLAYERLEVEL_2,
PLAYERLEVEL_3// How many Levels
PLAYERLEVEL_4,
PLAYERLEVEL_5,
PLAYERLEVEL_6
}
enum {
CLASS_NONE 0,
CLASS_COW,
CLASS_HORSE// Add your Classes there..
CLASS_CAT,
CLASS_DOG
}
new const 
CLASSES[MAXCLASSES][] = {
    
"None",
    
"Dog",
    
"Cat",
    
"Horse",
    
"Cow"
};
new const 
LEVELS[6] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200
};
new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
public 
plugin_init() {
    
register_plugin("XP Mod""1.0""fxfighter");
    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be");
    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("animod");
    
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
    
    
register_clcmd("say /class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say /xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
}
public 
eDeath() {
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);
    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);
    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);
    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_Knife);
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
        
client_print(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[attacker], CLASSES[PlayerClass[attacker]]);
        
PlayerLevel[attacker] += 1;
    }
    
ShowHud(attacker);
    
SaveData(attacker);
}
public 
ShowHud(id) {
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]);
}
public 
ChangeClass(id) {
    new 
menu menu_create("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Dog""1" 0);
    
menu_additem(menu ,"Cat""2" 0);
    
menu_additem(menu ,"Horse""3" 0);
    
menu_additem(menu ,"Cow""4" 0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);
    return 
PLUGIN_CONTINUE;
}
public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);
    new 
szCommand[6] , szName[64];
    new 
access callback;
    
menu_item_getinfo(menu item access szCommand szName 63 callback);
    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i) {
        
PlayerClass[id] = i;
        
client_print(id,print_chat,"[%s] You are now a %s"PREFIXCLASSES[i]);
    } else
        
client_print(id,print_chat,"[%s] You are already a %s"PREFIXCLASSES[i]);
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}
public 
client_connect(id)
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
public 
client_disconnect(id) {
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);
    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}
public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}
public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
    
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,255);
    
replace_all(vaultdata255"#"" ");
    new 
playerxp[32], playerlevel[32];
    
parse(vaultdataplayerxp31playerlevel31);
    
PlayerXP[id] = str_to_num(playerxp);
    
PlayerLevel[id] = str_to_num(playerlevel);
    return 
PLUGIN_CONTINUE;
}
// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
        return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] += expnum;
    switch( 
get_cvar_num "amx_show_activity" ) ) {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
       return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] -= expnum;
    switch(
get_cvar_num("amx_show_activity")){
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
 if(
PlayerLevel[id] == 0// Checks level. 
    

        
give_item(id,"weapon_glock18"); // Give yourself glock18 at level 0
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_GLOCK18 ), 120 
    } 
 if(
PlayerLevel[id] == 1// Checks level. 
    

        
give_item(id,"weapon_usp"); // Give yourself usp at level 1
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_USP ), 100 
    }
 if(
PlayerLevel[id] == 2// Checks level. 
    

        
give_item(id,"weapon_deagle"); // Give yourself deagle at level 2
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_DEAGLE ), 35 
    } 
 if(
PlayerLevel[id] == 3// Checks level. 
    

        
give_item(id,"weapon_elites"); // Give yourself elites at level 3
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_ELITE ), 120 
    } 
 if(
PlayerLevel[id] == 4// Checks level. 
    

        
give_item(id,"weapon_tmp"); // Give yourself tmp at level 4
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_TMP ), 120 
    } 
 if(
PlayerLevel[id] == 5// Checks level. 
    

        
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_UMP45 ), 120 
    } 
 if(
PlayerLevel[id] == 6// Checks level. 
    

        
give_item(id,"weapon_mp5"); // Give yourself mp5 at level 6
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_MP5NAVY ), 120
    } 


fm_get_weapon_ent(idwpnid 0)
{
    new 
name[32]

    if(
wpnid)
        
get_weaponname(wpnidname31)

    if (!
equal(name"weapon_"7))
        
format(namesizeof (name) - 1"weapon_%s"name)

    return 
fm_find_ent_by_owner(get_maxplayers(), nameid)
}

fm_find_ent_by_owner(id, const classname[], ownerjghgtype 0)
{
    new 
strtype[16] = "classname"
    
new ent id

    
switch (jghgtype)
    {
        case 
1strtype "target"
        
case 2strtype "targetname"
    
}

    while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner)
    {
    }

    return 
ent

TheRadiance is offline
Send a message via ICQ to TheRadiance
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 04-05-2009 , 06:08   Re: ammo
#7

Quote:
Originally Posted by TheRadiance View Post
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta>
#include <cstrike>
 
#define MAXCLASSES 5
#define PREFIX "Animal Mod"
enum {
PLAYERLEVEL_1,
PLAYERLEVEL_2,
PLAYERLEVEL_3// How many Levels
PLAYERLEVEL_4,
PLAYERLEVEL_5,
PLAYERLEVEL_6
}
enum {
CLASS_NONE 0,
CLASS_COW,
CLASS_HORSE// Add your Classes there..
CLASS_CAT,
CLASS_DOG
}
new const 
CLASSES[MAXCLASSES][] = {
    
"None",
    
"Dog",
    
"Cat",
    
"Horse",
    
"Cow"
};
new const 
LEVELS[6] = {
    
100
    
200
    
400
    
800,
    
1600,
    
3200
};
new 
PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new 
gCvar_KillgCvar_KnifegCvar_HSgCvar_Enableg_Vault;
public 
plugin_init() {
    
register_plugin("XP Mod""1.0""fxfighter");
    
register_event("DeathMsg""eDeath""a");
    
register_event("ResetHUD""skill""be");
    
gCvar_Enable    register_cvar("xp_save""1");
    
gCvar_Kill    register_cvar("xp_per_kill""20");
    
gCvar_HS    register_cvar("xp_hs_bonus""20");
    
gCvar_Knife    register_cvar("xp_Knife_bonus""20");
    
g_Vault        nvault_open("animod");
 
    
register_concmd("amx_take_exp""cmd_take_exp"ADMIN_KICK"<target> <amount>"); 
    
register_concmd("amx_give_exp""cmd_give_exp"ADMIN_KICK"<target> <amount>");
 
    
register_clcmd("say /class",    "ChangeClass");
    
register_clcmd("say_team /class""ChangeClass");
    
register_clcmd("say /xp",    "ShowHud");
    
register_clcmd("say_team /xp",    "ShowHud");
}
public 
eDeath() {
    new 
attacker read_data);
    new 
headshot read_data);
    new 
clipammoweapon get_user_weapon(attackerclipammo);
    
PlayerXP[attacker] += get_pcvar_num(gCvar_Kill);
    if(
headshot)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_HS);
    if(
weapon == CSW_KNIFE)
        
PlayerXP[attacker] += get_pcvar_num(gCvar_Knife);
    while(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
        
client_print(attackerprint_chat"[%s] Congratulations! You are a level %i %s!"PREFIXPlayerLevel[attacker], CLASSES[PlayerClass[attacker]]);
        
PlayerLevel[attacker] += 1;
    }
    
ShowHud(attacker);
    
SaveData(attacker);
}
public 
ShowHud(id) {
    
set_hudmessage(255000.750.0106.015.0);
    
show_hudmessage(id"Level: %i^nXP: %i^nClass: %s"PlayerLevel[id], PlayerXP[id], CLASSES[PlayerClass[id]]);
}
public 
ChangeClass(id) {
    new 
menu menu_create("Class Menu" "Class_Handle");
    
menu_additem(menu ,"Dog""1" 0);
    
menu_additem(menu ,"Cat""2" 0);
    
menu_additem(menu ,"Horse""3" 0);
    
menu_additem(menu ,"Cow""4" 0);
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL);
    
menu_display(id menu 0);
    return 
PLUGIN_CONTINUE;
}
public 
Class_Handle(id menu item)  {
    if(
item == MENU_EXIT
        
menu_destroy(menu);
    new 
szCommand[6] , szName[64];
    new 
access callback;
    
menu_item_getinfo(menu item access szCommand szName 63 callback);
    new 
str_to_num(szCommand);
    if(
PlayerClass[id] != i) {
        
PlayerClass[id] = i;
        
client_print(id,print_chat,"[%s] You are now a %s"PREFIXCLASSES[i]);
    } else
        
client_print(id,print_chat,"[%s] You are already a %s"PREFIXCLASSES[i]);
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE;
}
public 
client_connect(id)
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
LoadData(id);
public 
client_disconnect(id) {
    if(
get_pcvar_num(gCvar_Enable) == 1)
        
SaveData(id);
    
PlayerXP[id]    = 0;
    
PlayerLevel[id]    = 0;
    
PlayerClass[id]    = 0;
}
public 
SaveData(id) {
    new 
AuthID[35];
    
get_user_authid(idAuthID34);
 
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_set(g_Vaultvaultkeyvaultdata);
    return 
PLUGIN_CONTINUE;
}
public 
LoadData(id) {
    new 
AuthID[35];
    
get_user_authid(id,AuthID,34);
 
    new 
vaultkey[64], vaultdata[256];
    
format(vaultkey63"%s-Mod"AuthID);
    
format(vaultdata255"%i#%i#"PlayerXP[id], PlayerLevel[id]);
    
nvault_get(g_Vaultvaultkeyvaultdata,255);
    
replace_all(vaultdata255"#"" ");
    new 
playerxp[32], playerlevel[32];
    
parse(vaultdataplayerxp31playerlevel31);
    
PlayerXP[id] = str_to_num(playerxp);
    
PlayerLevel[id] = str_to_num(playerlevel);
    return 
PLUGIN_CONTINUE;
}
// Give/Take XP addaon by [X]-RayCat
public cmd_give_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
        return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv(2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
        return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] += expnum;
    switch( 
get_cvar_num "amx_show_activity" ) ) {
        case 
1client_print0print_chat"ADMIN: gave %i points for %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: gave %i points for %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You received %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}
 
public 
cmd_take_expidlevel,cid ) {
    if( ! 
cmd_access idlevelcid) )
       return 
PLUGIN_HANDLED;
    new 
target[32], amount[21], reason[21];
    
read_argv1target31 );
    
read_argv2amount20 );
    
read_argv3reason20 );
    new 
player cmd_targetidtarget);
    if( ! 
player 
       return 
PLUGIN_HANDLED;
    new 
admin_name[32], player_name[32];
    
get_user_nameidadmin_name31 );
    
get_user_nameplayerplayer_name31 );
    new 
expnum str_to_numamount );
    
PlayerXP[player] -= expnum;
    switch(
get_cvar_num("amx_show_activity")){
        case 
1client_print0print_chat"ADMIN: took %i points from %s."expnumplayer_name );
        case 
2client_print0print_chat"ADMIN %s: took %i points from %s."admin_nameexpnumplayer_name );
    }
    
client_printplayerprint_chat"[%s] You lost %i points. (Total: %d)"PREFIXexpnumPlayerXP[player] );
    
SaveDataid );
    return 
PLUGIN_CONTINUE;
}  
public 
skill(id)
{
 if(
PlayerLevel[id] == 0// Checks level. 
    

        
give_item(id,"weapon_glock18"); // Give yourself glock18 at level 0
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_GLOCK18 ), 120 
    } 
 if(
PlayerLevel[id] == 1// Checks level. 
    

        
give_item(id,"weapon_usp"); // Give yourself usp at level 1
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_USP ), 100 
    }
 if(
PlayerLevel[id] == 2// Checks level. 
    

        
give_item(id,"weapon_deagle"); // Give yourself deagle at level 2
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_DEAGLE ), 35 
    } 
 if(
PlayerLevel[id] == 3// Checks level. 
    

        
give_item(id,"weapon_elites"); // Give yourself elites at level 3
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_ELITE ), 120 
    } 
 if(
PlayerLevel[id] == 4// Checks level. 
    

        
give_item(id,"weapon_tmp"); // Give yourself tmp at level 4
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_TMP ), 120 
    } 
 if(
PlayerLevel[id] == 5// Checks level. 
    

        
give_item(id,"weapon_ump45"); // Give yourself ump45 at level 5
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_UMP45 ), 120 
    } 
 if(
PlayerLevel[id] == 6// Checks level. 
    

        
give_item(id,"weapon_mp5"); // Give yourself mp5 at level 6
        
cs_set_weapon_ammo fm_get_weapon_ent idCSW_MP5NAVY ), 120
    } 

 
fm_get_weapon_ent(idwpnid 0)
{
    new 
name[32]
 
    if(
wpnid)
        
get_weaponname(wpnidname31)
 
    if (!
equal(name"weapon_"7))
        
format(namesizeof (name) - 1"weapon_%s"name)
 
    return 
fm_find_ent_by_owner(get_maxplayers(), nameid)
}
 
fm_find_ent_by_owner(id, const classname[], ownerjghgtype 0)
{
    new 
strtype[16] = "classname"
    
new ent id
 
    
switch (jghgtype)
    {
        case 
1strtype "target"
        
case 2strtype "targetname"
    
}
 
    while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner)
    {
    }
 
    return 
ent

THX,
0 Errors, 0 Warrings. Maybe can help with the situ? when tying in the server and command me jungiuos emit SERVER error: ED_Alloc: no free edits
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 04-06-2009 , 01:09   Re: ammo
#8

As per the Global Forum Rules, you need to have a descriptive topic title. If you wish for this topic to stay open, please correct the topic title before you post again.
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
~Ice*shOt
Veteran Member
Join Date: Mar 2009
Location: Lithuania
Old 04-06-2009 , 02:51   Re: ammo
#9

Quote:
Originally Posted by YamiKaitou View Post
As per the Global Forum Rules, you need to have a descriptive topic title. If you wish for this topic to stay open, please correct the topic title before you post again.
but this topic I will still need
~Ice*shOt is offline
Send a message via Skype™ to ~Ice*shOt
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 04-06-2009 , 13:14   Re: ammo
#10

AFAIK, give_item return the entity index if it was actually given.

PHP Code:
new iWeapon give_item(id"weapon_m4a1")
if( 
iWeapon )
{
    
cs_set_weapon_ammp(iWeapon30// but should already be 30 when you receive it
}
cs_set_user_bpammo(idCSW_M4A190
If you need to retrieve player weapon entity index, then use my stock :
http://forums.alliedmods.net/showthread.php?t=85962

PHP Code:
new iM4A1 ham_get_user_weaponent(idCSW_M4A11)
//new iM4A1 = ham_get_user_weaponent2(id, CSW_M4A1) // 1st one is faster, but this one is fine too.
if( iM4A1 )
{
    
cs_set_weapon_ammo(iM4A130)

__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 04-06-2009 at 13:21.
ConnorMcLeod is offline
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:28.


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