AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Problem on My code (https://forums.alliedmods.net/showthread.php?t=243799)

Eviatar Mor 07-09-2014 17:04

Problem on My code
 
i try to make HNR scout menu with xp and level but i have failed when i try to compiled.
the failed find in line:
line 306
line 332

here is the code:
http://pastebin.com/zM9hWEHY

please someone can fix to me the code, i need that .
thanks about the help. :)
and sorry about my bad english...

Eagle07 07-09-2014 17:09

Re: Problem on My code
 
Fixed
PHP Code:

#include <amxmodx> 
#include <amxmisc> 
#include <engine>  
#include <vault> 
#include <hamsandwich> 
#include <fvault> 

#pragma tabsize 0

#define is_valid_player(%1) (1 <= %1 <= 32)

new Scout_model[33];

new const 
g_VAULTNAME[] = "Scout-Skins";
new const 
VERSION[] = "2.2" 
new const AUTHOR[] = "SerMajor" 


new iLevel[33];
new 
iXp[33];

new 
scout_on;

new 
MaxLevel;
new 
StartedLevel;

new 
cvar_KillXp;
new 
cvar_HsXp;
new 
cvar_ScoutXp;

new 
Forward_spawn;
new 
Forward_levelup;
new 
ForwardReturn;

new const 
g_scoutNames[][32] =
{
"yellow Scout",
"Violet scout",
"steyr scout",
"sig sauer sg3000 scout",
"safari scout",
"pharaoh scout",
"komando steyrscout scout",
"default scout reskin gtwalq",
"crossbow scout",
"blue scout",
"badass m24 scout",
"ak scout"
};

new const 
g_scoutvModels[][256] =
{
"models/v_scout.mdl",
"models/lolscouthnr/v_scout_yellow.mdl",
"models/lolscouthnr/v_scout_steyr.mdl",
"models/lolscouthnr/v_scout_sg3000.mdl",
"models/lolscouthnr/v_scout_safari.mdl",
"models/lolscouthnr/v_scout_pharaoh.mdl",
"models/lolscouthnr/v_scout_komando.mdl",
"models/lolscouthnr/v_scout_default.mdl",
"models/lolscouthnr/v_scout_crossbow.mdl",
"models/lolscouthnr/v_scout_blue.mdl",
"models/lolscouthnr/v_scout_badass.mdl",
"models/lolscouthnr/v_scout_ak.mdl"
}

native register_maxlevelsmaxlevel 99started_xp_level 100 );
native get_user_levelindex );
native get_user_xpindex );

public 
plugin_init() {  
    
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR);
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor
    
    // register max levels 13 is the top level, 100 is the started level xp.
    
register_maxlevels13100 );
    
    
//Admin commands
    
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player")
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player")
    
    
//Clcmd's
    
    
scout_on register_cvar"Scout_skins""1" )
    
    
register_clcmd("say","HandleSay"); 
    
register_clcmd("say_team","HandleSay")
    
register_clcmd("say /scout""ScoutSkinsMenu");
    
register_clcmd("say /Slevel""PlayerLevelsMenu");
    
    
//Event's
    
    
register_event("CurWeapon","CurWeapon","be","1=1");
    
register_event"DeathMsg""EventDeathMsg""a" );
    
    
//Cvar's
    
    
cvar_KillXp register_cvar"kill_xp""5" );
    
cvar_HsXp register_cvar"hs_xp""2" );
    
cvar_ScoutXp register_cvar"Scout_xp""3" );
    
    
//Ham's
    
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn");
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
    
//Forward's
    
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL );
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL );
    
    
set_task(15.0"scoutmessage"0__"b")
    
set_task(35.0"Levelmessage"0__"b")


public 
plugin_precache() {  
    
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")  
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl"
    
precache_model("models/lolscouthnr/v_scout_safari.mdl"
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl"
    
precache_model("models/lolscouthnr/v_scout_komando.mdl"
    
precache_model("models/lolscouthnr/v_scout_default.mdl"
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl"
    
precache_model("models/lolscouthnr/v_scout_blue.mdl"
    
precache_model("models/lolscouthnr/v_scout_badass.mdl"
    
precache_model("models/lolscouthnr/v_scout_ak.mdl"
    
}

public 
plugin_natives( )
{
    
//Native's
    
    
register_library"scout-Skins" );
    
    
register_native"register_maxlevels""_register_maxlevels" );
    
register_native"get_user_level""_get_user_level" );
    
register_native"set_user_level""_set_user_level" );
    
register_native"get_user_xp""_get_user_xp" );
    
register_native"set_user_xp""_set_user_xp" );
}

public 
_register_maxlevelspluginparams )
{
    if( 
MaxLevel != && StartedLevel != )
    {
        return;
    }
    else
    {
        
MaxLevel get_param);
        
StartedLevel get_param);
    }
}

public 
_get_user_levelpluginparams )
{
    return 
iLevelget_param) ];
}

public 
_set_user_levelpluginparams )
{
    
iLevelget_param) ] = maxget_param), MaxLevel );
    
    
FlsahLevelUpget_param) );
    
    
SaveDataget_param) );
    
    
LoadDataget_param) );
}

public 
_get_user_xppluginparams )
{
    return 
iXpget_param) ];
}

public 
_set_user_xppluginparams )
{
    
iXpget_param) ] = get_param);
    
    
CheckLevelget_param) );
    
    
SaveDataget_param) );
    
    
LoadDataget_param) );
}

public 
CheckLevelid )
{
    if( 
iLevel[id] == MaxLevel )
    {
        return;
    }
    else
    {
        new 
level iLevel[id] > iLevel[id] : 1;
        
        new 
xp level StartedLevel;
        
        if( 
iLevel[id] > )
        {
            
xp +=  ( xp );
        }
        
        while( 
iXp[id] >= xp )
        {
            
iLevel[id]++;
            
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]); 
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]); 
            
            
FlsahLevelUp(id);
            
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] );
            
            
SaveDataid );
            
            
CheckLevelid );
            
            break;
        }
    }
}

public 
FlsahLevelUpid )
{
    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id );
    
write_short<< 10 );
    
write_short<< 10 );
    
write_short);
    
write_byte);
    
write_byte255 );
    
write_byte215 );
    
write_byte100 );
    
message_end( );
}


public 
HandleSay(id){
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMsg[200], iArgs[4][60]; 
    new 
level iLevel[id] > iLevel[id] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[id] > )
    {
        
xp +=  ( xp );
    }
    
    
read_argv(1,iMsg ,sizeof iMsg 1); 
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[])); 
    
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp")) 
    {     
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS); 
        
        if (!
player
        { 
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp );
        } 
    } 
    
    return 
0


public 
EventDeathMsg(id)
{
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    new 
killer read_data);
    new 
victim read_data);
    
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) )
    {
        return 
PLUGIN_HANDLED;
        
//return;
    
}
    
    new 
XpAmount get_pcvar_numcvar_KillXp );
    
    if( 
read_data) )
    {
        
XpAmount += get_pcvar_numcvar_HsXp );
    }
    
    static 
sWeapon26 ];
    
    
read_data4sWeaponsizeofsWeapon ) - );
    
    
    if( 
equalsWeapon"scout" ) )   
    {
        
XpAmount += get_pcvar_numcvar_ScoutXp );
    }
    
    
iXpkiller ] += XpAmount;
    
    
CheckLevelkiller );
    
    
SaveDatakiller );
    
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount );
    
    return 
PLUGIN_HANDLED;
}

public 
FwdPlayerSpawnid )
{
    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] );
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if( 
get_pcvar_numscout_on ) == )
        return 
HAM_IGNORED;
    
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT )
    {
        
SetHamParamFloat(4damage Scout_model[attacker]);
        
        return 
HAM_HANDLED;
    }
    
    return 
HAM_IGNORED;
}

public 
scoutSkinsMenu(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
szItem[256], szYellow[50], szSteyr[50], szSg3000[50], szSafari[50], szPharaoh[50], szKomando[50], szDefault[50], szCrossbow[50], szBlue[50], szBadass[50],
    
szAk[50];
    
    new 
level iLevel[id] > iLevel[id] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[id] > )
    {
        
xp +=  ( xp );
    }
    
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp);
    
formatex(szYellowcharsmax(szYellow),"%s"iLevel[id] >= "\wYellow Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 1 REQUIRE\d]");
    
formatex(szSteyrcharsmax(szSteyr),"%s"iLevel[id] >= "\wSteyr Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 2 REQUIRE\d]");
    
formatex(szSg3000charsmax(szSg3000),"%s"iLevel[id] >= "\wSg3000 Scout [\yUNLOCKED\w]" "\d???? ?????? [\rLEVEL 3 REQUIRE\d]");
    
formatex(szSafaricharsmax(szSafari),"%s"iLevel[id] >= "\wSafari Scout [\yUNLOCKED\w]" "\d??????????? ????? [\rLEVEL 4 REQUIRE\d]");
    
formatex(szPharaohcharsmax(szPharaoh),"%s"iLevel[id] >= "\wPharaoh Scout [\yUNLOCKED\w]" "\d??????? ?????? [\rLEVEL 5 REQUIRE\d]");
    
formatex(szKomandocharsmax(szKomando),"%s"iLevel[id] >= "\wKomando Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 6 REQUIRE\d]");
    
formatex(szDefaultcharsmax(szDefault),"%s"iLevel[id] >= "\wDefault Scout [\yUNLOCKED\w]" "\d?????? ????? [\rLEVEL 7 REQUIRE\d]");
    
formatex(szCrossbowcharsmax(szCrossbow),"%s"iLevel[id] >= "\wCrossbow Scout [\yUNLOCKED\w]" "\d??????????? ??? [\rLEVEL 8 REQUIRE\d]");
    
formatex(szBluecharsmax(szBlue),"%s"iLevel[id] >= "\wBlue Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 9 REQUIRE\d]");
    
formatex(szBadasscharsmax(szBadass),"%s"iLevel[id] >= 10 "\wBadass Scout [\yUNLOCKED\w]" "\d???????? ????? [\rLEVEL 10 REQUIRE\d]");
    
formatex(szAkcharsmax(szAk),"%s"iLevel[id] >= 11 "\wAk Scout [\yUNLOCKED\w]" "\d?????????? [\rLEVEL 11 REQUIRE\d]");
    
    new 
menu menu_createszItem"scoutSkinsMenu_Handler" ); 
    
menu_additem(menu"\wNormal scout [\yUNLOCKED\w]""");
    
menu_additem(menuszYellow""iLevel[id] >= 1);
    
menu_additem(menuszSteyr""iLevel[id] >= 1);
    
menu_additem(menuszSg3000""iLevel[id] >= 1);
    
menu_additem(menuszSafari""iLevel[id] >= 1);
    
menu_additem(menuszPharaoh""iLevel[id] >= 1);
    
menu_additem(menuszKomando""iLevel[id] >= 1);
    
menu_additem(menuszDefault""iLevel[id] >= 1);
    
menu_additem(menuszCrossbow""iLevel[id] >= 1);
    
menu_additem(menuszBlue""iLevel[id] >= 1);
    
menu_additem(menuszBadass""iLevel[id] >= 10 1);
    
menu_additem(menuszAk""iLevel[id] >= 11 1);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL );
    
menu_display(idmenu);
    
    return 
PLUGIN_HANDLED;


public 
ScoutSkinsMenu_Handler(idmenuitem
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    
SetScout(iditem);
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]);
    
    
SaveData(id);
    return 
PLUGIN_HANDLED;
}

public 
SetScout(iditem) { 
    
    
Scout_model[id] = item
    
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)  
    if ( 
Weapon != CSW_SCOUT 
        return 
PLUGIN_HANDLED 
    
    
new vModel[56],pModel[56
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
format(vModel,55,"models/v_scout.mdl"
        return 
PLUGIN_HANDLED;
    }
    
    
format(vModel,55g_scoutvModels[item]) 
    
format(pModel,55,"models/p_Scout.mdl")
    
entity_set_string(idEV_SZ_viewmodelvModel
    
entity_set_string(idEV_SZ_weaponmodelpModel
    
    return 
PLUGIN_HANDLED;   
}

public 
PlayerLevelsMenu(id)
{    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
some[256], menu;
    
    static 
players[32],szTemp[10],pnum;    
    
get_players(players,pnum,"ch");
    
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME);
    
    
menu menu_create(some,"PlayerLevelsMenu_Handler");
    
    for (new 
ipnumi++)
    {
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1;
        
        new 
xp level StartedLevel;
        
        if( 
iLevel[players[i]] > )
        {
            
xp +=  ( xp );
        }
        
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp);
        
num_to_str(players[i],szTemp,charsmax(szTemp));
        
menu_additem(menusomeszTemp);
    }
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL );
    
menu_display(idmenu);
    
    return 
PLUGIN_HANDLED;
}

public 
PlayerLevelsMenu_Handler(id,menuitem){
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return;
    }
    
    new 
data[6] ,szName[64],access,callback;
    
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback);
    
    new 
player str_to_num(data);
    
    new 
level iLevel[player] > iLevel[player] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[player] > )
    {
        
xp +=  ( xp );
    }
    
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp);
    
PlayerLevelsMenu(id);
}

public 
CurWeapon(id
{
    
// Set Knife Model
    
SetScout(idScout_model[id])


public 
givexp(id) {
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    if( 
get_user_flagsid ) & ADMIN_RCON ) {
        
        new 
PlayerToGive[32], XP[32]
        
read_argv(1,PlayerToGive,31)
        
read_argv(2,XP31)
        new 
Player cmd_target(id,PlayerToGive,9)
        
        if(!
Player) {
            
            return 
PLUGIN_HANDLED
            
        
}
        
        new 
XPtoGive str_to_num(XP)
        new 
name[32],owner[32]
        
get_user_name(id,owner,31)
        
get_user_name(Player,name,31)
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP );
        
iXp[Player]+= XPtoGive
        CheckLevel
(Player);
        
SaveData(id)
        
    }
    
    else {
        
        
client_print(id,print_console,"You have no acces to that command")
        
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED;
}

public 
takexp(id) {
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    if(
get_user_flags(id) & ADMIN_RCON ) {
        
        
        new 
PlayerToTake[32], XP[32]
        
read_argv(1,PlayerToTake,31 )
        
read_argv(2,XP,31 )
        new 
Player cmd_target(id,PlayerToTake,9)
        
        if(!
Player) {
            
            return 
PLUGIN_HANDLED
            
        
}
        
        new 
XPtoTake str_to_num(XP)
        new 
name[32],owner[32]
        
get_user_name(id,owner,31)
        
get_user_name(Player,name,31)
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP );
        
iXpPlayer ]-=XPtoTake
        CheckLevel
(Player);
        
SaveData(id)
        
    }
    
    else {
        
        
client_print(id,print_console,"You have no acces to that command.")
        
        return 
PLUGIN_HANDLED
        
    
}
    
    return 
PLUGIN_HANDLED;
}

public 
client_disconnect(id) {   
    
    if(
task_exists(id)){
        
remove_task(id
    }
    
SaveData(id);
}   


public 
Scoutmessage(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1."); 
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR)
    return 
PLUGIN_HANDLED;
}   

public 
Levelmessage(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat."); 
    return 
PLUGIN_HANDLED;
}

public 
client_putinserver(idLoadData(id);

public 
SaveData(id){ 
    
    new 
authid[32
    
get_user_authid(idauthid31
    
    new 
vaultkey[64
    new 
vaultdata[64
    
    
format(vaultkey63"SCOUTMOD_%s"authid
    
format(vaultdata63"%d"Scout_model[id]) 
    
set_vaultdata(vaultkeyvaultdata)
    
    new 
data16 ];
    
    
get_user_authididauthidsizeofauthid ) - );
    
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] );
    
    
fvault_set_data(g_VAULTNAMEauthiddata );
    
    return;
    
    


public 
LoadData(id){ 
    
    new 
authid[32]  
    
get_user_authid(id,authid,31
    
    new 
vaultkey[64], vaultdata[64
    
    
format(vaultkey63"SCOUTMOD_%s"authid
    
get_vaultdata(vaultkeyvaultdata63
    
Scout_model[id] = str_to_num(vaultdata)
    
    new 
data16 ], szLevel], szXp];
    
    
get_user_authididauthidsizeofauthid ) - );
    
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) )
    {
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - );
        
        
iLevel[id] = str_to_numszLevel );
        
iXp[id] = str_to_numszXp );
        
        return;
    }
    else
    {
        
iLevel[id] = 0;
        
iXp[id] = 0;
        
        return;
    }
}

stock get_player_name(id){
    static 
szName[32];
    
get_user_name(id,szName,31);
    return 
szName;
}

stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... )
{
new 
msg191 ], players32 ], count 1;

static 
len;
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " );
vformatmsglen ], charsmaxmsg ) - lenstring);

if( 
id )
    
players] = id;
    else
        
get_playersplayers,count,"ch" );
    
    for( new 
0counti++ )
    {
        if( 
is_user_connectedplayers[i] ) )
        {
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid"SayText" ), players] );
            
write_byteplayers] );
            
write_stringmsg );
            
message_end( );
        }
    }



Eviatar Mor 07-09-2014 17:17

Re: Problem on My code
 
So fast...?
but thank you eagle07!!!

Eviatar Mor 07-11-2014 07:13

Re: Problem on My code
 
Quote:

Originally Posted by Eagle07 (Post 2164811)
Fixed
PHP Code:

#include <amxmodx> 
#include <amxmisc> 
#include <engine>  
#include <vault> 
#include <hamsandwich> 
#include <fvault> 

#pragma tabsize 0

#define is_valid_player(%1) (1 <= %1 <= 32)

new Scout_model[33];

new const 
g_VAULTNAME[] = "Scout-Skins";
new const 
VERSION[] = "2.2" 
new const AUTHOR[] = "SerMajor" 


new iLevel[33];
new 
iXp[33];

new 
scout_on;

new 
MaxLevel;
new 
StartedLevel;

new 
cvar_KillXp;
new 
cvar_HsXp;
new 
cvar_ScoutXp;

new 
Forward_spawn;
new 
Forward_levelup;
new 
ForwardReturn;

new const 
g_scoutNames[][32] =
{
"yellow Scout",
"Violet scout",
"steyr scout",
"sig sauer sg3000 scout",
"safari scout",
"pharaoh scout",
"komando steyrscout scout",
"default scout reskin gtwalq",
"crossbow scout",
"blue scout",
"badass m24 scout",
"ak scout"
};

new const 
g_scoutvModels[][256] =
{
"models/v_scout.mdl",
"models/lolscouthnr/v_scout_yellow.mdl",
"models/lolscouthnr/v_scout_steyr.mdl",
"models/lolscouthnr/v_scout_sg3000.mdl",
"models/lolscouthnr/v_scout_safari.mdl",
"models/lolscouthnr/v_scout_pharaoh.mdl",
"models/lolscouthnr/v_scout_komando.mdl",
"models/lolscouthnr/v_scout_default.mdl",
"models/lolscouthnr/v_scout_crossbow.mdl",
"models/lolscouthnr/v_scout_blue.mdl",
"models/lolscouthnr/v_scout_badass.mdl",
"models/lolscouthnr/v_scout_ak.mdl"
}

native register_maxlevelsmaxlevel 99started_xp_level 100 );
native get_user_levelindex );
native get_user_xpindex );

public 
plugin_init() {  
    
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR);
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor
    
    // register max levels 13 is the top level, 100 is the started level xp.
    
register_maxlevels13100 );
    
    
//Admin commands
    
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player")
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player")
    
    
//Clcmd's
    
    
scout_on register_cvar"Scout_skins""1" )
    
    
register_clcmd("say","HandleSay"); 
    
register_clcmd("say_team","HandleSay")
    
register_clcmd("say /scout""ScoutSkinsMenu");
    
register_clcmd("say /Slevel""PlayerLevelsMenu");
    
    
//Event's
    
    
register_event("CurWeapon","CurWeapon","be","1=1");
    
register_event"DeathMsg""EventDeathMsg""a" );
    
    
//Cvar's
    
    
cvar_KillXp register_cvar"kill_xp""5" );
    
cvar_HsXp register_cvar"hs_xp""2" );
    
cvar_ScoutXp register_cvar"Scout_xp""3" );
    
    
//Ham's
    
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn");
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
    
//Forward's
    
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL );
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL );
    
    
set_task(15.0"scoutmessage"0__"b")
    
set_task(35.0"Levelmessage"0__"b")


public 
plugin_precache() {  
    
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")  
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl"
    
precache_model("models/lolscouthnr/v_scout_safari.mdl"
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl"
    
precache_model("models/lolscouthnr/v_scout_komando.mdl"
    
precache_model("models/lolscouthnr/v_scout_default.mdl"
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl"
    
precache_model("models/lolscouthnr/v_scout_blue.mdl"
    
precache_model("models/lolscouthnr/v_scout_badass.mdl"
    
precache_model("models/lolscouthnr/v_scout_ak.mdl"
    
}

public 
plugin_natives( )
{
    
//Native's
    
    
register_library"scout-Skins" );
    
    
register_native"register_maxlevels""_register_maxlevels" );
    
register_native"get_user_level""_get_user_level" );
    
register_native"set_user_level""_set_user_level" );
    
register_native"get_user_xp""_get_user_xp" );
    
register_native"set_user_xp""_set_user_xp" );
}

public 
_register_maxlevelspluginparams )
{
    if( 
MaxLevel != && StartedLevel != )
    {
        return;
    }
    else
    {
        
MaxLevel get_param);
        
StartedLevel get_param);
    }
}

public 
_get_user_levelpluginparams )
{
    return 
iLevelget_param) ];
}

public 
_set_user_levelpluginparams )
{
    
iLevelget_param) ] = maxget_param), MaxLevel );
    
    
FlsahLevelUpget_param) );
    
    
SaveDataget_param) );
    
    
LoadDataget_param) );
}

public 
_get_user_xppluginparams )
{
    return 
iXpget_param) ];
}

public 
_set_user_xppluginparams )
{
    
iXpget_param) ] = get_param);
    
    
CheckLevelget_param) );
    
    
SaveDataget_param) );
    
    
LoadDataget_param) );
}

public 
CheckLevelid )
{
    if( 
iLevel[id] == MaxLevel )
    {
        return;
    }
    else
    {
        new 
level iLevel[id] > iLevel[id] : 1;
        
        new 
xp level StartedLevel;
        
        if( 
iLevel[id] > )
        {
            
xp +=  ( xp );
        }
        
        while( 
iXp[id] >= xp )
        {
            
iLevel[id]++;
            
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]); 
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]); 
            
            
FlsahLevelUp(id);
            
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] );
            
            
SaveDataid );
            
            
CheckLevelid );
            
            break;
        }
    }
}

public 
FlsahLevelUpid )
{
    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id );
    
write_short<< 10 );
    
write_short<< 10 );
    
write_short);
    
write_byte);
    
write_byte255 );
    
write_byte215 );
    
write_byte100 );
    
message_end( );
}


public 
HandleSay(id){
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
iMsg[200], iArgs[4][60]; 
    new 
level iLevel[id] > iLevel[id] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[id] > )
    {
        
xp +=  ( xp );
    }
    
    
read_argv(1,iMsg ,sizeof iMsg 1); 
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[])); 
    
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp")) 
    {     
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS); 
        
        if (!
player
        { 
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp );
        } 
    } 
    
    return 
0


public 
EventDeathMsg(id)
{
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    new 
killer read_data);
    new 
victim read_data);
    
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) )
    {
        return 
PLUGIN_HANDLED;
        
//return;
    
}
    
    new 
XpAmount get_pcvar_numcvar_KillXp );
    
    if( 
read_data) )
    {
        
XpAmount += get_pcvar_numcvar_HsXp );
    }
    
    static 
sWeapon26 ];
    
    
read_data4sWeaponsizeofsWeapon ) - );
    
    
    if( 
equalsWeapon"scout" ) )   
    {
        
XpAmount += get_pcvar_numcvar_ScoutXp );
    }
    
    
iXpkiller ] += XpAmount;
    
    
CheckLevelkiller );
    
    
SaveDatakiller );
    
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount );
    
    return 
PLUGIN_HANDLED;
}

public 
FwdPlayerSpawnid )
{
    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] );
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if( 
get_pcvar_numscout_on ) == )
        return 
HAM_IGNORED;
    
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT )
    {
        
SetHamParamFloat(4damage Scout_model[attacker]);
        
        return 
HAM_HANDLED;
    }
    
    return 
HAM_IGNORED;
}

public 
scoutSkinsMenu(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
szItem[256], szYellow[50], szSteyr[50], szSg3000[50], szSafari[50], szPharaoh[50], szKomando[50], szDefault[50], szCrossbow[50], szBlue[50], szBadass[50],
    
szAk[50];
    
    new 
level iLevel[id] > iLevel[id] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[id] > )
    {
        
xp +=  ( xp );
    }
    
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp);
    
formatex(szYellowcharsmax(szYellow),"%s"iLevel[id] >= "\wYellow Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 1 REQUIRE\d]");
    
formatex(szSteyrcharsmax(szSteyr),"%s"iLevel[id] >= "\wSteyr Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 2 REQUIRE\d]");
    
formatex(szSg3000charsmax(szSg3000),"%s"iLevel[id] >= "\wSg3000 Scout [\yUNLOCKED\w]" "\d???? ?????? [\rLEVEL 3 REQUIRE\d]");
    
formatex(szSafaricharsmax(szSafari),"%s"iLevel[id] >= "\wSafari Scout [\yUNLOCKED\w]" "\d??????????? ????? [\rLEVEL 4 REQUIRE\d]");
    
formatex(szPharaohcharsmax(szPharaoh),"%s"iLevel[id] >= "\wPharaoh Scout [\yUNLOCKED\w]" "\d??????? ?????? [\rLEVEL 5 REQUIRE\d]");
    
formatex(szKomandocharsmax(szKomando),"%s"iLevel[id] >= "\wKomando Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 6 REQUIRE\d]");
    
formatex(szDefaultcharsmax(szDefault),"%s"iLevel[id] >= "\wDefault Scout [\yUNLOCKED\w]" "\d?????? ????? [\rLEVEL 7 REQUIRE\d]");
    
formatex(szCrossbowcharsmax(szCrossbow),"%s"iLevel[id] >= "\wCrossbow Scout [\yUNLOCKED\w]" "\d??????????? ??? [\rLEVEL 8 REQUIRE\d]");
    
formatex(szBluecharsmax(szBlue),"%s"iLevel[id] >= "\wBlue Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 9 REQUIRE\d]");
    
formatex(szBadasscharsmax(szBadass),"%s"iLevel[id] >= 10 "\wBadass Scout [\yUNLOCKED\w]" "\d???????? ????? [\rLEVEL 10 REQUIRE\d]");
    
formatex(szAkcharsmax(szAk),"%s"iLevel[id] >= 11 "\wAk Scout [\yUNLOCKED\w]" "\d?????????? [\rLEVEL 11 REQUIRE\d]");
    
    new 
menu menu_createszItem"scoutSkinsMenu_Handler" ); 
    
menu_additem(menu"\wNormal scout [\yUNLOCKED\w]""");
    
menu_additem(menuszYellow""iLevel[id] >= 1);
    
menu_additem(menuszSteyr""iLevel[id] >= 1);
    
menu_additem(menuszSg3000""iLevel[id] >= 1);
    
menu_additem(menuszSafari""iLevel[id] >= 1);
    
menu_additem(menuszPharaoh""iLevel[id] >= 1);
    
menu_additem(menuszKomando""iLevel[id] >= 1);
    
menu_additem(menuszDefault""iLevel[id] >= 1);
    
menu_additem(menuszCrossbow""iLevel[id] >= 1);
    
menu_additem(menuszBlue""iLevel[id] >= 1);
    
menu_additem(menuszBadass""iLevel[id] >= 10 1);
    
menu_additem(menuszAk""iLevel[id] >= 11 1);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL );
    
menu_display(idmenu);
    
    return 
PLUGIN_HANDLED;


public 
ScoutSkinsMenu_Handler(idmenuitem
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    
SetScout(iditem);
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]);
    
    
SaveData(id);
    return 
PLUGIN_HANDLED;
}

public 
SetScout(iditem) { 
    
    
Scout_model[id] = item
    
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)  
    if ( 
Weapon != CSW_SCOUT 
        return 
PLUGIN_HANDLED 
    
    
new vModel[56],pModel[56
    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
format(vModel,55,"models/v_scout.mdl"
        return 
PLUGIN_HANDLED;
    }
    
    
format(vModel,55g_scoutvModels[item]) 
    
format(pModel,55,"models/p_Scout.mdl")
    
entity_set_string(idEV_SZ_viewmodelvModel
    
entity_set_string(idEV_SZ_weaponmodelpModel
    
    return 
PLUGIN_HANDLED;   
}

public 
PlayerLevelsMenu(id)
{    
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    new 
some[256], menu;
    
    static 
players[32],szTemp[10],pnum;    
    
get_players(players,pnum,"ch");
    
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME);
    
    
menu menu_create(some,"PlayerLevelsMenu_Handler");
    
    for (new 
ipnumi++)
    {
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1;
        
        new 
xp level StartedLevel;
        
        if( 
iLevel[players[i]] > )
        {
            
xp +=  ( xp );
        }
        
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp);
        
num_to_str(players[i],szTemp,charsmax(szTemp));
        
menu_additem(menusomeszTemp);
    }
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL );
    
menu_display(idmenu);
    
    return 
PLUGIN_HANDLED;
}

public 
PlayerLevelsMenu_Handler(id,menuitem){
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return;
    }
    
    new 
data[6] ,szName[64],access,callback;
    
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback);
    
    new 
player str_to_num(data);
    
    new 
level iLevel[player] > iLevel[player] : 1;
    
    new 
xp level StartedLevel;
    
    if( 
iLevel[player] > )
    {
        
xp +=  ( xp );
    }
    
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp);
    
PlayerLevelsMenu(id);
}

public 
CurWeapon(id
{
    
// Set Knife Model
    
SetScout(idScout_model[id])


public 
givexp(id) {
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    if( 
get_user_flagsid ) & ADMIN_RCON ) {
        
        new 
PlayerToGive[32], XP[32]
        
read_argv(1,PlayerToGive,31)
        
read_argv(2,XP31)
        new 
Player cmd_target(id,PlayerToGive,9)
        
        if(!
Player) {
            
            return 
PLUGIN_HANDLED
            
        
}
        
        new 
XPtoGive str_to_num(XP)
        new 
name[32],owner[32]
        
get_user_name(id,owner,31)
        
get_user_name(Player,name,31)
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP );
        
iXp[Player]+= XPtoGive
        CheckLevel
(Player);
        
SaveData(id)
        
    }
    
    else {
        
        
client_print(id,print_console,"You have no acces to that command")
        
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED;
}

public 
takexp(id) {
    if (
get_pcvar_num(scout_on) == 0)
    {
        
ColorChat(id"The mod has been disabale.");
        return 
PLUGIN_HANDLED;
    }
    
    if(
get_user_flags(id) & ADMIN_RCON ) {
        
        
        new 
PlayerToTake[32], XP[32]
        
read_argv(1,PlayerToTake,31 )
        
read_argv(2,XP,31 )
        new 
Player cmd_target(id,PlayerToTake,9)
        
        if(!
Player) {
            
            return 
PLUGIN_HANDLED
            
        
}
        
        new 
XPtoTake str_to_num(XP)
        new 
name[32],owner[32]
        
get_user_name(id,owner,31)
        
get_user_name(Player,name,31)
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP );
        
iXpPlayer ]-=XPtoTake
        CheckLevel
(Player);
        
SaveData(id)
        
    }
    
    else {
        
        
client_print(id,print_console,"You have no acces to that command.")
        
        return 
PLUGIN_HANDLED
        
    
}
    
    return 
PLUGIN_HANDLED;
}

public 
client_disconnect(id) {   
    
    if(
task_exists(id)){
        
remove_task(id
    }
    
SaveData(id);
}   


public 
Scoutmessage(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1."); 
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR)
    return 
PLUGIN_HANDLED;
}   

public 
Levelmessage(id) { 
    
    if (
get_pcvar_num(scout_on) == 0)
        return 
PLUGIN_HANDLED;
    
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat."); 
    return 
PLUGIN_HANDLED;
}

public 
client_putinserver(idLoadData(id);

public 
SaveData(id){ 
    
    new 
authid[32
    
get_user_authid(idauthid31
    
    new 
vaultkey[64
    new 
vaultdata[64
    
    
format(vaultkey63"SCOUTMOD_%s"authid
    
format(vaultdata63"%d"Scout_model[id]) 
    
set_vaultdata(vaultkeyvaultdata)
    
    new 
data16 ];
    
    
get_user_authididauthidsizeofauthid ) - );
    
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] );
    
    
fvault_set_data(g_VAULTNAMEauthiddata );
    
    return;
    
    


public 
LoadData(id){ 
    
    new 
authid[32]  
    
get_user_authid(id,authid,31
    
    new 
vaultkey[64], vaultdata[64
    
    
format(vaultkey63"SCOUTMOD_%s"authid
    
get_vaultdata(vaultkeyvaultdata63
    
Scout_model[id] = str_to_num(vaultdata)
    
    new 
data16 ], szLevel], szXp];
    
    
get_user_authididauthidsizeofauthid ) - );
    
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) )
    {
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - );
        
        
iLevel[id] = str_to_numszLevel );
        
iXp[id] = str_to_numszXp );
        
        return;
    }
    else
    {
        
iLevel[id] = 0;
        
iXp[id] = 0;
        
        return;
    }
}

stock get_player_name(id){
    static 
szName[32];
    
get_user_name(id,szName,31);
    return 
szName;
}

stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... )
{
new 
msg191 ], players32 ], count 1;

static 
len;
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " );
vformatmsglen ], charsmaxmsg ) - lenstring);

if( 
id )
    
players] = id;
    else
        
get_playersplayers,count,"ch" );
    
    for( new 
0counti++ )
    {
        if( 
is_user_connectedplayers[i] ) )
        {
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid"SayText" ), players] );
            
write_byteplayers] );
            
write_stringmsg );
            
message_end( );
        }
    }



but eagle when i type /scout the menu not opening you can fix to me? plss
and when i win in Hyunas Hnr mod its just not give me xp
thank if you can fix to me.

Mario AR. 07-11-2014 07:31

Re: Problem on My code
 
Try:
PHP Code:

#include <amxmodx>  
#include <amxmisc>  
#include <engine>   
#include <vault>  
#include <hamsandwich>  
#include <fvault>  

#pragma tabsize 0 

#define is_valid_player(%1) (1 <= %1 <= 32) 

new Scout_model[33]; 

new const 
g_VAULTNAME[] = "Scout-Skins"
new const 
VERSION[] = "2.2"  
new const AUTHOR[] = "SerMajor"  


new iLevel[33]; 
new 
iXp[33]; 

new 
scout_on

new 
MaxLevel
new 
StartedLevel
new 
g_msgSayText;

new 
cvar_KillXp
new 
cvar_HsXp
new 
cvar_ScoutXp

new 
Forward_spawn
new 
Forward_levelup
new 
ForwardReturn

new const 
g_scoutNames[][32] = 

"yellow Scout"
"Violet scout"
"steyr scout"
"sig sauer sg3000 scout"
"safari scout"
"pharaoh scout"
"komando steyrscout scout"
"default scout reskin gtwalq"
"crossbow scout"
"blue scout"
"badass m24 scout"
"ak scout" 
}; 

new const 
g_scoutvModels[][256] = 

