Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Čia galite paskelbti apie naudingus pluginus, kuriuos radote internete ar kur kitur ir manote, kad jie bus naudingi kitiems. Savo kurtus pluginus prašome skelbti "Naujai pateikti pluginai" forume.
Forum rules
1. Pluginai turi turėti išsamius aprašymus.
2. Aprašymai turi būti lietuvių kalba.
Post Reply
nullatonce
O taip. Jis jau surinko 50 žinučių!
Posts: 73
Joined: 2016 Sep 06 23:57
Skype: nullatonce

Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Post by nullatonce »

Nors dar visai nesenai pradėjau kažką konstruoti pluginuose, bet norėtūsi kažką ir duoti kitiems ne tik imti.

Orginalus pluginas: Basic SkillPoints v2.0.2 SE with API

Prisitaikiau taip kaip man reikėjo, pakeista:
  • Prefix'as chate pagal žaidėjo lygį (kiek pamenu kodas apibūdina plugino elgesį tik jei žaidėjas T arba CT komandoje t.y. bbž ką rašys kai žaidėjas bus spec.)
  • Žaidėjo informacijos saugorimas ant nicko (pats naudoju SQL versiją šio plugino, tai man informaciją saugo authid > žaidėjo_nickas (seniau buvo steam id) ir yra kitas toks pat laukelis nick kur taip pat saugo žaidėjo nicką)
    saugojimo tipą galit pasikeist 295 eilutėj.

    Code: Select all

    get_user_name( id , g_szAuthID[ id ], charsmax( g_szAuthID[ ] ) )
    ai ir dar užkomentavau
    //register_concmd( "bps_give", "CmdGivePoints", ADMIN, "<target> <skillpoints to give>" )
    //register_concmd( "bps_take", "CmdTakePoints", ADMIN, "<target> <skillpoints to take>" )
    žaiskite sąžiningai

BasicSkillPointsSQL_SE.sma

Code: Select all

#include < amxmodx >#include < amxmisc >#include < cstrike >#include < csx >#include < hamsandwich >#include < sqlx > #define PLUGIN      "Basic SkillPoints Special Edition (SQL)"#define VERSION     "2.0.2"#define AUTHOR      "guipatinador" #define SQL_TABLE   "skillpoints_v2"#define PREFIX      "[SkillPoints]" #define MAX_PLAYERS 32#define ADMIN       ADMIN_RCON#define CONNECT_TASK    1024 #define MAX_CLASSES 2#define MAX_LEVELS  2#define MAX_PONTUATION  10000 // max skillpoints per player #define IsPlayer(%1)        ( 1 <= %1 <= g_iMaxPlayers ) new const CLASSES[ MAX_CLASSES ][ ] = {    "Jaunesnysis BOTAS",    "BOTAS",} new const LEVELS[ MAX_LEVELS ] = {    200,    500} new g_iKnew const g_ChatAdvertise[ ][ ] = {    "!g%s!n Write!t /myskill!n to see your SkillPoints",    "!g%s!n Write!t /restartskill!n to restart your SkillPoints and level",    "!g%s!n Write!t /rankskill!n to see your rank",    "!g%s!n Write!t /topskill!n to see the top SkillPointers"} new g_iMaxPlayersnew g_szAuthID[ MAX_PLAYERS + 1 ][ 35 ]new g_szName[ MAX_PLAYERS + 1 ][ 32 ] new Handle:g_SqlTuplenew g_iCountnew g_iRank[ MAX_PLAYERS + 1 ]new g_iCurrentKills[ MAX_PLAYERS + 1 ]new g_szMotd[ 1536 ] new g_pcvarHostnew g_pcvaruUsernew g_pcvarPassnew g_pcvarDB new g_iPoints[ MAX_PLAYERS + 1 ]new g_iLevels[ MAX_PLAYERS + 1 ]new g_iClasses[ MAX_PLAYERS + 1 ] new g_iKills[ MAX_PLAYERS + 1 ]new g_iDeaths[ MAX_PLAYERS + 1 ]new g_iHeadShots[ MAX_PLAYERS + 1 ]new g_iKnifeKills[ MAX_PLAYERS + 1 ]new g_iKnifeDeaths[ MAX_PLAYERS + 1 ]new g_iGrenadeKills[ MAX_PLAYERS + 1 ]new g_iGrenadeDeaths[ MAX_PLAYERS + 1 ]new g_iBombExplosions[ MAX_PLAYERS + 1 ]new g_iDefusedBombs[ MAX_PLAYERS + 1 ]new g_iWonRounds[ MAX_PLAYERS + 1 ] new g_TimeBetweenAds new bool:g_bRoundEnded new g_iAdsOnChatnew g_iEnableAnnounceOnChatnew g_iEnableShowSkillPointsOnNicknew g_iHideChangeNickNotificationnew g_iEnableSkillPointsCmdnew g_iEnableSkillPointsRestartnew g_iEnableSkillPointsCmdRanknew g_iEnableSkillPointsTop15new g_iHideCmdsnew g_iEnableWonPointsHournew g_iWonPointsHournew g_iLostPointsTKnew g_iLostPointsSuicidenew g_iWonPointsKillnew g_iLostPointsDeathnew g_iWonPointsHeadshotnew g_iLostPointsHeadshotnew g_iWonPointsKnifenew g_iLostPointsKnifenew g_iWonPointsGrenadenew g_iLostPointsGrenadenew g_iWonPointsTerroristsnew g_iWonPointsCounterTerroristsnew g_iLostPointsTerroristsnew g_iLostPointsCounterTerroristsnew g_iWonPointsPlanternew g_iWonPointsPlanterExplodenew g_iWonPointsDefusernew g_iWonPoints4knew g_iWonPoints5knew g_iNegativePoints public plugin_init( ){    register_plugin( PLUGIN, VERSION, AUTHOR )        register_clcmd( "say", "ClCmd_Say" )    register_clcmd( "say_team", "ClCmd_Say_team" )        //register_concmd( "bps_give", "CmdGivePoints", ADMIN, "<target> <skillpoints to give>" )    //register_concmd( "bps_take", "CmdTakePoints", ADMIN, "<target> <skillpoints to take>" )        RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawnPost", 1 )        register_message( get_user_msgid( "SayText" ), "MessageSayText" )        register_event( "SendAudio", "TerroristsWin", "a", "2&%!MRAD_terwin" )    register_event( "SendAudio", "CounterTerroristsWin", "a", "2&%!MRAD_ctwin" )        register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" )    register_logevent( "EventRoundEnd", 2, "1=Round_End" )        g_iMaxPlayers = get_maxplayers( )        RegisterCvars( )    SqlInit( )} public plugin_natives( ){    register_library( "skillpoints" )        register_native( "skillpoints", "_skillpoints" )}  public _skillpoints( plugin, params ){    if( params != 1 )    {        return 0    }        new id = get_param( 1 )    if( !id )    {        return 0    }        return g_iPoints[ id ]} public RegisterCvars( ){    g_iAdsOnChat = register_cvar( "bps_ads", "1" )    g_TimeBetweenAds = register_cvar( "bps_time_between_ads", "300.0" )    g_iEnableAnnounceOnChat = register_cvar( "bps_announce_on_chat", "1" )    g_iEnableShowSkillPointsOnNick = register_cvar( "bps_skillpoints_on_nick", "1" )    g_iHideChangeNickNotification = register_cvar( "bps_hide_change_nick_notification", "1" )    g_iEnableSkillPointsCmd = register_cvar( "bps_skillpoints_cmd", "1" )    g_iEnableSkillPointsRestart = register_cvar( "bps_skillpoints_cmd_restart", "1" )    g_iEnableSkillPointsCmdRank = register_cvar( "bps_skillpoints_cmd_rank", "1" )    g_iEnableSkillPointsTop15 = register_cvar( "bps_skillpoints_cmd_top15", "1" )    g_iHideCmds = register_cvar( "bps_hide_cmd", "0" )    g_iEnableWonPointsHour = register_cvar( "bps_enable_win_per_hour", "1" )    g_iWonPointsHour = register_cvar( "bps_won_points_hour", "5" )    g_iLostPointsTK = register_cvar( "bps_lost_points_tk", "5" )    g_iLostPointsSuicide = register_cvar( "bps_lost_points_suicide", "1" )    g_iWonPointsKill = register_cvar( "bps_won_points_kill", "1" )    g_iLostPointsDeath = register_cvar( "bps_lost_points_kill", "1" )    g_iWonPointsHeadshot = register_cvar( "bps_won_points_headshot", "2" )    g_iLostPointsHeadshot = register_cvar( "bps_lost_points_headshot", "2" )    g_iWonPointsKnife = register_cvar( "bps_won_points_knife", "3" )    g_iLostPointsKnife = register_cvar( "bps_lost_points_knife", "3" )    g_iWonPointsGrenade = register_cvar( "bps_won_points_grenade", "3" )    g_iLostPointsGrenade = register_cvar( "bps_lost_points_grenade", "3" )    g_iWonPointsTerrorists = register_cvar( "bps_won_points_ts", "1" )    g_iWonPointsCounterTerrorists = register_cvar( "bps_won_points_cts", "1" )    g_iLostPointsTerrorists = register_cvar( "bps_lost_points_ts", "1" )    g_iLostPointsCounterTerrorists = register_cvar( "bps_lost_points_cts", "1" )    g_iWonPointsPlanter = register_cvar( "bps_won_points_planter", "1" )    g_iWonPointsPlanterExplode = register_cvar( "bps_won_points_planter_explode", "2" )     g_iWonPointsDefuser = register_cvar( "bps_won_points_defuser", "3" )    g_iWonPoints4k = register_cvar( "bps_won_points_4k", "4" )    g_iWonPoints5k = register_cvar( "bps_won_points_5k", "5" )    g_iNegativePoints = register_cvar( "bps_negative_points", "0" )        g_pcvarHost = register_cvar( "bps_sql_host", "", FCVAR_PROTECTED )    g_pcvaruUser = register_cvar( "bps_sql_user", "", FCVAR_PROTECTED )    g_pcvarPass = register_cvar( "bps_sql_pass", "", FCVAR_PROTECTED )    g_pcvarDB = register_cvar( "bps_sql_db", "", FCVAR_PROTECTED )        if( get_pcvar_num( g_iAdsOnChat ) )    {        set_task( get_pcvar_float( g_TimeBetweenAds ), "ChatAdvertisements", _, _, _, "b" )    }} public SqlInit( ){    new szHost[ 32 ]    new szUser[ 32 ]    new szPass[ 32 ]    new szDB[ 32 ]        get_pcvar_string( g_pcvarHost, szHost, charsmax( szHost ) )    get_pcvar_string( g_pcvaruUser, szUser, charsmax( szUser ) )    get_pcvar_string( g_pcvarPass, szPass, charsmax( szPass ) )    get_pcvar_string( g_pcvarDB, szDB, charsmax( szDB ) )        g_SqlTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB )        new g_Error[ 512 ]    new ErrorCode    new Handle:SqlConnection = SQL_Connect( g_SqlTuple, ErrorCode, g_Error, charsmax( g_Error ) )        if( SqlConnection == Empty_Handle )    {        set_fail_state( g_Error )    }        new Handle:Queries    Queries = SQL_PrepareQuery( SqlConnection,    "CREATE TABLE IF NOT EXISTS %s \    ( authid VARCHAR( 35 ) PRIMARY KEY,\    nick VARCHAR( 32 ),\    skillpoints INT( 7 ),\    level INT( 2 ),\    kills INT( 7 ),\    deaths INT( 7 ),\    headshots INT( 7 ),\    knife_kills INT( 7 ),\    knife_deaths INT( 7 ),\    grenade_kills INT( 7 ),\    grenade_deaths INT( 7 ),\    bomb_explosions INT( 7 ),\    defused_bombs INT( 7 ),\    own_rounds INT( 7 ) )",    SQL_TABLE )        if( !SQL_Execute( Queries ) )    {        SQL_QueryError( Queries, g_Error, charsmax( g_Error ) )        set_fail_state( g_Error )    }        SQL_FreeHandle( Queries )    SQL_FreeHandle( SqlConnection )        MakeTop15( )} public plugin_end( ){    SQL_FreeHandle( g_SqlTuple )} public client_authorized( id ){    set_task( 4.0, "Delayed_client_authorized", id + CONNECT_TASK ) } public Delayed_client_authorized( id ){       id -= CONNECT_TASK        get_user_name( id , g_szAuthID[ id ], charsmax( g_szAuthID[ ] ) )    get_user_info( id, "name", g_szName[ id ], charsmax( g_szName[ ] ) )        replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "'", "*" )    replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "^"", "*" )    replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "`", "*" )    replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "´", "*" )        g_iPoints[ id ] = 0    g_iLevels[ id ] = 0    g_iClasses[ id ] = 0    g_iCurrentKills[ id ] = 0        g_iKills[ id ] = 0    g_iDeaths[ id ] = 0    g_iHeadShots[ id ] = 0    g_iKnifeKills[ id ] = 0    g_iKnifeDeaths[ id ] = 0    g_iGrenadeKills[ id ] = 0    g_iGrenadeDeaths[ id ] = 0    g_iBombExplosions[ id ] = 0    g_iDefusedBombs[ id ] = 0    g_iWonRounds[ id ] = 0        LoadPoints( id )        if( get_pcvar_num( g_iEnableWonPointsHour ) && get_pcvar_num( g_iWonPointsHour ) )    {        set_task( 3600.0, "GiveSkillPointsHour", id, _, _, "b" )    }} public client_infochanged( id ){    if( is_user_connected( id ) && !task_exists( id + CONNECT_TASK ) )    {        new szNewName[ 32 ]        get_user_info( id, "name", szNewName, charsmax( szNewName ) )                 new iLen = strlen( szNewName )                new iPos = iLen - 1                if( szNewName[ iPos ] == '>' )        {                new i            for( i = 1; i < 7; i++ )            {                    if( szNewName[ iPos - i ] == '<' )                {                        iLen = iPos - i                    szNewName[ iLen ] = EOS                    break                }            }        }                trim( szNewName )                if( !equal( g_szName[ id ], szNewName ) )           {                 copy( g_szName[ id ], charsmax( g_szName[ ] ), szNewName )                        replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "'", "*" )            replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "^"", "*" )            replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "`", "*" )            replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "´", "*" )        }     }} public client_disconnect( id ){       if( task_exists( id ) )    {        remove_task( id )    }        if( task_exists( id + CONNECT_TASK ) )    {        remove_task( id + CONNECT_TASK )    }        CheckLevelAndSave( id )} public ClCmd_Say( id ){       new szCmd[ 12 ]    read_argv( 1, szCmd, charsmax( szCmd ) )        if( equali( szCmd[ 1 ], "myskill" ) )    {        GetSkillPoints( id )    }        else if( equali( szCmd[ 1 ], "restartskill" ) )    {        RestartSkillPoints( id )    }        else if( equali( szCmd[ 1 ], "rankskill" ) )    {        SkillRank( id )    }        else if( equali( szCmd[ 1 ], "topskill" ) )    {        TopSkill( id )    }        new chat[192], none[2][32], message[192], message2[192], name[192]    read_argv(1, chat, sizeof(chat) -1)    formatex(none[0], sizeof(none) -1, ""), formatex(none[1], sizeof(none) -1, " ")        if(!equali(chat, none[0]) && !equali(chat, none[1]))    {        get_user_name(id, name, sizeof(name) -1)        switch(cs_get_user_team(id))        {            case CS_TEAM_CT: {                if(!is_user_alive(id))                    formatex(message, sizeof(message) -1, "!g[%s]!n *DEAD* !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                else                    formatex(message, sizeof(message) -1, "!g[%s]!n !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                new iPlayers[32], iNum, iPid                get_players(iPlayers, iNum)                for(new i; i < iNum; i++)                {                    iPid = iPlayers[i]                    if(cs_get_user_team(iPid) != CS_TEAM_CT)                        continue;                                        ClientPrintColor(iPid,  message)                }            }            case CS_TEAM_T: {                if(!is_user_alive(id))                    formatex(message2, sizeof(message2) -1, "!g[%s]!n *DEAD* !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                else                     formatex(message2, sizeof(message2) -1, "!g[%s] !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                new iPlayers[32], iNum, iPid                get_players(iPlayers, iNum)                for(new i; i< iNum; i++)                {                    iPid = iPlayers[i]                    if(cs_get_user_team(iPid) != CS_TEAM_T)                        continue                                        ClientPrintColor(iPid, message2)                }            }        }    }    return PLUGIN_HANDLED_MAIN;} public ClCmd_Say_team(id){    new chat[192], none[2][32], message[192], message2[192], name[192]    read_argv(1, chat, sizeof(chat) -1)    formatex(none[0], sizeof(none) -1, ""), formatex(none[1], sizeof(none) -1, " ")        if(!equali(chat, none[0]) && !equali(chat, none[1]))    {        get_user_name(id, name, sizeof(name) -1)        switch(cs_get_user_team(id))        {            case CS_TEAM_CT: {                if(!is_user_alive(id))                    formatex(message, sizeof(message) -1, "!g[%s]!n (Counter-Terrorists) *DEAD* !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                else                    formatex(message, sizeof(message) -1, "!g[%s]!n (Counter-Terrorists) !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                new iPlayers[32], iNum, iPid                get_players(iPlayers, iNum)                for(new i; i < iNum; i++)                {                    iPid = iPlayers[i]                    if(cs_get_user_team(iPid) != CS_TEAM_CT)                        continue;                                        ClientPrintColor(iPid,  message)                }            }            case CS_TEAM_T: {                if(!is_user_alive(id))                    formatex(message2, sizeof(message2) -1, "!g[%s]!n (Terrorists) *DEAD* !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                else                     formatex(message2, sizeof(message2) -1, "!g[%s]!n (Terrorists) !t%s !n: %s", CLASSES[ g_iLevels[ id ] ], name, chat)                new iPlayers[32], iNum, iPid                get_players(iPlayers, iNum)                for(new i; i< iNum; i++)                {                    iPid = iPlayers[i]                    if(cs_get_user_team(iPid) != CS_TEAM_T)                        continue                                        ClientPrintColor(iPid, message2)                }            }        }        return PLUGIN_HANDLED_MAIN;    }    return PLUGIN_CONTINUE;   } public GiveSkillPointsHour( id ){    g_iPoints[ id ] += get_pcvar_num( g_iWonPointsHour )        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )    {        ClientPrintColor( id, "!g%s!n You earned!t %i!n point%s for playing more one hour", PREFIX, get_pcvar_num( g_iWonPointsHour ), get_pcvar_num( g_iWonPointsHour ) > 1 ? "s" : "" )    }} public client_death( iKiller, iVictim, iWpnIndex, iHitPlace, iTK ){       if( !IsPlayer( iKiller ) || !IsPlayer( iVictim ) )    {        return PLUGIN_CONTINUE    }        if( iTK )    {        g_iPoints[ iKiller ] -= get_pcvar_num( g_iLostPointsTK )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsTK ) )        {            ClientPrintColor( iKiller, "!g%s!n You have lost!t %i!n point%s by killing a teammate", PREFIX, get_pcvar_num( g_iLostPointsTK ), get_pcvar_num( g_iLostPointsTK ) > 1 ? "s" : ""  )        }                return PLUGIN_CONTINUE    }        if( iKiller == iVictim )    {        g_iPoints[ iKiller ] -= get_pcvar_num( g_iLostPointsSuicide )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsSuicide ) )        {            ClientPrintColor( iKiller, "!g%s!n You have lost!t %i!n point%s for committing suicide", PREFIX, get_pcvar_num( g_iLostPointsSuicide ), get_pcvar_num( g_iLostPointsSuicide ) > 1 ? "s" : ""  )        }                g_iDeaths[ iKiller ]++                return PLUGIN_CONTINUE    }        g_iCurrentKills[ iKiller ]++    g_iKills[ iKiller ]++        g_iDeaths[ iVictim ]++        if( iWpnIndex == CSW_HEGRENADE )    {        g_iPoints[ iKiller ] += get_pcvar_num( g_iWonPointsGrenade )        g_iGrenadeKills[ iKiller]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iWonPointsGrenade ) )        {            ClientPrintColor( iKiller, "!g%s!n You earned!t %i!n point%s by killing %s with a grenade", PREFIX, get_pcvar_num( g_iWonPointsGrenade ), get_pcvar_num( g_iWonPointsGrenade ) > 1 ? "s" : "" ,g_szName[ iVictim ] )        }                g_iPoints[ iVictim ] -= get_pcvar_num( g_iLostPointsGrenade )        g_iGrenadeDeaths[ iVictim ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsGrenade ) )        {            ClientPrintColor( iVictim, "!g%s!n You have lost!t %i!n point%s for dying with a grenade", PREFIX, get_pcvar_num( g_iLostPointsGrenade ), get_pcvar_num( g_iLostPointsGrenade ) > 1 ? "s" : "" )        }                return PLUGIN_CONTINUE    }        if( iWpnIndex == CSW_KNIFE )    {        g_iPoints[ iKiller ] += get_pcvar_num( g_iWonPointsKnife )        g_iKnifeKills[ iKiller ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iWonPointsKnife ) )        {            ClientPrintColor( iKiller, "!g%s!n You earned!t %i!n point%s by killing %s with knife", PREFIX, get_pcvar_num( g_iWonPointsKnife ), get_pcvar_num( g_iWonPointsKnife ) > 1 ? "s" : "" ,g_szName[ iVictim ] )        }                g_iPoints[ iVictim ] -= get_pcvar_num( g_iLostPointsKnife )        g_iKnifeDeaths[ iVictim ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsKnife ) )        {            ClientPrintColor( iVictim, "!g%s!n You have lost!t %i!n point%s for dying with knife", PREFIX, get_pcvar_num( g_iLostPointsKnife ), get_pcvar_num( g_iLostPointsKnife ) > 1 ? "s" : "" )        }                return PLUGIN_CONTINUE    }        if( iHitPlace == HIT_HEAD )    {        g_iPoints[ iKiller ] += get_pcvar_num( g_iWonPointsHeadshot )        g_iHeadShots[ iKiller ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iWonPointsHeadshot ) )        {            ClientPrintColor( iKiller, "!g%s!n You earned!t %i!n point%s by killing %s with a headshot", PREFIX, get_pcvar_num( g_iWonPointsHeadshot ), get_pcvar_num( g_iWonPointsHeadshot ) > 1 ? "s" : "" ,g_szName[ iVictim ] )        }                g_iPoints[ iVictim ] -= get_pcvar_num( g_iLostPointsHeadshot )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsHeadshot ) )        {            ClientPrintColor( iVictim, "!g%s!n You have lost!t %i!n point%s for dying with a headshot", PREFIX, get_pcvar_num( g_iLostPointsHeadshot ), get_pcvar_num( g_iLostPointsHeadshot ) > 1 ? "s" : "" )        }                return PLUGIN_CONTINUE    }        g_iPoints[ iKiller ] += get_pcvar_num( g_iWonPointsKill )        if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iWonPointsKill ) )    {        ClientPrintColor( iKiller, "!g%s!n You earned!t %i!n point%s by killing %s", PREFIX, get_pcvar_num( g_iWonPointsKill ), get_pcvar_num( g_iWonPointsKill ) > 1 ? "s" : "", g_szName[ iVictim ] )    }        g_iPoints[ iVictim ] -= get_pcvar_num( g_iLostPointsDeath )        if( get_pcvar_num( g_iEnableAnnounceOnChat ) && get_pcvar_num( g_iLostPointsDeath ) )    {        ClientPrintColor( iVictim, "!g%s!n You have lost!t %i!n point%s for dying", PREFIX, get_pcvar_num( g_iLostPointsDeath ), get_pcvar_num( g_iLostPointsDeath ) > 1 ? "s" : "" )    }        return PLUGIN_CONTINUE} public TerroristsWin( ){    if( g_bRoundEnded )    {        return PLUGIN_CONTINUE    }        new Players[ MAX_PLAYERS ]    new iNum    new i        get_players( Players, iNum, "ch" )        for( --iNum; iNum >= 0; iNum-- )    {        i = Players[ iNum ]                switch( cs_get_user_team( i ) )        {            case( CS_TEAM_T ):            {                if( get_pcvar_num( g_iWonPointsTerrorists ) )                {                    g_iPoints[ i ] += get_pcvar_num( g_iWonPointsTerrorists )                    g_iWonRounds[ i ]++                                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )                    {                        ClientPrintColor( i, "!g%s!n Your team!t (T)!n have won!t %i!n point%s for winning the round", PREFIX, get_pcvar_num( g_iWonPointsTerrorists ), get_pcvar_num( g_iWonPointsTerrorists ) > 1 ? "s" : "" )                    }                }            }                        case( CS_TEAM_CT ):            {                if( get_pcvar_num( g_iLostPointsCounterTerrorists ) )                {                    g_iPoints[ i ] -= get_pcvar_num( g_iLostPointsCounterTerrorists )                                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )                    {                        ClientPrintColor( i, "!g%s!n Your team!t (CT)!n have lost!t %i!n point%s for losing the round", PREFIX, get_pcvar_num( g_iLostPointsCounterTerrorists ), get_pcvar_num( g_iLostPointsCounterTerrorists ) > 1 ? "s" : "" )                    }                }            }        }    }        g_bRoundEnded = true        return PLUGIN_CONTINUE} public CounterTerroristsWin( ){    if( g_bRoundEnded )    {        return PLUGIN_CONTINUE    }        new Players[ MAX_PLAYERS ]    new iNum    new i        get_players( Players, iNum, "ch" )        for( --iNum; iNum >= 0; iNum-- )    {        i = Players[ iNum ]                switch( cs_get_user_team( i ) )        {            case( CS_TEAM_T ):            {                if( get_pcvar_num( g_iLostPointsTerrorists ) )                {                    g_iPoints[ i ] -= get_pcvar_num( g_iLostPointsTerrorists )                                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )                    {                        ClientPrintColor( i, "!g%s!n Your team!t (T)!n have lost!t %i!n point%s for losing the round", PREFIX, get_pcvar_num( g_iLostPointsTerrorists ), get_pcvar_num( g_iLostPointsTerrorists ) > 1 ? "s" : "" )                    }                }            }                        case( CS_TEAM_CT ):            {                if( get_pcvar_num( g_iWonPointsCounterTerrorists ) )                {                    g_iPoints[ i ] += get_pcvar_num( g_iWonPointsCounterTerrorists )                    g_iWonRounds[ i ]++                                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )                    {                        ClientPrintColor( i, "!g%s!n Your team!t (CT)!n have won!t %i!n point%s for winning the round", PREFIX, get_pcvar_num( g_iWonPointsCounterTerrorists ), get_pcvar_num( g_iWonPointsCounterTerrorists ) > 1 ? "s" : "" )                    }                }            }        }    }        g_bRoundEnded = true        return PLUGIN_CONTINUE} public bomb_planted( planter ){    if( get_pcvar_num( g_iWonPointsPlanter ) )    {        g_iPoints[ planter ] += get_pcvar_num( g_iWonPointsPlanter )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( planter, "!g%s!n You earned!t %i!n point%s for planting the bomb", PREFIX, get_pcvar_num( g_iWonPointsPlanter ), get_pcvar_num( g_iWonPointsPlanter ) > 1 ? "s" : "" )        }    }} public bomb_explode( planter, defuser ){    if( get_pcvar_num( g_iWonPointsPlanterExplode ) )    {        g_iPoints[ planter ] += get_pcvar_num( g_iWonPointsPlanterExplode )        g_iBombExplosions[ planter ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( planter, "!g%s!n You earned!t %i!n point%s with the bomb explosion", PREFIX, get_pcvar_num( g_iWonPointsPlanterExplode ), get_pcvar_num( g_iWonPointsPlanterExplode ) > 1 ? "s" : "" )        }    }} public bomb_defused( defuser ){    if( get_pcvar_num( g_iWonPointsDefuser ) )    {        g_iPoints[ defuser ] += get_pcvar_num( g_iWonPointsDefuser )        g_iDefusedBombs[ defuser ]++                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( defuser, "!g%s!n You earned!t %i!n point%s for disarming the bomb", PREFIX, get_pcvar_num( g_iWonPointsDefuser ), get_pcvar_num( g_iWonPointsDefuser ) > 1 ? "s" : "" )        }    }} public EventNewRound( ){    g_bRoundEnded = false        MakeTop15( )} public EventRoundEnd( ){    set_task( 0.5, "SavePointsAtRoundEnd" )} public SavePointsAtRoundEnd( ){    new Players[ MAX_PLAYERS ]    new iNum    new i        get_players( Players, iNum, "ch" )        for( --iNum; iNum >= 0; iNum-- )    {        i = Players[ iNum ]                if( g_iCurrentKills[ i ] == 4 && get_pcvar_num( g_iWonPoints4k ) )        {            g_iPoints[ i ] += get_pcvar_num( g_iWonPoints4k )                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )            {                ClientPrintColor( i, "!g%s!n You earned!t %i!n point%s for killing 4 in a round", PREFIX, get_pcvar_num( g_iWonPoints4k ), get_pcvar_num( g_iWonPoints4k ) > 1 ? "s" : "" )            }        }                if( g_iCurrentKills[ i ] >= 5 && get_pcvar_num( g_iWonPoints5k ) )        {            g_iPoints[ i ] += get_pcvar_num( g_iWonPoints5k )                        if( get_pcvar_num( g_iEnableAnnounceOnChat ) )            {                ClientPrintColor( i, "!g%s!n You earned!t %i!n point%s for killing 5 in a round", PREFIX, get_pcvar_num( g_iWonPoints5k ), get_pcvar_num( g_iWonPoints5k ) > 1 ? "s" : "" )            }        }                CheckLevelAndSave( i )    }} public CheckLevelAndSave( id ){    if( !get_pcvar_num( g_iNegativePoints) )    {        if( g_iPoints[ id ] < 0 )        {            g_iPoints[ id ] = 0        }                if( g_iLevels[ id ] < 0 )        {            g_iLevels[ id ] = 0        }    }        while( g_iPoints[ id ] >= LEVELS[ g_iLevels[ id ] ] )    {        g_iLevels[ id ] += 1        g_iClasses[ id ] += 1                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( 0, "!g%s!n %s increased one level! Level:!t %s!n Total points:!t %d", PREFIX, g_szName[ id ], CLASSES[ g_iLevels[ id ] ], g_iPoints[ id ] )        }    }        new szTemp[ 512 ]    formatex( szTemp, charsmax( szTemp ),    "UPDATE %s SET nick = '%s', skillpoints = '%i', level = '%i',\    kills = '%i', deaths = '%i', headshots = '%i', knife_kills = '%i', knife_deaths = '%i', grenade_kills = '%i', grenade_deaths = '%i', bomb_explosions = '%i', defused_bombs = '%i', own_rounds = '%i'\    WHERE authid = '%s'",    SQL_TABLE, g_szName[ id ], g_iPoints[ id ], g_iLevels[ id ],    g_iKills[ id ], g_iDeaths[ id ], g_iHeadShots[ id ], g_iKnifeKills[ id ], g_iKnifeDeaths[ id ], g_iGrenadeKills[ id ], g_iGrenadeDeaths[ id ], g_iBombExplosions[ id ], g_iDefusedBombs[ id ], g_iWonRounds[ id ],    g_szAuthID[ id ] )        SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )        if( g_iPoints[ id ] >= MAX_PONTUATION )    {               if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( id, "!g%s!n You have reached the maximum SkillPoints! Your SkillPoints and level will start again", PREFIX )        }                g_iPoints[ id ] = 0        g_iLevels[ id ] = 0        g_iClasses[ id ] = 0                g_iKills[ id ] = 0        g_iDeaths[ id ] = 0        g_iHeadShots[ id ] = 0        g_iKnifeKills[ id ] = 0        g_iKnifeDeaths[ id ] = 0        g_iGrenadeKills[ id ] = 0        g_iGrenadeDeaths[ id ] = 0        g_iBombExplosions[ id ] = 0        g_iDefusedBombs[ id ] = 0        g_iWonRounds[ id ] = 0                CheckLevelAndSave( id )    }} public LoadPoints( id ){    new Data[ 1 ]    Data[ 0 ] = id        new szTemp[ 512 ]    format( szTemp, charsmax( szTemp ),    "SELECT skillpoints, level , kills, deaths, headshots, knife_kills, knife_deaths, grenade_kills, grenade_deaths, bomb_explosions, defused_bombs, own_rounds FROM %s WHERE authid = '%s'",    SQL_TABLE, g_szAuthID[ id ] )        SQL_ThreadQuery( g_SqlTuple, "LoadPoints_QueryHandler", szTemp, Data, 1 )} public LoadPoints_QueryHandler( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize ){    new id    id = Data[ 0 ]        if( !SQL_IsFail( FailState, Errcode, Error ) )    {        if( SQL_NumResults( Query ) < 1 )        {            new szTemp[ 512 ]            format( szTemp, charsmax( szTemp ),            "INSERT INTO %s\            ( authid, nick, skillpoints, level, kills, deaths, headshots, knife_kills, knife_deaths, grenade_kills, grenade_deaths, bomb_explosions, defused_bombs, own_rounds )\            VALUES( '%s', '%s', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%i' )",            SQL_TABLE,            g_szAuthID[ id ],            g_szName[ id ],            g_iPoints[ id ],            g_iLevels[ id ],                        g_iKills[ id ],            g_iDeaths[ id ],            g_iHeadShots[ id ],            g_iKnifeKills[ id ],            g_iKnifeDeaths[ id ],            g_iGrenadeKills[ id ],            g_iGrenadeDeaths[ id ],            g_iBombExplosions[ id ],            g_iDefusedBombs[ id ],            g_iWonRounds[ id ] )                        SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )        }                 else        {            g_iPoints[ id ] = SQL_ReadResult( Query, 0 )            g_iLevels[ id ] = SQL_ReadResult( Query, 1 )                        g_iKills[ id ] = SQL_ReadResult( Query, 2 )            g_iDeaths[ id ] = SQL_ReadResult( Query, 3 )            g_iHeadShots[ id ] = SQL_ReadResult( Query, 4 )            g_iKnifeKills[ id ] = SQL_ReadResult( Query, 5 )            g_iKnifeDeaths[ id ] = SQL_ReadResult( Query, 6 )            g_iGrenadeKills[ id ] = SQL_ReadResult( Query, 7 )            g_iGrenadeDeaths[ id ] = SQL_ReadResult( Query, 8 )            g_iBombExplosions[ id ] = SQL_ReadResult( Query, 9 )            g_iDefusedBombs[ id ] = SQL_ReadResult( Query, 10 )            g_iWonRounds[ id ] = SQL_ReadResult( Query, 11 )        }    }} public IgnoreHandle( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize ){    SQL_FreeHandle( Query )} public SkillRank( id ){    if( !get_pcvar_num( g_iEnableSkillPointsCmdRank ) )    {        ClientPrintColor( id, "!g%s!n Command disabled", PREFIX )    }        else    {               new Data[ 1 ]        Data[ 0 ] = id                new szTemp[ 512 ]        format( szTemp, charsmax( szTemp ), "SELECT COUNT(*) FROM %s WHERE skillpoints >= %i", SQL_TABLE, g_iPoints[ id ] )                SQL_ThreadQuery( g_SqlTuple, "SkillRank_QueryHandler", szTemp, Data, 1 )    }        return ( get_pcvar_num( g_iHideCmds ) == 0 ) ? PLUGIN_CONTINUE : PLUGIN_HANDLED_MAIN} public SkillRank_QueryHandler( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize ){    if( !SQL_IsFail( FailState, Errcode, Error ) )    {        new id        id = Data[ 0 ]                g_iRank[ id ] = SQL_ReadResult( Query, 0 )                if( g_iRank[ id ] == 0 )        {            g_iRank[ id ] = 1        }                TotalRows( id )    }} public TotalRows( id ){    new Data[ 1 ]    Data[ 0 ] = id        new szTemp[ 128 ]    format( szTemp, charsmax( szTemp ), "SELECT COUNT(*) FROM %s", SQL_TABLE )        SQL_ThreadQuery( g_SqlTuple, "TotalRows_QueryHandler", szTemp, Data, 1 )} public TotalRows_QueryHandler( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize ){    if( !SQL_IsFail( FailState, Errcode, Error ) )    {        new id        id = Data[ 0 ]                g_iCount = SQL_ReadResult( Query, 0 )                ClientPrintColor( id, "!g%s!n Your rank is!t %i!n of!t %i!n players with!t %i!n points ", PREFIX, g_iRank[ id ], g_iCount, g_iPoints[ id ] )    }} public TopSkill( id ){    if( !get_pcvar_num( g_iEnableSkillPointsTop15 ) )    {        ClientPrintColor( id, "!g%s!n Command disabled", PREFIX )    }        else    {        show_motd( id, g_szMotd, "Top SkillPointers" )    }        return ( get_pcvar_num( g_iHideCmds ) == 0 ) ? PLUGIN_CONTINUE : PLUGIN_HANDLED_MAIN} public MakeTop15( ){       new szQuery[ 512 ]    formatex( szQuery, charsmax( szQuery ),    "SELECT nick, skillpoints, kills, deaths, headshots, knife_kills, grenade_kills, bomb_explosions, defused_bombs FROM %s ORDER BY skillpoints DESC LIMIT 10",    SQL_TABLE )        SQL_ThreadQuery( g_SqlTuple, "MakeTop15_QueryHandler", szQuery )} public MakeTop15_QueryHandler( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize ){    if( !SQL_IsFail( FailState, Errcode, Error ) )    {        new szName[ 22 ]                new iPoints        new iKills        new iDeaths        new iHS        new iKnifeKills        new iGrenadeKills        new iBombExplosions        new iDefusedBombs                   new iLen        iLen = formatex( g_szMotd, charsmax( g_szMotd ),        "<body bgcolor=#A4BED6>\        <table width=100%% cellpadding=2 cellspacing=0 border=0>\        <tr align=center bgcolor=#52697B>\        <th width=4%%>#\        <th width=30%% align=left>Player\        <th width=8%%>Kills\        <th width=8%%>Deaths\        <th width=8%%>HS\        <th width=8%%>Knife\        <th width=8%%>Grenade\        <th width=8%%>Bombs\        <th width=8%%>Defuses\        <th width=10%>SkillPoints" )                new i = 1        while( SQL_MoreResults( Query ) )        {            SQL_ReadResult( Query, 0, szName, charsmax( szName ) )                        iPoints = SQL_ReadResult( Query, 1 )            iKills = SQL_ReadResult( Query, 2 )            iDeaths = SQL_ReadResult( Query, 3 )            iHS = SQL_ReadResult( Query, 4 )            iKnifeKills = SQL_ReadResult( Query, 5 )            iGrenadeKills = SQL_ReadResult( Query, 6 )            iBombExplosions = SQL_ReadResult( Query, 7 )            iDefusedBombs = SQL_ReadResult( Query, 8 )                        replace_all( szName, charsmax( szName ), "<", "[" )            replace_all( szName, charsmax( szName ), ">", "]" )                        iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<tr align=center>" )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", i )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td align=left>%s", szName )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iKills )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iDeaths )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iHS )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iKnifeKills )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iGrenadeKills )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iBombExplosions )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iDefusedBombs )            iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "<td>%i", iPoints )                        i++                        SQL_NextRow( Query )        }                iLen += formatex( g_szMotd[ iLen ], charsmax( g_szMotd ) - iLen, "</table></body>" )    }} SQL_IsFail( FailState, Errcode, Error[ ] ){    if( FailState == TQUERY_CONNECT_FAILED )    {        log_amx( "[Error] Could not connect to SQL database: %s", Error )        return true    }        if( FailState == TQUERY_QUERY_FAILED )    {        log_amx( "[Error] Query failed: %s", Error )        return true    }        if( Errcode )    {        log_amx( "[Error] Error on query: %s", Error )        return true    }        return false} public GetSkillPoints( id ){    if( !get_pcvar_num( g_iEnableSkillPointsCmd ) )    {        ClientPrintColor( id, "!g%s!n Command disabled", PREFIX )    }        else    {        if( g_iLevels[ id ] < ( MAX_LEVELS - 1 ) )        {            ClientPrintColor( id, "!g%s!n Total points:!t %d!n Level:!t %s!n Points to the next level:!t %d", PREFIX, g_iPoints[ id ], CLASSES[ g_iLevels[ id ] ], ( LEVELS[ g_iLevels[ id ] ] - g_iPoints[ id ] ) )        }                else        {            ClientPrintColor( id, "!g%s!n Total points:!t %d!n Level:!t %s!n (last level)", PREFIX, g_iPoints[ id ], CLASSES[ g_iLevels[ id ] ] )        }    }        return ( get_pcvar_num( g_iHideCmds ) == 0 ) ? PLUGIN_CONTINUE : PLUGIN_HANDLED_MAIN} public ChatAdvertisements( ){    new Players[ MAX_PLAYERS ]    new iNum    new i        get_players( Players, iNum, "ch" )        for( --iNum; iNum >= 0; iNum-- )    {        i = Players[ iNum ]                ClientPrintColor( i, g_ChatAdvertise[ g_iK ], PREFIX )    }        g_iK++        if( g_iK >= sizeof g_ChatAdvertise )    {        g_iK = 0    }} public CmdGivePoints( id, level, cid ){    if ( !cmd_access( id, level, cid, 3 ) )    {        return PLUGIN_HANDLED    }        new Arg1[ 32 ]    new Arg2[ 6 ]        read_argv( 1, Arg1, charsmax( Arg1 ) )    read_argv( 2, Arg2, charsmax( Arg2 ) )        new iPlayer = cmd_target( id, Arg1, 1 )    new iPoints = str_to_num( Arg2 )        if ( !iPlayer )    {        console_print( id, "Sorry, player %s could not be found or targetted!", Arg1 )        return PLUGIN_HANDLED    }        if( iPoints > 0 )    {        g_iPoints[ iPlayer ] += iPoints        CheckLevelAndSave( iPlayer )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( 0, "!g%s!n %s gave!t %i!n SkillPoint%s to %s", PREFIX, g_szName[ id ], iPoints, iPoints > 1 ? "s" : "", g_szName[ iPlayer ] )        }    }        return PLUGIN_HANDLED} public CmdTakePoints( id, level, cid ){    if ( !cmd_access( id, level, cid, 3 ) )    {        return PLUGIN_HANDLED    }        new Arg1[ 32 ]    new Arg2[ 6 ]        read_argv( 1, Arg1, charsmax( Arg1 ) )    read_argv( 2, Arg2, charsmax( Arg2 ) )        new iPlayer = cmd_target( id, Arg1, 1 )    new iPoints = str_to_num( Arg2 )        if ( !iPlayer )    {        console_print( id, "Sorry, player %s could not be found or targetted!", Arg1 )        return PLUGIN_HANDLED    }        if( iPoints > 0 )    {        g_iPoints[ iPlayer ] -= iPoints        CheckLevelAndSave( iPlayer )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( 0, "!g%s!n %s take!t %i!n SkillPoint%s from %s", PREFIX, g_szName[ id ], iPoints, iPoints > 1 ? "s" : "", g_szName[ iPlayer ] )        }    }        return PLUGIN_HANDLED} public RestartSkillPoints( id ){    if( !get_pcvar_num( g_iEnableSkillPointsRestart ) )    {        ClientPrintColor( id, "!g%s!n Command disabled", PREFIX )    }        else    {        g_iPoints[ id ] = 0        g_iLevels[ id ] = 0        g_iClasses[ id ] = 0                g_iKills[ id ] = 0        g_iDeaths[ id ] = 0        g_iHeadShots[ id ] = 0        g_iKnifeKills[ id ] = 0        g_iKnifeDeaths[ id ] = 0        g_iGrenadeKills[ id ] = 0        g_iGrenadeDeaths[ id ] = 0        g_iBombExplosions[ id ] = 0        g_iDefusedBombs[ id ] = 0        g_iWonRounds[ id ] = 0                CheckLevelAndSave( id )                if( get_pcvar_num( g_iEnableAnnounceOnChat ) )        {            ClientPrintColor( id, "!g%s!n Your SkillPoints and level will start again", PREFIX )        }    }        return ( get_pcvar_num( g_iHideCmds ) == 0 ) ? PLUGIN_CONTINUE : PLUGIN_HANDLED_MAIN} public FwdPlayerSpawnPost( id ){       if( is_user_alive( id ) )    {        g_iCurrentKills[ id ] = 0                if( get_pcvar_num( g_iEnableShowSkillPointsOnNick ) )        {            new szName[ 32 ]            get_user_info( id, "name", szName, charsmax( szName ) )                        new iLen = strlen( szName )                        new iPos = iLen - 1                        if( szName[ iPos ] == '>' )            {                    new i                for( i = 1; i < 7; i++ )                {                        if( szName[ iPos - i ] == '<' )                    {                            iLen = iPos - i                        szName[ iLen ] = EOS                        break                    }                }            }                        format( szName[ iLen ], charsmax( szName ) - iLen, szName[ iLen-1 ] == ' ' ? "<%d>" : " <%d>", g_iPoints[ id ] )                set_user_info( id, "name", szName )        }    }} public MessageSayText( iMsgID, iDest, iReceiver ){    if( get_pcvar_num( g_iHideChangeNickNotification ) )    {        new const Cstrike_Name_Change[ ] = "#Cstrike_Name_Change"                new szMessage[ sizeof( Cstrike_Name_Change ) + 1 ]        get_msg_arg_string( 2, szMessage, charsmax( szMessage ) )                if( equal( szMessage, Cstrike_Name_Change ) )        {            return PLUGIN_HANDLED        }    }        return PLUGIN_CONTINUE} ClientPrintColor( id, String[ ], any:... ){    new szMsg[ 190 ]    vformat( szMsg, charsmax( szMsg ), String, 3 )        replace_all( szMsg, charsmax( szMsg ), "!n", "^1" )    replace_all( szMsg, charsmax( szMsg ), "!t", "^3" )    replace_all( szMsg, charsmax( szMsg ), "!g", "^4" )        static msgSayText = 0    static fake_user        if( !msgSayText )    {        msgSayText = get_user_msgid( "SayText" )        fake_user = get_maxplayers( ) + 1    }        message_begin( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, _, id )    write_byte( id ? id : fake_user )    write_string( szMsg )    message_end( )}     
Kai pridedam klasę ir lygių nepamirštam pasikeist
#define MAX_CLASSES 2
#define MAX_LEVELS 2
Last edited by nullatonce on 2017 Jan 16 01:55, edited 3 times in total.

Bioklod
Jau perkopė 10 žinučių ribą !
Posts: 17
Joined: 2017 Jan 30 18:08
Skype: naixas1

Re: Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Post by Bioklod »

Gal išeitų padaryti, kad kai rašai rašytų tarkim: [BRONZE] Nick: Text
PS. Serveryje dar bus įdėtas pluginas kuris prie nick rašo vip/adm ir pnš.

nullatonce
O taip. Jis jau surinko 50 žinučių!
Posts: 73
Joined: 2016 Sep 06 23:57
Skype: nullatonce

Re: Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Post by nullatonce »

Išeitų, pasiskaityk plugino autoriaus temą.
Image


pavadinimus rašom tarp " <...> " , po kiekvieno pavadinimo nepamirštam pridėt , (kablelio) (išskyrus paskutinį elementą).
pvz.:

Code: Select all

"Mano rangas","Kitas mano rangas","Paskutinis mano rangas"
po kiekvieno skaičiaus nepamirštam pridėt , (kabelelio) (išskyrus paskutinį elementą).
pvz.:

Code: Select all

 200,500,700

#define MAX_CLASSES 5
#define MAX_LEVELS 5

MAX_CLASSES ir MAX_LEVELS įrašom skaičių kiek yra klasių ir levelių

pateiktuose pavyzdžiuose būtų

