Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
KF round plugin ışınlanma sorunu
#11
kf bitir diyince restart atsın yeter hocam
Reply
#12
PHP Code:
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < hamsandwich >
#include <fun>
#include <engine>

#define PLUGIN "Knife Round"
#define VERSION "2.0"
#define AUTHOR "shake"


new bool:g_bKnifeRound;
new 
bool:g_bVotingProcess;
new 
g_iMaxPlayers;
new 
g_Votes];
new 
g_pSwapVote;
new 
g_pNoslash;
new 
iMaxPlayers;

public 
plugin_init() {
    
register_pluginPLUGINVERSIONAUTHOR );
    
g_pSwapVote register_cvar"kr_swapvote""1" );   
    
g_pNoslash register_cvar"kr_noslash""1" );
    
    
register_clcmd"say /kf""CmdKnifeRound"ADMIN_BAN"Start Knife Round" );
    
register_clcmd"say_team /kf""CmdKnifeRound"ADMIN_BAN"Start Knife Round" );
    
register_clcmd"say /kfbitir""CmdKnifeRoundEnd"ADMIN_BAN"Stop Knife Round" );
    
register_clcmd"say_team /kfbitir""CmdKnifeRoundEnd"ADMIN_BAN"Stop Knife Round" );
    
register_clcmd"say /kr""CmdKnifeRound"ADMIN_BAN"Start Knife Round" );
    
register_clcmd"say /kniferound""CmdKnifeRound"ADMIN_BAN"Start Knife Round" );
    
    
register_clcmd"shield""BlockCmds" );
    
register_clcmd"cl_rebuy""BlockCmds" );
    
    
register_event"CurWeapon""EventCurWeapon""be""2!29" );
    
    
register_logevent("Event_CTWin"6"3=CTs_Win""3=All_Hostages_Rescued")
    
register_logevent("Event_TWin" 6"3=Terrorists_Win""3=Target_Bombed")
    
register_logevent("Event_Draw" 4"1=Round_Draw")
    
    
register_menucmdregister_menuid"\r* \yTakimlar Degistirilsin mi?" ), 1023"MenuCommand" );
    
    
RegisterHamHam_Weapon_PrimaryAttack"weapon_knife""HamKnifePrimAttack" );
    
    
g_iMaxPlayers get_maxplayers( );
    
register_srvcmd("kfteleport","OtoTeleport")
    
iMaxPlayers get_maxplayers();
    
}

public 
EventCurWeaponid ) {
    if( 
g_bKnifeRound engclient_cmdid"weapon_knife" );
    return 
PLUGIN_CONTINUE;
}

public 
CmdRestartRoundidlevelcid ) {
    if ( !
cmd_accessidlevelcid) ) return PLUGIN_HANDLED;
    
    
g_bKnifeRound false;
    
    
set_cvar_string("mp_autokick""0");
    
set_cvar_string("mp_freezetime""5");
    
set_cvar_string("mp_autoteambalance""0");      
    
set_cvar_string("mp_limitteams""0");
    
set_cvar_string("mp_friendlyfire""1");    
    
set_cvar_string("sv_alltalk""0");        
    
set_cvar_string("mp_startmoney""800");
    
set_cvar_string("mp_timelimit""0");       
    
set_cvar_string("mp_forcecamera""2");
    
set_cvar_string("mp_forcechasecam""2");
    
set_cvar_string("mp_flashlight""1");        
    
set_cvar_string("mp_tkpunish""0");    
    
set_cvar_string("mp_c4timer""35");    
    
set_cvar_string("mp_roundtime""1.75");
    
set_cvar_string("mp_footsteps""1");
    
set_cvar_string("mp_buytime""0.25");
    
set_cvar_string("mp_maxrounds""0");
    
set_cvar_string("allow_spectators""1");
    
set_cvar_string("mp_logmessages""1");
    
    
server_cmd"sv_restartround 1" );
    
set_task(1.6,"OtoTeleport");
    return 
PLUGIN_CONTINUE;
}

public 
CmdKnifeRoundidlevelcid ) {    
    if( !
cmd_accessidlevelcid) ) return PLUGIN_HANDLED;
    
    
CmdRestartRoundidlevelcid );  
    
    
set_task3.0"KnifeRoundStart"id );
    
    
chat_color(0"!g[SG] !yKnife Round Basladi.");
    
    
    
    return 
PLUGIN_CONTINUE;
}