"models/v_scout.mdl"
"models/lolscouthnr/v_scout_yellow.mdl"
"models/lolscouthnr/v_scout_steyr.mdl"
"models/lolscouthnr/v_scout_sg3000.mdl"
"models/lolscouthnr/v_scout_safari.mdl"
"models/lolscouthnr/v_scout_pharaoh.mdl"
"models/lolscouthnr/v_scout_komando.mdl"
"models/lolscouthnr/v_scout_default.mdl"
"models/lolscouthnr/v_scout_crossbow.mdl"
"models/lolscouthnr/v_scout_blue.mdl"
"models/lolscouthnr/v_scout_badass.mdl"
"models/lolscouthnr/v_scout_ak.mdl" 


native register_maxlevelsmaxlevel 99started_xp_level 100 ); 
native get_user_levelindex ); 
native get_user_xpindex ); 

public 
plugin_init() {   
     
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR); 
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor 
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor 
     
    // register max levels 13 is the top level, 100 is the started level xp. 
    
register_maxlevels13100 ); 
     
    
//Admin commands 
     
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player"
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player"
     
    
//Clcmd's 
     
    
scout_on register_cvar"Scout_skins""1" 
     
    
register_clcmd("say","HandleSay");  
    
register_clcmd("say_team","HandleSay"
    
register_clcmd("say /scout""ScoutSkinsMenu"); 
    
register_clcmd("say /Slevel""PlayerLevelsMenu"); 
     
    
//Event's 
     
    
register_event("CurWeapon","CurWeapon","be","1=1"); 
    
register_event"DeathMsg""EventDeathMsg""a" ); 
     
    
//Cvar's 
     
    
cvar_KillXp register_cvar"kill_xp""5" ); 
    
cvar_HsXp register_cvar"hs_xp""2" ); 
    
cvar_ScoutXp register_cvar"Scout_xp""3" ); 
     
    
//Ham's 
     
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn"); 
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
     
    
//Forward's 
     
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL ); 
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL ); 
     
    
set_task(15.0"scoutmessage"0__"b"
    
set_task(35.0"Levelmessage"0__"b"
    
    
g_msgSayText get_user_msgid("SayText");
}  

public 
plugin_precache() {   
     
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")   
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")   
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl")  
    
precache_model("models/lolscouthnr/v_scout_safari.mdl")  
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl")  
    
precache_model("models/lolscouthnr/v_scout_komando.mdl")  
    
precache_model("models/lolscouthnr/v_scout_default.mdl")  
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_blue.mdl")  
    
precache_model("models/lolscouthnr/v_scout_badass.mdl")  
    
precache_model("models/lolscouthnr/v_scout_ak.mdl")  
     


public 
plugin_natives( ) 

    
//Native's 
     
    
register_library"scout-Skins" ); 
     
    
register_native"register_maxlevels""_register_maxlevels" ); 
    
register_native"get_user_level""_get_user_level" ); 
    
register_native"set_user_level""_set_user_level" ); 
    
register_native"get_user_xp""_get_user_xp" ); 
    
register_native"set_user_xp""_set_user_xp" ); 


public 
_register_maxlevelspluginparams 

    if( 
MaxLevel != && StartedLevel != 
    { 
        return; 
    } 
    else 
    { 
        
MaxLevel get_param); 
        
StartedLevel get_param); 
    } 


public 
_get_user_levelpluginparams 

    return 
iLevelget_param) ]; 


public 
_set_user_levelpluginparams 

    
iLevelget_param) ] = maxget_param), MaxLevel ); 
     
    
FlsahLevelUpget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
_get_user_xppluginparams 

    return 
iXpget_param) ]; 


public 
_set_user_xppluginparams 

    
iXpget_param) ] = get_param); 
     
    
CheckLevelget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
CheckLevelid 

    if( 
iLevel[id] == MaxLevel 
    { 
        return; 
    } 
    else 
    { 
        new 
level iLevel[id] > iLevel[id] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[id] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        while( 
iXp[id] >= xp 
        { 
            
iLevel[id]++; 
             
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]);  
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]);  
             
            
FlsahLevelUp(id); 
             
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] ); 
             
            
SaveDataid ); 
             
            
CheckLevelid ); 
             
            break; 
        } 
    } 


public 
FlsahLevelUpid 

    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id ); 
    
write_short<< 10 ); 
    
write_short<< 10 ); 
    
write_short); 
    
write_byte); 
    
write_byte255 ); 
    
write_byte215 ); 
    
write_byte100 ); 
    
message_end( ); 



public 
HandleSay(id){ 
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
iMsg[200], iArgs[4][60];  
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
read_argv(1,iMsg ,sizeof iMsg 1);  
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));  
     
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp"))  
    {      
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);  
         
        if (!
player)  
        {  
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp ); 
        }  
    }  
     
    return 
0;  
}  

public 
EventDeathMsg(id

    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    new 
killer read_data); 
    new 
victim read_data); 
     
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) ) 
    { 
        return 
PLUGIN_HANDLED
        
//return; 
    

     
    new 
XpAmount get_pcvar_numcvar_KillXp ); 
     
    if( 
read_data) ) 
    { 
        
XpAmount += get_pcvar_numcvar_HsXp ); 
    } 
     
    static 
sWeapon26 ]; 
     
    
read_data4sWeaponsizeofsWeapon ) - ); 
     
     
    if( 
equalsWeapon"scout" ) )    
    { 
        
XpAmount += get_pcvar_numcvar_ScoutXp ); 
    } 
     
    
iXpkiller ] += XpAmount
     
    
CheckLevelkiller ); 
     
    
SaveDatakiller ); 
     
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount ); 
     
    return 
PLUGIN_HANDLED


public 
FwdPlayerSpawnid 

    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] ); 


public 
fw_TakeDamage(victiminflictorattackerFloat:damage

    if( 
get_pcvar_numscout_on ) == 
        return 
HAM_IGNORED
     
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT 
    { 
        
SetHamParamFloat(4damage Scout_model[attacker]); 
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
ScoutSkinsMenu(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
szItem[256];
     
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp);
    new 
menu menu_createszItem"ScoutSkinsMenu_Handler" );  
    
    
menu_additem(menu"\wNormal scout [\yUNLOCKED\w]""");
    
    
menu_additem(menuiLevel[id] >= "\wYellow Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 1 REQUIRE\d]"""iLevel[id] >= 1); 
  
    
menu_additem(menuiLevel[id] >= "\wSteyr Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 2 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wSg3000 Scout [\yUNLOCKED\w]" "\d???? ?????? [\rLEVEL 3 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wSafari Scout [\yUNLOCKED\w]" "\d??????????? ????? [\rLEVEL 4 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wPharaoh Scout [\yUNLOCKED\w]" "\d??????? ?????? [\rLEVEL 5 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wKomando Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 6 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wDefault Scout [\yUNLOCKED\w]" "\d?????? ????? [\rLEVEL 7 REQUIRE\d]"""iLevel[id] >= 1);
    
    
menu_additem(menuiLevel[id] >= "\wCrossbow Scout [\yUNLOCKED\w]" "\d??????????? ??? [\rLEVEL 8 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wBlue Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 9 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= 10 "\wBadass Scout [\yUNLOCKED\w]" "\d???????? ????? [\rLEVEL 10 REQUIRE\d]"""iLevel[id] >= 10 1); 
  
    
menu_additem(menuiLevel[id] >= 11 "\wAk Scout [\yUNLOCKED\w]" "\d?????????? [\rLEVEL 11 REQUIRE\d]"""iLevel[id] >= 11 1); 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED
}  

public 
ScoutSkinsMenu_Handler(idmenuitem)  

    if(
item == MENU_EXIT
    { 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 
    

     
    
SetScout(iditem); 
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]); 
     
    
SaveData(id); 
    return 
PLUGIN_HANDLED


public 
SetScout(iditem) {  
     
    
Scout_model[id] = item 
     
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)   
    if ( 
Weapon != CSW_SCOUT )  
        return 
PLUGIN_HANDLED  
     
    
new vModel[56],pModel[56]  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
format(vModel,55,"models/v_scout.mdl")  
        return 
PLUGIN_HANDLED
    } 
     
    
format(vModel,55g_scoutvModels[item])  
    
format(pModel,55,"models/p_Scout.mdl"
    
entity_set_string(idEV_SZ_viewmodelvModel)  
    
entity_set_string(idEV_SZ_weaponmodelpModel)  
     
    return 
PLUGIN_HANDLED;    


public 
PlayerLevelsMenu(id
{     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
some[256], menu
     
    static 
players[32],szTemp[10],pnum;     
    
get_players(players,pnum,"ch"); 
     
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME); 
     
    
menu menu_create(some,"PlayerLevelsMenu_Handler"); 
     
    for (new 
ipnumi++) 
    { 
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[players[i]] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp); 
        
num_to_str(players[i],szTemp,charsmax(szTemp)); 
        
menu_additem(menusomeszTemp); 
    } 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED


public 
PlayerLevelsMenu_Handler(id,menuitem){ 
    if (
item == MENU_EXIT
    { 
        
menu_destroy(menu); 
        return; 
    } 
     
    new 
data[6] ,szName[64],access,callback
     
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback); 
     
    new 
player str_to_num(data); 
     
    new 
level iLevel[player] > iLevel[player] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[player] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp); 
    
PlayerLevelsMenu(id); 


public 
CurWeapon(id)  

    
// Set Knife Model 
    
SetScout(idScout_model[id]) 
}  

public 
givexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if( 
get_user_flagsid ) & ADMIN_RCON ) { 
         
        new 
PlayerToGive[32], XP[32
        
read_argv(1,PlayerToGive,31
        
read_argv(2,XP31
        new 
Player cmd_target(id,PlayerToGive,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoGive str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXp[Player]+= XPtoGive 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command"
         
        return 
PLUGIN_HANDLED 
    

     
    return 
PLUGIN_HANDLED


public 
takexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if(
get_user_flags(id) & ADMIN_RCON ) { 
         
         
        new 
PlayerToTake[32], XP[32
        
read_argv(1,PlayerToTake,31 
        
read_argv(2,XP,31 
        new 
Player cmd_target(id,PlayerToTake,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoTake str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXpPlayer ]-=XPtoTake 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command."
         
        return 
PLUGIN_HANDLED 
         
    

     
    return 
PLUGIN_HANDLED


public 
client_disconnect(id) {    
     
    if(
task_exists(id)){ 
        
remove_task(id)  
    } 
    
SaveData(id); 
}    


public 
Scoutmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1.");  
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR
    return 
PLUGIN_HANDLED
}    

public 
Levelmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat.");  
    return 
PLUGIN_HANDLED


public 
client_putinserver(idLoadData(id); 

public 
SaveData(id){  
     
    new 
authid[32]  
    
get_user_authid(idauthid31)  
     
    new 
vaultkey[64]  
    new 
vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
format(vaultdata63"%d"Scout_model[id])  
    
set_vaultdata(vaultkeyvaultdata
     
    new 
data16 ]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] ); 
     
    
fvault_set_data(g_VAULTNAMEauthiddata ); 
     
    return; 
     
     
}  

public 
LoadData(id){  
     
    new 
authid[32]   
    
get_user_authid(id,authid,31)  
     
    new 
vaultkey[64], vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
get_vaultdata(vaultkeyvaultdata63)  
    
Scout_model[id] = str_to_num(vaultdata
     
    new 
data16 ], szLevel], szXp]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) ) 
    { 
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - ); 
         
        
iLevel[id] = str_to_numszLevel ); 
        
iXp[id] = str_to_numszXp ); 
         
        return; 
    } 
    else 
    { 
        
iLevel[id] = 0
        
iXp[id] = 0
         
        return; 
    } 


stock get_player_name(id){ 
    static 
szName[32]; 
    
get_user_name(id,szName,31); 
    return 
szName


stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... ) 

new 
msg191 ], players32 ], count 1

static 
len;
if (!
len)
    
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " ); 

vformatmsglen ], charsmaxmsg ) - lenstring); 

if( 
id 
    
players] = id
    else 
        
get_playersplayers,count,"ch" ); 
     
    for( new 
0counti++ ) 
    {
            
message_beginMSG_ONE_UNRELIABLEg_msgSayTextplayers] ); 
            
write_byteplayers] ); 
            
write_stringmsg ); 
            
message_end( ); 
    } 



Eviatar Mor 07-11-2014 07:35

Re: Problem on My code
 
Quote:

Originally Posted by Mario AR. (Post 2165663)
Try:
PHP Code:

#include <amxmodx>  
#include <amxmisc>  
#include <engine>   
#include <vault>  
#include <hamsandwich>  
#include <fvault>  

#pragma tabsize 0 

#define is_valid_player(%1) (1 <= %1 <= 32) 

new Scout_model[33]; 

new const 
g_VAULTNAME[] = "Scout-Skins"
new const 
VERSION[] = "2.2"  
new const AUTHOR[] = "SerMajor"  


new iLevel[33]; 
new 
iXp[33]; 

new 
scout_on

new 
MaxLevel
new 
StartedLevel
new 
g_msgSayText;

new 
cvar_KillXp
new 
cvar_HsXp
new 
cvar_ScoutXp

new 
Forward_spawn
new 
Forward_levelup
new 
ForwardReturn

new const 
g_scoutNames[][32] = 

"yellow Scout"
"Violet scout"
"steyr scout"
"sig sauer sg3000 scout"
"safari scout"
"pharaoh scout"
"komando steyrscout scout"
"default scout reskin gtwalq"
"crossbow scout"
"blue scout"
"badass m24 scout"
"ak scout" 
}; 

new const 
g_scoutvModels[][256] = 

"models/v_scout.mdl"
"models/lolscouthnr/v_scout_yellow.mdl"
"models/lolscouthnr/v_scout_steyr.mdl"
"models/lolscouthnr/v_scout_sg3000.mdl"
"models/lolscouthnr/v_scout_safari.mdl"
"models/lolscouthnr/v_scout_pharaoh.mdl"
"models/lolscouthnr/v_scout_komando.mdl"
"models/lolscouthnr/v_scout_default.mdl"
"models/lolscouthnr/v_scout_crossbow.mdl"
"models/lolscouthnr/v_scout_blue.mdl"
"models/lolscouthnr/v_scout_badass.mdl"
"models/lolscouthnr/v_scout_ak.mdl" 


native register_maxlevelsmaxlevel 99started_xp_level 100 ); 
native get_user_levelindex ); 
native get_user_xpindex ); 

public 
plugin_init() {   
     
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR); 
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor 
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor 
     
    // register max levels 13 is the top level, 100 is the started level xp. 
    
register_maxlevels13100 ); 
     
    
//Admin commands 
     
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player"
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player"
     
    
//Clcmd's 
     
    
scout_on register_cvar"Scout_skins""1" 
     
    
register_clcmd("say","HandleSay");  
    
register_clcmd("say_team","HandleSay"
    
register_clcmd("say /scout""ScoutSkinsMenu"); 
    
register_clcmd("say /Slevel""PlayerLevelsMenu"); 
     
    
//Event's 
     
    
register_event("CurWeapon","CurWeapon","be","1=1"); 
    
register_event"DeathMsg""EventDeathMsg""a" ); 
     
    
//Cvar's 
     
    
cvar_KillXp register_cvar"kill_xp""5" ); 
    
cvar_HsXp register_cvar"hs_xp""2" ); 
    
cvar_ScoutXp register_cvar"Scout_xp""3" ); 
     
    
//Ham's 
     
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn"); 
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
     
    
//Forward's 
     
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL ); 
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL ); 
     
    
set_task(15.0"scoutmessage"0__"b"
    
set_task(35.0"Levelmessage"0__"b"
    
    
g_msgSayText get_user_msgid("SayText");
}  

public 
plugin_precache() {   
     
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")   
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")   
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl")  
    
precache_model("models/lolscouthnr/v_scout_safari.mdl")  
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl")  
    
precache_model("models/lolscouthnr/v_scout_komando.mdl")  
    
precache_model("models/lolscouthnr/v_scout_default.mdl")  
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_blue.mdl")  
    
precache_model("models/lolscouthnr/v_scout_badass.mdl")  
    
precache_model("models/lolscouthnr/v_scout_ak.mdl")  
     


public 
plugin_natives( ) 

    
//Native's 
     
    
register_library"scout-Skins" ); 
     
    
register_native"register_maxlevels""_register_maxlevels" ); 
    
register_native"get_user_level""_get_user_level" ); 
    
register_native"set_user_level""_set_user_level" ); 
    
register_native"get_user_xp""_get_user_xp" ); 
    
register_native"set_user_xp""_set_user_xp" ); 


public 
_register_maxlevelspluginparams 

    if( 
MaxLevel != && StartedLevel != 
    { 
        return; 
    } 
    else 
    { 
        
MaxLevel get_param); 
        
StartedLevel get_param); 
    } 


public 
_get_user_levelpluginparams 

    return 
iLevelget_param) ]; 


public 
_set_user_levelpluginparams 

    
iLevelget_param) ] = maxget_param), MaxLevel ); 
     
    
FlsahLevelUpget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
_get_user_xppluginparams 

    return 
iXpget_param) ]; 


public 
_set_user_xppluginparams 

    
iXpget_param) ] = get_param); 
     
    
CheckLevelget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
CheckLevelid 

    if( 
iLevel[id] == MaxLevel 
    { 
        return; 
    } 
    else 
    { 
        new 
level iLevel[id] > iLevel[id] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[id] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        while( 
iXp[id] >= xp 
        { 
            
iLevel[id]++; 
             
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]);  
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]);  
             
            
FlsahLevelUp(id); 
             
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] ); 
             
            
SaveDataid ); 
             
            
CheckLevelid ); 
             
            break; 
        } 
    } 


public 
FlsahLevelUpid 

    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id ); 
    
write_short<< 10 ); 
    
write_short<< 10 ); 
    
write_short); 
    
write_byte); 
    
write_byte255 ); 
    
write_byte215 ); 
    
write_byte100 ); 
    
message_end( ); 



public 
HandleSay(id){ 
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
iMsg[200], iArgs[4][60];  
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
read_argv(1,iMsg ,sizeof iMsg 1);  
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));  
     
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp"))  
    {      
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);  
         
        if (!
player)  
        {  
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp ); 
        }  
    }  
     
    return 
0;  
}  

public 
EventDeathMsg(id

    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    new 
killer read_data); 
    new 
victim read_data); 
     
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) ) 
    { 
        return 
PLUGIN_HANDLED
        
//return; 
    

     
    new 
XpAmount get_pcvar_numcvar_KillXp ); 
     
    if( 
read_data) ) 
    { 
        
XpAmount += get_pcvar_numcvar_HsXp ); 
    } 
     
    static 
sWeapon26 ]; 
     
    
read_data4sWeaponsizeofsWeapon ) - ); 
     
     
    if( 
equalsWeapon"scout" ) )    
    { 
        
XpAmount += get_pcvar_numcvar_ScoutXp ); 
    } 
     
    
iXpkiller ] += XpAmount
     
    
CheckLevelkiller ); 
     
    
SaveDatakiller ); 
     
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount ); 
     
    return 
PLUGIN_HANDLED


public 
FwdPlayerSpawnid 

    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] ); 


public 
fw_TakeDamage(victiminflictorattackerFloat:damage

    if( 
get_pcvar_numscout_on ) == 
        return 
HAM_IGNORED
     
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT 
    { 
        
SetHamParamFloat(4damage Scout_model[attacker]); 
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
scoutSkinsMenu(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
szItem[256];
     
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp);
    new 
menu menu_createszItem"scoutSkinsMenu_Handler" );  
    
    
menu_additem(menu"\wNormal scout [\yUNLOCKED\w]""");
    
    
menu_additem(menuiLevel[id] >= "\wYellow Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 1 REQUIRE\d]"""iLevel[id] >= 1); 
  
    
menu_additem(menuiLevel[id] >= "\wSteyr Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 2 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wSg3000 Scout [\yUNLOCKED\w]" "\d???? ?????? [\rLEVEL 3 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wSafari Scout [\yUNLOCKED\w]" "\d??????????? ????? [\rLEVEL 4 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wPharaoh Scout [\yUNLOCKED\w]" "\d??????? ?????? [\rLEVEL 5 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wKomando Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 6 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wDefault Scout [\yUNLOCKED\w]" "\d?????? ????? [\rLEVEL 7 REQUIRE\d]"""iLevel[id] >= 1);
    
    
menu_additem(menuiLevel[id] >= "\wCrossbow Scout [\yUNLOCKED\w]" "\d??????????? ??? [\rLEVEL 8 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= "\wBlue Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 9 REQUIRE\d]"""iLevel[id] >= 1); 
    
    
menu_additem(menuiLevel[id] >= 10 "\wBadass Scout [\yUNLOCKED\w]" "\d???????? ????? [\rLEVEL 10 REQUIRE\d]"""iLevel[id] >= 10 1); 
  
    
menu_additem(menuiLevel[id] >= 11 "\wAk Scout [\yUNLOCKED\w]" "\d?????????? [\rLEVEL 11 REQUIRE\d]"""iLevel[id] >= 11 1); 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED
}  

public 
scoutSkinsMenu_Handler(idmenuitem)  

    if(
item == MENU_EXIT
    { 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 
    

     
    
SetScout(iditem); 
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]); 
     
    
SaveData(id); 
    return 
PLUGIN_HANDLED


public 
SetScout(iditem) {  
     
    
Scout_model[id] = item 
     
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)   
    if ( 
Weapon != CSW_SCOUT )  
        return 
PLUGIN_HANDLED  
     
    
new vModel[56],pModel[56]  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
format(vModel,55,"models/v_scout.mdl")  
        return 
PLUGIN_HANDLED
    } 
     
    
format(vModel,55g_scoutvModels[item])  
    
format(pModel,55,"models/p_Scout.mdl"
    
entity_set_string(idEV_SZ_viewmodelvModel)  
    
entity_set_string(idEV_SZ_weaponmodelpModel)  
     
    return 
PLUGIN_HANDLED;    


public 
PlayerLevelsMenu(id
{     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
some[256], menu
     
    static 
players[32],szTemp[10],pnum;     
    
get_players(players,pnum,"ch"); 
     
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME); 
     
    
menu menu_create(some,"PlayerLevelsMenu_Handler"); 
     
    for (new 
ipnumi++) 
    { 
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[players[i]] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp); 
        
num_to_str(players[i],szTemp,charsmax(szTemp)); 
        
menu_additem(menusomeszTemp); 
    } 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED


public 
PlayerLevelsMenu_Handler(id,menuitem){ 
    if (
item == MENU_EXIT
    { 
        
menu_destroy(menu); 
        return; 
    } 
     
    new 
data[6] ,szName[64],access,callback
     
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback); 
     
    new 
player str_to_num(data); 
     
    new 
level iLevel[player] > iLevel[player] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[player] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp); 
    
PlayerLevelsMenu(id); 


public 
CurWeapon(id)  

    
// Set Knife Model 
    
SetScout(idScout_model[id]) 
}  

public 
givexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if( 
get_user_flagsid ) & ADMIN_RCON ) { 
         
        new 
PlayerToGive[32], XP[32
        
read_argv(1,PlayerToGive,31
        
read_argv(2,XP31
        new 
Player cmd_target(id,PlayerToGive,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoGive str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXp[Player]+= XPtoGive 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command"
         
        return 
PLUGIN_HANDLED 
    

     
    return 
PLUGIN_HANDLED


public 
takexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if(
get_user_flags(id) & ADMIN_RCON ) { 
         
         
        new 
PlayerToTake[32], XP[32
        
read_argv(1,PlayerToTake,31 
        
read_argv(2,XP,31 
        new 
Player cmd_target(id,PlayerToTake,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoTake str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXpPlayer ]-=XPtoTake 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command."
         
        return 
PLUGIN_HANDLED 
         
    

     
    return 
PLUGIN_HANDLED


public 
client_disconnect(id) {    
     
    if(
task_exists(id)){ 
        
remove_task(id)  
    } 
    
SaveData(id); 
}    


public 
Scoutmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1.");  
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR
    return 
PLUGIN_HANDLED
}    

public 
Levelmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat.");  
    return 
PLUGIN_HANDLED


public 
client_putinserver(idLoadData(id); 

public 
SaveData(id){  
     
    new 
authid[32]  
    
get_user_authid(idauthid31)  
     
    new 
vaultkey[64]  
    new 
vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
format(vaultdata63"%d"Scout_model[id])  
    
set_vaultdata(vaultkeyvaultdata
     
    new 
data16 ]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] ); 
     
    
fvault_set_data(g_VAULTNAMEauthiddata ); 
     
    return; 
     
     
}  

public 
LoadData(id){  
     
    new 
authid[32]   
    
get_user_authid(id,authid,31)  
     
    new 
vaultkey[64], vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
get_vaultdata(vaultkeyvaultdata63)  
    
Scout_model[id] = str_to_num(vaultdata
     
    new 
data16 ], szLevel], szXp]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) ) 
    { 
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - ); 
         
        
iLevel[id] = str_to_numszLevel ); 
        
iXp[id] = str_to_numszXp ); 
         
        return; 
    } 
    else 
    { 
        
iLevel[id] = 0
        
iXp[id] = 0
         
        return; 
    } 


stock get_player_name(id){ 
    static 
szName[32]; 
    
get_user_name(id,szName,31); 
    return 
szName


stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... ) 

new 
msg191 ], players32 ], count 1

static 
len;
if (!
len)
    
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " ); 

vformatmsglen ], charsmaxmsg ) - lenstring); 

if( 
id 
    
players] = id
    else 
        
get_playersplayers,count,"ch" ); 
     
    for( new 
0counti++ ) 
    {
            
message_beginMSG_ONE_UNRELIABLEg_msgSayTextplayers] ); 
            
write_byteplayers] ); 
            
write_stringmsg ); 
            
message_end( ); 
    } 



mario its not working

Mario AR. 07-11-2014 07:50

Re: Problem on My code
 
Try now.

Eviatar Mor 07-11-2014 07:54

Re: Problem on My code
 
Quote:

Originally Posted by Mario AR. (Post 2165672)
Try now.

i try but is not working
its not opening menu
ops sorry
its working without menu...
you can fix the menu?

Eagle07 07-11-2014 14:04

Re: Problem on My code
 
try now :)
PHP Code:

#include <amxmodx>  
#include <amxmisc>  
#include <engine>   
#include <vault>  
#include <hamsandwich>  
#include <fvault>  

#pragma tabsize 0 

#define is_valid_player(%1) (1 <= %1 <= 32) 

new Scout_model[33]; 

new const 
g_VAULTNAME[] = "Scout-Skins"
new const 
VERSION[] = "2.2"  
new const AUTHOR[] = "SerMajor"  


new iLevel[33]; 
new 
iXp[33]; 

new 
scout_on

new 
MaxLevel
new 
StartedLevel

new 
cvar_KillXp
new 
cvar_HsXp
new 
cvar_ScoutXp

new 
Forward_spawn
new 
Forward_levelup
new 
ForwardReturn

new const 
g_scoutNames[][32] = 

"yellow Scout"
"Violet scout"
"steyr scout"
"sig sauer sg3000 scout"
"safari scout"
"pharaoh scout"
"komando steyrscout scout"
"default scout reskin gtwalq"
"crossbow scout"
"blue scout"
"badass m24 scout"
"ak scout" 
}; 

new const 
g_scoutvModels[][256] = 

"models/v_scout.mdl"
"models/lolscouthnr/v_scout_yellow.mdl"
"models/lolscouthnr/v_scout_steyr.mdl"
"models/lolscouthnr/v_scout_sg3000.mdl"
"models/lolscouthnr/v_scout_safari.mdl"
"models/lolscouthnr/v_scout_pharaoh.mdl"
"models/lolscouthnr/v_scout_komando.mdl"
"models/lolscouthnr/v_scout_default.mdl"
"models/lolscouthnr/v_scout_crossbow.mdl"
"models/lolscouthnr/v_scout_blue.mdl"
"models/lolscouthnr/v_scout_badass.mdl"
"models/lolscouthnr/v_scout_ak.mdl" 


native register_maxlevelsmaxlevel 99started_xp_level 100 ); 
native get_user_levelindex ); 
native get_user_xpindex ); 

public 
plugin_init() {   
     
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR); 
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor 
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor 
     
    // register max levels 13 is the top level, 100 is the started level xp. 
    
register_maxlevels13100 ); 
     
    
//Admin commands 
     
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player"
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player"
     
    
//Clcmd's 
     
    
scout_on register_cvar"Scout_skins""1" 
     
    
register_clcmd("say","HandleSay");  
    
register_clcmd("say_team","HandleSay"
    
register_clcmd("say /scout""ScoutSkinsMenu"); 
    
register_clcmd("say /Slevel""PlayerLevelsMenu"); 
     
    
//Event's 
     
    
register_event("CurWeapon","CurWeapon","be","1=1"); 
    
register_event"DeathMsg""EventDeathMsg""a" ); 
     
    
//Cvar's 
     
    
cvar_KillXp register_cvar"kill_xp""5" ); 
    
cvar_HsXp register_cvar"hs_xp""2" ); 
    
cvar_ScoutXp register_cvar"Scout_xp""3" ); 
     
    
//Ham's 
     
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn"); 
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
     
    
//Forward's 
     
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL ); 
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL ); 
     
    
set_task(15.0"scoutmessage"0__"b"
    
set_task(35.0"Levelmessage"0__"b"
}  

public 
plugin_precache() {   
     
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")   
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")   
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl")  
    
precache_model("models/lolscouthnr/v_scout_safari.mdl")  
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl")  
    
precache_model("models/lolscouthnr/v_scout_komando.mdl")  
    
precache_model("models/lolscouthnr/v_scout_default.mdl")  
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_blue.mdl")  
    
precache_model("models/lolscouthnr/v_scout_badass.mdl")  
    
precache_model("models/lolscouthnr/v_scout_ak.mdl")  
     


public 
plugin_natives( ) 

    
//Native's 
     
    
register_library"scout-Skins" ); 
     
    
register_native"register_maxlevels""_register_maxlevels" ); 
    
register_native"get_user_level""_get_user_level" ); 
    
register_native"set_user_level""_set_user_level" ); 
    
register_native"get_user_xp""_get_user_xp" ); 
    
register_native"set_user_xp""_set_user_xp" ); 


public 
_register_maxlevelspluginparams 

    if( 
MaxLevel != && StartedLevel != 
    { 
        return; 
    } 
    else 
    { 
        
MaxLevel get_param); 
        
StartedLevel get_param); 
    } 


public 
_get_user_levelpluginparams 

    return 
iLevelget_param) ]; 


public 
_set_user_levelpluginparams 

    
iLevelget_param) ] = maxget_param), MaxLevel ); 
     
    
FlsahLevelUpget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
_get_user_xppluginparams 

    return 
iXpget_param) ]; 


public 
_set_user_xppluginparams 

    
iXpget_param) ] = get_param); 
     
    
CheckLevelget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
CheckLevelid 

    if( 
iLevel[id] == MaxLevel 
    { 
        return; 
    } 
    else 
    { 
        new 
level iLevel[id] > iLevel[id] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[id] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        while( 
iXp[id] >= xp 
        { 
            
iLevel[id]++; 
             
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]);  
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]);  
             
            
FlsahLevelUp(id); 
             
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] ); 
             
            
SaveDataid ); 
             
            
CheckLevelid ); 
             
            break; 
        } 
    } 


public 
FlsahLevelUpid 

    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id ); 
    
write_short<< 10 ); 
    
write_short<< 10 ); 
    
write_short); 
    
write_byte); 
    
write_byte255 ); 
    
write_byte215 ); 
    
write_byte100 ); 
    
message_end( ); 



public 
HandleSay(id){ 
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
iMsg[200], iArgs[4][60];  
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
read_argv(1,iMsg ,sizeof iMsg 1);  
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));  
     
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp"))  
    {      
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);  
         
        if (!
player)  
        {  
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp ); 
        }  
    }  
     
    return 
0;  
}  

public 
EventDeathMsg(id

    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    new 
killer read_data); 
    new 
victim read_data); 
     
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) ) 
    { 
        return 
PLUGIN_HANDLED
        
//return; 
    

     
    new 
XpAmount get_pcvar_numcvar_KillXp ); 
     
    if( 
read_data) ) 
    { 
        
XpAmount += get_pcvar_numcvar_HsXp ); 
    } 
     
    static 
sWeapon26 ]; 
     
    
read_data4sWeaponsizeofsWeapon ) - ); 
     
     
    if( 
equalsWeapon"scout" ) )    
    { 
        
XpAmount += get_pcvar_numcvar_ScoutXp ); 
    } 
     
    
iXpkiller ] += XpAmount
     
    
CheckLevelkiller ); 
     
    
SaveDatakiller ); 
     
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount ); 
     
    return 
PLUGIN_HANDLED


public 
FwdPlayerSpawnid 

    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] ); 


public 
fw_TakeDamage(victiminflictorattackerFloat:damage

    if( 
get_pcvar_numscout_on ) == 
        return 
HAM_IGNORED
     
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT 
    { 
        
SetHamParamFloat(4damage Scout_model[attacker]); 
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
ScoutSkinsMenu(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
szItem[256], szYellow[50], szSteyr[50], szSg3000[50], szSafari[50], szPharaoh[50], szKomando[50], szDefault[50], szCrossbow[50], szBlue[50], szBadass[50], 
    
szAk[50]; 
     
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp); 
    
formatex(szYellowcharsmax(szYellow),"%s"iLevel[id] >= "\wYellow Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 1 REQUIRE\d]"); 
    
formatex(szSteyrcharsmax(szSteyr),"%s"iLevel[id] >= "\wSteyr Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 2 REQUIRE\d]"); 
    
formatex(szSg3000charsmax(szSg3000),"%s"iLevel[id] >= "\wSg3000 Scout [\yUNLOCKED\w]" "\d???? ?????? [\rLEVEL 3 REQUIRE\d]"); 
    
formatex(szSafaricharsmax(szSafari),"%s"iLevel[id] >= "\wSafari Scout [\yUNLOCKED\w]" "\d??????????? ????? [\rLEVEL 4 REQUIRE\d]"); 
    
formatex(szPharaohcharsmax(szPharaoh),"%s"iLevel[id] >= "\wPharaoh Scout [\yUNLOCKED\w]" "\d??????? ?????? [\rLEVEL 5 REQUIRE\d]"); 
    
formatex(szKomandocharsmax(szKomando),"%s"iLevel[id] >= "\wKomando Scout [\yUNLOCKED\w]" "\d???? ????? [\rLEVEL 6 REQUIRE\d]"); 
    
formatex(szDefaultcharsmax(szDefault),"%s"iLevel[id] >= "\wDefault Scout [\yUNLOCKED\w]" "\d?????? ????? [\rLEVEL 7 REQUIRE\d]"); 
    
formatex(szCrossbowcharsmax(szCrossbow),"%s"iLevel[id] >= "\wCrossbow Scout [\yUNLOCKED\w]" "\d??????????? ??? [\rLEVEL 8 REQUIRE\d]"); 
    
formatex(szBluecharsmax(szBlue),"%s"iLevel[id] >= "\wBlue Scout [\yUNLOCKED\w]" "\d?????? ?????? [\rLEVEL 9 REQUIRE\d]"); 
    
formatex(szBadasscharsmax(szBadass),"%s"iLevel[id] >= 10 "\wBadass Scout [\yUNLOCKED\w]" "\d???????? ????? [\rLEVEL 10 REQUIRE\d]"); 
    
formatex(szAkcharsmax(szAk),"%s"iLevel[id] >= 11 "\wAk Scout [\yUNLOCKED\w]" "\d?????????? [\rLEVEL 11 REQUIRE\d]"); 
     
    new 
menu menu_createszItem"scoutSkinsMenu_Handler" );  
    
menu_additem(menu"\wNormal scout [\yUNLOCKED\w]"""); 
    
menu_additem(menuszYellow""iLevel[id] >= 1); 
    
menu_additem(menuszSteyr""iLevel[id] >= 1); 
    
menu_additem(menuszSg3000""iLevel[id] >= 1); 
    
menu_additem(menuszSafari""iLevel[id] >= 1); 
    
menu_additem(menuszPharaoh""iLevel[id] >= 1); 
    
menu_additem(menuszKomando""iLevel[id] >= 1); 
    
menu_additem(menuszDefault""iLevel[id] >= 1); 
    
menu_additem(menuszCrossbow""iLevel[id] >= 1); 
    
menu_additem(menuszBlue""iLevel[id] >= 1); 
    
menu_additem(menuszBadass""iLevel[id] >= 10 1); 
    
menu_additem(menuszAk""iLevel[id] >= 11 1); 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED
}  

public 
ScoutSkinsMenu_Handler(idmenuitem)  

    if(
item == MENU_EXIT
    { 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 
    

     
    
SetScout(iditem); 
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]); 
     
    
SaveData(id); 
    return 
PLUGIN_HANDLED


public 
SetScout(iditem) {  
     
    
Scout_model[id] = item 
     
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)   
    if ( 
Weapon != CSW_SCOUT )  
        return 
PLUGIN_HANDLED  
     
    
new vModel[56],pModel[56]  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
format(vModel,55,"models/v_scout.mdl")  
        return 
PLUGIN_HANDLED
    } 
     
    
format(vModel,55g_scoutvModels[item])  
    
format(pModel,55,"models/p_Scout.mdl"
    
entity_set_string(idEV_SZ_viewmodelvModel)  
    
entity_set_string(idEV_SZ_weaponmodelpModel)  
     
    return 
PLUGIN_HANDLED;    


public 
PlayerLevelsMenu(id
{     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
some[256], menu
     
    static 
players[32],szTemp[10],pnum;     
    
get_players(players,pnum,"ch"); 
     
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME); 
     
    
menu menu_create(some,"PlayerLevelsMenu_Handler"); 
     
    for (new 
ipnumi++) 
    { 
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[players[i]] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp); 
        
num_to_str(players[i],szTemp,charsmax(szTemp)); 
        
menu_additem(menusomeszTemp); 
    } 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED


public 
PlayerLevelsMenu_Handler(id,menuitem){ 
    if (
item == MENU_EXIT
    { 
        
menu_destroy(menu); 
        return; 
    } 
     
    new 
data[6] ,szName[64],access,callback
     
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback); 
     
    new 
player str_to_num(data); 
     
    new 
level iLevel[player] > iLevel[player] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[player] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp); 
    
PlayerLevelsMenu(id); 


public 
CurWeapon(id)  

    
// Set Knife Model 
    
SetScout(idScout_model[id]) 
}  

public 
givexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if( 
get_user_flagsid ) & ADMIN_RCON ) { 
         
        new 
PlayerToGive[32], XP[32
        
read_argv(1,PlayerToGive,31
        
read_argv(2,XP31
        new 
Player cmd_target(id,PlayerToGive,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoGive str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXp[Player]+= XPtoGive 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command"
         
        return 
PLUGIN_HANDLED 
    

     
    return 
PLUGIN_HANDLED


public 
takexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if(
get_user_flags(id) & ADMIN_RCON ) { 
         
         
        new 
PlayerToTake[32], XP[32
        
read_argv(1,PlayerToTake,31 
        
read_argv(2,XP,31 
        new 
Player cmd_target(id,PlayerToTake,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoTake str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXpPlayer ]-=XPtoTake 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command."
         
        return 
PLUGIN_HANDLED 
         
    

     
    return 
PLUGIN_HANDLED


public 
client_disconnect(id) {    
     
    if(
task_exists(id)){ 
        
remove_task(id)  
    } 
    
SaveData(id); 
}    


public 
Scoutmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1.");  
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR
    return 
PLUGIN_HANDLED
}    

public 
Levelmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat.");  
    return 
PLUGIN_HANDLED


public 
client_putinserver(idLoadData(id); 

public 
SaveData(id){  
     
    new 
authid[32]  
    
get_user_authid(idauthid31)  
     
    new 
vaultkey[64]  
    new 
vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
format(vaultdata63"%d"Scout_model[id])  
    
set_vaultdata(vaultkeyvaultdata
     
    new 
data16 ]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] ); 
     
    
fvault_set_data(g_VAULTNAMEauthiddata ); 
     
    return; 
     
     
}  

public 
LoadData(id){  
     
    new 
authid[32]   
    
get_user_authid(id,authid,31)  
     
    new 
vaultkey[64], vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
get_vaultdata(vaultkeyvaultdata63)  
    
Scout_model[id] = str_to_num(vaultdata
     
    new 
data16 ], szLevel], szXp]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) ) 
    { 
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - ); 
         
        
iLevel[id] = str_to_numszLevel ); 
        
iXp[id] = str_to_numszXp ); 
         
        return; 
    } 
    else 
    { 
        
iLevel[id] = 0
        
iXp[id] = 0
         
        return; 
    } 


stock get_player_name(id){ 
    static 
szName[32]; 
    
get_user_name(id,szName,31); 
    return 
szName


stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... ) 

new 
msg191 ], players32 ], count 1

static 
len
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " ); 
vformatmsglen ], charsmaxmsg ) - lenstring); 

if( 
id 
    
players] = id
    else 
        
get_playersplayers,count,"ch" ); 
     
    for( new 
0counti++ ) 
    { 
        if( 
is_user_connectedplayers[i] ) ) 
        { 
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid"SayText" ), players] ); 
            
write_byteplayers] ); 
            
write_stringmsg ); 
            
message_end( ); 
        } 
    } 



Mario AR. 07-11-2014 16:00

Re: Problem on My code
 
This MUST work:
PHP Code:

#include <amxmodx>  
#include <amxmisc>  
#include <engine>   
#include <vault>  
#include <hamsandwich>  
#include <fvault>  

#pragma tabsize 0 

#define is_valid_player(%1) (1 <= %1 <= 32) 

new Scout_model[33]; 

new const 
g_VAULTNAME[] = "Scout-Skins"
new const 
VERSION[] = "2.2"  
new const AUTHOR[] = "SerMajor"  


new iLevel[33]; 
new 
iXp[33]; 

new 
scout_on

new 
MaxLevel
new 
StartedLevel
new 
g_msgSayText;

new 
cvar_KillXp
new 
cvar_HsXp
new 
cvar_ScoutXp

new 
Forward_spawn
new 
Forward_levelup
new 
ForwardReturn

const 
MAX_SCOUTS 12

new const g_scoutNames[MAX_SCOUTS][32] = 
{
"Normal Scout",
"yellow Scout",
"steyr scout"
"sig sauer sg3000 scout"
"safari scout"
"pharaoh scout"
"komando steyrscout scout"
"default scout reskin gtwalq"
"crossbow scout"
"blue scout"
"badass m24 scout"
"ak scout" 
};

new const 
g_scoutLevels[MAX_SCOUTS] = { 01234567891011 }

new const 
g_scoutvModels[MAX_SCOUTS][256] = 

"models/v_scout.mdl"
"models/lolscouthnr/v_scout_yellow.mdl"
"models/lolscouthnr/v_scout_steyr.mdl"
"models/lolscouthnr/v_scout_sg3000.mdl"
"models/lolscouthnr/v_scout_safari.mdl"
"models/lolscouthnr/v_scout_pharaoh.mdl"
"models/lolscouthnr/v_scout_komando.mdl"
"models/lolscouthnr/v_scout_default.mdl"
"models/lolscouthnr/v_scout_crossbow.mdl"
"models/lolscouthnr/v_scout_blue.mdl"
"models/lolscouthnr/v_scout_badass.mdl"
"models/lolscouthnr/v_scout_ak.mdl" 


native register_maxlevelsmaxlevel 99started_xp_level 100 ); 
native get_user_levelindex ); 
native get_user_xpindex ); 

public 
plugin_init() {   
     
    
register_plugin(g_VAULTNAMEVERSIONAUTHOR); 
    
register_cvar("scout_skins"VERSIONFCVAR_SERVER); // Find Servers on Game-Monitor 
    
set_cvar_string("scout_skins"VERSION); // Find Servers on Game-Monitor 
     
    // register max levels 13 is the top level, 100 is the started level xp. 
    
register_maxlevels13100 ); 
     
    
//Admin commands 
     
    
register_concmd("scout_givexp" ,"givexp",ADMIN_RCON,"Add xp to a player"
    
register_concmd("scout_takexp""takexp",ADMIN_RCON,"Remove xp from a player"
     
    
//Clcmd's 
     
    
scout_on register_cvar"Scout_skins""1" 
     
    
register_clcmd("say","HandleSay");  
    
register_clcmd("say_team","HandleSay"
    
register_clcmd("say /scout""ScoutSkinsMenu"); 
    
register_clcmd("say /Slevel""PlayerLevelsMenu"); 
     
    
//Event's 
     
    
register_event("CurWeapon","CurWeapon","be","1=1"); 
    
register_event"DeathMsg""EventDeathMsg""a" ); 
     
    
//Cvar's 
     
    
cvar_KillXp register_cvar"kill_xp""5" ); 
    
cvar_HsXp register_cvar"hs_xp""2" ); 
    
cvar_ScoutXp register_cvar"Scout_xp""3" ); 
     
    
//Ham's 
     
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn"); 
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage"
     
    
//Forward's 
     
    
Forward_levelup CreateMultiForward"forward_client_levelup"ET_IGNOREFP_CELLFP_CELLFP_CELL ); 
    
Forward_spawn CreateMultiForward"forward_client_spawn"ET_IGNOREFP_CELL FP_CELLFP_CELL ); 
     
    
set_task(15.0"scoutmessage"0__"b"
    
set_task(35.0"Levelmessage"0__"b"
    
    
g_msgSayText get_user_msgid("SayText");
}  

public 
plugin_precache() {   
     
    
precache_model("models/lolscouthnr/v_scout_yellow.mdl")   
    
precache_model("models/lolscouthnr/v_scout_steyr.mdl")   
    
precache_model("models/lolscouthnr/v_scout_sg3000.mdl")  
    
precache_model("models/lolscouthnr/v_scout_safari.mdl")  
    
precache_model("models/lolscouthnr/v_scout_pharaoh.mdl")  
    
precache_model("models/lolscouthnr/v_scout_komando.mdl")  
    
precache_model("models/lolscouthnr/v_scout_default.mdl")  
    
precache_model("models/lolscouthnr/v_scout_crossbow.mdl")  
    
precache_model("models/lolscouthnr/v_scout_blue.mdl")  
    
precache_model("models/lolscouthnr/v_scout_badass.mdl")  
    
precache_model("models/lolscouthnr/v_scout_ak.mdl")  
     


public 
plugin_natives( ) 

    
//Native's 
     
    
register_library"scout-Skins" ); 
     
    
register_native"register_maxlevels""_register_maxlevels" ); 
    
register_native"get_user_level""_get_user_level" ); 
    
register_native"set_user_level""_set_user_level" ); 
    
register_native"get_user_xp""_get_user_xp" ); 
    
register_native"set_user_xp""_set_user_xp" ); 


public 
_register_maxlevelspluginparams 

    if( 
MaxLevel != && StartedLevel != 
    { 
        return; 
    } 
    else 
    { 
        
MaxLevel get_param); 
        
StartedLevel get_param); 
    } 


public 
_get_user_levelpluginparams 

    return 
iLevelget_param) ]; 


public 
_set_user_levelpluginparams 

    
iLevelget_param) ] = maxget_param), MaxLevel ); 
     
    
FlsahLevelUpget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
_get_user_xppluginparams 

    return 
iXpget_param) ]; 


public 
_set_user_xppluginparams 

    
iXpget_param) ] = get_param); 
     
    
CheckLevelget_param) ); 
     
    
SaveDataget_param) ); 
     
    
LoadDataget_param) ); 


public 
CheckLevelid 

    if( 
iLevel[id] == MaxLevel 
    { 
        return; 
    } 
    else 
    { 
        new 
level iLevel[id] > iLevel[id] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[id] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        while( 
iXp[id] >= xp 
        { 
            
iLevel[id]++; 
             
            
ColorChat(id,"^4Congratulations!^1 You'r have level up! You'r new^4 LEVEL^1 is: ^3%i^1."iLevel[id]);  
            
ColorChat(0,"^3%s^1 has level up to^4 LEVEL^3 %i^1!",get_player_name(id), iLevel[id]);  
             
            
FlsahLevelUp(id); 
             
            
ExecuteForwardForward_levelupForwardReturnidiLevel[id], iXp[id] ); 
             
            
SaveDataid ); 
             
            
CheckLevelid ); 
             
            break; 
        } 
    } 


public 
FlsahLevelUpid 

    
message_beginMSG_ONEget_user_msgid"ScreenFade" ), { 000}, id ); 
    
write_short<< 10 ); 
    
write_short<< 10 ); 
    
write_short); 
    
write_byte); 
    
write_byte255 ); 
    
write_byte215 ); 
    
write_byte100 ); 
    
message_end( ); 



public 
HandleSay(id){ 
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
iMsg[200], iArgs[4][60];  
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
read_argv(1,iMsg ,sizeof iMsg 1);  
    
parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));  
     
    if (
equali(iArgs[0],"/level") || equali(iArgs[0],"/lvl") || equali(iArgs[0],"/xp"))  
    {      
        new 
player cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);  
         
        if (!
player)  
        {  
            
ColorChatid"Your^4 LEVEL^1 is:^3 %i^4 |^1 Your^4 XP^1 is:^3 %i^1/^3%i^1."iLevel[id], iXp[id], xp ); 
        }  
    }  
     
    return 
0;  
}  

public 
EventDeathMsg(id

    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    new 
killer read_data); 
    new 
victim read_data); 
     
    if( 
killer == victim || ! is_user_connectedkiller ) || ! is_user_connectedvictim ) ) 
    { 
        return 
PLUGIN_HANDLED
        
//return; 
    

     
    new 
XpAmount get_pcvar_numcvar_KillXp ); 
     
    if( 
read_data) ) 
    { 
        
XpAmount += get_pcvar_numcvar_HsXp ); 
    } 
     
    static 
sWeapon26 ]; 
     
    
read_data4sWeaponsizeofsWeapon ) - ); 
     
     
    if( 
equalsWeapon"scout" ) )    
    { 
        
XpAmount += get_pcvar_numcvar_ScoutXp ); 
    } 
     
    
iXpkiller ] += XpAmount
     
    
CheckLevelkiller ); 
     
    
SaveDatakiller ); 
     
    
ColorChatkiller"You have gained^3 %i^1 XP."XpAmount ); 
     
    return 
PLUGIN_HANDLED


public 
FwdPlayerSpawnid 

    
ExecuteForwardForward_spawnForwardReturnidiLevel[id], iXp[id] ); 


public 
fw_TakeDamage(victiminflictorattackerFloat:damage

    if( 
get_pcvar_numscout_on ) == 
        return 
HAM_IGNORED
     
    if( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_SCOUT 
    { 
        
SetHamParamFloat(4damage Scout_model[attacker]); 
         
        return 
HAM_HANDLED
    } 
     
    return 
HAM_IGNORED


public 
ScoutSkinsMenu(id) {  
     
    if (!
get_pcvar_num(scout_on))
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
szItem[256];
     
    new 
level iLevel[id] > iLevel[id] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[id] > 
    { 
        
xp +=  ( xp ); 
    }
     
    
formatex(szItemcharsmax(szItem), "\w[ \r%s \w] \yScout Skins Menu \rv%s^n\yYour Level: \r%d \w- \yYour XP: \r%d\w/\r%d\w.^n\yPage:\r"g_VAULTNAMEVERSION,iLevel[id],iXp[id], xp);
    new 
menu menu_createszItem"ScoutSkinsMenu_Handler" );  
    
    for (new 
0MAX_SCOUTSi++)
    {
        
formatex(szItemcharsmax(szItem), iLevel[id] >= g_scoutLevels[i] ? "%s [\yUNLOCKED\w]" "\d%s [\rLEVEL %d REQUIRE\d]"iLevel[id] >= g_scoutLevels[i] ? g_scoutNames[i] : "?????????"g_scoutLevels[i]),
        
menu_additem(menuszItem, .paccess = (iLevel[id] >= g_scoutLevels[i]) ? 1);
    }
    
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED
}  

public 
ScoutSkinsMenu_Handler(idmenuitem)  

    if(
item == MENU_EXIT
    { 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 
    

     
    
SetScout(iditem); 
    
ColorChat(id"The Scout you chose is: ^4%s^1."g_scoutNames[item]); 
     
    
SaveData(id); 
    return 
PLUGIN_HANDLED


public 
SetScout(iditem) {  
     
    
Scout_model[id] = item 
     
    
new ClipAmmoWeapon get_user_weapon(idClipAmmo)   
    if ( 
Weapon != CSW_SCOUT )  
        return 
PLUGIN_HANDLED  
     
    
new vModel[56],pModel[56]  
     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
format(vModel,55,"models/v_scout.mdl")  
        return 
PLUGIN_HANDLED
    } 
     
    
format(vModel,55g_scoutvModels[item])  
    
format(pModel,55,"models/p_Scout.mdl"
    
entity_set_string(idEV_SZ_viewmodelvModel)  
    
entity_set_string(idEV_SZ_weaponmodelpModel)  
     
    return 
PLUGIN_HANDLED;    


public 
PlayerLevelsMenu(id
{     
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    new 
some[256], menu
     
    static 
players[32],szTemp[10],pnum;     
    
get_players(players,pnum,"ch"); 
     
    
formatex(some,255,"\w[ \r%s \w] \yPlayer's Level:\r"g_VAULTNAME); 
     
    
menu menu_create(some,"PlayerLevelsMenu_Handler"); 
     
    for (new 
ipnumi++) 
    { 
        new 
level iLevel[players[i]] > iLevel[players[i]] : 1
         
        new 
xp level StartedLevel
         
        if( 
iLevel[players[i]] > 
        { 
            
xp +=  ( xp ); 
        } 
         
        
formatex(some,256,"%s \y(Level: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp); 
        
num_to_str(players[i],szTemp,charsmax(szTemp)); 
        
menu_additem(menusomeszTemp); 
    } 
     
    
menu_setprop(menuMPROP_EXITMEXIT_ALL ); 
    
menu_display(idmenu); 
     
    return 
PLUGIN_HANDLED


public 
PlayerLevelsMenu_Handler(id,menuitem){ 
    if (
item == MENU_EXIT
    { 
        
menu_destroy(menu); 
        return; 
    } 
     
    new 
data[6] ,szName[64],access,callback
     
    
menu_item_getinfo(menuitemaccessdatacharsmax(data), szNamecharsmax(szName), callback); 
     
    new 
player str_to_num(data); 
     
    new 
level iLevel[player] > iLevel[player] : 1
     
    new 
xp level StartedLevel
     
    if( 
iLevel[player] > 
    { 
        
xp +=  ( xp ); 
    } 
     
    
ColorChat(id,"^3%s's ^4LEVEL ^1is: ^3%i ^1with ^3%i^1/^3%i ^4XP^1.",get_player_name(player), iLevel[player], iXp[player], xp); 
    
PlayerLevelsMenu(id); 


public 
CurWeapon(id)  

    
// Set Knife Model 
    
SetScout(idScout_model[id]) 
}  

public 
givexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if( 
get_user_flagsid ) & ADMIN_RCON ) { 
         
        new 
PlayerToGive[32], XP[32
        
read_argv(1,PlayerToGive,31
        
read_argv(2,XP31
        new 
Player cmd_target(id,PlayerToGive,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoGive str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 give to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXp[Player]+= XPtoGive 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command"
         
        return 
PLUGIN_HANDLED 
    

     
    return 
PLUGIN_HANDLED


public 
takexp(id) { 
    if (
get_pcvar_num(scout_on) == 0
    { 
        
ColorChat(id"The mod has been disabale."); 
        return 
PLUGIN_HANDLED
    } 
     
    if(
get_user_flags(id) & ADMIN_RCON ) { 
         
         
        new 
PlayerToTake[32], XP[32
        
read_argv(1,PlayerToTake,31 
        
read_argv(2,XP,31 
        new 
Player cmd_target(id,PlayerToTake,9
         
        if(!
Player) { 
             
            return 
PLUGIN_HANDLED 
             
        

         
        new 
XPtoTake str_to_num(XP
        new 
name[32],owner[32
        
get_user_name(id,owner,31
        
get_user_name(Player,name,31
        
ColorChat(0,"^4ADMIN^3 %s^1 take to^4 %s^3 %s^1 XP."owner,name,XP ); 
        
iXpPlayer ]-=XPtoTake 
        CheckLevel
(Player); 
        
SaveData(id
         
    } 
     
    else { 
         
        
client_print(id,print_console,"You have no acces to that command."
         
        return 
PLUGIN_HANDLED 
         
    

     
    return 
PLUGIN_HANDLED


public 
client_disconnect(id) {    
     
    if(
task_exists(id)){ 
        
remove_task(id)  
    } 
    
SaveData(id); 
}    


public 
Scoutmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0"Type ^3/Scout ^1in chat to open the ^4Scout Skins Menu^1.");  
    
ColorChat(0"This server is running ^4%s ^3v%s^1 by ^4%s^1.",g_VAULTNAMEVERSIONAUTHOR
    return 
PLUGIN_HANDLED
}    

public 
Levelmessage(id) {  
     
    if (
get_pcvar_num(scout_on) == 0
        return 
PLUGIN_HANDLED
     
    
ColorChat(0,"To see other ^4Players Level ^1type ^3/level ^1in chat.");  
    return 
PLUGIN_HANDLED


public 
client_putinserver(idLoadData(id); 

public 
SaveData(id){  
     
    new 
authid[32]  
    
get_user_authid(idauthid31)  
     
    new 
vaultkey[64]  
    new 
vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
format(vaultdata63"%d"Scout_model[id])  
    
set_vaultdata(vaultkeyvaultdata
     
    new 
data16 ]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    
formatexdatasizeofdata ) - 1"%d %d"iLevel[id], iXp[id] ); 
     
    
fvault_set_data(g_VAULTNAMEauthiddata ); 
     
    return; 
     
     
}  

public 
LoadData(id){  
     
    new 
authid[32]   
    
get_user_authid(id,authid,31)  
     
    new 
vaultkey[64], vaultdata[64]  
     
    
format(vaultkey63"SCOUTMOD_%s"authid)  
    
get_vaultdata(vaultkeyvaultdata63)  
    
Scout_model[id] = str_to_num(vaultdata
     
    new 
data16 ], szLevel], szXp]; 
     
    
get_user_authididauthidsizeofauthid ) - ); 
     
    if( 
fvault_get_data(g_VAULTNAMEauthiddatasizeofdata ) - ) ) 
    { 
        
strbreakdataszLevelsizeofszLevel ) - 1szXpsizeofszXp ) - ); 
         
        
iLevel[id] = str_to_numszLevel ); 
        
iXp[id] = str_to_numszXp ); 
         
        return; 
    } 
    else 
    { 
        
iLevel[id] = 0
        
iXp[id] = 0
         
        return; 
    } 


stock get_player_name(id){ 
    static 
szName[32]; 
    
get_user_name(id,szName,31); 
    return 
szName


stock ColorChat( const id, const string[ ], { FloatSqlResul} : ... ) 

new 
msg191 ], players32 ], count 1

static 
len;
if (!
len)
    
len formatexmsgcharsmaxmsg ), "^x04[^x01 Scout-Skins^x04 ]^x01 " ); 

vformatmsglen ], charsmaxmsg ) - lenstring); 

if( 
id 
    
players] = id
    else 
        
get_playersplayers,count,"ch" ); 
     
    for( new 
0counti++ ) 
    {
            
message_beginMSG_ONE_UNRELIABLEg_msgSayTextplayers] ); 
            
write_byteplayers] ); 
            
write_stringmsg ); 
            
message_end( ); 
    } 




All times are GMT -4. The time now is 21:06.

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