deci am un server de dr si ct cand primeste arma cand nu o rund nu primeste dupaia nu stiu cate runde primeste si iara o rund primeste o runda nu da e ceva ciudat ... ma rog
pe langa asta cum asi putea sa nu se dea usp sa se dea deagle exista un plugin pentru asa ceva
Problema sv
Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
-
- Utilizator banat
- Posts: 865
- Joined: 09 Nov 2008, 20:24
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
- Has thanked: 47 times
- Been thanked: 19 times
Incearca sa bagi Deathrun Manager versiunea 3 , si comanda amx_cvar deathrun_giveusp 1 .
Cat despre problema 2 , nu se poate, + ar fi o mare prostie deoarece poti trage prin ziduri :D
Cat despre problema 2 , nu se poate, + ar fi o mare prostie deoarece poti trage prin ziduri :D
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
nu ar fi o mare prostie cu pluginul nowalls.amxx ... intelegi ii deathrun manager v3 da totul ii dat peste cap da ok... asi vrea sa stiu cum se da deagle
- KronoS eXtream
- Fost administrator
- Posts: 4378
- Joined: 02 Apr 2009, 19:18
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS - Location: Bucharest
- Has thanked: 551 times
- Been thanked: 820 times
- Contact:
Se paote modifica.Da-mi sursa la deathrun manager si iti modific eu.
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
ca sa-ti dea deagle...?
EDIT:sursa mea de la deathrunmanager nu o mai am ca aia o modificasem mult ma dintro data s-o dat peste cap nu stiu din ce cauza da ok acuma asi vrea sa dea deagle nu usp
DeathrunMaheger.sma
EDIT:sursa mea de la deathrunmanager nu o mai am ca aia o modificasem mult ma dintro data s-o dat peste cap nu stiu din ce cauza da ok acuma asi vrea sa dea deagle nu usp
DeathrunMaheger.sma
- | Afiseaza codul
#include < amxmodx > #include < engine > #include < cstrike > #include < fun > #include < fakemeta > #include < hamsandwich > #pragma semicolon 1 // Comment this line if you do not want to have fake player ! #define FAKE_PLAYER // Bot name #if defined FAKE_PLAYER new const g_szBotName[ ] = "[RO]DR-BuLLet Fake Player"; #endif // Messages prefix new const g_szPrefix[ ] = "[ Deathrun ]"; // Global Variables new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound; new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ]; new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams; new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill; new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText; new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker; new g_iSemiClip[ 33 ], g_Lifes[ 33 ]; #if defined FAKE_PLAYER new g_iFakeplayer; #endif // Macros #if cellbits == 32 #define OFFSET_BZ 235 #else #define OFFSET_BZ 268 #endif // Colorchat enum Color { NORMAL = 1, GREEN, RED, BLUE }; new TeamName[ ][ ] = { "", "TERRORIST", "CT", "SPECTATOR" }; // ======================================================================================= public plugin_init( ) { new const VERSION[ ] = "3.0.3"; register_plugin( "Deathrun Manager", VERSION, "THE _GAme" ); g_pToggle = register_cvar( "deathrun_toggle", "1" ); g_pBlockSpray = register_cvar( "deathrun_spray", "1" ); g_pBlockRadio = register_cvar( "deathrun_radio", "1" ); g_pBlockKill = register_cvar( "deathrun_blockkill", "1" ); g_pBlockMoney = register_cvar( "deathrun_blockmoney", "1" ); g_pSemiclip = register_cvar( "deathrun_semiclip", "1" ); g_pGiveUsp = register_cvar( "deathrun_giveusp", "1" ); g_pHideHuds = register_cvar( "deathrun_hidehud", "1" ); g_pLifeSystem = register_cvar( "deathrun_lifesystem", "1" ); g_pGameName = register_cvar( "deathrun_gamename", "1" ); g_pNoFallDmg = register_cvar( "deathrun_terrnfd", "1" ); g_pRemoveBuyZone = register_cvar( "deathrun_removebz", "1" ); // Lets get map name... new szMapName[ 64 ]; get_mapname( szMapName, 63 ); if( contain( szMapName, "deathrun_" ) != -1 ) { set_pcvar_num( g_pToggle, 1 ); if( contain( szMapName, "hauntedhouse" ) != -1 ) g_bHauntedHouse = true; else { g_bHauntedHouse = false; if( equal( szMapName, "deathrun_gamerfun" ) ) g_bGamerFun = true; else g_bGamerFun = false; } } else set_pcvar_num( g_pToggle, 0 ); g_pSvRestart = get_cvar_pointer( "sv_restart" ); g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" ); g_pLimitTeams = get_cvar_pointer( "mp_limitteams" ); register_cvar( "deathrun_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); set_cvar_string( "deathrun_version", VERSION ); // Registering Language file register_dictionary( "deathrun.txt" ); // Logging Events register_logevent( "EventRoundStart", 2, "1=Round_Start" ); register_logevent( "EventRandromize", 2, "1=Round_End" ); register_event( "SendAudio", "EventTerrsWin", "a", "2&%!MRAD_terwin" ); register_event( "TextMsg", "EventRandromize", "a", "2&#Game_w" ); register_event( "DeathMsg", "EventDeath", "a"); register_event( "Money", "EventMoney", "b" ); register_event( "ResetHUD", "EventResetHud", "be" ); g_bFirstRound = true; g_iMaxplayers = get_maxplayers( ); g_iMsgHideWeapon = get_user_msgid( "HideWeapon" ); g_iMsgCrosshair = get_user_msgid( "Crosshair" ); g_iMsgMoney = get_user_msgid( "Money" ); g_iMsgSayText = get_user_msgid( "SayText" ); g_iMsgTeamInfo = get_user_msgid( "TeamInfo" ); g_iHudSync = CreateHudSyncObj( ); g_iHudSync2 = CreateHudSyncObj( ); if( get_pcvar_num( g_pToggle ) ) { RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" ); RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 ); register_forward( FM_ClientKill, "FwdClientKill" ); register_impulse( 201, "FwdImpulse_201" ); if( get_pcvar_num( g_pGameName ) ) register_forward( FM_GetGameDescription, "FwdGameDesc" ); register_clcmd( "say /lifes", "CmdShowlifes" ); register_clcmd( "say /lives", "CmdShowlifes" ); register_clcmd( "radio1", "CmdRadio" ); register_clcmd( "radio2", "CmdRadio" ); register_clcmd( "radio3", "CmdRadio" ); // Terrorist Check g_iThinker= create_entity( "info_target" ); if( is_valid_ent( g_iThinker ) ) { entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" ); entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 ); g_bRestart = true; // First think will happen in 20.0, Restart will be done there. register_think( "DeathrunThinker", "FwdThinker" ); } else { set_task( 15.0, "CheckTerrorists", _, _, _, "b" ); // Lets make restart after 20 seconds from map start. set_task( 20.0, "RestartRound" ); } if( get_pcvar_num( g_pRemoveBuyZone ) ) { register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon // Remove buyzone on map remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); // Create own entity to block buying new iEntity = create_entity( "info_map_parameters" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); } if( get_pcvar_num( g_pSemiclip ) ) { register_forward( FM_StartFrame, "FwdStartFrame", 0 ); register_forward( FM_AddToFullPack, "FwdFullPack", 1 ); } g_bEnabled = true; #if defined FAKE_PLAYER new iEntity, iCount; while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 ) if( iCount++ > 1 ) break; if( iCount <= 1 ) g_iFakeplayer = -1; set_task( 5.0, "UpdateBot" ); register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" ); #endif } else g_bEnabled = false; } // FAKEPLAYER /////////////////////////////////////////// #if defined FAKE_PLAYER public UpdateBot( ) { if( g_iFakeplayer == -1 ) return; new id = find_player( "i" ); if( !id ) { id = engfunc( EngFunc_CreateFakeClient, g_szBotName ); if( pev_valid( id ) ) { engfunc( EngFunc_FreeEntPrivateData, id ); dllfunc( MetaFunc_CallGameEntity, "player", id ); set_user_info( id, "rate", "3500" ); set_user_info( id, "cl_updaterate", "25" ); set_user_info( id, "cl_lw", "1" ); set_user_info( id, "cl_lc", "1" ); set_user_info( id, "cl_dlmax", "128" ); set_user_info( id, "cl_righthand", "1" ); set_user_info( id, "_vgui_menus", "0" ); set_user_info( id, "_ah", "0" ); set_user_info( id, "dm", "0" ); set_user_info( id, "tracker", "0" ); set_user_info( id, "friends", "0" ); set_user_info( id, "*bot", "1" ); set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT ); set_pev( id, pev_colormap, id ); new szMsg[ 128 ]; dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg ); dllfunc( DLLFunc_ClientPutInServer, id ); cs_set_user_team( id, CS_TEAM_T ); ExecuteHamB( Ham_CS_RoundRespawn, id ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); dllfunc( DLLFunc_Think, id ); g_iFakeplayer = id; } } } public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) { if( get_msg_arg_int( 2 ) == g_iFakeplayer ) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } #endif // NEW TERRORIST /////////////////////////////////////////// public EventRandromize( ) { if( !g_bEnabled || g_bFirstRound || g_bRandromized ) return PLUGIN_CONTINUE; g_bRandromized = true; new i, iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) cs_set_user_team( iPlayer, CS_TEAM_CT ); } new iRandomPlayer, CsTeams:iTeam; while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { } g_iLastTerr = iRandomPlayer; iTeam = cs_get_user_team( iRandomPlayer ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) { cs_set_user_team(iRandomPlayer, CS_TEAM_T); new szName[ 32 ]; get_user_name( iRandomPlayer, szName, 31 ); for( i = 0; i < iNum; i++ ) ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); } else { g_bRandromized = false; EventRandromize( ); } return PLUGIN_CONTINUE; } // NEW ROUND /////////////////////////////////////////// public EventRoundStart( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; g_bRandromized = false; g_bStarting = false; new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } set_pcvar_num( g_pAutoBalance, 0 ); set_pcvar_num( g_pLimitTeams, 0 ); if( g_bFirstRound ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) { ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" ); ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" ); } if( is_valid_ent( g_iThinker ) ) { g_bRestart = true; entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 ); } else set_task( 9.0, "RestartRound" ); g_bStarting = true; g_bFirstRound = false; } return PLUGIN_CONTINUE; } // CHECK TERRORIST /////////////////////////////////////////// public FwdThinker( iEntity ) { if( g_bRestart ) { g_bRestart = false; RestartRound( ); } else CheckTerrorists( ); entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 ); } public CheckTerrorists( ) { if( !g_bEnabled || g_bFirstRound || g_bStarting ) return PLUGIN_CONTINUE; new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T ) iTerrors++; if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } if( iTerrors == 0 ) { for( i = 0; i < iNum; i++ ) { ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT"); if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT ) user_silentkill( iPlayers[ i ] ); } set_task( 0.5, "EventRandromize" ); } return PLUGIN_CONTINUE; } // LIFE SYSTEM /////////////////////////////////////////// public EventTerrsWin( ) { if( !g_bEnabled || g_bFirstRound ) return PLUGIN_CONTINUE; new iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; new iLifeCvar = get_pcvar_num( g_pLifeSystem ); for( new i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) { set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 ); if( iLifeCvar == 2 ) g_Lifes[ iPlayer ]++; } } return PLUGIN_CONTINUE; } public EventDeath( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; #if defined FAKE_PLAYER new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); if( iTeam == 1 && is_user_alive( g_iFakeplayer ) ) fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC ); if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; #else if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); #endif new iKiller = read_data( 1 ); if( iKiller != iVictim && get_user_team(iKiller) != iTeam ) g_Lifes[iKiller]++; if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) { if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; } if( iCTcount > 1 ) { set_task(3.2, "fnRevivePlayer", iVictim); ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" ); } /*else ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/ } return PLUGIN_CONTINUE; } public fnRevivePlayer( id ) { if( g_bConnected[ id ] ) { if( cs_get_user_team( id ) == CS_TEAM_CT ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; if( iCTcount > 1 ) { ExecuteHamB( Ham_CS_RoundRespawn, id ); g_Lifes[ id ]--; } } } } public CmdShowlifes( id ) { if( get_pcvar_num( g_pLifeSystem ) == 0 ) { ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" ); return PLUGIN_HANDLED; } if( g_Lifes[ id ] > 0 ) ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] ); else ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" ); return PLUGIN_HANDLED; } public Showlifes( id ) { set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 ); if( g_Lifes[ id ] > 0 ) ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] ); else ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" ); } // EVENTS /////////////////////////////////////////// public EventResetHud( id ) { if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id ); write_byte( ( 1<<4 | 1<<5 ) ); message_end( ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id ); write_byte( 0 ); message_end( ); } } public EventMoney( id ) { if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) { set_pdata_int( id, 115, 0 ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id ); write_long ( 0 ); write_byte ( 1 ); message_end( ); } } public client_putinserver( id ) g_bConnected[ id ] = true; public client_disconnect( id ) { g_bConnected[ id ] = false; CheckTerrorists( ); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_task( 1.5, "UpdateBot" ); g_iFakeplayer = 0; } #endif } // SEMICLIP /////////////////////////////////////////// public FwdFullPack( es, e, ent, host, flags, player, pSet ) { if( !g_bEnabled ) return FMRES_IGNORED; if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) { set_es( es, ES_Solid, SOLID_NOT ); set_es( es, ES_RenderMode, kRenderTransAlpha ); set_es( es, ES_RenderAmt, 85 ); } return FMRES_IGNORED; } public FwdStartFrame( ) { if( !g_bEnabled ) return FMRES_IGNORED; static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j; get_players( iPlayers, iNum, "ache", "CT" ); arrayset( g_iSemiClip, 0, 32 ); if( iNum <= 1 ) return FMRES_IGNORED; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; for( j = 0; j < iNum; j++ ) { iPlayer2 = iPlayers[ j ]; if( iPlayer == iPlayer2 ) continue; if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] ) continue; if( entity_range( iPlayer, iPlayer2 ) < 128 ) { g_iSemiClip[ iPlayer ] = true; g_iSemiClip[ iPlayer2 ] = true; } } } for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX ); } return FMRES_IGNORED; } // FORWARDS /////////////////////////////////////////// public FwdHamPlayerSpawn( id ) { if( !g_bEnabled || !is_user_alive( id ) ) return HAM_IGNORED; if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way :) set_pdata_int( id, 192, 0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_pev( id, pev_frags, -1000.0 ); cs_set_user_deaths( id, -1000 ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } ); dllfunc( DLLFunc_Think, id ); } else { #endif new CsTeams:iTeam = cs_get_user_team( id ); // An small delay for message if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT ) set_task( 0.8, "Showlifes", id ); strip_user_weapons( id ); give_item( id, "weapon_knife" ); set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod if( g_bGamerFun && iTeam == CS_TEAM_CT ) give_item( id, "weapon_smokegrenade" ); if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse ) set_task( 1.0, "GiveUsp", id ); #if defined FAKE_PLAYER } #endif return HAM_IGNORED; } public GiveUsp( const id ) { if( is_user_alive( id ) ) { give_item( id, "weapon_usp" ); cs_set_user_bpammo( id, CSW_USP, 100 ); } } public FwdGameDesc( ) { static const GameName[ ] = "Deathrun v3.0"; forward_return( FMV_STRING, GameName ); return FMRES_SUPERCEDE; } public FwdClientKill( const id ) { if( !g_bEnabled || !is_user_alive(id) ) return FMRES_IGNORED; if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) { client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" ); client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" ); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public FwdImpulse_201( const id ) { if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) { if( is_user_alive( id ) ) client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" ); return PLUGIN_HANDLED_MAIN; } return PLUGIN_CONTINUE; } public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) { if( get_pcvar_num( g_pNoFallDmg ) ) if( iDamageBits & DMG_FALL ) if( get_user_team( id ) == 1 ) return HAM_SUPERCEDE; return HAM_IGNORED; } public MsgStatusIcon( msg_id, msg_dest, id ) { new szIcon[ 8 ]; get_msg_arg_string( 2, szIcon, 7 ); static const BuyZone[ ] = "buyzone"; if( equal( szIcon, BuyZone ) ) { set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public CmdRadio( id ) { if( get_pcvar_num( g_pBlockRadio ) ) return PLUGIN_HANDLED_MAIN; return PLUGIN_CONTINUE; } public RestartRound( ) set_pcvar_num( g_pSvRestart, 1 ); // COLORCHAT ///////////////////////////////////////////// ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) { if( !get_playersnum( ) ) return; new message[ 256 ]; switch( type ) { case NORMAL: message[0] = 0x01; case GREEN: message[0] = 0x04; default: message[0] = 0x03; } vformat( message[ 1 ], 251, szMessage, 4 ); message[ 192 ] = '^0'; replace_all( message, 191, "\YEL", "^1" ); replace_all( message, 191, "\GRN", "^4" ); replace_all( message, 191, "\TEM", "^3" ); new iTeam, ColorChange, index, MSG_Type; if( id ) { MSG_Type = MSG_ONE_UNRELIABLE; index = id; } else { index = CC_FindPlayer(); MSG_Type = MSG_BROADCAST; } iTeam = get_user_team( index ); ColorChange = CC_ColorSelection(index, MSG_Type, type); CC_ShowColorMessage(index, MSG_Type, message); if( ColorChange ) CC_Team_Info(index, MSG_Type, TeamName[iTeam]); } CC_ShowColorMessage( id, type, message[] ) { message_begin( type, g_iMsgSayText, _, id ); write_byte( id ); write_string( message ); message_end( ); } CC_Team_Info( id, type, team[] ) { message_begin( type, g_iMsgTeamInfo, _, id ); write_byte( id ); write_string( team ); message_end( ); return 1; } CC_ColorSelection( index, type, Color:Type ) { switch( Type ) { case RED: return CC_Team_Info( index, type, TeamName[ 1 ] ); case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] ); } return 0; } CC_FindPlayer( ) { for( new i = 1; i <= g_iMaxplayers; i++ ) if( g_bConnected[ i ] ) return i; return -1; }
- KronoS eXtream
- Fost administrator
- Posts: 4378
- Joined: 02 Apr 2009, 19:18
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS - Location: Bucharest
- Has thanked: 551 times
- Been thanked: 820 times
- Contact:
- | Afiseaza codul
#include < amxmodx > #include < engine > #include < cstrike > #include < fun > #include < fakemeta > #include < hamsandwich > #pragma semicolon 1 // Comment this line if you do not want to have fake player ! #define FAKE_PLAYER // Bot name #if defined FAKE_PLAYER new const g_szBotName[ ] = "[RO]DR-BuLLet Fake Player"; #endif // Messages prefix new const g_szPrefix[ ] = "[ Deathrun ]"; // Global Variables new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound; new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ]; new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams; new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill; new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText; new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker; new g_iSemiClip[ 33 ], g_Lifes[ 33 ]; #if defined FAKE_PLAYER new g_iFakeplayer; #endif // Macros #if cellbits == 32 #define OFFSET_BZ 235 #else #define OFFSET_BZ 268 #endif // Colorchat enum Color { NORMAL = 1, GREEN, RED, BLUE }; new TeamName[ ][ ] = { "", "TERRORIST", "CT", "SPECTATOR" }; // ======================================================================================= public plugin_init( ) { new const VERSION[ ] = "3.0.3"; register_plugin( "Deathrun Manager", VERSION, "THE _GAme" ); g_pToggle = register_cvar( "deathrun_toggle", "1" ); g_pBlockSpray = register_cvar( "deathrun_spray", "1" ); g_pBlockRadio = register_cvar( "deathrun_radio", "1" ); g_pBlockKill = register_cvar( "deathrun_blockkill", "1" ); g_pBlockMoney = register_cvar( "deathrun_blockmoney", "1" ); g_pSemiclip = register_cvar( "deathrun_semiclip", "1" ); g_pGiveUsp = register_cvar( "deathrun_giveusp", "1" ); g_pHideHuds = register_cvar( "deathrun_hidehud", "1" ); g_pLifeSystem = register_cvar( "deathrun_lifesystem", "1" ); g_pGameName = register_cvar( "deathrun_gamename", "1" ); g_pNoFallDmg = register_cvar( "deathrun_terrnfd", "1" ); g_pRemoveBuyZone = register_cvar( "deathrun_removebz", "1" ); // Lets get map name... new szMapName[ 64 ]; get_mapname( szMapName, 63 ); if( contain( szMapName, "deathrun_" ) != -1 ) { set_pcvar_num( g_pToggle, 1 ); if( contain( szMapName, "hauntedhouse" ) != -1 ) g_bHauntedHouse = true; else { g_bHauntedHouse = false; if( equal( szMapName, "deathrun_gamerfun" ) ) g_bGamerFun = true; else g_bGamerFun = false; } } else set_pcvar_num( g_pToggle, 0 ); g_pSvRestart = get_cvar_pointer( "sv_restart" ); g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" ); g_pLimitTeams = get_cvar_pointer( "mp_limitteams" ); register_cvar( "deathrun_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); set_cvar_string( "deathrun_version", VERSION ); // Registering Language file register_dictionary( "deathrun.txt" ); // Logging Events register_logevent( "EventRoundStart", 2, "1=Round_Start" ); register_logevent( "EventRandromize", 2, "1=Round_End" ); register_event( "SendAudio", "EventTerrsWin", "a", "2&%!MRAD_terwin" ); register_event( "TextMsg", "EventRandromize", "a", "2&#Game_w" ); register_event( "DeathMsg", "EventDeath", "a"); register_event( "Money", "EventMoney", "b" ); register_event( "ResetHUD", "EventResetHud", "be" ); g_bFirstRound = true; g_iMaxplayers = get_maxplayers( ); g_iMsgHideWeapon = get_user_msgid( "HideWeapon" ); g_iMsgCrosshair = get_user_msgid( "Crosshair" ); g_iMsgMoney = get_user_msgid( "Money" ); g_iMsgSayText = get_user_msgid( "SayText" ); g_iMsgTeamInfo = get_user_msgid( "TeamInfo" ); g_iHudSync = CreateHudSyncObj( ); g_iHudSync2 = CreateHudSyncObj( ); if( get_pcvar_num( g_pToggle ) ) { RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" ); RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 ); register_forward( FM_ClientKill, "FwdClientKill" ); register_impulse( 201, "FwdImpulse_201" ); if( get_pcvar_num( g_pGameName ) ) register_forward( FM_GetGameDescription, "FwdGameDesc" ); register_clcmd( "say /lifes", "CmdShowlifes" ); register_clcmd( "say /lives", "CmdShowlifes" ); register_clcmd( "radio1", "CmdRadio" ); register_clcmd( "radio2", "CmdRadio" ); register_clcmd( "radio3", "CmdRadio" ); // Terrorist Check g_iThinker= create_entity( "info_target" ); if( is_valid_ent( g_iThinker ) ) { entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" ); entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 ); g_bRestart = true; // First think will happen in 20.0, Restart will be done there. register_think( "DeathrunThinker", "FwdThinker" ); } else { set_task( 15.0, "CheckTerrorists", _, _, _, "b" ); // Lets make restart after 20 seconds from map start. set_task( 20.0, "RestartRound" ); } if( get_pcvar_num( g_pRemoveBuyZone ) ) { register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon // Remove buyzone on map remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); // Create own entity to block buying new iEntity = create_entity( "info_map_parameters" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); } if( get_pcvar_num( g_pSemiclip ) ) { register_forward( FM_StartFrame, "FwdStartFrame", 0 ); register_forward( FM_AddToFullPack, "FwdFullPack", 1 ); } g_bEnabled = true; #if defined FAKE_PLAYER new iEntity, iCount; while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 ) if( iCount++ > 1 ) break; if( iCount <= 1 ) g_iFakeplayer = -1; set_task( 5.0, "UpdateBot" ); register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" ); #endif } else g_bEnabled = false; } // FAKEPLAYER /////////////////////////////////////////// #if defined FAKE_PLAYER public UpdateBot( ) { if( g_iFakeplayer == -1 ) return; new id = find_player( "i" ); if( !id ) { id = engfunc( EngFunc_CreateFakeClient, g_szBotName ); if( pev_valid( id ) ) { engfunc( EngFunc_FreeEntPrivateData, id ); dllfunc( MetaFunc_CallGameEntity, "player", id ); set_user_info( id, "rate", "3500" ); set_user_info( id, "cl_updaterate", "25" ); set_user_info( id, "cl_lw", "1" ); set_user_info( id, "cl_lc", "1" ); set_user_info( id, "cl_dlmax", "128" ); set_user_info( id, "cl_righthand", "1" ); set_user_info( id, "_vgui_menus", "0" ); set_user_info( id, "_ah", "0" ); set_user_info( id, "dm", "0" ); set_user_info( id, "tracker", "0" ); set_user_info( id, "friends", "0" ); set_user_info( id, "*bot", "1" ); set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT ); set_pev( id, pev_colormap, id ); new szMsg[ 128 ]; dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg ); dllfunc( DLLFunc_ClientPutInServer, id ); cs_set_user_team( id, CS_TEAM_T ); ExecuteHamB( Ham_CS_RoundRespawn, id ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); dllfunc( DLLFunc_Think, id ); g_iFakeplayer = id; } } } public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) { if( get_msg_arg_int( 2 ) == g_iFakeplayer ) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } #endif // NEW TERRORIST /////////////////////////////////////////// public EventRandromize( ) { if( !g_bEnabled || g_bFirstRound || g_bRandromized ) return PLUGIN_CONTINUE; g_bRandromized = true; new i, iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) cs_set_user_team( iPlayer, CS_TEAM_CT ); } new iRandomPlayer, CsTeams:iTeam; while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { } g_iLastTerr = iRandomPlayer; iTeam = cs_get_user_team( iRandomPlayer ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) { cs_set_user_team(iRandomPlayer, CS_TEAM_T); new szName[ 32 ]; get_user_name( iRandomPlayer, szName, 31 ); for( i = 0; i < iNum; i++ ) ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); } else { g_bRandromized = false; EventRandromize( ); } return PLUGIN_CONTINUE; } // NEW ROUND /////////////////////////////////////////// public EventRoundStart( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; g_bRandromized = false; g_bStarting = false; new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } set_pcvar_num( g_pAutoBalance, 0 ); set_pcvar_num( g_pLimitTeams, 0 ); if( g_bFirstRound ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) { ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" ); ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" ); } if( is_valid_ent( g_iThinker ) ) { g_bRestart = true; entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 ); } else set_task( 9.0, "RestartRound" ); g_bStarting = true; g_bFirstRound = false; } return PLUGIN_CONTINUE; } // CHECK TERRORIST /////////////////////////////////////////// public FwdThinker( iEntity ) { if( g_bRestart ) { g_bRestart = false; RestartRound( ); } else CheckTerrorists( ); entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 ); } public CheckTerrorists( ) { if( !g_bEnabled || g_bFirstRound || g_bStarting ) return PLUGIN_CONTINUE; new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T ) iTerrors++; if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } if( iTerrors == 0 ) { for( i = 0; i < iNum; i++ ) { ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT"); if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT ) user_silentkill( iPlayers[ i ] ); } set_task( 0.5, "EventRandromize" ); } return PLUGIN_CONTINUE; } // LIFE SYSTEM /////////////////////////////////////////// public EventTerrsWin( ) { if( !g_bEnabled || g_bFirstRound ) return PLUGIN_CONTINUE; new iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; new iLifeCvar = get_pcvar_num( g_pLifeSystem ); for( new i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) { set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 ); if( iLifeCvar == 2 ) g_Lifes[ iPlayer ]++; } } return PLUGIN_CONTINUE; } public EventDeath( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; #if defined FAKE_PLAYER new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); if( iTeam == 1 && is_user_alive( g_iFakeplayer ) ) fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC ); if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; #else if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); #endif new iKiller = read_data( 1 ); if( iKiller != iVictim && get_user_team(iKiller) != iTeam ) g_Lifes[iKiller]++; if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) { if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; } if( iCTcount > 1 ) { set_task(3.2, "fnRevivePlayer", iVictim); ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" ); } /*else ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/ } return PLUGIN_CONTINUE; } public fnRevivePlayer( id ) { if( g_bConnected[ id ] ) { if( cs_get_user_team( id ) == CS_TEAM_CT ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; if( iCTcount > 1 ) { ExecuteHamB( Ham_CS_RoundRespawn, id ); g_Lifes[ id ]--; } } } } public CmdShowlifes( id ) { if( get_pcvar_num( g_pLifeSystem ) == 0 ) { ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" ); return PLUGIN_HANDLED; } if( g_Lifes[ id ] > 0 ) ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] ); else ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" ); return PLUGIN_HANDLED; } public Showlifes( id ) { set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 ); if( g_Lifes[ id ] > 0 ) ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] ); else ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" ); } // EVENTS /////////////////////////////////////////// public EventResetHud( id ) { if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id ); write_byte( ( 1<<4 | 1<<5 ) ); message_end( ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id ); write_byte( 0 ); message_end( ); } } public EventMoney( id ) { if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) { set_pdata_int( id, 115, 0 ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id ); write_long ( 0 ); write_byte ( 1 ); message_end( ); } } public client_putinserver( id ) g_bConnected[ id ] = true; public client_disconnect( id ) { g_bConnected[ id ] = false; CheckTerrorists( ); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_task( 1.5, "UpdateBot" ); g_iFakeplayer = 0; } #endif } // SEMICLIP /////////////////////////////////////////// public FwdFullPack( es, e, ent, host, flags, player, pSet ) { if( !g_bEnabled ) return FMRES_IGNORED; if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) { set_es( es, ES_Solid, SOLID_NOT ); set_es( es, ES_RenderMode, kRenderTransAlpha ); set_es( es, ES_RenderAmt, 85 ); } return FMRES_IGNORED; } public FwdStartFrame( ) { if( !g_bEnabled ) return FMRES_IGNORED; static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j; get_players( iPlayers, iNum, "ache", "CT" ); arrayset( g_iSemiClip, 0, 32 ); if( iNum <= 1 ) return FMRES_IGNORED; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; for( j = 0; j < iNum; j++ ) { iPlayer2 = iPlayers[ j ]; if( iPlayer == iPlayer2 ) continue; if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] ) continue; if( entity_range( iPlayer, iPlayer2 ) < 128 ) { g_iSemiClip[ iPlayer ] = true; g_iSemiClip[ iPlayer2 ] = true; } } } for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX ); } return FMRES_IGNORED; } // FORWARDS /////////////////////////////////////////// public FwdHamPlayerSpawn( id ) { if( !g_bEnabled || !is_user_alive( id ) ) return HAM_IGNORED; if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way :) set_pdata_int( id, 192, 0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_pev( id, pev_frags, -1000.0 ); cs_set_user_deaths( id, -1000 ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } ); dllfunc( DLLFunc_Think, id ); } else { #endif new CsTeams:iTeam = cs_get_user_team( id ); // An small delay for message if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT ) set_task( 0.8, "Showlifes", id ); strip_user_weapons( id ); give_item( id, "weapon_knife" ); set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod if( g_bGamerFun && iTeam == CS_TEAM_CT ) give_item( id, "weapon_smokegrenade" ); if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse ) set_task( 1.0, "GiveUsp", id ); #if defined FAKE_PLAYER } #endif return HAM_IGNORED; } public GiveUsp( const id ) { if( is_user_alive( id ) ) { give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); } } public FwdGameDesc( ) { static const GameName[ ] = "Deathrun v3.0"; forward_return( FMV_STRING, GameName ); return FMRES_SUPERCEDE; } public FwdClientKill( const id ) { if( !g_bEnabled || !is_user_alive(id) ) return FMRES_IGNORED; if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) { client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" ); client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" ); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public FwdImpulse_201( const id ) { if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) { if( is_user_alive( id ) ) client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" ); return PLUGIN_HANDLED_MAIN; } return PLUGIN_CONTINUE; } public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) { if( get_pcvar_num( g_pNoFallDmg ) ) if( iDamageBits & DMG_FALL ) if( get_user_team( id ) == 1 ) return HAM_SUPERCEDE; return HAM_IGNORED; } public MsgStatusIcon( msg_id, msg_dest, id ) { new szIcon[ 8 ]; get_msg_arg_string( 2, szIcon, 7 ); static const BuyZone[ ] = "buyzone"; if( equal( szIcon, BuyZone ) ) { set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public CmdRadio( id ) { if( get_pcvar_num( g_pBlockRadio ) ) return PLUGIN_HANDLED_MAIN; return PLUGIN_CONTINUE; } public RestartRound( ) set_pcvar_num( g_pSvRestart, 1 ); // COLORCHAT ///////////////////////////////////////////// ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) { if( !get_playersnum( ) ) return; new message[ 256 ]; switch( type ) { case NORMAL: message[0] = 0x01; case GREEN: message[0] = 0x04; default: message[0] = 0x03; } vformat( message[ 1 ], 251, szMessage, 4 ); message[ 192 ] = '^0'; replace_all( message, 191, "\YEL", "^1" ); replace_all( message, 191, "\GRN", "^4" ); replace_all( message, 191, "\TEM", "^3" ); new iTeam, ColorChange, index, MSG_Type; if( id ) { MSG_Type = MSG_ONE_UNRELIABLE; index = id; } else { index = CC_FindPlayer(); MSG_Type = MSG_BROADCAST; } iTeam = get_user_team( index ); ColorChange = CC_ColorSelection(index, MSG_Type, type); CC_ShowColorMessage(index, MSG_Type, message); if( ColorChange ) CC_Team_Info(index, MSG_Type, TeamName[iTeam]); } CC_ShowColorMessage( id, type, message[] ) { message_begin( type, g_iMsgSayText, _, id ); write_byte( id ); write_string( message ); message_end( ); } CC_Team_Info( id, type, team[] ) { message_begin( type, g_iMsgTeamInfo, _, id ); write_byte( id ); write_string( team ); message_end( ); return 1; } CC_ColorSelection( index, type, Color:Type ) { switch( Type ) { case RED: return CC_Team_Info( index, type, TeamName[ 1 ] ); case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] ); } return 0; } CC_FindPlayer( ) { for( new i = 1; i <= g_iMaxplayers; i++ ) if( g_bConnected[ i ] ) return i; return -1; }
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
imi poti zice unce ai modificat
aici ai modificat
ublic GiveUsp( const id ) {
if( is_user_alive( id ) ) {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
>?
aici ai modificat
ublic GiveUsp( const id ) {
if( is_user_alive( id ) ) {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
>?
Last edited by sNk _sNake on 21 Mar 2010, 21:07, edited 1 time in total.
- KronoS eXtream
- Fost administrator
- Posts: 4378
- Joined: 02 Apr 2009, 19:18
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS - Location: Bucharest
- Has thanked: 551 times
- Been thanked: 820 times
- Contact:
public GiveUsp( const id ) {
if( is_user_alive( id ) ) {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
}
}
if( is_user_alive( id ) ) {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
}
}
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
- KronoS eXtream
- Fost administrator
- Posts: 4378
- Joined: 02 Apr 2009, 19:18
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS - Location: Bucharest
- Has thanked: 551 times
- Been thanked: 820 times
- Contact:
Teroristii nu primesc arma.if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse )
set_task( 1.0, "GiveUsp", id );
#if defined FAKE_PLAYER
}
#endif
return HAM_IGNORED;
}
public GiveUsp( const id ) {
if( is_user_alive( id ) ) {
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
}
}
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
-
- Utilizator banat
- Posts: 527
- Joined: 13 Nov 2009, 19:44
- Detinator Steam: Da
- Reputatie: Ban 3 luni !
(Ban scos de 1 mai!)
Ban 3 luni ! - Has thanked: 10 times
- Been thanked: 30 times
- KronoS eXtream
- Fost administrator
- Posts: 4378
- Joined: 02 Apr 2009, 19:18
- Detinator Steam: Da
- Reputatie: Fost administrator
Fost detinator Zombie-Land.eXtream.Ro
Contribuitor
Fost Scripter eXtreamCS
Dezvoltator al listei de seriozitate eXtreamCS - Location: Bucharest
- Has thanked: 551 times
- Been thanked: 820 times
- Contact:
- | Afiseaza codul
#include < amxmodx > #include < engine > #include < cstrike > #include < fun > #include < fakemeta > #include < hamsandwich > #pragma semicolon 1 // Comment this line if you do not want to have fake player ! #define FAKE_PLAYER // Bot name #if defined FAKE_PLAYER new const g_szBotName[ ] = "[RO]DR-BuLLet Fake Player"; #endif // Messages prefix new const g_szPrefix[ ] = "[ Deathrun ]"; // Global Variables new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound; new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ]; new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams; new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill; new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText; new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker; new g_iSemiClip[ 33 ], g_Lifes[ 33 ]; #if defined FAKE_PLAYER new g_iFakeplayer; #endif // Macros #if cellbits == 32 #define OFFSET_BZ 235 #else #define OFFSET_BZ 268 #endif // Colorchat enum Color { NORMAL = 1, GREEN, RED, BLUE }; new TeamName[ ][ ] = { "", "TERRORIST", "CT", "SPECTATOR" }; // ======================================================================================= public plugin_init( ) { new const VERSION[ ] = "3.0.3"; register_plugin( "Deathrun Manager", VERSION, "THE _GAme" ); g_pToggle = register_cvar( "deathrun_toggle", "1" ); g_pBlockSpray = register_cvar( "deathrun_spray", "1" ); g_pBlockRadio = register_cvar( "deathrun_radio", "1" ); g_pBlockKill = register_cvar( "deathrun_blockkill", "1" ); g_pBlockMoney = register_cvar( "deathrun_blockmoney", "1" ); g_pSemiclip = register_cvar( "deathrun_semiclip", "1" ); g_pGiveUsp = register_cvar( "deathrun_giveusp", "1" ); g_pHideHuds = register_cvar( "deathrun_hidehud", "1" ); g_pLifeSystem = register_cvar( "deathrun_lifesystem", "1" ); g_pGameName = register_cvar( "deathrun_gamename", "1" ); g_pNoFallDmg = register_cvar( "deathrun_terrnfd", "1" ); g_pRemoveBuyZone = register_cvar( "deathrun_removebz", "1" ); // Lets get map name... new szMapName[ 64 ]; get_mapname( szMapName, 63 ); if( contain( szMapName, "deathrun_" ) != -1 ) { set_pcvar_num( g_pToggle, 1 ); if( contain( szMapName, "hauntedhouse" ) != -1 ) g_bHauntedHouse = true; else { g_bHauntedHouse = false; if( equal( szMapName, "deathrun_gamerfun" ) ) g_bGamerFun = true; else g_bGamerFun = false; } } else set_pcvar_num( g_pToggle, 0 ); g_pSvRestart = get_cvar_pointer( "sv_restart" ); g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" ); g_pLimitTeams = get_cvar_pointer( "mp_limitteams" ); register_cvar( "deathrun_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); set_cvar_string( "deathrun_version", VERSION ); // Registering Language file register_dictionary( "deathrun.txt" ); // Logging Events register_logevent( "EventRoundStart", 2, "1=Round_Start" ); register_logevent( "EventRandromize", 2, "1=Round_End" ); register_event( "SendAudio", "EventTerrsWin", "a", "2&%!MRAD_terwin" ); register_event( "TextMsg", "EventRandromize", "a", "2&#Game_w" ); register_event( "DeathMsg", "EventDeath", "a"); register_event( "Money", "EventMoney", "b" ); register_event( "ResetHUD", "EventResetHud", "be" ); g_bFirstRound = true; g_iMaxplayers = get_maxplayers( ); g_iMsgHideWeapon = get_user_msgid( "HideWeapon" ); g_iMsgCrosshair = get_user_msgid( "Crosshair" ); g_iMsgMoney = get_user_msgid( "Money" ); g_iMsgSayText = get_user_msgid( "SayText" ); g_iMsgTeamInfo = get_user_msgid( "TeamInfo" ); g_iHudSync = CreateHudSyncObj( ); g_iHudSync2 = CreateHudSyncObj( ); if( get_pcvar_num( g_pToggle ) ) { RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" ); RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 ); register_forward( FM_ClientKill, "FwdClientKill" ); register_impulse( 201, "FwdImpulse_201" ); if( get_pcvar_num( g_pGameName ) ) register_forward( FM_GetGameDescription, "FwdGameDesc" ); register_clcmd( "say /lifes", "CmdShowlifes" ); register_clcmd( "say /lives", "CmdShowlifes" ); register_clcmd( "radio1", "CmdRadio" ); register_clcmd( "radio2", "CmdRadio" ); register_clcmd( "radio3", "CmdRadio" ); // Terrorist Check g_iThinker= create_entity( "info_target" ); if( is_valid_ent( g_iThinker ) ) { entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" ); entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 ); g_bRestart = true; // First think will happen in 20.0, Restart will be done there. register_think( "DeathrunThinker", "FwdThinker" ); } else { set_task( 15.0, "CheckTerrorists", _, _, _, "b" ); // Lets make restart after 20 seconds from map start. set_task( 20.0, "RestartRound" ); } if( get_pcvar_num( g_pRemoveBuyZone ) ) { register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon // Remove buyzone on map remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); // Create own entity to block buying new iEntity = create_entity( "info_map_parameters" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); } if( get_pcvar_num( g_pSemiclip ) ) { register_forward( FM_StartFrame, "FwdStartFrame", 0 ); register_forward( FM_AddToFullPack, "FwdFullPack", 1 ); } g_bEnabled = true; #if defined FAKE_PLAYER new iEntity, iCount; while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 ) if( iCount++ > 1 ) break; if( iCount <= 1 ) g_iFakeplayer = -1; set_task( 5.0, "UpdateBot" ); register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" ); #endif } else g_bEnabled = false; } // FAKEPLAYER /////////////////////////////////////////// #if defined FAKE_PLAYER public UpdateBot( ) { if( g_iFakeplayer == -1 ) return; new id = find_player( "i" ); if( !id ) { id = engfunc( EngFunc_CreateFakeClient, g_szBotName ); if( pev_valid( id ) ) { engfunc( EngFunc_FreeEntPrivateData, id ); dllfunc( MetaFunc_CallGameEntity, "player", id ); set_user_info( id, "rate", "3500" ); set_user_info( id, "cl_updaterate", "25" ); set_user_info( id, "cl_lw", "1" ); set_user_info( id, "cl_lc", "1" ); set_user_info( id, "cl_dlmax", "128" ); set_user_info( id, "cl_righthand", "1" ); set_user_info( id, "_vgui_menus", "0" ); set_user_info( id, "_ah", "0" ); set_user_info( id, "dm", "0" ); set_user_info( id, "tracker", "0" ); set_user_info( id, "friends", "0" ); set_user_info( id, "*bot", "1" ); set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT ); set_pev( id, pev_colormap, id ); new szMsg[ 128 ]; dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg ); dllfunc( DLLFunc_ClientPutInServer, id ); cs_set_user_team( id, CS_TEAM_T ); ExecuteHamB( Ham_CS_RoundRespawn, id ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); dllfunc( DLLFunc_Think, id ); g_iFakeplayer = id; } } } public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) { if( get_msg_arg_int( 2 ) == g_iFakeplayer ) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } #endif // NEW TERRORIST /////////////////////////////////////////// public EventRandromize( ) { if( !g_bEnabled || g_bFirstRound || g_bRandromized ) return PLUGIN_CONTINUE; g_bRandromized = true; new i, iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) cs_set_user_team( iPlayer, CS_TEAM_CT ); } new iRandomPlayer, CsTeams:iTeam; while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { } g_iLastTerr = iRandomPlayer; iTeam = cs_get_user_team( iRandomPlayer ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) { cs_set_user_team(iRandomPlayer, CS_TEAM_T); new szName[ 32 ]; get_user_name( iRandomPlayer, szName, 31 ); for( i = 0; i < iNum; i++ ) ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); } else { g_bRandromized = false; EventRandromize( ); } return PLUGIN_CONTINUE; } // NEW ROUND /////////////////////////////////////////// public EventRoundStart( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; g_bRandromized = false; g_bStarting = false; new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } set_pcvar_num( g_pAutoBalance, 0 ); set_pcvar_num( g_pLimitTeams, 0 ); if( g_bFirstRound ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) { ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" ); ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" ); } if( is_valid_ent( g_iThinker ) ) { g_bRestart = true; entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 ); } else set_task( 9.0, "RestartRound" ); g_bStarting = true; g_bFirstRound = false; } return PLUGIN_CONTINUE; } // CHECK TERRORIST /////////////////////////////////////////// public FwdThinker( iEntity ) { if( g_bRestart ) { g_bRestart = false; RestartRound( ); } else CheckTerrorists( ); entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 ); } public CheckTerrorists( ) { if( !g_bEnabled || g_bFirstRound || g_bStarting ) return PLUGIN_CONTINUE; new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; for( i = 0; i < iNum; i++ ) { iTeam = cs_get_user_team( iPlayers[ i ] ); if( iTeam == CS_TEAM_T ) iTerrors++; if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) iRealPlayers++; } if( iRealPlayers <= 1 ) { set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 ); for( i = 0; i < iNum; i++ ) ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" ); return PLUGIN_CONTINUE; } if( iTerrors == 0 ) { for( i = 0; i < iNum; i++ ) { ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT"); if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT ) user_silentkill( iPlayers[ i ] ); } set_task( 0.5, "EventRandromize" ); } return PLUGIN_CONTINUE; } // LIFE SYSTEM /////////////////////////////////////////// public EventTerrsWin( ) { if( !g_bEnabled || g_bFirstRound ) return PLUGIN_CONTINUE; new iPlayers[ 32 ], iNum, iPlayer; get_players( iPlayers, iNum, "c" ); if( iNum <= 1 ) return PLUGIN_CONTINUE; new iLifeCvar = get_pcvar_num( g_pLifeSystem ); for( new i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) { set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 ); if( iLifeCvar == 2 ) g_Lifes[ iPlayer ]++; } } return PLUGIN_CONTINUE; } public EventDeath( ) { if( !g_bEnabled ) return PLUGIN_CONTINUE; #if defined FAKE_PLAYER new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); if( iTeam == 1 && is_user_alive( g_iFakeplayer ) ) fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC ); if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; #else if( !get_pcvar_num( g_pLifeSystem ) ) return PLUGIN_CONTINUE; new iVictim = read_data( 2 ); new iTeam = get_user_team( iVictim ); #endif new iKiller = read_data( 1 ); if( iKiller != iVictim && get_user_team(iKiller) != iTeam ) g_Lifes[iKiller]++; if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) { if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; } if( iCTcount > 1 ) { set_task(3.2, "fnRevivePlayer", iVictim); ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" ); } /*else ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/ } return PLUGIN_CONTINUE; } public fnRevivePlayer( id ) { if( g_bConnected[ id ] ) { if( cs_get_user_team( id ) == CS_TEAM_CT ) { new iCTcount; for( new i = 1; i <= g_iMaxplayers; i++ ) if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT ) iCTcount++; if( iCTcount > 1 ) { ExecuteHamB( Ham_CS_RoundRespawn, id ); g_Lifes[ id ]--; } } } } public CmdShowlifes( id ) { if( get_pcvar_num( g_pLifeSystem ) == 0 ) { ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" ); return PLUGIN_HANDLED; } if( g_Lifes[ id ] > 0 ) ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] ); else ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" ); return PLUGIN_HANDLED; } public Showlifes( id ) { set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 ); if( g_Lifes[ id ] > 0 ) ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] ); else ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" ); } // EVENTS /////////////////////////////////////////// public EventResetHud( id ) { if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id ); write_byte( ( 1<<4 | 1<<5 ) ); message_end( ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id ); write_byte( 0 ); message_end( ); } } public EventMoney( id ) { if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) { set_pdata_int( id, 115, 0 ); message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id ); write_long ( 0 ); write_byte ( 1 ); message_end( ); } } public client_putinserver( id ) g_bConnected[ id ] = true; public client_disconnect( id ) { g_bConnected[ id ] = false; CheckTerrorists( ); if( !g_bRestart && is_valid_ent( g_iThinker ) ) entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_task( 1.5, "UpdateBot" ); g_iFakeplayer = 0; } #endif } // SEMICLIP /////////////////////////////////////////// public FwdFullPack( es, e, ent, host, flags, player, pSet ) { if( !g_bEnabled ) return FMRES_IGNORED; if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) { set_es( es, ES_Solid, SOLID_NOT ); set_es( es, ES_RenderMode, kRenderTransAlpha ); set_es( es, ES_RenderAmt, 85 ); } return FMRES_IGNORED; } public FwdStartFrame( ) { if( !g_bEnabled ) return FMRES_IGNORED; static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j; get_players( iPlayers, iNum, "ache", "CT" ); arrayset( g_iSemiClip, 0, 32 ); if( iNum <= 1 ) return FMRES_IGNORED; for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; for( j = 0; j < iNum; j++ ) { iPlayer2 = iPlayers[ j ]; if( iPlayer == iPlayer2 ) continue; if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] ) continue; if( entity_range( iPlayer, iPlayer2 ) < 128 ) { g_iSemiClip[ iPlayer ] = true; g_iSemiClip[ iPlayer2 ] = true; } } } for( i = 0; i < iNum; i++ ) { iPlayer = iPlayers[ i ]; set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX ); } return FMRES_IGNORED; } // FORWARDS /////////////////////////////////////////// public FwdHamPlayerSpawn( id ) { if( !g_bEnabled || !is_user_alive( id ) ) return HAM_IGNORED; if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way :) set_pdata_int( id, 192, 0 ); #if defined FAKE_PLAYER if( g_iFakeplayer == id ) { set_pev( id, pev_frags, -1000.0 ); cs_set_user_deaths( id, -1000 ); set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW ); set_pev( id, pev_solid, SOLID_NOT ); entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } ); dllfunc( DLLFunc_Think, id ); } else { #endif new CsTeams:iTeam = cs_get_user_team( id ); // An small delay for message if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT ) set_task( 0.8, "Showlifes", id ); strip_user_weapons( id ); give_item( id, "weapon_knife" ); set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod if( g_bGamerFun && iTeam == CS_TEAM_CT ) give_item( id, "weapon_smokegrenade" ); if( get_pcvar_num( g_pGiveUsp ) && !g_bHauntedHouse ) set_task( 1.0, "GiveUsp", id ); #if defined FAKE_PLAYER } #endif return HAM_IGNORED; } public GiveUsp( const id ) { if( is_user_alive( id ) ) { give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); } } public FwdGameDesc( ) { static const GameName[ ] = "Deathrun v3.0"; forward_return( FMV_STRING, GameName ); return FMRES_SUPERCEDE; } public FwdClientKill( const id ) { if( !g_bEnabled || !is_user_alive(id) ) return FMRES_IGNORED; if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) { client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" ); client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" ); return FMRES_SUPERCEDE; } return FMRES_IGNORED; } public FwdImpulse_201( const id ) { if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) { if( is_user_alive( id ) ) client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" ); return PLUGIN_HANDLED_MAIN; } return PLUGIN_CONTINUE; } public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) { if( get_pcvar_num( g_pNoFallDmg ) ) if( iDamageBits & DMG_FALL ) if( get_user_team( id ) == 1 ) return HAM_SUPERCEDE; return HAM_IGNORED; } public MsgStatusIcon( msg_id, msg_dest, id ) { new szIcon[ 8 ]; get_msg_arg_string( 2, szIcon, 7 ); static const BuyZone[ ] = "buyzone"; if( equal( szIcon, BuyZone ) ) { set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public CmdRadio( id ) { if( get_pcvar_num( g_pBlockRadio ) ) return PLUGIN_HANDLED_MAIN; return PLUGIN_CONTINUE; } public RestartRound( ) set_pcvar_num( g_pSvRestart, 1 ); // COLORCHAT ///////////////////////////////////////////// ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) { if( !get_playersnum( ) ) return; new message[ 256 ]; switch( type ) { case NORMAL: message[0] = 0x01; case GREEN: message[0] = 0x04; default: message[0] = 0x03; } vformat( message[ 1 ], 251, szMessage, 4 ); message[ 192 ] = '^0'; replace_all( message, 191, "\YEL", "^1" ); replace_all( message, 191, "\GRN", "^4" ); replace_all( message, 191, "\TEM", "^3" ); new iTeam, ColorChange, index, MSG_Type; if( id ) { MSG_Type = MSG_ONE_UNRELIABLE; index = id; } else { index = CC_FindPlayer(); MSG_Type = MSG_BROADCAST; } iTeam = get_user_team( index ); ColorChange = CC_ColorSelection(index, MSG_Type, type); CC_ShowColorMessage(index, MSG_Type, message); if( ColorChange ) CC_Team_Info(index, MSG_Type, TeamName[iTeam]); } CC_ShowColorMessage( id, type, message[] ) { message_begin( type, g_iMsgSayText, _, id ); write_byte( id ); write_string( message ); message_end( ); } CC_Team_Info( id, type, team[] ) { message_begin( type, g_iMsgTeamInfo, _, id ); write_byte( id ); write_string( team ); message_end( ); return 1; } CC_ColorSelection( index, type, Color:Type ) { switch( Type ) { case RED: return CC_Team_Info( index, type, TeamName[ 1 ] ); case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] ); } return 0; } CC_FindPlayer( ) { for( new i = 1; i <= g_iMaxplayers; i++ ) if( g_bConnected[ i ] ) return i; return -1; }
Nu efectuez tranzactii pe mess, skype etc. Aveti grija la indivizii care se dau drept mine!
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Nu mai ofer suport asa ca nu imi mai trimiteti mesaje in legatura cu asta!
Zombie Plague Shade 1.2-debug1 [with Item Limiter] (12 September 2015) - Bombardier Branch
Return to “Probleme la servere dedicate de Counter-Strike”
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord