AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Server Error plz help (https://forums.alliedmods.net/showthread.php?t=89363)

~Ice*shOt 04-05-2009 12:24

Server Error plz help
 
please help I created a gun xp mod:
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 



and where do I connect servers emit error: ED_Alloc: no free edits plzz help. + Karma!

TheRadiance 04-05-2009 12:28

Re: Server Error plz help
 
I think this problem via the wrong way of nvault usage.

~Ice*shOt 04-05-2009 13:27

Re: Server Error plz help
 
Quote:

Originally Posted by TheRadiance (Post 798072)
I think this problem via the wrong way of nvault usage.

How do I fix it?

TheRadiance 04-05-2009 21:43

Re: Server Error plz help
 
I'll can help you some later, no i need go to school :)

danielkza 04-05-2009 21:49

Re: Server Error plz help
 
Change the topic's title to something more descriptive, according to the rules, or it'll be locked.

~Ice*shOt 04-06-2009 01:01

Re: Server Error plz help
 
Quote:

Originally Posted by danielkza (Post 798477)
Change the topic's title to something more descriptive, according to the rules, or it'll be locked.

Ok. plz no locked

~Ice*shOt 04-06-2009 01:02

Re: ED_Alloc: no free edicts with my established mod
 
Quote:

Originally Posted by danielkza (Post 798477)
Change the topic's title to something more descriptive, according to the rules, or it'll be locked.


TheRadiance 04-06-2009 04:14

Re: Server Error plz help
 
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_Enable;
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"); 
     
    
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]); 
    new 
nvault_open "animod" )

    if ( 
== -// ..error while creating/opening nvault..
    
return PLUGIN_CONTINUE
    nvault_set
(vvaultkeyvaultdata);
    
nvault_close )

    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]); 

    new 
nvault_open "animod" )
    if ( 
== -)
    return 
PLUGIN_CONTINUE
    nvault_get
(vvaultkeyvaultdata,255);
    
nvault_close )

    
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 



~Ice*shOt 04-06-2009 05:03

Re: Server Error plz help
 
BAD.. :( plz help Screen: http://img12.**************/my.php?image=48724665.png

danielkza 04-06-2009 17:21

Re: Server Error plz help
 
Locked for failing to change to a proper title. Feel free to reopen the thread with a meaningful label.


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

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