Raised This Month: $ Target: $400
 0% 

Can someone compile this one...


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
DeathOrAlive
Member
Join Date: Sep 2015
Location: Sofia, Bulgaria
Old 09-09-2015 , 19:34   Can someone compile this one...
Reply With Quote #1

Can someone please compile that one for me and attach the amxx file after compiling because I can't compile it... thanks in advance!
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fun>
#include <cstrike>
#include <nvault>
#include <sqlx>
#include <fakemeta> 
//
#define PLUGIN "Army Ranks"
#define VERSION "1.3.1"
#define AUTHOR "Arctic"
#pragma tabsize 0
#define ADM_MENU     ADMIN_IMMUNITY // menu access flag
//
new g_vault;
new 
Handle:g_SqlTuple;
new 
g_Error[512]; 
enum _:PlData
{
    
gId,gExp,gLevel,gTempKey
};
new 
UserData[33][PlData];
new 
gMessage[256];
new 
g_MsgHud,MaxPlayers,levelUp[33],gSayText,gStatusText
new bool:restr_blocked;
new const 
gRankNames[][] = 
{
    
"I_0","I_1","I_2","I_3","I_4","I_5","I_6","I_7","I_8","I_9","I_10","I_11","I_12","I_13","I_14",        
    
"I_15","I_16","I_17","I_18","I_19","I_20"
};
new const 
gLevels[] = 
{
    
0,15,30,60,100,180,350,750,999,1500,2200,2800,3200,3900,4500,5000,5500,6000,7000,8000
};
new const 
gNades[][] =
{
    {
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {
0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {
0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1}
}
new const 
restrict_bonus[][] =
{
    
"35hp",
    
"most_wanted",
    
"ka_wintershank"
};
new 
gRestrictMaps,gAdminGMsg,gBonusLevel,gFlash,gSmoke,gHe,gHpbylevel,gApbylevel
,gArmyChat,gSaveType,gTableName,gHost,gUser,gPassword,gDbName,gSlash,
gTk,gLostXpTk,gLevelUpmsg,gAllChat,gProgressBar,gBombDefuseXp,gBombPlantXp,gBombgMinPlayers
//
public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_cvar("army_ranks",VERSIONFCVAR_SERVER FCVAR_SPONLY);
    
set_cvar_string("army_ranks",VERSION);
//
    
gRestrictMaps     register_cvar"restrict_maps",         "0");// вкл запрет бонусов на карте.    
    
gBonusLevel    register_cvar"level_bonus",         "0");// вкл оружие при получении уровня.
    
gFlash        register_cvar"flash_nades",         "0");// вкл бонуса флешек
    
gSmoke        register_cvar"smoke_nades",         "1");// вкл бонуса дымовых
    
gHe        register_cvar"he_nades",         "1");// вкл бонуса осколочных
    
gHpbylevel    register_cvar"hp_by_level",         "0");// кол-во хп, которое дается за лвл, если = 0 - то выкл
    
gApbylevel    register_cvar"ap_by_level",         "0");// кол-во брони, которое дается за лвл, если = 0 - то выкл
    
gArmyChat    register_cvar"army_chat",         "1");// использовать чат плагина, то есть приставка в чате, цвет сообщ. для админа
    
gAdminGMsg    register_cvar"admin_color",        "1");// 1 = сообщ.админа зеленое,0 = желтое, 2 = цвета команды
    
gSaveType     register_cvar"save_type",         "0");// 0 - nvault, 1- mysql.
    
gSlash         register_cvar"slash_messages",         "1");// не отображать команды со слэшем
    
gTk         register_cvar"team_kill_lost_xp",       "1");// терять exp при тимкилле
    
gLostXpTk     register_cvar"lost_xp_val",         "3");// кол-во теряемых exp при тк
    
gLevelUpmsg    register_cvar"level_up_msg",         "1");// сообщение при лвл-апе игрока : 1- вкл (всем), 2 - только игроку
    
gAllChat    register_cvar"all_chat",         "0");// 1 - чат для всех(метвые и живые), 0-живые не видят чат мертвых и наоборот
/***/    
gProgressBar    register_cvar"progress_bar_pos",       "0");// расположение данных игрока: 0 - hud(под радаром), 1 - под чатом
    
gMinPlayers    register_cvar"min_players",         "1");// мин.кол-во игроков для получения опыта за действия с бомбой
    
gBomb        register_cvar"bomb_xp",             "1");// вкл получения опыта над действиями с бомбой
    
gBombDefuseXp    register_cvar"bdefuse_xp",         "5");// кол-во получаемых exp при разминировании бомбы
    
gBombPlantXp    register_cvar"bplant_xp",         "4");// кол-во получаемых exp при минировании бомбы
// для mysql    
    
gHost        register_cvar"mysql_host",         "localhost");     // host
    
gUser        register_cvar"mysql_user",         "root");    // username
    
gPassword    register_cvar"mysql_password",     "qwerty");     // password
    
gDbName        register_cvar"mysql_db_name",     "database");     // database name
    
gTableName    register_cvar"mysql_table_name",     "army_ranks");     // название таблицы mysql
//
    