public 
CmdKnifeRoundEndidlevelcid ) {    
    if( !
cmd_accessidlevelcid) ) return PLUGIN_HANDLED;
    
    
g_bKnifeRound false;
    
    
CmdRestartRoundidlevelcid );  
    
    
chat_color(0"!g[SG] !yKnife Round Durduruldu !");
    
    
    return 
PLUGIN_CONTINUE;
}

public 
CmdSwapTeamsid,level,cid ) {
    if( !
cmd_accessidlevelcid) ) return PLUGIN_HANDLED;
    
    
SwapTeams( );
    
CmdRestartRoundidlevelcid );
    
    return 
PLUGIN_CONTINUE;
}

public 
KnifeRoundStart( ) {
    
g_bKnifeRound true;
    
g_bVotingProcess false;
    
    new 
players32 ], num;
    
get_playersplayersnum );
    
    for( new 
0num i++ )
    {
        new 
item players];
        
EventCurWeaponitem );
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
SwapTeams( ) {
    for( new 
1<= g_iMaxPlayersi++ ) {
        if( 
is_user_connected) )
        {
            switch( 
cs_get_user_team) )
            {
                case 
CS_TEAM_Tcs_set_user_teamiCS_TEAM_CT );            
                    case 
CS_TEAM_CTcs_set_user_teamiCS_TEAM_T );
                }
        }
    }
}

public 
Event_CTWin( ) {
    if( 
g_bKnifeRound && get_pcvar_numg_pSwapVote ) ) {
        
        
chat_color(0"!g[SG] !yKnife Roundu Counter-Teroristler Kazandi."); 
        
set_task6.0"vote_ct" );
        
    }
    
g_bKnifeRound false;
    
    return 
PLUGIN_CONTINUE;
}

public 
Event_TWin( ) {
    if( 
g_bKnifeRound && get_pcvar_numg_pSwapVote ) ) {
        
        
chat_color(0"!g[SG] !yKnife Roundu Teroristler Kazandi."); 
        
set_task6.0"vote_t" );
        
    }
    
g_bKnifeRound false;
    
    return 
PLUGIN_CONTINUE;
}

public 
Event_Draw( ) {
    if( 
g_bKnifeRound && get_pcvar_numg_pSwapVote ) ) {
        
        
chat_color(0"!g[SG] !yKnife Round Berabere Bitti !"); 
        
    }
    
g_bKnifeRound false;
    
    return 
PLUGIN_CONTINUE;
}

public 
vote_t( ) {
    for( new 
1<= g_iMaxPlayersi++ ) {
        if( 
is_user_alive) && cs_get_user_team) == CS_TEAM_T )
        {
            
ShowMenu);
        }
    }
    
set_task8.0"finishvote" );
}

public 
vote_ct( ) {
    for( new 
1<= g_iMaxPlayersi++ ) {
        if( 
is_user_alive) && cs_get_user_team) == CS_TEAM_CT )
        {
            
ShowMenu);
        }
    }
    
set_task8.0"finishvote" );
}

public 
ShowMenuid ) {
    
g_bVotingProcess true;
    
    if( 
g_bVotingProcess ) {
        new 
szMenuBody256 ], keys;
        
        new 
nLen formatszMenuBody255"\r* \yTakimlar Degistirilsin mi?^n" );
        
nLen += formatszMenuBody[nLen], 255-nLen"^n\r1. \wEvet" );
        
nLen += formatszMenuBody[nLen], 255-nLen"^n\r2. \wHayir" );
        
nLen += formatszMenuBody[nLen], 255-nLen"^n^n\r0. \wCikis" );
        
        
keys = ( 1<<1<<1<<);
        
        
show_menuidkeysszMenuBody, -);
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
MenuCommandidkey ) {
    if( !
g_bVotingProcess ) return PLUGIN_HANDLED;
    
    new 
szName32 ];
    
get_user_nameidszNamecharsmaxszName ) );
    
    switch( 
key )
    {
        case 
0
        {
            
g_Votes]++;
            
        }
        case 
1
        {
            
g_Votes]++;
            
        }  
        case 
9show_menuid0"" );
        } 
    
    return 
PLUGIN_HANDLED;
}

public 
finishvote( ) {
    if( !
g_bVotingProcess ) return PLUGIN_HANDLED;
    
    
server_cmd"sv_restartround 1" );
    
    if ( 
g_Votes] > g_Votes] ) 
    {
        
chat_color(0"!g[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
        
SwapTeams( );
    }
    else
    {
        
chat_color(0"!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
    }
    
    
g_Votes] = 0;
    
g_Votes] = 0;
    
g_bVotingProcess false;
    
    return 
PLUGIN_HANDLED;
}

public 
HamKnifePrimAttackiEnt ) {
    if( 
g_bKnifeRound && get_pcvar_numg_pNoslash ) ) 
    {
        
ExecuteHamBHam_Weapon_SecondaryAttackiEnt );          
        return 
HAM_SUPERCEDE;
    }
    return 
HAM_IGNORED;
}

public 
BlockCmds( ) {
    if( 
g_bKnifeRound ) {
        return 
PLUGIN_HANDLED_MAIN;
    }
    return 
PLUGIN_CONTINUE;
}
/*------------------------OTOMATİK TELEPORT------------------------------*/
public OtoTeleport() {
    
    new 
map[32];
    
get_mapname(map,31)
    
    new 
originct[3]; 
    new 
origint[3];
    
    if(
equali(map,"de_dust2")) {
        
//Ct Koordinatlari 
        
originct[0] = 1373;    // X
        
originct[1] = 1988;    // Y
        
originct[2] = 45;    // Z
        
        //T Koordinatlari
        
origint[0] = 1550;    // X
        
origint[1] = 1147;    // Y
        
origint[2] = 45;    // Z
    
}
    else if(
equali(map,"de_inferno")) {
        
//Ct Koordinatlari
        
originct[0] = 1366;    // X
        
originct[1] = 955;    // Y
        
originct[2] = 196;    // Z
        
        //T Koordinatlari
        
origint[0] = 1514;    // X
        
origint[1] = 457;    // Y
        
origint[2] = 196;    // Z
    
}
    else if(
equali(map,"de_nuke")) {
        
originct[0] = 1035;    // X
        
originct[1] = -1761;    // Y
        
originct[2] = -379;    // Z
        
        //T Koordinatlari
        
origint[0] = 1179;    // X
        
origint[1] = -2183;    // Y
        
origint[2] = -379;    // Z
    
}
    else if(
equali(map,"de_train")) {
        
        
originct[0] = -768;    // X
        
originct[1] = 1196;    // Y
        
originct[2] = -187;    // Z
        
        //T Koordinatlari
        
origint[0] = -615;    // X
        
origint[1] = 777;    // Y
        
origint[2] = -187;    // Z
    
}
    for(new 
0;i<iMaxPlayers;i++) {
        if(
get_user_team(i) == 1) {
            
set_user_origin(i,origint)
            
origint[0]-= 40;
        }
        else if(
get_user_team(i) == 2) {
            
set_user_origin(i,originct)
            
originct[0]+= 40;
        }
        
    }
    for(new 
0;i<iMaxPlayers;i++) {
        
check_user_angles(i)
    }
    
    return 
PLUGIN_HANDLED
}  
/*------------------------YAZI RENKLENDİRME------------------------------*/
stock chat_color(const id, const input[], any:...) {
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")
    
replace_all(msg190"!y""^1")
    
replace_all(msg190"!t""^3")
    
replace_all(msg190"!team2""^0")
    
    if (
idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players)
                
write_byte(players);
                
write_string(msg);
                
message_end();
            }
        }
    }
}  

/*--------------------------AÇI DÜZELTİCİ------------------------------*/
stock check_user_angles(id) {
    new 
Float:Angle[3];
    
entity_get_vector(id,EV_VEC_angles,Angle)
    if(
get_user_team(id) == 2) {
        
Angle[1] = 270.0;
    }
    else if(
get_user_team(id) == 1) {
        
Angle[1] = 90.0
    
}
    
entity_set_vector(id,EV_VEC_angles,Angle)
    
entity_set_int(id,EV_INT_fixangle,1)

[/i][/i][/i]


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply
#13
Sorununu çözdüm kfbitir deyince normal olarak rr atıp normal oyun devam ediyor

Code:
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < hamsandwich >
#include <fun>
#include <engine>

#define PLUGIN "Knife Round"
#define VERSION "2.0"
#define AUTHOR "shake"


new bool:g_bKnifeRound;
new bool:g_bVotingProcess;
new g_iMaxPlayers;
new g_Votes[ 2 ];
new g_pSwapVote;
new g_pNoslash;
new iMaxPlayers;

public plugin_init() {
    register_plugin( PLUGIN, VERSION, AUTHOR );
    g_pSwapVote = register_cvar( "kr_swapvote", "1" );  
    g_pNoslash = register_cvar( "kr_noslash", "1" );
    
    register_clcmd( "say /kf", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say_team /kf", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say /kfbitir", "CmdKnifeRoundEnd", ADMIN_BAN, "Stop Knife Round" );
    register_clcmd( "say_team /kfbitir", "CmdKnifeRoundEnd", ADMIN_BAN, "Stop Knife Round" );
    register_clcmd( "say /kr", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say /kniferound", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    
    register_clcmd( "shield", "BlockCmds" );
    register_clcmd( "cl_rebuy", "BlockCmds" );
    
    register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" );
    
    register_logevent("Event_CTWin", 6, "3=CTs_Win", "3=All_Hostages_Rescued")
    register_logevent("Event_TWin" , 6, "3=Terrorists_Win", "3=Target_Bombed")
    register_logevent("Event_Draw" , 4, "1=Round_Draw")
    
    register_menucmd( register_menuid( "\rTakimlar Degistirilsin mi?" ), 1023, "MenuCommand" );
    
    RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "HamKnifePrimAttack" );
    
    g_iMaxPlayers = get_maxplayers( );
    register_srvcmd("kfteleport","OtoTeleport")
    iMaxPlayers = get_maxplayers();
    
}

public EventCurWeapon( id ) {
    if( g_bKnifeRound ) engclient_cmd( id, "weapon_knife" );
    return PLUGIN_CONTINUE;
}

public KnifeRoundStart( ) {
    g_bKnifeRound = true;
    g_bVotingProcess = false;
    
    new players[ 32 ], num;
    get_players( players, num );
    
    for( new i = 0; i < num ; i++ )
    {
        new item = players[ i ];
        EventCurWeapon( item );
    }
    
    return PLUGIN_CONTINUE;
}

public CmdRestartRound( id, level, cid ) {
    if ( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    g_bKnifeRound = false;
    server_cmd( "sv_restartround 1" );
    set_cvar_string("mp_autokick", "0");
    set_cvar_string("mp_freezetime", "5");
    set_cvar_string("mp_autoteambalance", "0");      
    set_cvar_string("mp_limitteams", "0");
    set_cvar_string("mp_friendlyfire", "1");    
    set_cvar_string("sv_alltalk", "0");        
    set_cvar_string("mp_startmoney", "800");
    set_cvar_string("mp_timelimit", "0");      
    set_cvar_string("mp_forcecamera", "2");
    set_cvar_string("mp_forcechasecam", "2");
    set_cvar_string("mp_flashlight", "1");        
    set_cvar_string("mp_tkpunish", "0");    
    set_cvar_string("mp_c4timer", "35");    
    set_cvar_string("mp_roundtime", "1.75");
    set_cvar_string("mp_footsteps", "1");
    set_cvar_string("mp_buytime", "0.25");
    set_cvar_string("mp_maxrounds", "0");
    set_cvar_string("allow_spectators", "1");
    set_cvar_string("mp_logmessages", "1");
    
  
    set_task(1.6,"OtoTeleport");
    return PLUGIN_CONTINUE;
}

public CmdKnifeRound( id, level, cid ) {    
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    CmdRestartRound( id, level, cid );  
    
    set_task( 3.0, "KnifeRoundStart", id );
    
    chat_color(0, "!g !yKnife Round Basladi.");
    
    
    
    return PLUGIN_CONTINUE;
}

public CmdKnifeRoundEnd( id, level, cid ) {    
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    g_bKnifeRound = false;
    
    
    server_cmd( "sv_restartround 1" );
    chat_color(0, "!g !yKnife Round Durduruldu !");
    
    
    return PLUGIN_CONTINUE;
}

public CmdSwapTeams( id,level,cid ) {
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    SwapTeams( );
    CmdRestartRound( id, level, cid );
    
    return PLUGIN_CONTINUE;
}


public SwapTeams( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_connected( i ) )
        {
            switch( cs_get_user_team( i ) )
            {
                case CS_TEAM_T: cs_set_user_team( i, CS_TEAM_CT );            
                    case CS_TEAM_CT: cs_set_user_team( i, CS_TEAM_T );
                }
        }
    }
}

public Event_CTWin( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Roundu Counter-Teroristler Kazandi.");
        set_task( 6.0, "vote_ct" );
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public Event_TWin( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Roundu Teroristler Kazandi.");
        set_task( 6.0, "vote_t" );
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public Event_Draw( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Round Berabere Bitti !");
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public vote_t( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_T )
        {
            ShowMenu( i );
        }
    }
    set_task( 8.0, "finishvote" );
}

public vote_ct( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
        {
            ShowMenu( i );
        }
    }
    set_task( 8.0, "finishvote" );
}

public ShowMenu( id ) {
    g_bVotingProcess = true;
    
    if( g_bVotingProcess ) {
        new szMenuBody[ 256 ], keys;
        
        new nLen = format( szMenuBody, 255, "\rTakimlar Degistirilsin mi?^n" );
        nLen += format( szMenuBody, 255-nLen, "^n\r1. \wEvet" );
        nLen += format( szMenuBody, 255-nLen, "^n\r2. \wHayir" );
        nLen += format( szMenuBody, 255-nLen, "^n^n\r0. \wCikis" );
        
        keys = ( 1<<0 | 1<<1 | 1<<9 );
        
        show_menu( id, keys, szMenuBody, -1 );
    }
    
    return PLUGIN_CONTINUE;
}

public MenuCommand( id, key ) {
    if( !g_bVotingProcess ) return PLUGIN_HANDLED;
    
    new szName[ 32 ];
    get_user_name( id, szName, charsmax( szName ) );
    
    switch( key )
    {
        case 0:
        {
            g_Votes[ 0 ]++;
            
        }
        case 1:
        {
            g_Votes[ 1 ]++;
            
        }  
        case 9: show_menu( id, 0, "" );
        }
    
    return PLUGIN_HANDLED;
}

public finishvote( ) {
    if( !g_bVotingProcess ) return PLUGIN_HANDLED;
    
    server_cmd( "sv_restartround 1" );
    
    if ( g_Votes[ 0 ] > g_Votes[ 1 ] )
    {
        chat_color(0, "!g !yTakimlar Degistiriliyor.");
        SwapTeams( );
    }
    else
    {
        chat_color(0, "!g !yTakimlar Ayni Kaliyor.");
    }
    
    g_Votes[ 0 ] = 0;
    g_Votes[ 1 ] = 0;
    g_bVotingProcess = false;
    
    return PLUGIN_HANDLED;
}

public HamKnifePrimAttack( iEnt ) {
    if( g_bKnifeRound && get_pcvar_num( g_pNoslash ) )
    {
        ExecuteHamB( Ham_Weapon_SecondaryAttack, iEnt );          
        return HAM_SUPERCEDE;
    }
    return HAM_IGNORED;
}

public BlockCmds( ) {
    if( g_bKnifeRound ) {
        return PLUGIN_HANDLED_MAIN;
    }
    return PLUGIN_CONTINUE;
}
/*------------------------OTOMATİK TELEPORT------------------------------*/
public OtoTeleport() {
    
    new map[32];
    get_mapname(map,31)
    
    new originct[3];
    new origint[3];
    
    if(equali(map,"de_dust2")) {
        //Ct Koordinatlari
        originct[0] = 1373;    // X
        originct[1] = 1988;    // Y
        originct[2] = 45;    // Z
        
        //T Koordinatlari
        origint[0] = 1550;    // X
        origint[1] = 1147;    // Y
        origint[2] = 45;    // Z
    }
    else if(equali(map,"de_inferno")) {
        //Ct Koordinatlari
        originct[0] = 1366;    // X
        originct[1] = 955;    // Y
        originct[2] = 196;    // Z
        
        //T Koordinatlari
        origint[0] = 1514;    // X
        origint[1] = 457;    // Y
        origint[2] = 196;    // Z
    }
    else if(equali(map,"de_nuke")) {
        originct[0] = 1035;    // X
        originct[1] = -1761;    // Y
        originct[2] = -379;    // Z
        
        //T Koordinatlari
        origint[0] = 1179;    // X
        origint[1] = -2183;    // Y
        origint[2] = -379;    // Z
    }
    else if(equali(map,"de_train")) {
        
        originct[0] = -768;    // X
        originct[1] = 1196;    // Y
        originct[2] = -187;    // Z
        
        //T Koordinatlari
        origint[0] = -615;    // X
        origint[1] = 777;    // Y
        origint[2] = -187;    // Z
    }
    for(new i = 0;i<iMaxPlayers;i++) {
        if(get_user_team(i) == 1) {
            set_user_origin(i,origint)
            origint[0]-= 40;
        }
        else if(get_user_team(i) == 2) {
            set_user_origin(i,originct)
            originct[0]+= 40;
        }
        
    }
    for(new i = 0;i<iMaxPlayers;i++) {
        check_user_angles(i)
    }
    
    return PLUGIN_HANDLED
}  
/*------------------------YAZI RENKLENDİRME------------------------------*/
stock chat_color(const id, const input[], any:...) {
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!t", "^3")
    replace_all(msg, 190, "!team2", "^0")
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
                write_byte(players);
                write_string(msg);
                message_end();
            }
        }
    }
}  

/*--------------------------AÇI DÜZELTİCİ------------------------------*/
stock check_user_angles(id) {
    new Float:Angle[3];
    entity_get_vector(id,EV_VEC_angles,Angle)
    if(get_user_team(id) == 2) {
        Angle[1] = 270.0;
    }
    else if(get_user_team(id) == 1) {
        Angle[1] = 90.0
    }
    entity_set_vector(id,EV_VEC_angles,Angle)
    entity_set_int(id,EV_INT_fixangle,1)
}


ama ışınlanma sorununu çözemedim sorun şurda kf round başlarken rr atılıyor oyuncular teleport edildikten sonra rr atıldığı için oyuncular normal yerlerinde doğuyor bunun çözümü içinde rr komutundan sonra belli bir süre bekleyip ondan sonra teleport komutlarını çalıştırması lazım benim bununla ilgili hiçbir bilgim yok yukardaki sorunuda mantık kurarak çözdüm anlattığım şekilde yapabilecek bir arkadaş çıkarsa sorunun çözülmüş olur Smile
Reply
#14
biraz daha uğraşarak sorunu çözdüm şuanda hiçbir sıkıntı yok kullanabilirsin. Smile

Code:
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < hamsandwich >
#include <fun>
#include <engine>

#define PLUGIN "Knife Round"
#define VERSION "2.0"
#define AUTHOR "shake"


new bool:g_bKnifeRound;
new bool:g_bVotingProcess;
new g_iMaxPlayers;
new g_Votes[ 2 ];
new g_pSwapVote;
new g_pNoslash;
new iMaxPlayers;

public plugin_init() {
    register_plugin( PLUGIN, VERSION, AUTHOR );
    g_pSwapVote = register_cvar( "kr_swapvote", "1" );  
    g_pNoslash = register_cvar( "kr_noslash", "1" );
    
    register_clcmd( "say /kf", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say_team /kf", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say /kfbitir", "CmdKnifeRoundEnd", ADMIN_BAN, "Stop Knife Round" );
    register_clcmd( "say_team /kfbitir", "CmdKnifeRoundEnd", ADMIN_BAN, "Stop Knife Round" );
    register_clcmd( "say /kr", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    register_clcmd( "say /kniferound", "CmdKnifeRound", ADMIN_BAN, "Start Knife Round" );
    
    register_clcmd( "shield", "BlockCmds" );
    register_clcmd( "cl_rebuy", "BlockCmds" );
    
    register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" );
    
    register_logevent("Event_CTWin", 6, "3=CTs_Win", "3=All_Hostages_Rescued")
    register_logevent("Event_TWin" , 6, "3=Terrorists_Win", "3=Target_Bombed")
    register_logevent("Event_Draw" , 4, "1=Round_Draw")
    
    register_menucmd( register_menuid( "\rTakimlar Degistirilsin mi?" ), 1023, "MenuCommand" );
    
    RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_knife", "HamKnifePrimAttack" );
    
    g_iMaxPlayers = get_maxplayers( );
    register_srvcmd("kfteleport","OtoTeleport")
    iMaxPlayers = get_maxplayers();
    
}

public EventCurWeapon( id ) {
    if( g_bKnifeRound ) engclient_cmd( id, "weapon_knife" );
    return PLUGIN_CONTINUE;
}

public KnifeRoundStart( ) {
    g_bKnifeRound = true;
    g_bVotingProcess = false;
    
    new players[ 32 ], num;
    get_players( players, num );
    
    for( new i = 0; i < num ; i++ )
    {
        new item = players[ i ];
        EventCurWeapon( item );
    }
    set_task(1.0,"OtoTeleport")
    return PLUGIN_CONTINUE;
}

public CmdRestartRound( id, level, cid ) {
    if ( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    g_bKnifeRound = false;
    server_cmd( "sv_restartround 1" );
    set_cvar_string("mp_autokick", "0");
    set_cvar_string("mp_freezetime", "5");
    set_cvar_string("mp_autoteambalance", "0");      
    set_cvar_string("mp_limitteams", "0");
    set_cvar_string("mp_friendlyfire", "1");    
    set_cvar_string("sv_alltalk", "0");        
    set_cvar_string("mp_startmoney", "800");
    set_cvar_string("mp_timelimit", "0");      
    set_cvar_string("mp_forcecamera", "2");
    set_cvar_string("mp_forcechasecam", "2");
    set_cvar_string("mp_flashlight", "1");        
    set_cvar_string("mp_tkpunish", "0");    
    set_cvar_string("mp_c4timer", "35");    
    set_cvar_string("mp_roundtime", "1.75");
    set_cvar_string("mp_footsteps", "1");
    set_cvar_string("mp_buytime", "0.25");
    set_cvar_string("mp_maxrounds", "0");
    set_cvar_string("allow_spectators", "1");
    set_cvar_string("mp_logmessages", "1");
    
    return PLUGIN_CONTINUE;
}

public CmdKnifeRound( id, level, cid ) {    
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    CmdRestartRound( id, level, cid );  
    
    set_task( 1.2, "KnifeRoundStart", id );
    
    chat_color(0, "!g !yKnife Round Basladi.");
    
    
    
    return PLUGIN_CONTINUE;
}

public CmdKnifeRoundEnd( id, level, cid ) {    
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    g_bKnifeRound = false;
    
    
    server_cmd( "sv_restartround 1" );
    chat_color(0, "!g !yKnife Round Durduruldu !");
    
    
    return PLUGIN_CONTINUE;
}

public CmdSwapTeams( id,level,cid ) {
    if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
    
    SwapTeams( );
    CmdRestartRound( id, level, cid );
    
    return PLUGIN_CONTINUE;
}


public SwapTeams( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_connected( i ) )
        {
            switch( cs_get_user_team( i ) )
            {
                case CS_TEAM_T: cs_set_user_team( i, CS_TEAM_CT );            
                    case CS_TEAM_CT: cs_set_user_team( i, CS_TEAM_T );
                }
        }
    }
}

