Pagalba EventRound

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Terror
Senbūvis
Posts: 1086
Joined: 2015 Feb 27 19:29
Location: Alytus

Pagalba EventRound

Post by Terror »

kodel nekeičia komandų gal kazkur kazkas negerai galit padeti? tieg apkeičia tik ta zmogu kuris liko gyvas :)

Code: Select all

public EventRoundEnd( ) {    if( g_iStatus != GH_ONLINE )        return PLUGIN_CONTINUE;        arrayset( g_bDefusing, false, 32 );        g_iRounds++;        if( g_iHalf == LAST ) {        new iScore_CT = g_iTeamScore[ SCORE_CT ][ FIRST ] + g_iTeamScore[ SCORE_CT ][ LAST ];        new iScore_TS = g_iTeamScore[ SCORE_T ][ FIRST ] + g_iTeamScore[ SCORE_T ][ LAST ];                if( iScore_CT >= GH_MATCHROUND + 1 )         {            // ct win        }        else if( iScore_TS >= GH_MATCHROUND + 1 )         {            // t win            } else {            // draw        }    }    if( ++g_iRounds >= GH_MATCHROUND )     {        g_iStatus = GH_FIRSTHALF;        g_iHalf = LAST;        g_iRounds = 0;                if( g_iTeamScore[ SCORE_T ][ FIRST ] > g_iTeamScore[ SCORE_CT ][ FIRST ] )            client_print_color( 0, print_team_default, "%s^3 Terrorists^1 leading with score^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_T ][ FIRST ], g_iTeamScore[ SCORE_CT ][ FIRST ] );        else if( g_iTeamScore[ SCORE_CT ][ FIRST ] > g_iTeamScore[ SCORE_T ][ FIRST ] )            client_print_color( 0, print_team_default, "%s^3 Counter-Terrorists^1 leading with score^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_CT ][ FIRST ], g_iTeamScore[ SCORE_T ][ FIRST ] );        else            client_print_color( 0, print_team_default, "%s^1 Teams are tied!^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_CT ][ FIRST ], g_iTeamScore[ SCORE_T ][ FIRST ] );                new iPlayers[ 32 ], iNum, iPlayer, iPoints, iOldPoints, szSteamID[ 35 ], szData[ 6 ];        get_players( iPlayers, iNum );                for( new i; i < iNum; i++ )         {            iPlayer = iPlayers[ i ];                        switch( cs_get_user_team( iPlayer ) )             {                case CS_TEAM_T: cs_set_user_team( iPlayer, CS_TEAM_CT );                    case CS_TEAM_CT: cs_set_user_team( iPlayer, CS_TEAM_T );                    default: continue;            }                        get_user_authid( iPlayer, szSteamID, charsmax( szSteamID ) );                        iOldPoints = _GetOldSkill( iPlayer );            iPoints = ( ( 9 * iOldPoints ) + ( ( 20 * g_iPoints[ iPlayer ] * 2 ) / g_iRounds ) ) / 10;            g_iPoints[ iPlayer ] = iPoints;                        num_to_str( iPoints, szData, charsmax( szData ) );                        VaultSetData( szSteamID, szData );        }                server_cmd( "sv_restart 1" );                client_print( 0, print_chat, "%i rounds passed!", GH_MATCHROUND );    }        return PLUGIN_CONTINUE;}

Softero
Jau po truputį tampa savu
Posts: 174
Joined: 2016 Jan 17 20:11
Skype: Einartas10

Re: Pagalba EventRound

Post by Softero »

As irgi visai neseniai norejau naudot round end, bet man kaskoki sh atsiprasant pasakius meta serverio consolei ir nieks neveikia.
Tai perejau prie

Code: Select all

register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
Man nebuvo skirtumo didelio ar round end ar new round, galtau irgi tiks
cs1.6 pluginų , bei web sistemų kūrimas
discord: Softero#0457
Email: [email protected]

KaimyneliS
Jau po truputį tampa savu
Posts: 166
Joined: 2015 Dec 24 14:55
Location: Kaunas

Re: Pagalba EventRound

Post by KaimyneliS »

Terror wrote:kodel nekeičia komandų gal kazkur kazkas negerai galit padeti? tieg apkeičia tik ta zmogu kuris liko gyvas :)

Code: Select all

public EventRoundEnd( ) {    if( g_iStatus != GH_ONLINE )        return PLUGIN_CONTINUE;        arrayset( g_bDefusing, false, 32 );        g_iRounds++;        if( g_iHalf == LAST ) {        new iScore_CT = g_iTeamScore[ SCORE_CT ][ FIRST ] + g_iTeamScore[ SCORE_CT ][ LAST ];        new iScore_TS = g_iTeamScore[ SCORE_T ][ FIRST ] + g_iTeamScore[ SCORE_T ][ LAST ];                if( iScore_CT >= GH_MATCHROUND + 1 )         {            // ct win        }        else if( iScore_TS >= GH_MATCHROUND + 1 )         {            // t win            } else {            // draw        }    }    if( ++g_iRounds >= GH_MATCHROUND )     {        g_iStatus = GH_FIRSTHALF;        g_iHalf = LAST;        g_iRounds = 0;                if( g_iTeamScore[ SCORE_T ][ FIRST ] > g_iTeamScore[ SCORE_CT ][ FIRST ] )            client_print_color( 0, print_team_default, "%s^3 Terrorists^1 leading with score^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_T ][ FIRST ], g_iTeamScore[ SCORE_CT ][ FIRST ] );        else if( g_iTeamScore[ SCORE_CT ][ FIRST ] > g_iTeamScore[ SCORE_T ][ FIRST ] )            client_print_color( 0, print_team_default, "%s^3 Counter-Terrorists^1 leading with score^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_CT ][ FIRST ], g_iTeamScore[ SCORE_T ][ FIRST ] );        else            client_print_color( 0, print_team_default, "%s^1 Teams are tied!^4 %i:%i", g_szPrefix, g_iTeamScore[ SCORE_CT ][ FIRST ], g_iTeamScore[ SCORE_T ][ FIRST ] );                new iPlayers[ 32 ], iNum, iPlayer, iPoints, iOldPoints, szSteamID[ 35 ], szData[ 6 ];        get_players( iPlayers, iNum );                for( new i; i < iNum; i++ )         {            iPlayer = iPlayers[ i ];                        switch( cs_get_user_team( iPlayer ) )             {                case CS_TEAM_T: cs_set_user_team( iPlayer, CS_TEAM_CT );                    case CS_TEAM_CT: cs_set_user_team( iPlayer, CS_TEAM_T );                    default: continue;            }                        get_user_authid( iPlayer, szSteamID, charsmax( szSteamID ) );                        iOldPoints = _GetOldSkill( iPlayer );            iPoints = ( ( 9 * iOldPoints ) + ( ( 20 * g_iPoints[ iPlayer ] * 2 ) / g_iRounds ) ) / 10;            g_iPoints[ iPlayer ] = iPoints;                        num_to_str( iPoints, szData, charsmax( szData ) );                        VaultSetData( szSteamID, szData );        }                server_cmd( "sv_restart 1" );                client_print( 0, print_chat, "%i rounds passed!", GH_MATCHROUND );    }        return PLUGIN_CONTINUE;}
na sitam kode nematau kad nustatytu kurie yra like gyvi ir kad tik juos perkeltu :) nu gal ateis protingesniu ir ras :) Kiek pamenu lyg tais sitas dalykas tikrina ar zmogus gyvas

Code: Select all

is_user_alive(id)
bet as ce nematau :D
Ačiū kad padedate pradedančiajam :)

Image

Softero
Jau po truputį tampa savu
Posts: 174
Joined: 2016 Jan 17 20:11
Skype: Einartas10

Re: Pagalba EventRound

Post by Softero »

pabandyk:

Code: Select all

for( new i = 0; i < iNum; i++ )        {            iPlayer = iPlayers[ i ];                       switch( get_user_team( iPlayer ) )            {                case 1: cs_set_user_team( iPlayer, CS_TEAM_CT );                    case 2: cs_set_user_team( iPlayer, CS_TEAM_T );                    default: continue;            }
cia tik mano spejimas.
cs1.6 pluginų , bei web sistemų kūrimas
discord: Softero#0457
Email: [email protected]

Terror
Senbūvis
Posts: 1086
Joined: 2015 Feb 27 19:29
Location: Alytus

Re: Pagalba EventRound

Post by Terror »

Nepadeda bet problema su

Code: Select all

iPoints = ( ( 9 * iOldPoints ) + ( ( 20 * g_iPoints[ iPlayer ] * 2 ) / g_iRounds ) ) / 10;


tai pati problema yra tame kad po komandų apkeitimu nebeveikia .rez o todėl kad kažkodėl nesaugo ar kaip cia nelabai suprantu.
Reik kad normaliai po 15rnd komandos automatiškai pasikeistu, ir kad normaliai veiktu .rez ir butinai kad liktu rezultatai :)

o cia kodas pilnas
GatherNetwork.sma
(29.01 KiB) Downloaded 665 times

Post Reply

Who is online

Users browsing this forum: No registered users and 14 guests