Descriere: Cred ca stiti cu toti ce plugin de XP ruleaza pe serverul aznet ( scuzati reclama ). Acest plugin probabil ca nu e la fel, dar e majoritatea functiilor si colorat la fel.
Descarcare: ZippyShare | GirlShare | SendSpace
Nume: Level / XP Mod HNS
Autor: Pufq // -ModeR-
Levele + Iteme + XP:
LVL 1: +1FL ( EXP: 50 )
LVL 2: +2FL ( EXP: 150 )
LVL 3: +2FL ; +1SM ( EXP: 250 )
LVL 4: +2FL ; +2SM ( EXP: 500 )
LVL 5: +2FL ; +2SM ; +1HE ; +1GL Deagle ( EXP: 700 )
LVL 6: +3FL ; +3SM ; +2HE ; +1GL Deagle ; +15HP ( EXP: 1000 )
LVL 7: +3FL ; +2SM ; +2HE ; +1GL Deagle ; +20HP ( EXP: 1300 )
LVL 8: +5FL ; +4SM ; +3HE ; +1GL Deagle ; +25HP ( EXP: 1600 )
LVL 9: +5FL ; +5SM ; +3HE ; +1GL Deagle ; +30HP ( EXP: 2000 )
LVL 10: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +30AP ( EXP: 3000 )
LVL 11: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +35AP ( EXP: 4500 )
LVL 12: +6FL ; +6SM ; +3HE ; +2GL Deagle ; +45HP ; +35AP ( EXP: 6000 )
LVL 13: +7FL ; +6SM ; +5HE ; +3GL Deagle ; +45HP ; +35HP ( EXP: 8000 )
LVL 14: +7FL ; +6SM ; +6HE ; +1GL Usp ; +45HP ; +35HP ( EXP: 9000 )
LVL 15: +7FL ; +7SM ; +6HE ; +2GL Usp ; +50HP ; +40AP ( EXP: 10.000 )
Versiune: 0.0.1
Atentie !!!!: Pluginul are nevoie de: _items.inc | _skills.inc si Puf_CC_New.inc pentru compilarea locala. Le gasiti in folder scripting/include/_GM.
.SMA:
[sursa=.SMA]/*
Credite:
- Multumesc lui aFK[;x], mi-a zis ce iteme sa pun la fiecare nivel .. !
Pentru compilarea pluginului, aveti nevoie de:
1. _items.inc
2. _skills.inc
3. _Puf_CC_New.inc
_________________________________
Pe toate acestea le gasiti in folderul ~ _GM ~ ! ATENTIE !!!! Puneti folderul _GM cu toate fisierele din el, in scripting/include pentru compilarea locala.
___________________________________
HF ___
_________________________________
Levele + Iteme + EXP:
LVL 1: +1FL ( EXP: 50 )
LVL 2: +2FL ( EXP: 150 )
LVL 3: +2FL ; +1SM ( EXP: 250 )
LVL 4: +2FL ; +2SM ( EXP: 500 )
LVL 5: +2FL ; +2SM ; +1HE ; +1GL Deagle ( EXP: 700 )
LVL 6: +3FL ; +3SM ; +2HE ; +1GL Deagle ; +15HP ( EXP: 1000 )
LVL 7: +3FL ; +2SM ; +2HE ; +1GL Deagle ; +20HP ( EXP: 1300 )
LVL 8: +5FL ; +4SM ; +3HE ; +1GL Deagle ; +25HP ( EXP: 1600 )
LVL 9: +5FL ; +5SM ; +3HE ; +1GL Deagle ; +30HP ( EXP: 2000 )
LVL 10: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +30AP ( EXP: 3000 )
LVL 11: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +35AP ( EXP: 4500 )
LVL 12: +6FL ; +6SM ; +3HE ; +2GL Deagle ; +45HP ; +35AP ( EXP: 6000 )
LVL 13: +7FL ; +6SM ; +5HE ; +3GL Deagle ; +45HP ; +35HP ( EXP: 8000 )
LVL 14: +7FL ; +6SM ; +6HE ; +1GL Usp ; +45HP ; +35HP ( EXP: 9000 )
LVL 15: +7FL ; +7SM ; +6HE ; +2GL Usp ; +50HP ; +40AP ( EXP: 10.000 )
ChangeLog:
0.0.1: Lansare.
0.0.2: Adaugare sistem XP / Rezolvarea buguriilor.
________________________________________________________________________________________________________
*/
// Include
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < nvault >
// Old includes
#include < _GM/_items >
#include < _GM/_skills >
#include < _GM/_Puf_CC_New >
// Define
#define PLUGIN_NAME "GameMod _ XP"
#define PLUGIN_VERSION "0.0.2"
#define PLUGIN_AUTHOR "Pufq"
// Levels
new const g_szLEVELS[ 15 ] =
{
50,
150,
250,
500,
700,
1000,
1300,
1600,
2000,
3000,
4500,
6000,
8000,
9000,
10000
};
new Player_LVL[ 33 ], Player_XP[ 33 ];
// Cvars
new HNS_KILL, HNS_HS;
// Pragma
#pragma semicolon 1
// Plugin
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
// Ham
RegisterHam( Ham_Spawn, "player", "hamPlayerPostSpawn", 1 );
// evDeathMsg
register_event( "DeathMsg", "evDeathMsg", "a" );
// Commands info level / xp
register_clcmd( "say /xp", "pInfo" );
register_clcmd( "say /lvl", "pInfo" );
// Info LVL / XP Player
register_concmd( "amx_level", "cmd_level", ADMIN_KICK, "< Player > - Afli XP-ul / LVL-ul unui player" );
// Cvars
HNS_KILL = register_cvar( "hns_game_kill", "25" );
HNS_HS = register_cvar( "hns_game_hs", "40" );
// Add / Remove XP
register_concmd( "hns_game_givexp", "cmd_givexp", ADMIN_RCON, "< Player > < Numar > - Ii dai XP" );
register_concmd( "hns_game_takexp", "cmd_takexp", ADMIN_RCON, "< Player > < Numar > - Ii scoti din XP" );
}
public hamPlayerPostSpawn( id )
{
if( ( Player_LVL[ id ] < 15 && ( Player_XP[ id ] > g_szLEVELS[ Player_LVL[ id ] ] ) ) )
{
while( Player_XP[ id ] > g_szLEVELS[ Player_LVL[ id ] ] )
{
Player_LVL[ id ] += 1;
Puf_CC_New( id, "Ai trecut la !vLVL!c: !e%d!c(!vXP!c: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
}
}
set_task( 15.0, "pItems", id );
}
public pItems( id )
{
if( Player_LVL[ id ] == 1 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+1!eFL!c]" );
iGrenada( id, iFLASH, 1 );
}
else if( Player_LVL[ id ] == 2 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c]" );
iGrenada( id, iFLASH, 2 );
}
else if( Player_LVL[ id ] == 3 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+1!eSM!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 1 );
}
else if( Player_LVL[ id ] == 4 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+2!eSM!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 2 );
}
else if( Player_LVL[ id ] == 5 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+2!eSM!c][!v+1!eHE!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 1 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 6 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+3!eFL!c][!v+2!eSM!c][!v+2!eHE!c][!v+15!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 3 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 2 );
iSkills( id, iHP, 15 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 7 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+3!eFL!c][!v+2!eSM!c][!v+2!eHE!c][!v+20!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 3 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 2 );
iSkills( id, iHP, 20 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 8 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+5!eFL!c][!v+4!eSM!c][!v+3!eHE!c][!v+25!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 5 );
iGrenada( id, iSMOKE, 4 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 35 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 9 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+5!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+30!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 5 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 30 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 10 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+40!eHP!c][!v+30!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 30 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 11 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+40!eHP!c][!v+35!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 12 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+6!eSM!c][!v+3!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 45 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 13 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+6!eSM!c][!v+5!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+3GL!eDGL!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 5 );
iSkills( id, iHP, 45 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 3 );
}
else if( Player_LVL[ id ] == 14 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+6!eSM!c][!v+6!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+1GL!eUSP!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 6 );
iSkills( id, iHP, 50 );
iSkills( id, iAP, 40 );
iArma( id, iUsp, 1 );
}
else if( Player_LVL[ id ] == 15 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+7!eSM!c][!v+6!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+2GL!eUSP!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 7 );
iGrenada( id, iHE, 6 );
iSkills( id, iHP, 50 );
iSkills( id, iAP, 40 );
iArma( id, iUsp, 2 );
}
}
public evDeathMsg( )
{
new iVictim = read_data(2);
new iVictimName[ 32 ], iWvar[32];
new iWeapon, iHitPlace, iAttacker = get_user_attacker( iVictim, iWeapon, iHitPlace);
get_user_name( iVictim, iVictimName, 31 );
read_data( 4, iWvar, 31 );
if( equal( iWvar, "world", 5 ) )
return;
if( iAttacker < 1 || iAttacker > 32 )
return;
Player_XP[ iAttacker ] += get_pcvar_num( HNS_KILL );
Puf_CC_New( iAttacker, "Ai primit !v25XP!c pentru ca l-ai omorat pe !e%s!c !", iVictimName );
if( iHitPlace == HIT_HEAD )
{
Player_XP[ iAttacker ] += get_pcvar_num( HNS_HS );
Puf_CC_New( iAttacker, "Ai primit !v40XP!c pentru ca l-ai omorat pe !e%s!c cu !vHEADSHOT!c !", iVictimName );
}
pHudInfo( iAttacker );
}
public pHudInfo( id )
{
set_hudmessage( 85, 170, 255, 0.06, 0.26, 1, 6.0, 15.0 );
if( Player_LVL[ id ] < 15 )
{
show_hudmessage( id, "[LVL: %d / XP: %i]", Player_LVL[ id ], Player_XP[ id ] );
}
else
{
show_hudmessage( id, "[LVL: %d - Ai LEVEL Maxim ]", Player_LVL[ id ] );
}
}
public client_disconnect( id )
{
SaveData( id );
Player_XP[ id ] = 0;
Player_LVL[ id ] = 0;
}
public client_putinserver( id )
{
set_task( 5.0, "welcome_message", id );
LoadData( id );
}
public welcome_message( id )
{
Puf_CC_New( id, "Salut. Bine ai venit !v%s!c !", iName( id ) );
Puf_CC_New( id, "Acest server ruleaza cu !vGameMod !c-!v XP!c, creat de !vPufq!c !" );
}
public pInfo( id )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP!c: !e%d!c).", Player_LVL[ id ], Player_XP[ id ] );
}
public cmd_level( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iArg[ 32 ];
read_argv( 1, iArg, 31 );
new iTarget = cmd_target( id, iArg, 9 );
if( !iTarget )
return 1;
new iName[ 32 ];
get_user_name( id, iName, 31 );
console_print( id, "Player %s are LVL: %d(XP: %d).", iName, Player_LVL[ iTarget ], Player_XP[ iTarget ] );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public cmd_givexp( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iTarget[ 32 ], iAmount[ 32 ];
read_argv( 1, iTarget, 31 );
read_argv( 2, iAmount, 31 );
new iPlayer = cmd_target( id, iTarget, 9 );
if( !iPlayer )
return 1;
new gXP = str_to_num( iAmount );
new iName[ 32 ], iAdmin[ 32 ];
get_user_name( id, iAdmin, 31 );
get_user_name( iPlayer, iName, 31 );
Puf_CC_New( 0, "Admin !v%s!c ii da lui !v%s!c, !e%s!c(!vXP!c).", iAdmin, iName, iAmount );
Player_XP[ iPlayer ] += gXP;
SaveData( id );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public cmd_takexp( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iTarget[ 32 ], iAmount[ 32 ];
read_argv( 1, iTarget, 31 );
read_argv( 2, iAmount, 31 );
new iPlayer = cmd_target( id, iTarget, 9 );
if( !iPlayer )
return 1;
new gXP = str_to_num( iAmount );
new iName[ 32 ], iAdmin[ 32 ];
get_user_name( id, iAdmin, 31 );
get_user_name( iPlayer, iName, 31 );
Puf_CC_New( 0, "Admin !v%s!c ii ia lui !v%s!c, !e%s!c(!vXP!c).", iAdmin, iName, iAmount );
Player_XP[ iPlayer ] -= gXP;
SaveData( id );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public SaveData( id )
{
new iName[ 33 ];
get_user_name( id, iName, 32 );
new vaultkey[ 64 ], vaultdata[ 256 ];
format( vaultkey, 63, "%s", iName);
format( vaultdata,255,"%i#%i#", Player_XP[ id ], Player_LVL[ id ] );
new gVault = nvault_open( "hns_levelmod" );
nvault_set( gVault, vaultkey, vaultdata );
return 1;
}
public LoadData( id )
{
new iName[ 32 ];
get_user_name( id, iName, 33 );
new vaultkey[ 64 ], vaultdata[ 256 ] ;
format( vaultkey, 63, "%s", iName );
format( vaultdata, 255, "%i#%i#", Player_XP[ id ], Player_LVL[ id ] );
new gVault = nvault_open( "hns_levelmod" );
nvault_get( gVault, vaultkey, vaultdata, 255 );
replace_all( vaultdata, 255, "#", " " );
new gPlayer_XP[ 32 ], gPlayer_LVL[ 32 ];
parse( vaultdata, gPlayer_XP, 31, gPlayer_LVL, 31 );
Player_XP[ id ] = str_to_num( gPlayer_XP );
Player_LVL[ id ] = str_to_num( gPlayer_LVL );
return 1;
}
stock iName( id )
{
new name[ 32 ];
get_user_name( id, name, 31 );
return name;
}
Link oficial: Aici..
Instalare:
1. Copiati folderul scripting in addons/amxmodx.
2. Copiati folderul plugins in addons/amxmodx.
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
4. Alti pasi necesari....
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- CStrike
- Fun
- Hamsandwich
- Engine
Imagini:
1.
2.
3.
Descarcare: ZippyShare | GirlShare | SendSpace
Nume: Level / XP Mod HNS
Autor: Pufq // -ModeR-
Levele + Iteme + XP:
Levele + Iteme + XP :
LVL 1: +1FL ( EXP: 50 )
LVL 2: +2FL ( EXP: 150 )
LVL 3: +2FL ; +1SM ( EXP: 250 )
LVL 4: +2FL ; +2SM ( EXP: 500 )
LVL 5: +2FL ; +2SM ; +1HE ; +1GL Deagle ( EXP: 700 )
LVL 6: +3FL ; +3SM ; +2HE ; +1GL Deagle ; +15HP ( EXP: 1000 )
LVL 7: +3FL ; +2SM ; +2HE ; +1GL Deagle ; +20HP ( EXP: 1300 )
LVL 8: +5FL ; +4SM ; +3HE ; +1GL Deagle ; +25HP ( EXP: 1600 )
LVL 9: +5FL ; +5SM ; +3HE ; +1GL Deagle ; +30HP ( EXP: 2000 )
LVL 10: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +30AP ( EXP: 3000 )
LVL 11: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +35AP ( EXP: 4500 )
LVL 12: +6FL ; +6SM ; +3HE ; +2GL Deagle ; +45HP ; +35AP ( EXP: 6000 )
LVL 13: +7FL ; +6SM ; +5HE ; +3GL Deagle ; +45HP ; +35HP ( EXP: 8000 )
LVL 14: +7FL ; +6SM ; +6HE ; +1GL Usp ; +45HP ; +35HP ( EXP: 9000 )
LVL 15: +7FL ; +7SM ; +6HE ; +2GL Usp ; +50HP ; +40AP ( EXP: 10.000 )
Versiune: 0.0.1
Atentie !!!!: Pluginul are nevoie de: _items.inc | _skills.inc si Puf_CC_New.inc pentru compilarea locala. Le gasiti in folder scripting/include/_GM.
.SMA:
[sursa=.SMA]/*
Credite:
- Multumesc lui aFK[;x], mi-a zis ce iteme sa pun la fiecare nivel .. !
Pentru compilarea pluginului, aveti nevoie de:
1. _items.inc
2. _skills.inc
3. _Puf_CC_New.inc
_________________________________
Pe toate acestea le gasiti in folderul ~ _GM ~ ! ATENTIE !!!! Puneti folderul _GM cu toate fisierele din el, in scripting/include pentru compilarea locala.
___________________________________
HF ___
_________________________________
Levele + Iteme + EXP:
LVL 1: +1FL ( EXP: 50 )
LVL 2: +2FL ( EXP: 150 )
LVL 3: +2FL ; +1SM ( EXP: 250 )
LVL 4: +2FL ; +2SM ( EXP: 500 )
LVL 5: +2FL ; +2SM ; +1HE ; +1GL Deagle ( EXP: 700 )
LVL 6: +3FL ; +3SM ; +2HE ; +1GL Deagle ; +15HP ( EXP: 1000 )
LVL 7: +3FL ; +2SM ; +2HE ; +1GL Deagle ; +20HP ( EXP: 1300 )
LVL 8: +5FL ; +4SM ; +3HE ; +1GL Deagle ; +25HP ( EXP: 1600 )
LVL 9: +5FL ; +5SM ; +3HE ; +1GL Deagle ; +30HP ( EXP: 2000 )
LVL 10: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +30AP ( EXP: 3000 )
LVL 11: +6FL ; +5SM ; +3HE ; +2GL Deagle ; +40HP ; +35AP ( EXP: 4500 )
LVL 12: +6FL ; +6SM ; +3HE ; +2GL Deagle ; +45HP ; +35AP ( EXP: 6000 )
LVL 13: +7FL ; +6SM ; +5HE ; +3GL Deagle ; +45HP ; +35HP ( EXP: 8000 )
LVL 14: +7FL ; +6SM ; +6HE ; +1GL Usp ; +45HP ; +35HP ( EXP: 9000 )
LVL 15: +7FL ; +7SM ; +6HE ; +2GL Usp ; +50HP ; +40AP ( EXP: 10.000 )
ChangeLog:
0.0.1: Lansare.
0.0.2: Adaugare sistem XP / Rezolvarea buguriilor.
________________________________________________________________________________________________________
Sursa :
*/
// Include
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < nvault >
// Old includes
#include < _GM/_items >
#include < _GM/_skills >
#include < _GM/_Puf_CC_New >
// Define
#define PLUGIN_NAME "GameMod _ XP"
#define PLUGIN_VERSION "0.0.2"
#define PLUGIN_AUTHOR "Pufq"
// Levels
new const g_szLEVELS[ 15 ] =
{
50,
150,
250,
500,
700,
1000,
1300,
1600,
2000,
3000,
4500,
6000,
8000,
9000,
10000
};
new Player_LVL[ 33 ], Player_XP[ 33 ];
// Cvars
new HNS_KILL, HNS_HS;
// Pragma
#pragma semicolon 1
// Plugin
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
// Ham
RegisterHam( Ham_Spawn, "player", "hamPlayerPostSpawn", 1 );
// evDeathMsg
register_event( "DeathMsg", "evDeathMsg", "a" );
// Commands info level / xp
register_clcmd( "say /xp", "pInfo" );
register_clcmd( "say /lvl", "pInfo" );
// Info LVL / XP Player
register_concmd( "amx_level", "cmd_level", ADMIN_KICK, "< Player > - Afli XP-ul / LVL-ul unui player" );
// Cvars
HNS_KILL = register_cvar( "hns_game_kill", "25" );
HNS_HS = register_cvar( "hns_game_hs", "40" );
// Add / Remove XP
register_concmd( "hns_game_givexp", "cmd_givexp", ADMIN_RCON, "< Player > < Numar > - Ii dai XP" );
register_concmd( "hns_game_takexp", "cmd_takexp", ADMIN_RCON, "< Player > < Numar > - Ii scoti din XP" );
}
public hamPlayerPostSpawn( id )
{
if( ( Player_LVL[ id ] < 15 && ( Player_XP[ id ] > g_szLEVELS[ Player_LVL[ id ] ] ) ) )
{
while( Player_XP[ id ] > g_szLEVELS[ Player_LVL[ id ] ] )
{
Player_LVL[ id ] += 1;
Puf_CC_New( id, "Ai trecut la !vLVL!c: !e%d!c(!vXP!c: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
}
}
set_task( 15.0, "pItems", id );
}
public pItems( id )
{
if( Player_LVL[ id ] == 1 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+1!eFL!c]" );
iGrenada( id, iFLASH, 1 );
}
else if( Player_LVL[ id ] == 2 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c]" );
iGrenada( id, iFLASH, 2 );
}
else if( Player_LVL[ id ] == 3 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+1!eSM!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 1 );
}
else if( Player_LVL[ id ] == 4 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+2!eSM!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 2 );
}
else if( Player_LVL[ id ] == 5 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+2!eFL!c][!v+2!eSM!c][!v+1!eHE!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 2 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 1 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 6 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+3!eFL!c][!v+2!eSM!c][!v+2!eHE!c][!v+15!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 3 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 2 );
iSkills( id, iHP, 15 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 7 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+3!eFL!c][!v+2!eSM!c][!v+2!eHE!c][!v+20!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 3 );
iGrenada( id, iSMOKE, 2 );
iGrenada( id, iHE, 2 );
iSkills( id, iHP, 20 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 8 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+5!eFL!c][!v+4!eSM!c][!v+3!eHE!c][!v+25!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 5 );
iGrenada( id, iSMOKE, 4 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 35 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 9 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+5!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+30!eHP!c][!v+1GL!eDGL!c]" );
iGrenada( id, iFLASH, 5 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 30 );
iArma( id, iDeagle, 1 );
}
else if( Player_LVL[ id ] == 10 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+40!eHP!c][!v+30!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 30 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 11 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+5!eSM!c][!v+3!eHE!c][!v+40!eHP!c][!v+35!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 5 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 40 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 12 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+6!eFL!c][!v+6!eSM!c][!v+3!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+2GL!eDGL!c]" );
iGrenada( id, iFLASH, 6 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 3 );
iSkills( id, iHP, 45 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 2 );
}
else if( Player_LVL[ id ] == 13 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+6!eSM!c][!v+5!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+3GL!eDGL!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 5 );
iSkills( id, iHP, 45 );
iSkills( id, iAP, 35 );
iArma( id, iDeagle, 3 );
}
else if( Player_LVL[ id ] == 14 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+6!eSM!c][!v+6!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+1GL!eUSP!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 6 );
iGrenada( id, iHE, 6 );
iSkills( id, iHP, 50 );
iSkills( id, iAP, 40 );
iArma( id, iUsp, 1 );
}
else if( Player_LVL[ id ] == 15 )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP: !e%d!c)", Player_LVL[ id ], Player_XP[ id ] );
Puf_CC_New( id, "Iteme: [!v+7!eFL!c][!v+7!eSM!c][!v+6!eHE!c][!v+45!eHP!c][!v+35!eAP!c][!v+2GL!eUSP!c]" );
iGrenada( id, iFLASH, 7 );
iGrenada( id, iSMOKE, 7 );
iGrenada( id, iHE, 6 );
iSkills( id, iHP, 50 );
iSkills( id, iAP, 40 );
iArma( id, iUsp, 2 );
}
}
public evDeathMsg( )
{
new iVictim = read_data(2);
new iVictimName[ 32 ], iWvar[32];
new iWeapon, iHitPlace, iAttacker = get_user_attacker( iVictim, iWeapon, iHitPlace);
get_user_name( iVictim, iVictimName, 31 );
read_data( 4, iWvar, 31 );
if( equal( iWvar, "world", 5 ) )
return;
if( iAttacker < 1 || iAttacker > 32 )
return;
Player_XP[ iAttacker ] += get_pcvar_num( HNS_KILL );
Puf_CC_New( iAttacker, "Ai primit !v25XP!c pentru ca l-ai omorat pe !e%s!c !", iVictimName );
if( iHitPlace == HIT_HEAD )
{
Player_XP[ iAttacker ] += get_pcvar_num( HNS_HS );
Puf_CC_New( iAttacker, "Ai primit !v40XP!c pentru ca l-ai omorat pe !e%s!c cu !vHEADSHOT!c !", iVictimName );
}
pHudInfo( iAttacker );
}
public pHudInfo( id )
{
set_hudmessage( 85, 170, 255, 0.06, 0.26, 1, 6.0, 15.0 );
if( Player_LVL[ id ] < 15 )
{
show_hudmessage( id, "[LVL: %d / XP: %i]", Player_LVL[ id ], Player_XP[ id ] );
}
else
{
show_hudmessage( id, "[LVL: %d - Ai LEVEL Maxim ]", Player_LVL[ id ] );
}
}
public client_disconnect( id )
{
SaveData( id );
Player_XP[ id ] = 0;
Player_LVL[ id ] = 0;
}
public client_putinserver( id )
{
set_task( 5.0, "welcome_message", id );
LoadData( id );
}
public welcome_message( id )
{
Puf_CC_New( id, "Salut. Bine ai venit !v%s!c !", iName( id ) );
Puf_CC_New( id, "Acest server ruleaza cu !vGameMod !c-!v XP!c, creat de !vPufq!c !" );
}
public pInfo( id )
{
Puf_CC_New( id, "Ai !vLVL!c: !e%d!c (!vXP!c: !e%d!c).", Player_LVL[ id ], Player_XP[ id ] );
}
public cmd_level( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iArg[ 32 ];
read_argv( 1, iArg, 31 );
new iTarget = cmd_target( id, iArg, 9 );
if( !iTarget )
return 1;
new iName[ 32 ];
get_user_name( id, iName, 31 );
console_print( id, "Player %s are LVL: %d(XP: %d).", iName, Player_LVL[ iTarget ], Player_XP[ iTarget ] );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public cmd_givexp( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iTarget[ 32 ], iAmount[ 32 ];
read_argv( 1, iTarget, 31 );
read_argv( 2, iAmount, 31 );
new iPlayer = cmd_target( id, iTarget, 9 );
if( !iPlayer )
return 1;
new gXP = str_to_num( iAmount );
new iName[ 32 ], iAdmin[ 32 ];
get_user_name( id, iAdmin, 31 );
get_user_name( iPlayer, iName, 31 );
Puf_CC_New( 0, "Admin !v%s!c ii da lui !v%s!c, !e%s!c(!vXP!c).", iAdmin, iName, iAmount );
Player_XP[ iPlayer ] += gXP;
SaveData( id );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public cmd_takexp( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new iTarget[ 32 ], iAmount[ 32 ];
read_argv( 1, iTarget, 31 );
read_argv( 2, iAmount, 31 );
new iPlayer = cmd_target( id, iTarget, 9 );
if( !iPlayer )
return 1;
new gXP = str_to_num( iAmount );
new iName[ 32 ], iAdmin[ 32 ];
get_user_name( id, iAdmin, 31 );
get_user_name( iPlayer, iName, 31 );
Puf_CC_New( 0, "Admin !v%s!c ii ia lui !v%s!c, !e%s!c(!vXP!c).", iAdmin, iName, iAmount );
Player_XP[ iPlayer ] -= gXP;
SaveData( id );
}
else
{
client_print( id, print_console, "Nu ai acces la aceasta comanda" );
}
return 0;
}
public SaveData( id )
{
new iName[ 33 ];
get_user_name( id, iName, 32 );
new vaultkey[ 64 ], vaultdata[ 256 ];
format( vaultkey, 63, "%s", iName);
format( vaultdata,255,"%i#%i#", Player_XP[ id ], Player_LVL[ id ] );
new gVault = nvault_open( "hns_levelmod" );
nvault_set( gVault, vaultkey, vaultdata );
return 1;
}
public LoadData( id )
{
new iName[ 32 ];
get_user_name( id, iName, 33 );
new vaultkey[ 64 ], vaultdata[ 256 ] ;
format( vaultkey, 63, "%s", iName );
format( vaultdata, 255, "%i#%i#", Player_XP[ id ], Player_LVL[ id ] );
new gVault = nvault_open( "hns_levelmod" );
nvault_get( gVault, vaultkey, vaultdata, 255 );
replace_all( vaultdata, 255, "#", " " );
new gPlayer_XP[ 32 ], gPlayer_LVL[ 32 ];
parse( vaultdata, gPlayer_XP, 31, gPlayer_LVL, 31 );
Player_XP[ id ] = str_to_num( gPlayer_XP );
Player_LVL[ id ] = str_to_num( gPlayer_LVL );
return 1;
}
stock iName( id )
{
new name[ 32 ];
get_user_name( id, name, 31 );
return name;
}
Link oficial: Aici..
Instalare:
1. Copiati folderul scripting in addons/amxmodx.
2. Copiati folderul plugins in addons/amxmodx.
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Cod:
GM_LvlMod.amxx
4. Alti pasi necesari....
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
hns_game_kill ( default: 25 ) - Cat XP sa primesca jucatorul pe KILL.hns_game_hs ( default: 40 ) - Cat XP sa primesca jucatorul pe Headshot.
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
hns_game_givexp < Nume > < Numarul > - Ii dai unui player XP.hns_game_takexp < Nume > < Numarul > - Ii i-ei unui player din XP.amx_level < Nume > - Afli XP-ul / Level-ul unui player.
Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
/lvl - Afli Level-ul tau./xp - Afli XP-ul tau.
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- CStrike
- Fun
- Hamsandwich
- Engine
Imagini:
1.
2.
3.