Page 2 of 2

Re: Klausimas del orpheu

Posted: 2011 Mar 29 16:39
by psychical
newb wrote:
aurimasko wrote:Jis kopina mano plugina!!!
http://cyberpolice.lt/ :lol2:
Pritariu, jei kopijuoju, skųskis!

-- 2011 Kov 29 16:41 --
newb wrote:Cia puse nesamones prirasyta.
ka zinau, veikia beveik viskas :D

-- 2011 Kov 29 16:48 --

Nu pala paeditinau i blogaja puse:

Code: Select all

public survivols(id){    if(is_user_alive(id) && get_user_team(id) == 2 && day == 0)    {        new players[32], pnum, tempid;        get_players(players,pnum,"ch")        for( new i; i<pnum; i++)        {            tempid = players[i];             if(is_user_connected(tempid))            {                day = 12;                jail_open()                set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.3, 2, 0.5, 5.0)                 ShowSyncHudMsg(tempid, hudmessage3, "Sianden bus Isgyventojo diena!")                if(is_user_alive(tempid))                {                    static players[32], inum                    get_players(players, inum, "ae", "TERRORIST")                       if(inum)                     {                           survivol = players[random(inum)]                        verciam(survivol)                                      }                    set_user_health(tempid, 100)                    strip_user_weapons(tempid);                    if(get_user_team(tempid) == 1){ gunsmenu(tempid); }                    if(get_user_team(tempid) == 2) { gunsmenu(tempid); }                }            }        }        static name[32], steamid[44], ip[16]        get_user_ip( id, ip, charsmax( ip ), 1 )        get_user_authid( id, steamid, charsmax( steamid ) )        get_user_name( id, name, charsmax( name ) )        log_to_file( g_logfile, "Igyventoja pradejo: %s [%s] <%s>", name, ip, steamid )    }}

Re: Klausimas del orpheu

Posted: 2011 Mar 29 17:22
by newb
Tu geriau parasyk kas turi atsitikri tam survivole ir padarysiu.

-- 2011 Kov 29 17:43 --

Beje, nusprendziau ta orpheu paziuret, tai seip isejo padaryt, kad po pirmos mirties roundas baigtus ^^

Re: Klausimas del orpheu

Posted: 2011 Mar 29 18:30
by psychical
1. Atsirenka is teroristu viena zaideja, jis tampa isgyventoju.
2. Ijungia teamkill ir isjungia tk punich
3. Duoda isgyvenojui m4a1 ir ak47 su 999 kukom
4. Visiems kitiems duoda gunsmenu (jis jau yra gunsmenu(idas);)
5. Uzstato isgyventojui rangom renderi

Re: Klausimas del orpheu

Posted: 2011 Mar 29 20:20
by newb
Kazkas tokio bus

Code: Select all

#include <amxmodx>#include <cstrike>#include <fun> new day,hudmessage3, surv public plugin_init() {    register_logevent("RoundStart", 2, "0=World triggered", "1=Round_Start")    register_logevent("RoundEnd", 2, "1=Round_End")        hudmessage3 = CreateHudSyncObj();} public RoundStart() {        new players[32], num    get_players(players, num, "ae", "TERRORIST")        if(num && day == 0) {                surv = players[random(num)]                if(is_user_alive(surv)) {            set_user_health(surv, 750)                        cs_set_weapon_ammo(give_item(surv, "weapon_m4a1"), 999)            cs_set_weapon_ammo(give_item(surv, "weapon_ak47"), 999)                        set_user_rendering(surv, kRenderFxGlowShell, random(256), random(256), random(256))        }                set_hudmessage(random(256), random(256), random(256), -1.0, 0.3, 2, 0.5, 5.0)        ShowSyncHudMsg(0, hudmessage3, "Sianden bus Isgyventojo diena!")                set_cvar_num("mp_friendlyfire", 1)        set_cvar_num("mp_tkpunish", 0)                get_players(players, num, "h")                for(new i, id; i <= num; i++) {            id = players[i]                        if(surv == id) continue                        if(is_user_alive(id)) {                strip_user_weapons(id)                                gunsmenu(id)            }        }    }} public RoundEnd() {    set_cvar_num("mp_friendlyfire", 0)        if(surv) {         set_user_rendering(surv)        surv = 0    }}

Re: Klausimas del orpheu

Posted: 2011 Mar 29 20:24
by psychical
P.S. Pamirsau paminet, uzmusus isgyventoja turetu baigtis round'as

Re: Klausimas del orpheu

Posted: 2011 Mar 29 21:00
by newb
Abejoju, kad sugebesi cia ka nors pakeist nesugadines visko :lol5:

Code: Select all

#include <amxmodx>#include <cstrike>#include <fun>#include <orpheu_memory>#include <orpheu_stocks>#include <hamsandwich>#include <round_terminator>  new day, hudmessage3, surv, g_pGameRules, g_bRound; #define set_mp_pdata(%1,%2)  ( OrpheuMemorySetAtAddress( g_pGameRules, %1, 1, %2 ) )#define get_mp_pdata(%1)     ( OrpheuMemoryGetAtAddress( g_pGameRules, %1 ) ) public plugin_precache() {    OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost );} public OnInstallGameRules() {    g_pGameRules = OrpheuGetReturn();} public plugin_init() {    register_event("DeathMsg", "hook_Death", "a")        register_logevent("RoundStart", 2, "0=World triggered", "1=Round_Start")    register_logevent("RoundEnd", 2, "1=Round_End")        RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")        hudmessage3 = CreateHudSyncObj();}  public plugin_natives () {    register_library( "round_terminator" )    register_native( "TerminateRound", "Native_TerminateRound" );} public Native_TerminateRound ( const plugin, const params ) {    _TerminateRound( get_param( 2 ) );} public hook_Death() {    if(read_data(2) == surv) _TerminateRound( TeamWinning_Ct )} public client_disconnect(id) {    if(id == surv) _TerminateRound( TeamWinning_Ct )} public hook_TakeDamage() {    if(g_bRound) return HAM_SUPERCEDE;        return HAM_IGNORED;} public RoundStart() {        g_bRound = false;        new players[32], num    get_players(players, num, "ae", "TERRORIST")        if(num && day == 0) {                surv = players[random(num)]                if(is_user_alive(surv)) {            set_user_health(surv, 750)                        cs_set_weapon_ammo(give_item(surv, "weapon_m4a1"), 999)            cs_set_weapon_ammo(give_item(surv, "weapon_ak47"), 999)                        set_user_rendering(surv, kRenderFxGlowShell, random(256), random(256), random(256))        }                set_hudmessage(random(256), random(256), random(256), -1.0, 0.3, 2, 0.5, 5.0)        ShowSyncHudMsg(0, hudmessage3, "Sianden bus Isgyventojo diena!")                set_cvar_num("mp_friendlyfire", 1)        set_cvar_num("mp_tkpunish", 0)                get_players(players, num, "h")                for(new i, id; i <= num; i++) {            id = players[i]                        if(surv == id) continue                        if(is_user_alive(id)) {                strip_user_weapons(id)                                //gunsmenu(id)            }        }    }} public RoundEnd() {    set_cvar_num("mp_friendlyfire", 0)        if(surv) {         set_user_rendering(surv)        surv = 0    }        g_bRound = true;} bool:_TerminateRound ( const teamWinning ) {        if ( !( TeamWinning_Terrorist <= teamWinning <= TeamWinning_Ct ) ) {        return false;    }        new accountOffsetName[ 22 ];    new numTeamOffsetName[ 22 ];    new roundEndmessage  [ 16 ];    new sentenceName     [ 16 ];    new winStatus;    new event;    new teamMoney = 3000;        if ( get_mp_pdata( "m_bMapHasBombTarget" ) ) {        teamMoney = 3250;    }        switch ( teamWinning ) {        case TeamWinning_Terrorist : {            accountOffsetName = "m_iAccountTerrorist";            numTeamOffsetName = "m_iNumTerroristWins";            sentenceName      = "%!MRAD_TERWIN";            roundEndmessage   = "#Terrorists_Win";            event             = 9;            winStatus         = 2;        }        case TeamWinning_Ct : {            accountOffsetName = "m_iAccountCT";            numTeamOffsetName = "m_iNumCTWins";            sentenceName      = "%!MRAD_CTWIN";            roundEndmessage   = "#CTs_Win";            event             = 8;            winStatus         = 1;        }    }        BroadcastAudio( .senderID = 0, .audioCode = sentenceName, .pitch = 100, .notifyAllPlugins = true );    set_mp_pdata( accountOffsetName, get_mp_pdata( accountOffsetName ) + teamMoney );        if ( get_mp_pdata( "m_iNumSpawnableTerrorist" ) && get_mp_pdata( "m_iNumSpawnableCT" ) ) {        set_mp_pdata( numTeamOffsetName, get_mp_pdata( numTeamOffsetName ) + 1 );        UpdateTeamScores( .notifyAllPlugins = true );    }        EndRoundMessage( roundEndmessage, event, .notifyAllPlugins = true );    RoundTerminating( winStatus, .delay = 5.0 );        return true;} RoundTerminating( const winStatus, const Float:delay ) {    set_mp_pdata( "m_iRoundWinStatus"  , winStatus );    set_mp_pdata( "m_fTeamCount"       , get_gametime() + delay );    set_mp_pdata( "m_bRoundTerminating", true );} BroadcastAudio ( const senderID, const audioCode[], const pitch, const bool:notifyAllPlugins = false ) {    static messageSendAudio;        if ( messageSendAudio || ( messageSendAudio = get_user_msgid( "SendAudio" ) ) ) {        if ( notifyAllPlugins ) {            emessage_begin( MSG_BROADCAST, messageSendAudio );            ewrite_byte( senderID );            ewrite_string( audioCode );            ewrite_short( pitch );            emessage_end();        }        else {            message_begin( MSG_BROADCAST, messageSendAudio );            write_byte( senderID );            write_string( audioCode );            write_short( pitch );            message_end();        }    }} UpdateTeamScores ( const bool:notifyAllPlugins = false ) {    static OrpheuFunction:handleFuncUpdateTeamScores;        if ( !handleFuncUpdateTeamScores ) {        handleFuncUpdateTeamScores = OrpheuGetFunction( "UpdateTeamScores", "CHalfLifeMultiplay" )    }        ( notifyAllPlugins ) ?        OrpheuCallSuper( handleFuncUpdateTeamScores, g_pGameRules ) :    OrpheuCall( handleFuncUpdateTeamScores, g_pGameRules );} EndRoundMessage ( const message[], const event, const bool:notifyAllPlugins = false ) {    static OrpheuFunction:handleFuncEndRoundMessage;        if ( !handleFuncEndRoundMessage ) {        handleFuncEndRoundMessage = OrpheuGetFunction( "EndRoundMessage" );    }        ( notifyAllPlugins ) ?        OrpheuCallSuper( handleFuncEndRoundMessage, message, event ) :    OrpheuCall( handleFuncEndRoundMessage, message, event );}