public Event_CTWin( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Roundu Counter-Teroristler Kazandi.");
        set_task( 6.0, "vote_ct" );
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public Event_TWin( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Roundu Teroristler Kazandi.");
        set_task( 6.0, "vote_t" );
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public Event_Draw( ) {
    if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
        
        chat_color(0, "!g !yKnife Round Berabere Bitti !");
        
    }
    g_bKnifeRound = false;
    
    return PLUGIN_CONTINUE;
}

public vote_t( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_T )
        {
            ShowMenu( i );
        }
    }
    set_task( 8.0, "finishvote" );
}

public vote_ct( ) {
    for( new i = 1; i <= g_iMaxPlayers; i++ ) {
        if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
        {
            ShowMenu( i );
        }
    }
    set_task( 8.0, "finishvote" );
}

public ShowMenu( id ) {
    g_bVotingProcess = true;
    
    if( g_bVotingProcess ) {
        new szMenuBody[ 256 ], keys;
        
        new nLen = format( szMenuBody, 255, "\rTakimlar Degistirilsin mi?^n" );
        nLen += format( szMenuBody, 255-nLen, "^n\r1. \wEvet" );
        nLen += format( szMenuBody, 255-nLen, "^n\r2. \wHayir" );
        nLen += format( szMenuBody, 255-nLen, "^n^n\r0. \wCikis" );
        
        keys = ( 1<<0 | 1<<1 | 1<<9 );
        
        show_menu( id, keys, szMenuBody, -1 );
    }
    
    return PLUGIN_CONTINUE;
}

public MenuCommand( id, key ) {
    if( !g_bVotingProcess ) return PLUGIN_HANDLED;
    
    new szName[ 32 ];
    get_user_name( id, szName, charsmax( szName ) );
    
    switch( key )
    {
        case 0:
        {
            g_Votes[ 0 ]++;
            
        }
        case 1:
        {
            g_Votes[ 1 ]++;
            
        }  
        case 9: show_menu( id, 0, "" );
        }
    
    return PLUGIN_HANDLED;
}

public finishvote( ) {
    if( !g_bVotingProcess ) return PLUGIN_HANDLED;
    
    server_cmd( "sv_restartround 1" );
    
    if ( g_Votes[ 0 ] > g_Votes[ 1 ] )
    {
        chat_color(0, "!g !yTakimlar Degistiriliyor.");
        SwapTeams( );
    }
    else
    {
        chat_color(0, "!g !yTakimlar Ayni Kaliyor.");
    }
    
    g_Votes[ 0 ] = 0;
    g_Votes[ 1 ] = 0;
    g_bVotingProcess = false;
    
    return PLUGIN_HANDLED;
}

public HamKnifePrimAttack( iEnt ) {
    if( g_bKnifeRound && get_pcvar_num( g_pNoslash ) )
    {
        ExecuteHamB( Ham_Weapon_SecondaryAttack, iEnt );          
        return HAM_SUPERCEDE;
    }
    return HAM_IGNORED;
}