register_logevent"EventRoundStart"2"1=Round_Start" );
    
register_forward(FM_Sys_Error"fw_ServerDown");
    
register_forward(FM_GameShutdown"fw_ServerDown");
    
register_forward(FM_ServerDeactivate"fw_ServerDown");
    
register_event"DeathMsg","EventDeath","a");
    if(
get_pcvar_num(gProgressBar) != 0){
        
set_task(1.0,"StatusText",_,_,_"b");
    } else { 
        
set_task(1.0,"Info",_,_,_"b");
    }
//
    
register_message(get_user_msgid("SayText"), "msg_SayText");
    
gStatusText get_user_msgid("StatusText");
    
gSayText get_user_msgid ("SayText");
//
    
g_MsgHud CreateHudSyncObj();
    
MaxPlayers get_maxplayers();
    
register_dictionary("army.txt" );
//
    
if(get_pcvar_num(gRestrictMaps))
    {
        new 
szMapName[64];
        
get_mapname(szMapName,63);
        for(new 
0sizeof restrict_bonusa++)
        {
            if(
equal(szMapNamerestrict_bonus[a]))
            {
                
restr_blocked true;
                
log_amx("[FrontLineD2] weapon menu is blocked on map [%s].",restrict_bonus[a]);
                break;
            } else {
                
restr_blocked false;
            }    
        }
    }
//
    
switch(get_pcvar_num(gSaveType))
    {
        case 
0
        {
            
g_vault nvault_open("army_ranks");
        }
        case 
1
        {
            
set_task(0.1"sql_init");
        }
        default: 
        {
            
g_vault nvault_open("army_ranks");
        }
    }
//
    
if(get_pcvar_num(gArmyChat))
    {
        
register_clcmd("say""hookSay"
        
register_clcmd("say_team""hookSayTeam");
    }
    
register_clcmd("add_exp""add_exp_post")
    
register_clcmd("amx_setlevel""admin_menu")
}
public 
plugin_cfg()
{
    new 
szCfgDir[64], szFile[192];
    
get_configsdir(szCfgDircharsmax(szCfgDir));
    
formatex(szFile,charsmax(szFile),"%s/army_ranks.cfg",szCfgDir);
    if(
file_exists(szFile))
        
server_cmd("exec %s"szFile);
}
public 
bomb_defused(id)
{
    if(!
is_user_connected(id)|| !is_user_alive(id) || get_user_team(id) != || get_pcvar_num(gBombDefuseXp) < || get_pcvar_num(gBomb) !=1)
        return

    if(
get_playersnum() <= get_pcvar_num(gMinPlayers))
    {
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"MIN_PLAYERS")
    } else {
        
UserData[id][gExp] += get_pcvar_num(gBombDefuseXp);
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"DEFUSE_XP",get_pcvar_num(gBombDefuseXp))
    }
}
public 
bomb_planted(id)
{
    if(!
is_user_connected(id)|| !is_user_alive(id) || get_user_team(id) != || get_pcvar_num(gBombPlantXp) < || get_pcvar_num(gBomb) !=1)
        return

    if(
get_playersnum() <= get_pcvar_num(gMinPlayers))
    {
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"MIN_PLAYERS")
    } else {
        
UserData[id][gExp] += get_pcvar_num(gBombPlantXp);
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"PLANT_XP",get_pcvar_num(gBombPlantXp))
    }
}
//
public sql_init()
{
    new 
szTableName[64],szHost[64],szUser[64],szPassword[64],szDbName[64],ErrorCode;
    
get_pcvar_string(gTableName,szTableName,63);
    
get_pcvar_string(gHost,szHost,63);
    
get_pcvar_string(gUser,szUser,63);
    
get_pcvar_string(gPassword,szPassword,63);
    
get_pcvar_string(gDbName,szDbName,63);
    
g_SqlTuple SQL_MakeDbTuple(szHost,szUser,szPassword,szDbName);
    new 
Handle:SqlConnection SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
    if(
SqlConnection == Empty_Handle)
        
set_fail_state(g_Error);

    new 
Handle:Queries SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS `%s`(`id` INT(10) NOT NULL AUTO_INCREMENT,`name` VARCHAR(32) NOT NULL,`exp` INT(10) NOT NULL,`level` INT(10) NOT NULL,PRIMARY KEY (id));"szTableName)
    if(!
SQL_Execute(Queries))
    {
        
SQL_QueryError(Queries,g_Error,charsmax(g_Error))
        
set_fail_state(g_Error);
    }
    
SQL_FreeHandle(Queries)
    
SQL_FreeHandle(SqlConnection);
}
//
public plugin_end()
{
    switch(
get_pcvar_num(gSaveType))
    {
        case 
0
        {
            
nvault_close(g_vault);
        }
        case 
1
        {
            if(
g_SqlTuple != Empty_Handle)
                
SQL_FreeHandle(g_SqlTuple);
        }
        default: 
        {
            
nvault_close(g_vault);
        }
    }
}
//
public client_putinserver(id// путинсервер)
{
    for(new 
0i<PlData i++)
        
UserData[id][i] = 0;
    
    
load_data(id);
}
//
public client_disconnect(id)
{
    
save_usr(id);
    for(new 
0i<PlData i++)
        
UserData[id][i] = 0;
}
//
public check_level(id)
{
    if(
UserData[id][gLevel] <= 0)
        
UserData[id][gLevel] = 1;
        
    if(
UserData[id][gExp] < 0)
        
UserData[id][gExp] = 0;

    while(
UserData[id][gExp] >= gLevels[UserData[id][gLevel]]) 
    {
        
UserData[id][gLevel]++;
        
levelUp[id] = 1;
        switch(
get_pcvar_num(gLevelUpmsg))
        {
            case 
1
            {
                new 
szName[33];
                
get_user_name(idszName32);
                static 
buffer[192],len;
                
len format(buffercharsmax(buffer), "^4[^3FrontLineD2^4]^1 %L ^4%s^1",LANG_PLAYER,"PLAYER",szName);
                
len += format(buffer[len], charsmax(buffer) - len" %L",LANG_PLAYER,"NEW_LEVEL"); 
                
len += format(buffer[len], charsmax(buffer) - len" ^4%L^1.",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
                
len += format(buffer[len], charsmax(buffer) - len"%L",LANG_PLAYER,"CONTR");
                
ColorChat(0,NORMAL,buffer);
            }
            case 
2:
            {
                new 
szName[33];
                
get_user_name(idszName32);
                static 
buffer[192],len;
                
len format(buffercharsmax(buffer), "^4[^3FrontLineD2^4]^1 %L ^4%s^1",LANG_PLAYER,"PLAYER",szName);
                
len += format(buffer[len], charsmax(buffer) - len" %L",LANG_PLAYER,"NEW_LEVEL"); 
                
len += format(buffer[len], charsmax(buffer) - len" ^4%L^1.",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
                
len += format(buffer[len], charsmax(buffer) - len"%L",LANG_PLAYER,"CONTR");
                
ColorChat(id,NORMAL,buffer);
            }
        }
    }
}
public 
EventDeath()
{
    new 
iKiller read_data(1);
    new 
iVictim read_data(2);
    new 
head read_data(3);
    if(
iKiller != iVictim && is_user_connected(iKiller) && is_user_connected(iVictim) && UserData[iKiller][gLevel] <= 19)
    {
        
// if tk?
        
if(get_pcvar_num(gTk) && get_user_team(iKiller) == get_user_team(iVictim))
        {
            
UserData[iKiller][gExp] -= get_pcvar_num(gLostXpTk);
            return 
PLUGIN_CONTINUE;
        }
        new 
weapon get_user_weapon(iKiller);
        
UserData[iKiller][gExp] += 1;
        if(
weapon == CSW_KNIFE)
            
UserData[iKiller][gExp] += 3;
            
        if(
head)
            
UserData[iKiller][gExp] += 2;

        if(
weapon == CSW_HEGRENADE)
            
UserData[iKiller][gExp] += 1;

        
check_level(iKiller);
    }
    return 
PLUGIN_CONTINUE;
}
public 
EventRoundStart()
{
    for(new 
id 0id <= MaxPlayersid++)
    {
        if(
is_user_alive(id) && is_user_connected(id))
        {
            if(
restr_blocked)
                return 
PLUGIN_CONTINUE;
            
            if(
get_pcvar_num(gFlash) && gNades[0][UserData[id][gLevel]])
                
give_item(id,"weapon_flashbang");
            
            if(
get_pcvar_num(gSmoke) && gNades[1][UserData[id][gLevel]])
                
give_item(id,"weapon_smokegrenade");
                
            if(
get_pcvar_num(gHe) && gNades[2][UserData[id][gLevel]])
                
give_item(id,"weapon_hegrenade");
            
            if(
get_pcvar_num(gHpbylevel) != 0)
                
set_user_health(id,get_user_health(id)+get_pcvar_num(gHpbylevel)*UserData[id][gLevel]);
                
            if(
get_pcvar_num(gApbylevel) != 0)
                
set_user_armor(id,get_user_armor(id)+get_pcvar_num(gApbylevel)*UserData[id][gLevel]);    
                
            if(
levelUp[id] == && get_pcvar_num(gBonusLevel))
            {
                
GetWeapon(id);
                
levelUp[id] = 0;
            }
        }
    }
    return 
PLUGIN_CONTINUE;
}
////////// save
public load_data(id)
{
    new 
szName[33];
    
get_user_name(id,szName,32);
    switch(
get_pcvar_num(gSaveType))
    {
        case 
0
        {
            static 
data[256], timestamp;
            if(
nvault_lookup(g_vaultszNamedatasizeof(data) - 1timestamp) )
            {
                
next_load_data(iddatasizeof(data) - 1);
                return;
            } else {
                
register_player(id,"");
            }
        }
        case 
1
        {
            new 
szTableName[32],ErrorCode;
            new 
Handle:SqlConnection SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
            
SQL_QuoteString(SqlConnectionszName32szName);
            
get_pcvar_string(gTableName,szTableName,31);
            if(
SqlConnection == Empty_Handle)
            {
                
log_amx(g_Error);
                return ;
            }
            new 
Handle:Query SQL_PrepareQuery(SqlConnection,"SELECT id FROM %s WHERE name = '%s';",szTableName,szName)
            if(!
SQL_Execute(Query))
            {
                
SQL_QueryError(Query,g_Error,511);
                
log_amx(g_Error);
                return ;
            }
            if(
SQL_NumResults(Query) > )
            {
                
next_load_data(id""0);
            } else {
                
register_player(id,"");
            }
            
SQL_FreeHandle(Query);
            
SQL_FreeHandle(SqlConnection);
        }
        default: 
        {
            static 
data[256], timestamp;
            if(
nvault_lookup(g_vaultszNamedatasizeof(data) - 1timestamp) )
            {
                
next_load_data(iddatasizeof(data) - 1);
                return;
            } else {
                
register_player(id,"");
            }
        }
    }
}
public 
next_load_data(id,data[],len)
{
    new 
szName[33];
    
get_user_name(id,szName,32);
    switch(
get_pcvar_num(gSaveType))
    {
        case 
0
        {
            
replace_all(data,len,"|"," ");
            new 
exp[5],level[5];
            
parse(data,exp,4,level,4);
            
UserData[id][gExp]= str_to_num(exp);
            
UserData[id][gLevel]= str_to_num(level);
        }
        case 
1
        {
            new 
szTableName[32],ErrorCode;
            new 
Handle:SqlConnection SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
            
SQL_QuoteString(SqlConnectionszName32szName);
            
get_pcvar_string(gTableName,szTableName,31);
            if(
SqlConnection == Empty_Handle)
            {
                
log_amx(g_Error);
                return ;
            }
            new 
Handle:Query SQL_PrepareQuery(SqlConnection,"SELECT id,exp,level FROM %s WHERE name = '%s';",szTableName,szName)
            if(!
SQL_Execute(Query))
            {
                
SQL_QueryError(Query,g_Error,511)
                
log_amx(g_Error)
            }
            if( 
SQL_NumResults(Query) > 0)
            {
                
UserData[id][gId]= SQL_ReadResult(Query,0); 
                
UserData[id][gExp]= SQL_ReadResult(Query,1); 
                
UserData[id][gLevel]= SQL_ReadResult(Query,2); 
            }
            
SQL_FreeHandle(Query);
            
SQL_FreeHandle(SqlConnection);
        }
        default: 
        {
            
replace_all(data,len,"|"," ");
            new 
exp[5],level[5];
            
parse(data,exp,4,level,4);
            
UserData[id][gExp]= str_to_num(exp);
            
UserData[id][gLevel]= str_to_num(level);
        }
    }
// mini-check lvl_up
    
if(UserData[id][gLevel] <= 0)
        
UserData[id][gLevel] = 1;

    while(
UserData[id][gExp] >= gLevels[UserData[id][gLevel]]) 
        
UserData[id][gLevel]++;
}
public 
register_player(id,data[])
{
    new 
szName[33];
    
get_user_name(id,szName,32);
    switch(
get_pcvar_num(gSaveType))
    {
        case 
0
        {
            
UserData[id][gExp]= 0
            UserData
[id][gLevel]= 1;
        }
        case 
1
        {
            new 
szTableName[32],ErrorCode;
            new 
Handle:SqlConnection SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
            
SQL_QuoteString(SqlConnectionszName32szName);
            
get_pcvar_string(gTableName,szTableName,31);
            if(
SqlConnection == Empty_Handle)
            {
                
log_amx(g_Error);
                return ;
            }
            new 
Handle:Query SQL_PrepareQuery(SqlConnection,"INSERT INTO %s (`id`,`name`,`exp`,`level`) VALUES (NULL,'%s','0','1');",szTableName,szName);
            if(!
SQL_Execute(Query))
            {
                
SQL_QueryError(Query,g_Error,511)
                
log_amx(g_Error)
            }
            
SQL_FreeHandle(Query);
            
SQL_FreeHandle(SqlConnection);
            
UserData[id][gExp] = 0;
            
UserData[id][gLevel] = 1;
            
get_user_id(id);
        }
        default: 
        {
            
UserData[id][gExp]= 0;
            
UserData[id][gLevel]= 1;
        }
    }
}
public 
save_usr(id)
{
    new 
szName[33];
    
get_user_name(id,szName,32);
    switch(
get_pcvar_num(gSaveType))
    {
        case 
0
        {
            static 
data[256];
            
formatex(data255"|%i|%i|"UserData[id][gExp],UserData[id][gLevel]);
            
nvault_set(g_vaultszNamedata);
        }
        case 
1
        {
            new 
szTemp[512],szTable[64];
            
get_pcvar_string(gTableName,szTable,63);
            
format(szTemp,charsmax(szTemp),"UPDATE `%s` SET `exp`='%d',`level`='%d' WHERE `id`='%d';",szTable,UserData[id][gExp],UserData[id][gLevel],UserData[id][gId]);
            
SQL_ThreadQuery(g_SqlTuple,"QueryHandler",szTemp)
            
            
server_print("==========================================");
            
server_print("UPDATE `%s` SET `exp`='%d',`level`='%d' WHERE `id`='%d';",szTable,UserData[id][gExp],UserData[id][gLevel],UserData[id][gId]);
            
        }
        default: 
        {
            static 
data[256];
            
formatex(data255"|%i|%i|"UserData[id][gExp],UserData[id][gLevel]);
            
nvault_set(g_vaultszNamedata);
        }
    }
}
stock get_user_id(id)
{
    new 
szName[33],ErrorCode;
    
get_user_name(id,szName,32);
    new 
Handle:SqlConnection SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
    
SQL_QuoteString(SqlConnectionszName32szName);
    if(
SqlConnection == Empty_Handle)
    {
        
log_amx(g_Error);
        return;
    }
    new 
Handle:Query SQL_PrepareQuery(SqlConnection,"SELECT id FROM hmm WHERE name = '%s';",szName)
    if(!
SQL_Execute(Query))
    {
        
SQL_QueryError(Query,g_Error,511);
        
log_amx(g_Error);
        return;
    }
    if(
SQL_NumResults(Query) > )
        
UserData[id][gId]= SQL_ReadResult(Query,0);
    
SQL_FreeHandle(Query);
    
SQL_FreeHandle(SqlConnection);
}
///////// chat event
public hookSay(id)
{
    if(
is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id))
        return 
PLUGIN_CONTINUE;

    new 
message[192],Len;
    
read_args(message191);
    
remove_quotes(message);
    if(
is_admin_msg(message))
        return 
PLUGIN_CONTINUE;
    
    if(
is_empty_message(message))
    {
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"EMPTY_MSG")
        return 
PLUGIN_HANDLED
    
}
    if(
get_pcvar_num(gSlash))
    {
        if(
is_has_slash(message))
            return 
PLUGIN_HANDLED_MAIN
    
}
    new 
szName[32];
    
get_user_name(id,szName,31);
    if(
is_user_admin(id))
    {
        
Len format(gMessage[Len], charsmax(gMessage) - 1"^4[^3%L^4] ",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
        switch(
get_pcvar_num(gAdminGMsg))
        {
            case 
1:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s^4 : ",szName);
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"%s",message);
            }
            case 
2:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s^4 : ",szName);
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s",message);
            }
            default:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s^4 : ",szName);
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^1%s",message);
            }
        }
        
Chat(id,0,get_pcvar_num(gAllChat));
    }
    else 
    {
        
Len format(gMessage[Len], charsmax(gMessage) - 1"^4[^3%L^4] ",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
        
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s^4 : ",szName);
        
Len += format(gMessage[Len], charsmax(gMessage) - 1"^1%s",message);
        
Chat(id,0,get_pcvar_num(gAllChat));
    }
    return 
PLUGIN_HANDLED_MAIN
}
public 
hookSayTeam(id)
{
    if(
is_user_hltv(id) || is_user_bot(id) || !is_user_connected(id))
        return 
PLUGIN_CONTINUE;

    new 
message[192],Len;
    
read_args(message191);
    
remove_quotes(message);
    if(
is_admin_msg(message))
        return 
PLUGIN_CONTINUE;
        
    if(
is_empty_message(message))
    {
        
ColorChat(id,NORMAL,"^4[^3FrontLineD2^4]^1 %L",LANG_PLAYER,"EMPTY_MSG");
        return 
PLUGIN_HANDLED
    
}
    if(
get_pcvar_num(gSlash))
    {
        if(
is_has_slash(message))
            return 
PLUGIN_HANDLED_MAIN
    
}
    new 
szName[32];
    
get_user_name(id,szName,31);
    if(
is_user_admin(id))
    {
        
Len format(gMessage[Len], charsmax(gMessage) - 1"^3%L^1 ^4[^3%L^4] ^3%s^4 : ",LANG_PLAYER,"SEND_TEAM",LANG_PLAYER,gRankNames[UserData[id][gLevel]],szName);        
        switch(
get_pcvar_num(gAdminGMsg))
        {
            case 
1:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"%s",message);
            }
            case 
2:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s",message);
            }
            default:
            {
                
Len += format(gMessage[Len], charsmax(gMessage) - 1"^1%s",message);
            }
        }
        
Chat(id,1,get_pcvar_num(gAllChat));
    }
    else 
    {
        
Len format(gMessage[Len], charsmax(gMessage) - 1"^3%L^1 ^4[^3%L^4] ",LANG_PLAYER,"SEND_TEAM",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
        
Len += format(gMessage[Len], charsmax(gMessage) - 1"^3%s^4 : ",szName);
        
Len += format(gMessage[Len], charsmax(gMessage) - 1"^1%s",message);
        
Chat(id,1,get_pcvar_num(gAllChat));
    }
    return 
PLUGIN_HANDLED_MAIN
}
stock is_admin_msg(const Message[])
{
    if(
Message[0] == '@')
        return 
true;
        
    return 
false;
}
stock is_empty_message(const Message[])
{
    if(
equal(Message"") || !strlen(Message))
        return 
true;
        
    return 
false;
}
stock Chat(id,team,chat_type)
{
    if(
team)
    {
        if(
chat_type)
        {
            for(new 
0<= MaxPlayersi++)
            {
                if(!
is_user_connected(i))
                    continue
            
                if(
get_user_team(id) == get_user_team(i))
                    
send_message(gMessageidi);
            }
        } else {
            if(
is_user_alive(id))
            {
                for(new 
0<= MaxPlayersi++)
                {
                    if(!
is_user_connected(i) || !is_user_alive(i))
                        continue
                
                    if(
get_user_team(id) == get_user_team(i))
                        
send_message(gMessageidi);
                }
            } else if(!
is_user_alive(id)){
                for(new 
0<= MaxPlayersi++)
                {
                    if(!
is_user_connected(i) || is_user_alive(i))
                        continue
                
                    if(
get_user_team(id) == get_user_team(i))
                        
send_message(gMessageidi);
                }
            }
        }
    } else{
        if(
chat_type)
        {
            for(new 
0<= MaxPlayersi++)
            {
                if(!
is_user_connected(i))
                    continue
            
                
send_message(gMessageidi);
            }
        } else {
            if(
is_user_alive(id))
            {
                for(new 
0<= MaxPlayersi++)
                {
                    if(!
is_user_connected(i) || !is_user_alive(i))
                        continue
                
                    
send_message(gMessageidi);
                }
            } else if(!
is_user_alive(id)){
                for(new 
0<= MaxPlayersi++)
                {
                    if(!
is_user_connected(i) || is_user_alive(i))
                        continue
                
                    
send_message(gMessageidi);
                }
            }
        }
    }
}
stock send_message(const message[], const id, const i)
{
    
message_begin(MSG_ONEgSayText, {000}, i)
    
write_byte(id)
    
write_string(message)
    
message_end()
}
stock is_has_slash(const Message[])
{
    if(
Message[0] == '/')
        return 
true;
        
    return 
false;
}

public 
client_infochanged(id)
{
    new 
newname[32],oldname[32]
    
get_user_info(id"name"newname,31)
    
get_user_name(id,oldname,31)
    if(!
is_user_connected(id) || is_user_bot(id)) 
        return 
PLUGIN_CONTINUE
        
    
if(!equali(newnameoldname))
    {
        new 
szTemp[512],szTable[64];
        
get_pcvar_string(gTableName,szTable,63);
        
format(szTemp,charsmax(szTemp),"UPDATE `%s` SET `name`='%s' WHERE `id`='%d';",szTable,newname,UserData[id][gId]);
        
SQL_ThreadQuery(g_SqlTuple,"QueryHandler",szTemp)    
    }
    return 
PLUGIN_CONTINUE
}
public 
msg_SayText()
{
    new 
arg[32]
    
get_msg_arg_string(2arg31)
    if(
containi(arg,"name")!=-1)
        return 
PLUGIN_HANDLED

    
return PLUGIN_CONTINUE
}
/////////// natives
public plugin_natives()
{
    
register_native("get_user_exp""native_get_user_exp"1);
    
register_native("get_user_lvl""native_get_user_lvl"1);
    
register_native("set_user_exp""native_set_user_exp"1);
    
register_native("set_user_lvl""native_set_user_lvl"1);
    
register_native("get_user_rankname""native_get_user_rankname"1);
}
public 
native_set_user_exp(id,num)
{
    
UserData[id][gExp] = num;
}
public 
native_set_user_lvl(id,num)
{
    
UserData[id][gLevel] = num;
}
public 
native_get_user_exp(id)
{
    return 
UserData[id][gExp];
}
public 
native_get_user_lvl(id)
{
    return 
UserData[id][gLevel];
}
public 
native_get_user_rankname(id)
{
    static 
szRankName[64];
    
format(szRankNamecharsmax(szRankName), "%L",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
    return 
szRankName;
}
//////// informer
/*public Info()
{
    for(new id = 0; id <= MaxPlayers; id++)
    {
        if(!is_user_bot(id) && is_user_connected(id))
        {
            set_hudmessage(100, 100, 100, 0.01, 0.13, 0, 1.0, 1.0, _, _, -1)
            
            static buffer[192], len;
            len = format(buffer, charsmax(buffer), "%L",LANG_PLAYER,"ZVANIE");
            len += format(buffer[len], charsmax(buffer) - len, " %L",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
            if(UserData[id][gLevel] <= 19)
            {
                len += format(buffer[len], charsmax(buffer) - len, "^n%L",LANG_PLAYER,"PL_XP",UserData[id][gExp],gLevels[UserData[id][gLevel]]);
            } else {
                len += format(buffer[len], charsmax(buffer) - len, "^n%L",LANG_PLAYER,"PL_MAX");
            }
            ShowSyncHudMsg(id, g_MsgHud, "%s", buffer);
        }
    }
    return PLUGIN_CONTINUE
}
public StatusText()
{
    for(new id = 0; id <= MaxPlayers; id++)
    {
        if(!is_user_bot(id) && is_user_connected(id) && is_user_alive(id))
        {
            static buffer[100], len;
            len = format(buffer, charsmax(buffer), "%L",LANG_PLAYER,gRankNames[UserData[id][gLevel]]);
            if(UserData[id][gLevel] <= 19)
            {
                len += format(buffer[len], charsmax(buffer) - len, " | %L",LANG_PLAYER,"PL_XP_STEXT",UserData[id][gExp],gLevels[UserData[id][gLevel]]);
            } else {
                len += format(buffer[len], charsmax(buffer) - len, " | %L",LANG_PLAYER,"PL_MAX");
            }
            message_begin(MSG_ONE_UNRELIABLE, gStatusText, _, id)
            write_byte(0)
            write_string(buffer)
            message_end();
        }
    }
}*/
/////// weap menu per lvl
public GetWeapon(id)
{
    new 
szText[700 char];
    
formatexszTextcharsmaxszText ), "%L"id"GW_TITLE");
    new 
menu menu_createszText"gw_menu" );
//
    
formatexszTextcharsmaxszText ), "awp");
    
menu_additemmenuszText"1");
//
    
formatexszTextcharsmaxszText ), "ak-47");
    
menu_additemmenuszText"2");
//
    
formatexszTextcharsmaxszText ), "m4a1");
    
menu_additemmenuszText"3");
//
    
formatexszTextcharsmaxszText ), "famas");
    
menu_additemmenuszText"4");
//
    
menu_setpropmenuMPROP_EXITMEXIT_ALL );
    
menu_displayidmenu,0);
    return 
PLUGIN_CONTINUE;
}
public 
gw_menu(id,menu,item)
{
    if( 
item == MENU_EXIT )
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
data], iName64 ], accesscallback;
    
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
    new 
key str_to_numdata );
    switch( 
key )
    {
        case 
1:
        {
            
give_item(id,"weapon_awp");
            
cs_set_user_bpammoidCSW_AWP100);
        }
        case 
2:
        {
            
give_item(id,"weapon_ak47");
            
cs_set_user_bpammoidCSW_AK47200);
        }
        case 
3:
        {
            
give_item(id,"weapon_m4a1");
            
cs_set_user_bpammoidCSW_M4A1200);
        }
        case 
4:
        {
            
give_item(id,"weapon_famas");
            
cs_set_user_bpammoidCSW_FAMAS200);
        }
    }
    
    return 
PLUGIN_HANDLED;
}
public 
QueryHandler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
    switch(
FailState)
    {
        case -
2log_amx("[FrontLineD2] Failed to connect (%d): %s"ErrcodeError);
        case -
1log_amx("[FrontLineD2] (%d): %s"ErrcodeError);
    }
    return 
PLUGIN_HANDLED
}
public 
fw_ServerDown() 

    for(new 
0<= MaxPlayersi++)
    {
        if(
is_user_connected(i))
            
save_usr(i)
    }
}
public 
admin_menu(id)
{
    new 
szText[700 char];
    
formatexszTextcharsmaxszText ), "%L"id"ARMY_MENU");
    new 
menu menu_createszText"admin_menu_hl" );
//
    
formatexszTextcharsmaxszText ), "%L"id"ADD_EXP");
    
menu_additemmenuszText"1");
    
formatexszTextcharsmaxszText ), "%L"id"SET_LVL");
    
menu_additemmenuszText"2");
//
    
menu_setpropmenuMPROP_EXITMEXIT_ALL );
    
menu_displayidmenu,0);
    return 
PLUGIN_CONTINUE;
}
public 
admin_menu_hl(id,menu,item)
{
    if( 
item == MENU_EXIT )
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
data], iName64 ], accesscallback;
    
menu_item_getinfomenuitemaccessdatacharsmaxdata ), iNamecharsmaxiName ), callback );
    new 
key str_to_numdata );
    switch( 
key )
    {
        case 
1:
        {
            
give_exp_menu(id);
        }
        case 
2:
        {
            
set_level_menu(id)
        }
    }
    
    return 
