Klausimas del orpheu

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimas del orpheu

Post 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 )    }}

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Klausimas del orpheu

Post 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 ^^

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimas del orpheu

Post 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

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Klausimas del orpheu

Post 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    }}

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimas del orpheu

Post by psychical »

P.S. Pamirsau paminet, uzmusus isgyventoja turetu baigtis round'as

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Klausimas del orpheu

Post 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 );}
Attachments
round_terminator.inc
(2.37 KiB) Downloaded 804 times

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 4 guests