public BlockCmds( ) {
    if( g_bKnifeRound ) {
        return PLUGIN_HANDLED_MAIN;
    }
    return PLUGIN_CONTINUE;
}
/*------------------------OTOMATİK TELEPORT------------------------------*/
public OtoTeleport() {
    
    new map[32];
    get_mapname(map,31)
    
    new originct[3];
    new origint[3];
    
    if(equali(map,"de_dust2")) {
        //Ct Koordinatlari
        originct[0] = 1373;    // X
        originct[1] = 1988;    // Y
        originct[2] = 45;    // Z
        
        //T Koordinatlari
        origint[0] = 1550;    // X
        origint[1] = 1147;    // Y
        origint[2] = 45;    // Z
    }
    else if(equali(map,"de_inferno")) {
        //Ct Koordinatlari
        originct[0] = 1366;    // X
        originct[1] = 955;    // Y
        originct[2] = 196;    // Z
        
        //T Koordinatlari
        origint[0] = 1514;    // X
        origint[1] = 457;    // Y
        origint[2] = 196;    // Z
    }
    else if(equali(map,"de_nuke")) {
        originct[0] = 1035;    // X
        originct[1] = -1761;    // Y
        originct[2] = -379;    // Z
        
        //T Koordinatlari
        origint[0] = 1179;    // X
        origint[1] = -2183;    // Y
        origint[2] = -379;    // Z
    }
    else if(equali(map,"de_train")) {
        
        originct[0] = -768;    // X
        originct[1] = 1196;    // Y
        originct[2] = -187;    // Z
        
        //T Koordinatlari
        origint[0] = -615;    // X
        origint[1] = 777;    // Y
        origint[2] = -187;    // Z
    }
    for(new i = 0;i<iMaxPlayers;i++) {
        if(get_user_team(i) == 1) {
            set_user_origin(i,origint)
            origint[0]-= 40;
        }
        else if(get_user_team(i) == 2) {
            set_user_origin(i,originct)
            originct[0]+= 40;
        }
        
    }
    for(new i = 0;i<iMaxPlayers;i++) {
        check_user_angles(i)
    }
    
    return PLUGIN_HANDLED
}  
/*------------------------YAZI RENKLENDİRME------------------------------*/
stock chat_color(const id, const input[], any:...) {
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!t", "^3")
    replace_all(msg, 190, "!team2", "^0")
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
                write_byte(players);
                write_string(msg);
                message_end();
            }
        }
    }
}  

/*--------------------------AÇI DÜZELTİCİ------------------------------*/
stock check_user_angles(id) {
    new Float:Angle[3];
    entity_get_vector(id,EV_VEC_angles,Angle)
    if(get_user_team(id) == 2) {
        Angle[1] = 270.0;
    }
    else if(get_user_team(id) == 1) {
        Angle[1] = 90.0
    }
    entity_set_vector(id,EV_VEC_angles,Angle)
    entity_set_int(id,EV_INT_fixangle,1)
}
Reply
#15
Çözülmüş İsteklere taşındı.


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Oyunyonetıcısı plugın kursatyzc 9 11,459 03-09-17, 18:05
Last Post: tahayasin
  [İSTEK] CT MAVi - T Kırmızı ışık yanan Plugin + Video Çektim ademcan36 9 10,458 26-04-17, 16:15
Last Post: h4m4s
  Parlak pelerin plugin lazım artiz42 8 4,686 03-08-16, 20:45
Last Post: murat1366
  Plugin İstek CFG Tarzı erenstrkl 6 3,768 03-08-16, 20:31
Last Post: murat1366
  Plugin Ufak Ayarlar Config Setting 7 3,487 03-08-16, 20:28
Last Post: murat1366
  Nicke özel plugin bykeremm 12 6,207 03-08-16, 20:18
Last Post: murat1366
  Jailbreak Bahis Plugin hasan06500 49 13,120 03-08-16, 20:18
Last Post: murat1366
  Reklamcılara karsi Acil İstek[Plugin] hasan0650 22 5,558 17-07-16, 18:03
Last Post: BYHAZARD7
  Hoş Geldin Mesajı (Değişik Bir Plugin + Resim Koydum + AMXX Ve SMA) Nobb 13 9,025 18-04-16, 02:59
Last Post: Uzman34666
  Takım ve meslek plugin berkanmtn 9 5,371 09-06-15, 10:10
Last Post: sertanAbi123

Foruma Atla:


Users browsing this thread: