Re: terminate round
3 Attachment(s)
PHP Code:
Auto detecting CPU Using Pentium II Optimised binary. Auto-restarting the server on crash
Console initialized. Protocol version 48 Exe version 1.1.2.6/Stdio (cstrike) Exe build: 15:58:06 Jun 15 2009 (4617) STEAM Auth Server
couldn't exec language.cfg Server IP address 85.93.2.118:2222 Metamod version 1.19 Copyright (c) 2001-2006 Will Day <[email protected]> Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'. This is free software, and you are welcome to redistribute it under certain conditions; type `meta gpl' for details.
AMX Mod X version 1.8.1.3746 Copyright (c) 2004-2006 AMX Mod X Development Team AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'. This is free software and you are welcome to redistribute it under certain conditions; type 'amxx gpl' for details. L 04/11/2011 - 23:30:56: -------- Mapchange to de_dust --------
Orpheu configuration started.
Parsing mods configuration started. Parsing mod file "valve" Parsing mod file "ns" Parsing mod file "esf" Parsing mod file "cstrike" Parsing mod file "SvenCoop" Parsing mod file "tfc" Parsing mod file "ts" Parsing mod file "esf_openbeta" Parsing mod file "dod" Parsing mods configuration ended.
Parsing libraries configuration started. Parsing file "monstermod" Added library monstermod identified by cvar monster_spawn Parsing file "podbot" Added library podbot identified by cvar pb_version Parsing libraries configuration ended.
Parsing type aliases started. Parsing folder "CGameRules" Adding alias"CGameRules *" Parsing folder "long" Adding alias"long" Parsing folder "CMBaseMonster" Adding alias"CMBaseMonster *" Parsing folder "CBaseEntity" Adding alias"CBaseEntity *" Parsing folder "charPointer" Adding alias"char *" Parsing folder "VectorPointer" Adding alias"Vector *"
Parsing type aliases ended.
Orpheu configuration ended.
Orpheu functions search started.
Parsing functions started. Parsing file "InstallGameRules" started Return type "CHalfLifeMultiplay *" validated Searching for name "InstallGameRules__Fv"... FOUND Parsing file "InstallGameRules" ended Parsing file "EndRoundMessage" started Argument type "char *" validated Argument type "int" validated Searching for name "EndRoundMessage__FPCci"... FOUND Parsing file "EndRoundMessage" ended Parsing folder "CHalfLifeMultiplay" started Parsing file "CheckWinConditions" started Return type "bool" validated Searching for name "CheckWinConditions__18CHalfLifeMultiplay"... FOUND Parsing file "CheckWinConditions" ended Parsing file "UpdateTeamScores" started Searching for name "UpdateTeamScores__18CHalfLifeMultiplay"... FOUND Parsing file "UpdateTeamScores" ended Parsing folder "CHalfLifeMultiplay" ended Parsing functions ended.
Orpheu functions search ended.
Orpheu virtual functions search started.
Parsing virtual functions started. Parsing virtual functions ended.
Orpheu virtual functions search ended.
Orpheu memory structures search started.
Parsing memory structures started. Parsing memory file "CGameRulesOffsets" Processing memory structure "m_fTeamCount" Added memory search structure "m_fTeamCount" Processing memory structure "m_fRoundCount" Added memory search structure "m_fRoundCount" Processing memory structure "m_iRoundTimeSecs" Added memory search structure "m_iRoundTimeSecs" Processing memory structure "m_iAccountTerrorist" Added memory search structure "m_iAccountTerrorist" Processing memory structure "m_iAccountCT" Added memory search structure "m_iAccountCT" Processing memory structure "m_iNumSpawnableTerrorist" Added memory search structure "m_iNumSpawnableTerrorist" Processing memory structure "m_iNumSpawnableCT" Added memory search structure "m_iNumSpawnableCT" Processing memory structure "m_iHostagesRescued" Added memory search structure "m_iHostagesRescued" Processing memory structure "m_iRoundWinStatus" Added memory search structure "m_iRoundWinStatus" Processing memory structure "m_iNumCTWins" Added memory search structure "m_iNumCTWins" Processing memory structure "m_iNumTerroristWins" Added memory search structure "m_iNumTerroristWins" Processing memory structure "m_bTargetBombed" Added memory search structure "m_bTargetBombed" Processing memory structure "m_bBombDefused" Added memory search structure "m_bBombDefused" Processing memory structure "m_bMapHasBombTarget" Added memory search structure "m_bMapHasBombTarget" Processing memory structure "m_bMapHasBombZone" Added memory search structure "m_bMapHasBombZone" Processing memory structure "m_bMapHasRescueZone" Added memory search structure "m_bMapHasRescueZone" Processing memory structure "m_bMapHasEscapeZone" Added memory search structure "m_bMapHasEscapeZone" Processing memory structure "m_iMapHasVIPSafetyZone" Added memory search structure "m_iMapHasVIPSafetyZone" Processing memory structure "m_bRoundTerminating" Added memory search structure "m_bRoundTerminating" Processing memory structure "m_flRequiredEscapeRatio" Added memory search structure "m_flRequiredEscapeRatio" Processing memory structure "m_iNumEscapers" Added memory search structure "m_iNumEscapers" Processing memory structure "m_iHaveEscaped" Added memory search structure "m_iHaveEscaped" Processing memory structure "m_pVIP" Added memory search structure "m_pVIP" Parsing memory structures ended.
Orpheu memory structures search ended. [AMXX] Loaded 12 admins from file
Admin Spectator ESP v1.3, Copyright (C) 2006 by KoST
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Executing AMX Mod X Configuration File Scrolling message displaying frequency: 10:00 minutes Adding master server 69.28.151.162:27010 Adding master server 209.197.20.34:27010 Server logging data to console. couldn't exec cvars.cfg Menu item 17 added to Menus Front-End: "Plugin Cvars" from plugin "pluginmenu.amxx" Menu item 18 added to Menus Front-End: "Plugin Commands" from plugin "pluginmenu.amxx" L 04/11/2011 - 23:30:59: Server cvar "sv_stopspeed" = "75" "pm_debug_key" is "" PokeMod - Successfully Loaded PokeMod Config File Connection to Steam servers successful. VAC secure mode is activated. L 04/11/2011 - 23:31:06: World triggered "Round_Start"
pic : debug msg works ( CT WIN )
edit : and nothing more to see.
the config files are not edited ( standard configs )
if you like to test it by your self :
PHP Code:
/*
- Linie 543:
Ganzes System mit "CSTS_ARE_CATCHER" geändert Godmode geändert
- Linie 310:
get_user_team -> cs_get_user_team client_print(0,print_chat,"[ %s %s ] X Team won this round weg
Im Init:
ResetHUD weg
Ganzer Code:
Speed_settings(id) weg Prethink weg
Neu:
Win Sounds
Check curweapon vs Ham : public Player_ResetMaxSpeed(id) { if(is_user_alive(id) //&& get_user_maxspeed(id) != 1.0) // check if player is freezed { set_user_maxspeed(id, float:XXX) } } #define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "BlockKnife");
Line 640 :
if(!is_user_alive(i)) { ShowSyncHudMsg(i, SyncHud, "Speed : %f",speed) } // Check as Spec for real speed.
line 616 ( render ) -> check for team to change the render.
if( alive users <= 2) { block kill }
if check in speed function. if(alive) ... else
*/ /* TODO LIST
Turbo mods Semiclip Traininmod Walljump Trail Keyspy Menu Welcome menu Trainingmod buyzone anticamp turbo für catcher render change by speed ( test ) entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 1.0) -> 1.0 or 0.1 ( FREQ ) <- must be checked. AG ANZAHL ändern ... */ /* DID LIST
teamchange fix Touch Touched score -1 godmode render cvars test the score catch teams spec speed überleben punkte Speedometer ( test ) ( spec ) AG test turbo chilldown time CVAR
*/ /* Included
Speedometer by AciD
*/ #include <amxmodx> #include <cstrike> #include <hamsandwich> #include <engine> #include <amxmisc> #include <fun> #include <fakemeta> #include <screenfade_util> #include <dhudmessage> #include <round_terminator>
#define PLUGIN "Catchmod Black Edition" #define VERSION "1.0.1" #define AUTHOR "Dr.One" #define FREQ 0.1 #define IsPlayer(%1) (1 <= %1 <= E_MaxPlayers) #define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame #define MAX_PLAYERS 32 + 1 #define m_pPlayer 41 #define XO_WEAPON 4
/* MAIN HANDELS */ new round_counter = 1 new CSTS_ARE_CATCHER new user_is_catcher[33] new TURBO[33][2] new E_MaxPlayers new chilldown[33] new SyncHud new over_tausend[33] new under_tausend[33] new over_twotausend[33] new iconstatus new score[33][4] new deathMsg new scoreMsg new points[2] new round_ednded new g_iEntClassName[] = "speedometer_think" new const SOUND_CATCHER_WIN[] = "misc/applause.wav" new const SOUND_FLEER_WIN[] = "misc/applause.wav" new const SOUND_CATCHER_WIN_DEFAULT[] = "events/task_complete.wav" new const SOUND_FLEER_WIN_DEFAULT[] = "events/task_complete.wav" new const SOUND_CATCHER_LOSE[] = "misc/looser.wav" new const SOUND_FLEER_LOSE[] = "misc/looser.wav" new const SOUND_CATCHER_LOSE_DEFAULT[] = "events/friend_died.wav" new const SOUND_FLEER_LOSE_DEFAULT[] = "events/friend_died.wav" new users_AG[33] new AG_anzahl[33][8] new corrent_AG[33] new AG_loop[33] static Float:users_maxspeed_round[33] static Float:users_maxspeed_map[33] static Float:best_speed new top_speed_name[33] new g_iIsSpectator[MAX_PLAYERS] new g_points[MAX_PLAYERS] new g_speed[MAX_PLAYERS] new dead_fixed_icon[33] new turbo_used[33] enum { R, G, B } new fix_task = 0 /* CVARS */ new CV_catchers_speed new CV_Bonnyhop new CV_Turbo_Usage_Percent new CV_Turbo_Usage_Time new CV_Catch_speed new CV_Catch_fleer_speed new CV_Catch_Turbo_speed new CV_Catch_Points new CV_Catchers_Color new CV_Catcher_Color_R new CV_Catcher_Color_G new CV_Catcher_Color_B new CV_Fleer_Color new CV_FLEER_Color_R new CV_FLEER_Color_G new CV_FLEER_Color_B new CV_Speedometer_Color new CV_Speedo_R new CV_Speedo_G new CV_Speedo_B new CV_render_amount new CV_render_amount_U new CV_render_amount_O new CV_render_amount_OO new CV_survivor new CV_AG_TURBO new CV_CHILLDOWN_TIME new CV_CUSTOM_SOUND new CV_Turbo_fade new CV_AMXSUPER_FIX new CV_Turbo_fade_STR[3]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("newRound",2,"0=World triggered", "1=Round_Start") RegisterHam( Ham_Spawn, "player","Players_Spawn",1) set_task(3.0,"Show_Stats",6000,"",0,"ab") register_touch("player","player","touch") register_touch("trigger_multiple", "player", "Forward_TriggerMultipleTouch" ) RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "secund_attack") RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "primary_attack") RegisterHam(Ham_Item_Deploy, "weapon_knife", "knife_weapon_change", 1) RegisterHam(Ham_Player_Jump, "player", "bunnyhop") RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Speed_settings", 1) RegisterHam(Ham_AddPlayerItem, "player", "Player_AddPlayerItem") register_logevent("endround",2,"0=World triggered","1=Round_End") register_event("TextMsg","game_comencing","a","2&#Game_C") register_event("TextMsg", "game_comencing", "a", "2=#Game_will_restart_in") /* Speedometer Fixed by Vato */ register_think(g_iEntClassName, "fw_ThinkEntity") new iEnt = create_entity("info_target") entity_set_string(iEnt, EV_SZ_classname, g_iEntClassName) entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 1.0) register_event("SpecHealth2", "ev_SpecHealth2", "bd") E_MaxPlayers = get_maxplayers() SyncHud = CreateHudSyncObj() iconstatus = get_user_msgid("StatusIcon") register_event("SendAudio", "play_win_sound", "a", "2&%!MRAD_terwin") register_event("SendAudio", "play_win_sound", "a", "2&%!MRAD_ctwin") register_message(get_user_msgid("TextMsg"), "message_textmsg") deathMsg = get_user_msgid("DeathMsg") scoreMsg = get_user_msgid("ScoreInfo") set_task( 10.0, "RestartRound" ); /* CVARS */ CV_catchers_speed = register_cvar("amx_catch_catchers_speed","1.0") CV_Bonnyhop = register_cvar("amx_catch_bunnyhop","1") CV_Turbo_Usage_Percent = register_cvar("amx_catch_turbo_percent","10") CV_Turbo_Usage_Time = register_cvar("amx_catch_turbo_usage_time","0.25") CV_Catch_speed = register_cvar("amx_catch_speed","2.0") CV_Catch_fleer_speed = register_cvar("amx_catch_fleer_speed","1.0") CV_Catch_Turbo_speed = register_cvar("amx_catch_turbo_speed","1.5") CV_Catch_Points = register_cvar("amx_catch_points","3") CV_Speedometer_Color = register_cvar("amx_catch_speed_colors", "255 255 255") CV_Catchers_Color = register_cvar("amx_catcher_colors", "255 000 000") CV_Fleer_Color = register_cvar("amx_fleer_colors","000 255 000") CV_render_amount = register_cvar("amx_render_amount","25 50 125") CV_survivor = register_cvar("amx_survivor_points","1") CV_AG_TURBO = register_cvar("amx_turbo_AG","10") CV_CHILLDOWN_TIME = register_cvar("amx_chilldown_time","3.0") CV_CUSTOM_SOUND = register_cvar("amx_customwinsound","1") CV_Turbo_fade = register_cvar("amx_turbo_fade_color","0 0 150") CV_AMXSUPER_FIX = register_cvar("amx_amxsuper_fix","1") new speedo_colors[16], speedo_red[4], speedo_green[4], speedo_blue[4] get_pcvar_string(CV_Speedometer_Color, speedo_colors, sizeof speedo_colors - 1) parse(speedo_colors, speedo_red, 3, speedo_green, 3, speedo_blue, 3) CV_Speedo_R = str_to_num(speedo_red) CV_Speedo_G = str_to_num(speedo_green) CV_Speedo_B = str_to_num(speedo_blue) new catchers_color[16],catchers_r[4], catchers_g[4], catchers_b[4] get_pcvar_string(CV_Catchers_Color, catchers_color,sizeof catchers_color -1 ) parse(catchers_color,catchers_r, 3, catchers_g, 3, catchers_b, 3) CV_Catcher_Color_R = str_to_num(catchers_r) CV_Catcher_Color_G = str_to_num(catchers_g) CV_Catcher_Color_B = str_to_num(catchers_b) new fleer_color[16],fleer_r[4], fleer_g[4], fleer_b[4] get_pcvar_string(CV_Fleer_Color, fleer_color,sizeof fleer_color -1 ) parse(fleer_color,fleer_r, 3, fleer_g, 3, fleer_b, 3) CV_FLEER_Color_R = str_to_num(fleer_r) CV_FLEER_Color_G = str_to_num(fleer_g) CV_FLEER_Color_B = str_to_num(fleer_b) new turbo_fadecolor[16], turbo_fade_r[4], turbo_fade_g[4], turbo_fade_b[4] get_pcvar_string(CV_Turbo_fade,turbo_fadecolor,sizeof turbo_fadecolor -1) parse(turbo_fadecolor, turbo_fade_r, 3,turbo_fade_g, 3,turbo_fade_b, 3) CV_Turbo_fade_STR[R] = str_to_num(turbo_fade_r) CV_Turbo_fade_STR[G] = str_to_num(turbo_fade_g) CV_Turbo_fade_STR[b] = str_to_num(turbo_fade_b) new render_amm[16],render_am_U[4],render_am_O[4],render_am_OO[4] get_pcvar_string(CV_render_amount,render_amm,sizeof render_amm -1) parse(render_amm,render_am_U,3,render_am_O,3,render_am_OO,3) CV_render_amount_U = str_to_num(render_am_U) CV_render_amount_O = str_to_num(render_am_O) CV_render_amount_OO = str_to_num(render_am_OO) } public plugin_precache() { precache_sound("catchmod/ag_level_up.wav") if(file_exists(SOUND_CATCHER_WIN) && get_pcvar_num(CV_CUSTOM_SOUND)) { precache_sound(SOUND_CATCHER_WIN) precache_sound(SOUND_FLEER_WIN) precache_sound(SOUND_CATCHER_LOSE) precache_sound(SOUND_FLEER_LOSE) } else { precache_sound(SOUND_CATCHER_WIN_DEFAULT) precache_sound(SOUND_FLEER_WIN_DEFAULT) precache_sound(SOUND_CATCHER_LOSE_DEFAULT) precache_sound(SOUND_FLEER_LOSE_DEFAULT) } } public RestartRound() { server_cmd("sv_restart 1") } public fw_ThinkEntity(iEnt) { SpeedTask() entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + FREQ) } public newRound() { round_ednded = 0 for(new id=1;id<E_MaxPlayers;id++) { reset_stats(id) } } GetTopPlayers(players[32], &pnum, const flags[]="", const team[]="") { get_players(players, pnum, flags, team) SortCustom1D(players, pnum, "SortPlayers") } public SortPlayers(item1, item2) { new diff = g_points[item2] - g_points[item1] if( !diff ) { diff = g_speed[item2] - g_speed[item1] } return clamp(diff, -1, 1) } public game_comencing() { for(new id = 1;id <= E_MaxPlayers;id++) { score[id][0] = 0 score[id][1] = 0 score[id][2] = 0 score[id][3] = 0 } if(round_counter) { round_counter = 0 } else if(!round_counter) { round_counter = 1 } } public endround() { round_ednded = 1 if(round_counter) { round_counter = 0 CSTS_ARE_CATCHER = 1 } else if(!round_counter) { round_counter = 1 CSTS_ARE_CATCHER = 0 } new punkte = 0 new fleer_win = 0 for(new id=1;id<E_MaxPlayers;id++) { if(is_user_alive(id) && !user_is_catcher[id]) { score[id][3]++ if(cs_get_user_team(id) == CS_TEAM_T) { points[0] += get_pcvar_num(CV_survivor) } else { points[1] += get_pcvar_num(CV_survivor) } score[id][0] = score[id][0] + get_pcvar_num(CV_survivor) apply_scoreboard_survived(id) punkte++ fleer_win = 1 } } if(fleer_win == 1) { client_print(0,print_chat,"[ %s %s ] Fleers won this round. +%d Point%s",PLUGIN,VERSION,punkte*get_pcvar_num(CV_survivor),punkte*get_pcvar_num(CV_survivor) > 1 ? "e" : "") } else { client_print(0,print_chat,"[ %s %s ] Catchers won this round!",PLUGIN,VERSION) } new players[32], pnum GetTopPlayers(players, pnum, "h") new id, name[33] new message[512], len for( new i = 0; i < pnum; i++ ) { id = players[i]; get_user_name(id,name,32) len += formatex(message[len], charsmax(message) - len, "%s%d. %s : AG : %d Speed : %d", len ? "^n" : "", (i + 1), name, g_points[id], g_speed[id]); } set_hudmessage(255,255,255,0.02,0.25,0,0.1,5.0,0.0,0.0) show_hudmessage(0,"%s",message)
update_teamscore() } public update_teamscore() { message_begin(MSG_ALL,get_user_msgid("TeamScore")) write_string("TERRORIST") write_short(points[0]) message_end() message_begin(MSG_ALL,get_user_msgid("TeamScore")) write_string("CT") write_short(points[1]) message_end() } public reset_stats(id) { TURBO[id][0] = 0 users_maxspeed_round[id] = 0.0 if(!user_is_catcher[id]) { if(users_AG[id] == 0) { TURBO[id][1] = 100 AG_loop[id] = 0 } else if(users_AG[id] == 1) { AG_loop[id] = 1 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 2) { AG_loop[id] = 2 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 3) { AG_loop[id] = 3 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 4) { AG_loop[id] = 4 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 5) { AG_loop[id] = 5 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 6) { AG_loop[id] = 6 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } else if(users_AG[id] == 8) { AG_loop[id] = 8 users_AG[id] = 0 AG_anzahl[id][1] = 0 AG_anzahl[id][2] = 0 AG_anzahl[id][3] = 0 AG_anzahl[id][4] = 0 AG_anzahl[id][5] = 0 AG_anzahl[id][6] = 0 AG_anzahl[id][7] = 0 corrent_AG[id] = 0 } TURBO[id][1] = 100 set_task(1.0,"Give_AGs",id,"",_,"a",AG_loop[id]) } else { TURBO[id][1] = 100 } } public Give_AGs(id) { fix_task++ TURBO[id][1] = TURBO[id][1] + get_pcvar_num(CV_AG_TURBO) emit_sound(id, CHAN_ITEM, "catchmod/ag_level_up.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) if(fix_task == AG_loop[id]) { AG_loop[id] = 0 } } public touch(pToucher, pTouched) { if(!round_ednded) { if(IsPlayer(pToucher) && is_user_alive(pToucher) && user_is_catcher[pToucher]) { if(IsPlayer(pTouched) && is_user_alive(pTouched) && !user_is_catcher[pTouched]) { score[pToucher][0] = score[pToucher][0] + get_pcvar_num(CV_Catch_Points) score[pToucher][1]++ score[pTouched][2]++ set_msg_block(deathMsg,BLOCK_ONCE) set_msg_block(scoreMsg,BLOCK_ONCE) user_silentkill(pTouched) make_deathmsg(pToucher,pTouched,0,"his hands") apply_scoreboard(pToucher) apply_scoreboard(pTouched) update_teamscore() } } } } public Forward_TriggerMultipleTouch(iEntity, id) { static szModel[32] entity_get_string(iEntity, EV_SZ_model, szModel, 31) new target[32] pev(iEntity, pev_targetname, target, 31) if(is_user_alive(id) && !user_is_catcher[id] && equal(target, "finish_round_fleer")) { switch(cs_get_user_team(id)) { case CS_TEAM_T: { TerminateRound(RoundEndType_Objective, TeamWinning_Terrorist) client_print(0,print_chat,"T WIN") } case CS_TEAM_CT: { TerminateRound(RoundEndType_Objective, TeamWinning_Ct) client_print(0,print_chat,"CT WIN") } } } } public apply_scoreboard(id) { message_begin(MSG_ALL,get_user_msgid("ScoreInfo")) write_byte(id) write_short(score[id][0]) write_short(score[id][2]) write_short(0) write_short(get_user_team(id)) message_end() } public apply_scoreboard_survived(id) { message_begin(MSG_ALL,get_user_msgid("ScoreInfo")) write_byte(id) write_short(score[id][0]) write_short(score[id][2]) write_short(0) write_short(get_user_team(id)) message_end() } public Players_Spawn(id) { if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) { g_iIsSpectator[id] = 0 if(get_pcvar_num(CV_AMXSUPER_FIX)) { set_task(3.0, "godmode", id) } if(CSTS_ARE_CATCHER == 1) { Equip_Catcher(id) } else if(CSTS_ARE_CATCHER == 0) { Equip_Fleer(id) } } else if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T) { g_iIsSpectator[id] = 0 if(get_pcvar_num(CV_AMXSUPER_FIX)) { set_task(3.0, "godmode", id) } if(CSTS_ARE_CATCHER == 0) { Equip_Catcher(id) } else if(CSTS_ARE_CATCHER == 1) { Equip_Fleer(id) } } else if(is_user_connected(id)) { set_user_rendering(id, _, 0, 0, 0, _, 0) } } public Equip_Catcher(id) { if(is_user_alive(id)) { user_is_catcher[id] = 1 set_user_rendering(id,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,CV_render_amount_U) strip_user_weapons(id) give_item(id,"weapon_knife") set_user_godmode(id,1) apply_scoreboard(id) } } public Equip_Fleer(id) { if(is_user_alive(id)) { user_is_catcher[id] = 0 set_user_rendering(id,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_U) strip_user_weapons(id) give_item(id,"weapon_knife") set_user_godmode(id,1) apply_scoreboard(id) } } public godmode(id) { if(is_user_alive(id)) { set_user_godmode(id,1) } } public client_putinserver(id) { g_iIsSpectator[id] = 0 } public client_disconnect(id) { g_iIsSpectator[id] = 0 } public ev_SpecHealth2(id) { g_iIsSpectator[id] = read_data(2) } public bunnyhop(id) { if(!is_user_alive(id) || !get_pcvar_num(CV_Bonnyhop)) { return PLUGIN_HANDLED } new buttons = get_user_button(id)
if(buttons & IN_JUMP) { new flags = entity_get_int(id, EV_INT_flags) if(flags|FL_WATERJUMP && entity_get_int(id,EV_INT_waterlevel)<2 && flags&FL_ONGROUND) { static Float:velocity[3] entity_get_vector(id, EV_VEC_velocity, velocity) velocity[2] += 250.0 entity_set_vector(id, EV_VEC_velocity, velocity) entity_set_int(id, EV_INT_gaitsequence, 6) } } return PLUGIN_HANDLED } public secund_attack(ent) { new id = pev(ent,pev_owner) if(!IsPlayer(id)) { return HAM_IGNORED } else if(!chilldown[id]) { if(TURBO[id][0] == 0 && TURBO[id][1] >= get_pcvar_num(CV_Turbo_Usage_Percent)) { User_has_turbo_ON(id) } else if(TURBO[id][0] == 1) { User_has_turbo_OFF(id) } return HAM_SUPERCEDE } else { return HAM_SUPERCEDE } return HAM_IGNORED } public primary_attack(ent) { new id = pev(ent,pev_owner) if(IsPlayer(id)) { return HAM_SUPERCEDE } return HAM_IGNORED } public knife_weapon_change(iEnt) { new id = get_pdata_cbase(iEnt, m_pPlayer, XO_WEAPON)
set_pev(id, pev_viewmodel2, "") set_pev(id, pev_weaponmodel2, "") } public SpeedTask() { static i, target static Float:velocity[3] static Float:speed for(i=1; i<=E_MaxPlayers; i++) { if(is_user_alive(i)) { target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i pev(target, pev_velocity, velocity) speed = vector_length(velocity) set_hudmessage(CV_Speedo_R, CV_Speedo_G, CV_Speedo_B, 0.41, 0.76, 0, 0.0, FREQ, 0.01, 0.0) if(speed > users_maxspeed_round[i]) { users_maxspeed_round[i] = speed } if(speed > users_maxspeed_map[i]) { users_maxspeed_map[i] = speed } if(speed > best_speed) { best_speed = speed get_user_name(i,top_speed_name,32) } if(speed <= 1000) { cs_set_user_armor(i,floatround(speed),CS_ARMOR_NONE) if(!under_tausend[i]) { message_begin(MSG_ONE,iconstatus,{0,0,0},i) write_byte(0) write_string("item_longjump") write_byte(0) write_byte(255) write_byte(0) message_end() under_tausend[i] = 1 over_tausend[i] = 0 over_twotausend[i] = 0 dead_fixed_icon[i] = 0 if(!user_is_catcher[i]) { set_user_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_U) } else { set_user_rendering(i,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,CV_render_amount_U) } } if(!corrent_AG[i]) { ShowSyncHudMsg(i, SyncHud, "No AGs received^nMaxspeed this round: %f^nMaxspeed this MAP : %f^nBest Speed by %s : %f",users_maxspeed_round[i],users_maxspeed_map[i],top_speed_name,best_speed) } else { ShowSyncHudMsg(i, SyncHud, "Received AGs this round : +%dAG^nMaxspeed this round: %f^nMaxspeed this MAP : %f^nBest Speed by %s : %f",corrent_AG[i],users_maxspeed_round[i],users_maxspeed_map[i],top_speed_name,best_speed) } } else if(speed > 1000 && speed < 2000) { cs_set_user_armor(i,floatround(speed) - 1000,CS_ARMOR_NONE) if(!over_tausend[i]) { message_begin(MSG_ONE,iconstatus,{0,0,0},i) write_byte(2) write_string("item_longjump") write_byte(0) write_byte(255) write_byte(0) message_end() over_tausend[i] = 1 under_tausend[i] = 0 over_twotausend[i] = 0 dead_fixed_icon[i] = 0 if(user_is_catcher[i]) { set_user_rendering(i,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,CV_render_amount_O) } else { set_user_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_O) } } if(speed < 1200 && !AG_anzahl[i][1]) { AG_anzahl[i][1] = 1 corrent_AG[i] = 1 } else if(speed > 1200 && !AG_anzahl[i][2]) { AG_anzahl[i][2] = 1 corrent_AG[i] = 2 } else if(speed > 1400 && !AG_anzahl[i][3]) { AG_anzahl[i][3] = 1 corrent_AG[i] = 3 } else if(speed > 1600 && !AG_anzahl[i][4]) { AG_anzahl[i][4] = 1 corrent_AG[i] = 4 } else if(speed > 1800 && !AG_anzahl[i][5]) { AG_anzahl[i][5] = 1 corrent_AG[i] = 5 } ShowSyncHudMsg(i, SyncHud,"Speed : +%dAG +1000 - %f^nMaxspeed this round: %f^nMaxspeed this MAP : %f^nBest Speed by %s : %f",corrent_AG[i],speed - 1000,users_maxspeed_round[i],users_maxspeed_map[i],top_speed_name,best_speed) } else if(speed > 2000 && speed < 3000) { cs_set_user_armor(i,floatround(speed) - 2000,CS_ARMOR_NONE) if(!over_twotausend[i]) { message_begin(MSG_ONE,iconstatus,{0,0,0},i) write_byte(2) write_string("item_longjump") write_byte(255) write_byte(255) write_byte(0) message_end() over_tausend[i] = 0 under_tausend[i] = 0 over_twotausend[i] = 1 dead_fixed_icon[i] = 0 if(!user_is_catcher[i]) { set_user_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_OO) } else { set_user_rendering(i,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,CV_render_amount_OO) } } if(speed < 2100 && !AG_anzahl[i][6]) { AG_anzahl[i][6] = 1 corrent_AG[i] = 6 } else if(speed > 2400 && !AG_anzahl[i][7]) { AG_anzahl[i][7] = 1 corrent_AG[i] = 8 } ShowSyncHudMsg(i, SyncHud,"Speed : +%dAG - 2000 %f^nMaxspeed this round: %f^nMaxspeed this MAP : %f^nBest Speed by %s : %f",corrent_AG[i],speed - 2000,users_maxspeed_round[i],users_maxspeed_map[i],top_speed_name,best_speed) } } else { if(is_user_connected(i) && !dead_fixed_icon[i]) { message_begin(MSG_ONE,iconstatus,{0,0,0},i) write_byte(2) write_string("item_longjump") write_byte(255) write_byte(255) write_byte(0) message_end() dead_fixed_icon[i] = 1 } ShowSyncHudMsg(i, SyncHud,"Speed : %f^nBest Speed by %s : %f",speed ,top_speed_name,best_speed) } users_AG[i] = corrent_AG[i] g_points[i] = users_AG[i] g_speed[i] = floatround(users_maxspeed_round[i]) } } public User_has_turbo_ON(id) { if(is_user_alive(id) && !user_is_catcher[id]) { if(TURBO[id][1] < get_pcvar_num(CV_Turbo_Usage_Percent)) { TURBO[id][0] = 0 } else if(!chilldown[id]) { TURBO[id][0] = 1 TURBO[id][1] -= get_pcvar_num(CV_Turbo_Usage_Percent) set_task(get_pcvar_float(CV_Turbo_Usage_Time),"turbo_task",id) Speed_settings(id) chilldown[id] = 1 UTIL_ScreenFade(id,CV_Turbo_fade_STR,1.0,2.0,80) } Player_Show_Stats(id) } } public User_has_turbo_OFF(id) { if(TURBO[id][0] == 1) { TURBO[id][0] = 0 remove_task(id+10000) Player_Show_Stats(id) } } public Speed_settings(id) { new Float:speed if(!user_is_catcher[id]) { speed = 320.0 * get_pcvar_float(CV_Catch_speed) * get_pcvar_float(CV_Catch_fleer_speed) if(TURBO[id][0] == 1) { speed *= get_pcvar_float(CV_Catch_Turbo_speed) set_task(get_pcvar_float(CV_Turbo_Usage_Time),"turbo_fix",id) } } else { speed = 320.0 * get_pcvar_float(CV_Catch_speed) * get_pcvar_float(CV_catchers_speed) } if(is_user_alive(id)) { set_user_maxspeed(id,speed) } } public Player_AddPlayerItem(id , iWeapon) { if(ExecuteHam(Ham_Item_GetWeaponPtr, iWeapon) != iWeapon ||cs_get_weapon_id(iWeapon) != CSW_C4) { return HAM_IGNORED } set_pev(iWeapon, pev_flags, pev(iWeapon, pev_flags) | FL_KILLME) cs_set_user_plant(id, 0) set_pev(id, pev_body, 0) SetHamReturnInteger(0) return HAM_SUPERCEDE } public message_textmsg( const MsgId, const MsgDest, const MsgEntity ) { static message[32] get_msg_arg_string(2, message, charsmax(message)) if(CSTS_ARE_CATCHER) //CTs sind catcher { if(equal(message, "#Terrorists_Win")) { set_msg_arg_string(2, "Catchers win!") } else if(equal(message, "#CTs_Win")) { set_msg_arg_string(2, "Fleers win!") } } else if(!CSTS_ARE_CATCHER) //Ts sind catcher { if(equal(message, "#Terrorists_Win")) { set_msg_arg_string(2, "Fleers win!") } else if(equal(message, "#CTs_Win")) { set_msg_arg_string(2, "Catchers win!") } } } public play_win_sound() { client_cmd(0, "stopsound") for (new id = 1; id <= E_MaxPlayers; id++) { if(is_user_connected(id)) { if(CSTS_ARE_CATCHER) //CTs sind catcher { if(cs_get_user_team(id) == CS_TEAM_T && user_is_catcher[id]) { if(get_pcvar_num(CV_CUSTOM_SOUND)) { client_cmd(id, "spk ^"%s^"", SOUND_CATCHER_WIN) } else { client_cmd(id, "spk ^"%s^"", SOUND_CATCHER_WIN_DEFAULT) } } else if(cs_get_user_team(id) == CS_TEAM_CT && !user_is_catcher[id]) { if(get_pcvar_num(CV_CUSTOM_SOUND)) { client_cmd(id, "spk ^"%s^"", SOUND_FLEER_LOSE) } else { client_cmd(id, "spk ^"%s^"", SOUND_FLEER_LOSE_DEFAULT) } } } else //Ts sind catcher { if(cs_get_user_team(id) == CS_TEAM_T && !user_is_catcher[id]) { if(get_pcvar_num(CV_CUSTOM_SOUND)) { client_cmd(id, "spk ^"%s^"", SOUND_FLEER_LOSE) } else { client_cmd(id, "spk ^"%s^"", SOUND_FLEER_LOSE_DEFAULT) } } else if(cs_get_user_team(id) == CS_TEAM_CT && user_is_catcher[id]) { if(get_pcvar_num(CV_CUSTOM_SOUND)) { client_cmd(id, "spk ^"%s^"", SOUND_CATCHER_WIN) } else { client_cmd(id, "spk ^"%s^"", SOUND_CATCHER_WIN_DEFAULT) } } } } } } public turbo_fix(id) { TURBO[id][0] = 0 } public apply(id) { apply_scoreboard(id) } public Show_Stats() { for(new id=1;id <= E_MaxPlayers;id++) { if(is_user_alive(id)) { Player_Show_Stats(id) } } } public Player_Show_Stats(id) { new turbos[128] set_dhudmessage(0, 255, 0, 0.40, 0.70, 2, 2.0, 10.0, 0.1, 1.5) if(!user_is_catcher[id]) { if(TURBO[id][1] >= get_pcvar_num(CV_Turbo_Usage_Percent)) { if(TURBO[id][0] == 1) { turbo_used[id]++ set_dhudmessage(255, 0, 0, 0.40, 0.70, 2, 2.0, 10.0, 0.1, 1.5) format(turbos,127,"You are a FLEER^nTurbo: [|||||||||||||||] - %d%",TURBO[id][1]) } else if(TURBO[id][1]) { format(turbos,127,"You are a FLEER^nTurbo: [|||||||||||||||] - %d%",TURBO[id][1]) } } else if(TURBO[id][1] <= get_pcvar_num(CV_Turbo_Usage_Percent)) { format(turbos,127,"You are a FLEER^nTurbo: [|||||||||||||||] - OFF") } } else if(user_is_catcher[id]) { format(turbos,127,"You are a CATCHER^nTurbo: [|||||||||||||||] - OFF") } show_dhudmessage(id, "%s",turbos) } public turbo_task(id) { if(is_user_alive(id)) { if(!user_is_catcher[id]) { if(TURBO[id][1] > get_pcvar_num(CV_Turbo_Usage_Percent)) { TURBO[id][0] = 0 Speed_settings(id) Player_Show_Stats(id) } else { TURBO[id][1] -= get_pcvar_num(CV_Turbo_Usage_Percent) Speed_settings(id) Player_Show_Stats(id) } } else { TURBO[id][0] = 0 Player_Show_Stats(id) } } else { TURBO[id][0] = 0 } set_task(get_pcvar_float(CV_CHILLDOWN_TIME),"task_chilldown",id) } public task_chilldown(id) { chilldown[id] = 0 }
you can comment the precached sound but if you need : http://forums.alliedmods.net/attachm...0&d=1301594221
the test map attached.
use hook/gravity to touch the flag.( you know better how to do :-D )
attached compiled file too
|