Raised This Month: $ Target: $400
 0% 

Problem on My code


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-09-2014 , 17:04   Problem on My code
Reply With Quote #1

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...

Last edited by Eviatar Mor; 07-09-2014 at 17:05.
Eviatar Mor is offline
Eagle07
Veteran Member
Join Date: May 2014
Location: Morocco :D
Old 07-09-2014 , 17:09   Re: Problem on My code
Reply With Quote #2

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( );
        }
    }

__________________
Eagle07 is offline
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-11-2014 , 07:13   Re: Problem on My code
Reply With Quote #3

Quote:
Originally Posted by Eagle07 View Post
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.

Last edited by Eviatar Mor; 07-11-2014 at 07:24.
Eviatar Mor is offline
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-09-2014 , 17:17   Re: Problem on My code
Reply With Quote #4

So fast...?
but thank you eagle07!!!
Eviatar Mor is offline
Mario AR.
Senior Member
Join Date: May 2011
Location: Lima, Perú
Old 07-11-2014 , 07:31   Re: Problem on My code
Reply With Quote #5

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( ); 
    } 


Last edited by Mario AR.; 07-11-2014 at 07:50. Reason: Fixed.
Mario AR. is offline
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-11-2014 , 07:35   Re: Problem on My code
Reply With Quote #6

Quote:
Originally Posted by Mario AR. View Post
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
Eviatar Mor is offline
Mario AR.
Senior Member
Join Date: May 2011
Location: Lima, Perú
Old 07-11-2014 , 07:50   Re: Problem on My code
Reply With Quote #7

Try now.
Mario AR. is offline
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-11-2014 , 07:54   Re: Problem on My code
Reply With Quote #8

Quote:
Originally Posted by Mario AR. View Post
Try now.
i try but is not working
its not opening menu
ops sorry
its working without menu...
you can fix the menu?

Last edited by Eviatar Mor; 07-11-2014 at 07:59.
Eviatar Mor is offline
Eagle07
Veteran Member
Join Date: May 2014
Location: Morocco :D
Old 07-11-2014 , 14:04   Re: Problem on My code
Reply With Quote #9

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( ); 
        } 
    } 

__________________
Eagle07 is offline
Eviatar Mor
Senior Member
Join Date: Jun 2014
Location: israel
Old 07-11-2014 , 16:54   Re: Problem on My code
Reply With Quote #10

Quote:
Originally Posted by Eagle07 View Post
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( ); 
        } 
    } 

eagle your code not working...
but of mario code working...
but Still thank about help.
Eviatar Mor is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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