KF round plugin ışınlanma sorunu
Kod:
#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 /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( "EventRoundEnd", 2, "0=World triggered", "1=Round_Draw", "1=Round_End" );
register_menucmd( register_menuid( "\r* \yTakimlar 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 CmdRestartRound( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) 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 CmdKnifeRound( id, level, cid ) {
if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
CmdRestartRound( id, level, cid );
set_task( 2.0, "KnifeRoundStart", id );
chat_color(0, "!g[SG] !yKnife Round Basladi.");
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 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 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 EventRoundEnd( ) {
if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
if(!is_only_terrorist())
{
chat_color(0, "!g[SG] !yKnife Roundu Counter-Teroristler Kazandi.");
set_task( 6.0, "vote_ct" );
}
else
{
chat_color(0, "!g[SG] !yKnife Roundu Teroristler Kazandi.");
set_task( 6.0, "vote_t" );
}
}
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, "\r* \yTakimlar Degistirilsin mi?^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
}
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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
/*--------------------------CT KONTROLU---------------------------------*/
stock is_only_terrorist() {
for(new i = 0;i<iMaxPlayers;i++) {
if(get_user_team(i) == 2 && is_user_alive(i)) {
// Canlı CT Tespit Edildi !
return 0;
}
}
return 1;
}
/*--------------------------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)
}
/kf ayarı attığımda resartround la bugu giriyor ilk uzuna ışınlıyor fakat daha sonra res geldiği için t baseye atıyor. 2. ise ct lerde kazansa t lerde kazansa Hep teroristler kazandi diyor bunu düzeltebilirseniz çok iyi olur teşekkürler...
Cevap: KF round plugin ışınlanma sorunu
PHP- Kodu:
#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 /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( "EventRoundEnd", 2, "0=World triggered", "1=Round_Draw", "1=Round_End" );
register_menucmd( register_menuid( "\r* \yTakimlar 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 CmdRestartRound( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) 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 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[SG] !yKnife Round Basladi.");
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 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 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 EventRoundEnd( ) {
if( g_bKnifeRound && get_pcvar_num( g_pSwapVote ) ) {
new players[32],inum;
get_players(players,inum,"ae","CT")
if(inum)
{
chat_color(0, "!g[SG] !yKnife Roundu Counter-Teroristler Kazandi.");
set_task( 6.0, "vote_ct" );
}
else
{
chat_color(0, "!g[SG] !yKnife Roundu Teroristler Kazandi.");
set_task( 6.0, "vote_t" );
}
}
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, "\r* \yTakimlar Degistirilsin mi?^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
}
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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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)
}
Cevap: KF round plugin ışınlanma sorunu
ışınlanma dalgası düzeldi fakat halen teroristler kazandı demekte :(
Cevap: KF round plugin ışınlanma sorunu
Nasıl teroristler kazandı ? Ortada mı diyor, altta KF round bitince mi diyor ?
Cevap: KF round plugin ışınlanma sorunu
t ler kazansada Roundu teroristler kazandı yazıyor, kf ct kazansada raoundu teroristler kazandı diyor usta
Cevap: KF round plugin ışınlanma sorunu
PHP- Kodu:
#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 /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_menucmd( register_menuid( "\r* \yTakimlar 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 CmdRestartRound( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) 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 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[SG] !yKnife Round Basladi.");
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 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 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[SG] !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[SG] !yKnife Roundu Teroristler Kazandi.");
set_task( 6.0, "vote_t" );
}
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, "\r* \yTakimlar Degistirilsin mi?^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
}
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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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)
}
Dene.
Cevap: KF round plugin ışınlanma sorunu
Cevap: KF round plugin ışınlanma sorunu
Öyle bir şey olmadı. Büyük ihtimalle tek başına deniyorsun. Ölünce de Round Draw diyor. Round Drawı ayarlamamışım. Ama iki kişilikte bir problem yoktu.
Buyur bu en son sorunsuz hali. Denedim.
PHP- Kodu:
#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 /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( "\r* \yTakimlar 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 CmdRestartRound( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) 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 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[SG] !yKnife Round Basladi.");
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 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 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[SG] !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[SG] !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[SG] !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, "\r* \yTakimlar Degistirilsin mi?^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
}
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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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)
}
Cevap: KF round plugin ışınlanma sorunu
berk usta /kfbitir olayini ekleyebilirmiyiz peki son olarak teşekkürler..
Cevap: KF round plugin ışınlanma sorunu
KF bittiğinde neler otomatik olarak gerçekleşicek ? Örneğin restart atsın mı ?
Cevap: KF round plugin ışınlanma sorunu
kf bitir diyince restart atsın yeter hocam
Cevap: KF round plugin ışınlanma sorunu
PHP- Kodu:
#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( "\r* \yTakimlar 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 CmdRestartRound( id, level, cid ) {
if ( !cmd_access( id, level, cid, 1 ) ) 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 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[SG] !yKnife Round Basladi.");
return PLUGIN_CONTINUE;
}
public CmdKnifeRoundEnd( id, level, cid ) {
if( !cmd_access( id, level, cid, 1 ) ) return PLUGIN_HANDLED;
g_bKnifeRound = false;
CmdRestartRound( id, level, cid );
chat_color(0, "!g[SG] !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 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 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[SG] !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[SG] !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[SG] !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, "\r* \yTakimlar Degistirilsin mi?^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor ve Mac Basliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !yTakimlar Ayni Kaliyor ve Mac Basliyor.");
}
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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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)
}
Cevap: KF round plugin ışınlanma sorunu
Sorununu çözdüm kfbitir deyince normal olarak rr atıp normal oyun devam ediyor
Kod:
#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[SG] !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[SG] !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[SG] !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[SG] !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[SG] !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[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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 :)
Cevap: KF round plugin ışınlanma sorunu
biraz daha uğraşarak sorunu çözdüm şuanda hiçbir sıkıntı yok kullanabilirsin. :)
Kod:
#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[SG] !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[SG] !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[SG] !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[SG] !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[SG] !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[nLen], 255-nLen, "^n\r1. \wEvet" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n\r2. \wHayir" );
nLen += format( szMenuBody[nLen], 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[SG] !yTakimlar Degistiriliyor.");
SwapTeams( );
}
else
{
chat_color(0, "!g[SG] !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[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
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)
}
Cevap: KF round plugin ışınlanma sorunu
Çözülmüş İsteklere taşındı.