AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   XPMod HELP (https://forums.alliedmods.net/showthread.php?t=83710)

bhuangco07 01-14-2009 00:27

XPMod HELP
 
I currently took interest in creating a plugin/mod and I came across the XPMod Tutorial I was wondering if anyone knew how to add skills to one of the certain classes/races invisibility,doublejump,speed,air acelerate.
~~~~~~~~~~~~~~
More Detailed:
I want to make it so Each Class only gets one of the skills and adds on to it say they are level 2 they get slightly more invisible or if another race they get slightly higher double jumps! ty! for looking

X0Left4dead0X 01-14-2009 15:40

Re: XPMod HELP
 
PHP Code:

public plugin_init() {
register_event("CurWeapon""eventCurWeapon""be")


PHP Code:

public eventCurWeapon(id)
{
    if(!
is_user_alive(id) || PlayerClass[id] == CLASS_firstlevel)
        return
  
  if(
PlayerClass[id] == lastlevel && PlayerXP[id] > 55000)
    {
        
cs_set_weapon_burst(id1)
        
set_user_armor(id250)
        
set_user_health(id250)
    }



bhuangco07 01-14-2009 20:37

Re: XPMod HELP
 
Quote:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define MAXCLASSES 5
#define PREFIX "DeathrunXP Mod"

new const CLASSES[MAXCLASSES][] = {
"None",
"Baiter",
"Juker",
"Rusher",
"Mr.Sneaky"
};

new const SKILLS[5] = {
"None",
"Doublejump",
"Airacelerate",
"Speed",
"Invisibility"
};

new const LEVELS[10] = {
100,
200,
400,
800,
1600,
3200,
5000,
10000,
15000,
20000
};

new PlayerXP[33], PlayerLevel[33], PlayerClass[33];
new gCvar_Kill, gCvar_Knife, gCvar_HS, gCvar_Enable, g_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", "15");
gCvar_HS = register_cvar("xp_hs_bonus", "25");
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");
register_clcmd("say /skill", "ChangeSkill");
register_clcmd("say_team /skill", "ChangeSkill");
}

public eDeath() {
new attacker = read_data( 1 );
new headshot = read_data( 3 );
new clip, ammo, weapon = get_user_weapon(attacker, clip, ammo);

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(attacker, print_chat, "[%s] Congratulations! You are a level %i %s!", PREFIX, PlayerLevel[attacker], CLASSES[PlayerClass[attacker]]);
PlayerLevel[attacker] += 1;
}

ShowHud(attacker);
SaveData(attacker);
}

public ShowHud(id) {
set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.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 ,"Baiter", "1" , 0);
menu_additem(menu ,"Juker", "2" , 0);
menu_additem(menu ,"Rusher", "3" , 0);
menu_additem(menu ,"Mr.Sneaky", "4" , 0);

menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);

return PLUGIN_CONTINUE;
}
public ChangeSkill(id) {
new menu = menu_create("Skill Menu" , "Class_Handle");
menu_additem(menu ,"Doublejump", "1" , 0);
menu_additem(menu ,"Airacelerate", "2" , 0);
menu_additem(menu ,"Speed", "3" , 0);
menu_additem(menu ,"Invisibility", "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 , 5 , szName , 63 , callback);

new i = str_to_num(szCommand);
if(PlayerClass[id] != i) {
PlayerClass[id] = i;
client_print(id,print_chat,"[%s] You are now a %s", PREFIX, CLASSES[i]);
} else
client_print(id,print_chat,"[%s] You are already a %s", PREFIX, CLASSES[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(id, AuthID, 34);

new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", AuthID);
format(vaultdata, 255, "%i#%i#", PlayerXP[id], PlayerLevel[id]);
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}

public LoadData(id) {
new AuthID[35];
get_user_authid(id,AuthID,34);

new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", AuthID);
format(vaultdata, 255, "%i#%i#", PlayerXP[id], PlayerLevel[id]);
nvault_get(g_Vault, vaultkey, vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new playerxp[32], playerlevel[32];

parse(vaultdata, playerxp, 31, playerlevel, 31);

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_exp( id, level,cid ) {
if( ! cmd_access ( id, level, cid, 3 ) )
return PLUGIN_HANDLED;

new target[32], amount[21], reason[21];

read_argv( 1, target, 31 );
read_argv(2, amount, 20 );
read_argv( 3, reason, 20 );

new player = cmd_target( id, target, 8 );

if( ! player )
return PLUGIN_HANDLED;

new admin_name[32], player_name[32];
get_user_name( id, admin_name, 31 );
get_user_name( player, player_name, 31 );

new expnum = str_to_num( amount );

PlayerXP[player] += expnum;

switch( get_cvar_num ( "amx_show_activity" ) ) {
case 1: client_print( 0, print_chat, "ADMIN: gave %i points for %s.", expnum, player_name );
case 2: client_print( 0, print_chat, "ADMIN %s: gave %i points for %s.", admin_name, expnum, player_name );
}

client_print( player, print_chat, "[%s] You received %i points. (Total: %d)", PREFIX, expnum, PlayerXP[player] );
SaveData( id );

return PLUGIN_CONTINUE;
}

public cmd_take_exp( id, level,cid ) {
if( ! cmd_access ( id, level, cid, 3 ) )
return PLUGIN_HANDLED;

new target[32], amount[21], reason[21];

read_argv( 1, target, 31 );
read_argv( 2, amount, 20 );
read_argv( 3, reason, 20 );

new player = cmd_target( id, target, 8 );

if( ! player )
return PLUGIN_HANDLED;

new admin_name[32], player_name[32];
get_user_name( id, admin_name, 31 );
get_user_name( player, player_name, 31 );

new expnum = str_to_num( amount );

PlayerXP[player] -= expnum;

switch(get_cvar_num("amx_show_activity")){
case 1: client_print( 0, print_chat, "ADMIN: took %i points from %s.", expnum, player_name );
case 2: client_print( 0, print_chat, "ADMIN %s: took %i points from %s.", admin_name, expnum, player_name );
}

client_print( player, print_chat, "[%s] You lost %i points. (Total: %d)", PREFIX, expnum, PlayerXP[player] );
SaveData( id );

return PLUGIN_CONTINUE;
}
So Basicly Sneaky gets Invisibility Baiter gets DoubleJump Rusher gets Speed and Juker gets AirAccelerate But they get it in small protations say lvl 1 they are 80% visible then level 2 they are 75% visable etc

bhuangco07 01-20-2009 21:58

Re: XPMod HELP
 
How do I add Skills,And Skill Points

padilha007 01-20-2009 22:04

Re: XPMod HELP
 
lol duple post...

Just read some topics in aproved plugins and scripting help


All times are GMT -4. The time now is 01:46.

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