PLUGIN_HANDLED;
}
public 
give_exp_menu(id)
{
    if(
get_user_flags(id) & ADM_MENU)
    {
        new 
players[32], num;
        
get_players(playersnum)
        new 
tempname[32], info[10];
        new 
players_menu menu_create("Выберите РёРіСЂРѕРєР° :""give_exp_hl")
        for(new 
0numi++)
        {
            
get_user_name(players[i], tempname31);
            
num_to_str(players[i], info9);
            
menu_additem(players_menutempnameinfo0);
        }
        
menu_setprop(players_menuMPROP_EXITMEXIT_ALL);
        
menu_display(idplayers_menu0);
    }
    return 
PLUGIN_CONTINUE
}
public 
give_exp_hl(idplayers_menuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(players_menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[6],accessmenuiName[64], callback;
    
menu_item_getinfo(players_menuitemaccessmenudatacharsmax(data), iNamecharsmax(iName), callback)
    new 
player str_to_num(data)
    
client_cmd(id"messagemode ^"add_exp %i^""player);
    
ColorChat(id,NORMAL,"^4[^3Army Ranks^4]^1 %L",LANG_PLAYER,"TYPE_AMOUNT");
    return 
PLUGIN_CONTINUE
}

public 
add_exp_post(id)
{
    if(
get_user_flags(id) & ADM_MENU)
    {
        new 
param[10]
        
read_argv(2paramcharsmax(param))
        for (new 
xstrlen(param); x++)
        {
            if(!
isdigit(param[x]))
            { 
                
ColorChat(id,NORMAL,"^4[^3Army Ranks^4]^1 %L",LANG_PLAYER,"MUST_NUM")
                
give_exp_menu(id)
                return 
PLUGIN_HANDLED
            
}
        }
        new 
amount str_to_num(param);
        if (
amount 1)
        {
            
ColorChat(id,NORMAL,"^4[^3Army Ranks^4]^1 %L",LANG_PLAYER,"MIN_EXP"
            
give_exp_menu(id)
            return 
PLUGIN_HANDLED
        
}
        if (
amount 999)
        {
            
ColorChat(id,NORMAL,"^4[^3Army Ranks^4]^1 %L",LANG_PLAYER,"MAX_EXP")  
            
give_exp_menu(id)
            return 
PLUGIN_HANDLED
        
}
        
read_argv(1paramcharsmax(param))
        new 
player str_to_num(param)    
//
        
UserData[player][gExp] += amount;
        if(
UserData[player][gLevel] <= 0)
            
UserData[player][gLevel] = 1;
    
        while(
UserData[player][gExp] >= gLevels[UserData[player][gLevel]]) 
            
UserData[player][gLevel]++;
//        
        
new names[2][32]
        
get_user_name(idnames[0], 31)
        
get_user_name(playernames[1], 31)
        
ColorChat(0NORMAL"^4[^3Army Ranks^4]^1 %L",LANG_PLAYER,"ADMIN_ADD"names[0], amountnames[1]);
        
save_usr(player);
    }
    return 
PLUGIN_HANDLED
}
public 
set_level_menu(id)
{
    if(
get_user_flags(id) & ADM_MENU)
    {
        
UserData[id][gTempKey] = 0;
        new 
players[32], num;
        
get_players(playersnum)
        new 
tempname[32], info[10];
        new 
players_menu menu_create("Выберите РёРіСЂРѕРєР° :""set_level_hl")
        for(new 
0numi++)
        {
            
get_user_name(players[i], tempname31);
            
num_to_str(players[i], info9);
            
menu_additem(players_menutempnameinfo0);
        }
        
menu_setprop(players_menuMPROP_EXITMEXIT_ALL);
        
menu_display(idplayers_menu0);
    }
    return 
PLUGIN_CONTINUE
}
public 
set_level_hl(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], _accesscallback;
    
menu_item_getinfomenuitem_accessdatacharsmax(data), __callback);
    
UserData[id][gTempKey] = str_to_num(data);
    
set_level_pl(id);
    return 
PLUGIN_CONTINUE
}
public 
set_level_pl(id)
{
    static 
szText[1024];
    
formatex(szText,charsmax(szText), "%L"id"CHOOSE_RANKN");
    new 
menu menu_createszText"set_level_phl");
    
//======
    
for(new 1sizeof(gRankNames); i++)
    {
        new 
szItem[100],lang[10],num[5];
        
format(lang,9,"I_%d",i);
        
format(num,4,"%d",i);
        
formatex(szItem,charsmax(szItem),"%L",id,lang);
        
menu_additem(menu,szItem,num);
    }
    
//======
    
menu_setprop(menuMPROP_BACKNAME"Назад ");
    
menu_setprop(menuMPROP_NEXTNAME"Далее ");
    
menu_setprop(menuMPROP_EXITNAME"Выход ");
    
menu_displayidmenu,0);
    return 
PLUGIN_CONTINUE;
}
public 
set_level_phl(id,menu,item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], _accesscallback;
    
menu_item_getinfomenuitem_accessdatacharsmax(data), __callback);
    new 
level str_to_num(data);
    if(
UserData[id][gTempKey] >= && UserData[id][gTempKey] <= 32)
    {
        
UserData[UserData[id][gTempKey]][gLevel] = level;
        
UserData[UserData[id][gTempKey]][gExp] = gLevels[level-1];
        new 
szName[2][32];
        
get_user_name(idszName[0], 31);
        
get_user_name(UserData[id][gTempKey], szName[1], 31);
        
ColorChat(0NORMAL"^4[^3Army Ranks^4]^1 %L %L %s",LANG_PLAYER,"ADMIN_LEVEL"szName[0],LANG_PLAYER,gRankNames[level],szName[1])
        
save_usr(UserData[id][gTempKey]);
        } else {
        
set_level_menu(id);
    }
    
UserData[id][gTempKey] = 0;
    return 
PLUGIN_HANDLED;

__________________
Mess with the best, die like the rest!

Quote:
Originally Posted by aron9forever View Post
You're trying to run 11 servers on each core?
You're bringing the word retard to a new level.
DeathOrAlive is offline
Send a message via Skype™ to DeathOrAlive
 


Thread Tools
Display Modes

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 22:15.


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