Code: Select all

 #define MAX_CLASSES    3#define MAX_LEVELS    3 

------------------------
Dėl plugino nežinau..

Bioklod
Jau perkopė 10 žinučių ribą !
Posts: 17
Joined: 2017 Jan 30 18:08
Skype: naixas1

Re: Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Post by Bioklod »

nullatonce wrote:Išeitų, pasiskaityk plugino autoriaus temą.
Image


pavadinimus rašom tarp " <...> " , po kiekvieno pavadinimo nepamirštam pridėt , (kablelio) (išskyrus paskutinį elementą).
pvz.:

Code: Select all

"Mano rangas","Kitas mano rangas","Paskutinis mano rangas"
po kiekvieno skaičiaus nepamirštam pridėt , (kabelelio) (išskyrus paskutinį elementą).
pvz.:

Code: Select all

 200,500,700

#define MAX_CLASSES 5
#define MAX_LEVELS 5

MAX_CLASSES ir MAX_LEVELS įrašom skaičių kiek yra klasių ir levelių

pateiktuose pavyzdžiuose būtų

Code: Select all

 #define MAX_CLASSES    3#define MAX_LEVELS    3 

------------------------
Dėl plugino nežinau..
Tai sitą suprantu, bet aš klausiu ar galima, kad rašytų prie nick [LEVEL]
Nes dabar -
[SAVININKAS] Player <1324> : /rank
O norėtūsi
[SAVININKAS][LEVEL] Player: /rank

nullatonce
O taip. Jis jau surinko 50 žinučių!
Posts: 73
Joined: 2016 Sep 06 23:57
Skype: nullatonce

Re: Basic SkillPoints v2.0.2 [šiek tiek redaguotas]

Post by nullatonce »

Plugino autoriaus temą paskaityk, jokių nepaminėtų funkcijų neatjunginėjau

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests