Raised This Month: $51 Target: $400
 12% 

New XP Mod tutorial


Post New Thread Reply   
 
Thread Tools Display Modes
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-28-2008 , 18:48   Re: New XP Mod tutorial
Reply With Quote #101

Thx,I get already.
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-29-2008 , 23:29   Re: New XP Mod tutorial
Reply With Quote #102

Here.I added some glow on some level/class.Add it like this.

PHP Code:
public plugin_init()

thickness=register_cvar("color_glow","15"
Then add this at your "ResetHUD" function.
PHP Code:
if (PlayerLevel[id] >= 6
    {               
//
    
set_user_health(id255); 
    
set_user_rendering(idkRenderFxGlowShell71237231kRenderNormal,get_pcvar_num(thickness))
    } 
This is example for light blue color.


__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-30-2008 , 03:34   Re: New XP Mod tutorial
Reply With Quote #103

I always get error on compile this code.

PHP Code:
if (PlayerClass[id] == CLASS_COW
    {
    
set_user_health(id250); 
    } 
Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Undefined symbol "CLASS_COW" on line 206

1 Error.
Could not locate output file C:\Documents and Settings\home\Desktop\Pejuang\server\New server\hlds\czero\addons\amxmodx\scripting\xpmod.amx (compile failed).
Why is that happen?
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
padilha007
Senior Member
Join Date: Jul 2008
Old 12-30-2008 , 13:23   Re: New XP Mod tutorial
Reply With Quote #104

put all code
__________________

padilha007 is offline
ianglowz
Senior Member
Join Date: Nov 2008
Old 12-30-2008 , 19:42   Re: New XP Mod tutorial
Reply With Quote #105

Nvm,now i get it.Add this.

PHP Code:
#define CLASS_COW 1 
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
xPaw
Retired AMX Mod X Moderator
Join Date: Jul 2008
Old 01-06-2009 , 09:45   Re: New XP Mod tutorial
Reply With Quote #106

I cleanupped code, added give/take admin commands, and added PREFIX define (i dont know what someone need it)
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define MAXCLASSES 5
#define PREFIX "Animal Mod"

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

    
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;

__________________

Last edited by xPaw; 01-06-2009 at 09:48.
xPaw is offline
bhuangco07
Junior Member
Join Date: Oct 2008
Old 01-15-2009 , 19:00   Re: New XP Mod tutorial
Reply With Quote #107

How do I make it so the xp stays on that class also how can I make skills that show up for that one class whenever they level!
bhuangco07 is offline
TrueType
Junior Member
Join Date: May 2008
Location: sweden
Old 01-27-2009 , 15:51   Re: New XP Mod tutorial
Reply With Quote #108

Code:
Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/texticL7S3.sma(43) : error 017: undefined symbol "id"
/home/groups/amxmodx/tmp3/texticL7S3.sma(45) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(48) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(51) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(54) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(56) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(56) : warning 215: expression has no effect
/home/groups/amxmodx/tmp3/texticL7S3.sma(56) : warning 215: expression has no effect
/home/groups/amxmodx/tmp3/texticL7S3.sma(56 -- 57) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(59) : error 017: undefined symbol "attacker"
/home/groups/amxmodx/tmp3/texticL7S3.sma(60) : error 017: undefined symbol "attacker"

9 Errors.
Could not locate output file /home/groups/amxmodx/public_html/websc3/texticL7S3.amx (compile failed).
I did just paste yours to see if there were som errors and yes.
"Any errors or anything please feel free to reply"
But xPaw's works fine.

Last edited by TrueType; 01-27-2009 at 15:52. Reason: saw xPaws comment...
TrueType is offline
ianglowz
Senior Member
Join Date: Nov 2008
Old 01-28-2009 , 07:13   Re: New XP Mod tutorial
Reply With Quote #109

Give full code if want fix..
__________________
~ +karma to me and leave your name. ~
~ If you -karma to me,please leave your name so I know you are pro scripter. ~
~ Helping anytime ~


ianglowz is offline
JoeShmoe
New Member
Join Date: Jan 2009
Old 01-29-2009 , 20:37   Re: New XP Mod tutorial
Reply With Quote #110

keep getting this error when compiling
\addons\amxmodx\scripting\xptest1.sma(237) : error 010: invalid function or declaration

I've read the entire post and I just can't seem to find any solution to it. I may have overlooked something so sorry in advance. I'll attach the .sma at the bottom. Also, is there any way to use another plugin in tandem with this one?
Let's say you want to give someone access to a certain plugin command at a certain level. Would that be possible? Like giving someone access to amx_slap for example.
Attached Files
File Type: sma Get Plugin or Get Source (xptest1.sma - 233 views - 6.8 KB)
JoeShmoe is offline
Reply



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 16:28.


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