AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Can someone compile this one... (https://forums.alliedmods.net/showthread.php?t=271301)

DeathOrAlive 09-09-2015 19:34

Can someone compile this one...
 
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;



wickedd 09-09-2015 20:18

Re: Can someone compile this one...
 
It compiles for me, but it has 2 warnings. What errors are you getting? Where are you compiling it online or locally? If you're compiling it locally. What version of AMXX are you compiling it with.

P.S. Next time you have a large plugin just attach .sma.

DeathOrAlive 09-09-2015 20:39

Re: Can someone compile this one...
 
I have no errors. I just can't compile it online in amxmodx website because of the <colorchat> and I just wanted someone to compile it for me...

wickedd 09-09-2015 20:45

Re: Can someone compile this one...
 
You need to compile it locally, plus you will need colorchat.inc. We can't compile it for you since we're not allowed to post or link to .amxx files.

DeathOrAlive 09-09-2015 21:07

Re: Can someone compile this one...
 
When I try to compile it, it says "Pawn compiler not found. Please check your settings and try again."

fysiks 09-09-2015 21:21

Re: Can someone compile this one...
 
Compile it manually in Windows Explorer. Simply drag the .sma file onto compile.exe and the compiled plugin should show up in a folder.

DeathOrAlive 09-09-2015 21:46

Re: Can someone compile this one...
 
Compiled it but it doesn't work, putted the original plugin without my edit, still doesn't work... :(

wickedd 09-09-2015 22:09

Re: Can someone compile this one...
 
Then you need to fix the problem or post in the plugin's thread.

Jhob94 09-10-2015 09:06

Re: Can someone compile this one...
 
you need to put colorchat.inc at scripting/includes/ folder

DeathOrAlive 09-10-2015 09:22

Re: Can someone compile this one...
 
I putted everything, but the plugin still doesn't want to work...


All times are GMT -4. The time now is 22:15.

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