[SOLVED]code or compiler bug/problem?
1 Attachment(s)
attached Pic.
can anyone check my code pls?
o,O
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
REMOVE SMITYP TO GAMETYP ( TRAINING OR NORMAL ) BY NORMAL SEMITYP = 2 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 if orpheu is running ... */ /* 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> #include <cvar_util> #include <sqlx>
#define PLUGIN "Catchmod Gold Edition" #define VERSION "1.0.19" #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 #define DISTANCE 120 #define QUERY_CREATE_TABLE "CREATE TABLE IF NOT EXISTS `catchmod` ( \ `authid` VARCHAR( 32 ) NOT NULL, \ `rank` INT( 6 ) NOT NULL, \ `name` VARCHAR( 32 ) NOT NULL, \ `AGs` INT( 6 ) NOT NULL, \ `maxspeed` INT( 12 ) NOT NULL, \ `map` VARCHAR( 32 ) NOT NULL, \ `catched` INT( 6 ) NOT NULL, \ `catchs` INT( 6 ) NOT NULL, \ `fps` INT( 6 ) NOT NULL, \ `survives` INT( 6 ) NOT NULL, \ `flagged` INT( 6 ) NOT NULL, \ `now_map` VARCHAR( 32 ) NOT NULL, \ `now_maxspeed` VARCHAR( 32 ) NOT NULL, \ `now_` VARCHAR( 32 ) NOT NULL, \ PRIMARY KEY ( `authid` ) );"
/* 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 winmsg[32] new iconstatus new score[33][4] new deathMsg new scoreMsg new points[2] new round_ednded new fleer_win 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 new users_team[33] new bool:Solid[33] new bool:user_has_semi[33] new Float:Origin[33][3] new Prethink new Postthink new Fullpack new Handle:sqldb new sql_ERROR[512] /* CVARS */ new CV_Semityp new CV_Semitrynsparenty 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") register_clcmd( "say","Say_Command") register_clcmd( "say_team","Say_Command") register_dictionary("catchmod.txt") /* 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 handleCvar = CvarRegister( "amx_semiclip_enabled", "1"); CvarHookChange( handleCvar, "SemiclipCvar" ); toggleForward( .enable = true ); CV_Semityp = register_cvar( "amx_semiclip_typ", "0" ) CV_Semitrynsparenty = register_cvar( "amx_semiclip_transparancy", "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 Say_Command(id) { static say_args[64] read_args(say_args, charsmax(say_args)) remove_quotes(say_args) if(say_args[0] != '/') { return PLUGIN_CONTINUE } if(equali(say_args, "/install") || equali(say_args, "/installdb")) { if(get_user_flags(id) & ADMIN_KICK) { install_db(id) } else { ChatColor(id, "%L", LANG_PLAYER,"ERROR_NOT_ALLOWDED", PLUGIN) } } return PLUGIN_CONTINUE } public install_db(id) { new host[64], user[64], pass[64], db[64] get_cvar_string("amx_sql_host", host, 63) get_cvar_string("amx_sql_user", user, 63) get_cvar_string("amx_sql_pass", pass, 63) get_cvar_string("amx_sql_db", db, 63) sqldb = SQL_MakeDbTuple(host, user, pass, db) new ErrorCode,Handle:SqlConnection = SQL_Connect(sqldb,ErrorCode,sql_ERROR,charsmax(sql_ERROR)) if(SqlConnection == Empty_Handle) { set_fail_state(sql_ERROR) } new Handle:Queries Queries = SQL_PrepareQuery(SqlConnection,QUERY_CREATE_TABLE) if(!SQL_Execute(Queries)) { SQL_QueryError(Queries,sql_ERROR,charsmax(sql_ERROR)) set_fail_state(sql_ERROR) ChatColor(id, "%L", LANG_PLAYER,"ERROR_FAILED_INSTALL", PLUGIN) } else { ChatColor(id, "%L", LANG_PLAYER,"SQL_INSTALLED", PLUGIN) } SQL_FreeHandle(Queries) SQL_FreeHandle(SqlConnection) } public plugin_end() { SQL_FreeHandle(sqldb) } public SemiclipCvar( const handleCvar, const oldValue[], const newValue[], const cvarName[] ) { toggleForward( .enable = newValue[ 0 ] == '1' ); } toggleForward( const bool:enable ) { if( enable) { Prethink = register_forward( FM_PlayerPreThink, "PreThink" ); Postthink = register_forward( FM_PlayerPostThink, "PostThink" ); Fullpack = register_forward( FM_AddToFullPack, "Fullpack_Post", 1 ); } else { unregister_forward( FM_PlayerPreThink, Prethink ); unregister_forward( FM_PlayerPostThink, Postthink ); unregister_forward( FM_AddToFullPack, Fullpack, 1 ); } } public PreThink(plr) { static id, last_think
if(last_think > plr) { for(id = 1;id <= E_MaxPlayers;id++ ) { if(is_user_alive(id)) { if(get_pcvar_num(CV_Semityp)) { users_team[id] = get_user_team(id) } Solid[id] = pev(id,pev_solid) == SOLID_SLIDEBOX ? true : false pev(id,pev_origin,Origin[id] ) } else { Solid[id] = false } } } last_think = plr if(Solid[plr]) { for(id = 1;id <= E_MaxPlayers;id++) { if(Solid[id] && get_distance_f(Origin[plr],Origin[id]) <= DISTANCE && id != plr ) { if( get_pcvar_num(CV_Semityp) && users_team[plr] != users_team[id] ) { return FMRES_IGNORED } set_pev(id,pev_solid,SOLID_NOT) user_has_semi[id] = true } } } return FMRES_IGNORED } public PostThink(plr) { static id for(id = 1;id <= E_MaxPlayers;id++ ) { if(user_has_semi[id]) { set_pev(id,pev_solid,SOLID_SLIDEBOX) user_has_semi[id] = false } } } public Fullpack_Post(handle,e,ent,host,hostflags,player,pset) { if(player) { if(Solid[host] && Solid[ent] && get_distance_f(Origin[host],Origin[ent]) <= DISTANCE) { if(get_pcvar_num(CV_Semityp) && users_team[host] != users_team[ent]) { return FMRES_IGNORED } set_es(handle,ES_Solid,SOLID_NOT) if(get_pcvar_num(CV_Semitrynsparenty) == 1) { set_es(handle,ES_RenderMode,kRenderTransAlpha) set_es(handle,ES_RenderAmt,85) } else if(get_pcvar_num(CV_Semitrynsparenty) == 2) { set_es(handle,ES_Effects,EF_NODRAW) set_es(handle,ES_Solid,SOLID_NOT) } } } return FMRES_IGNORED } 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 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) { ChatColor(0, "%L", LANG_PLAYER,"FLEERS_WON", PLUGIN,punkte*get_pcvar_num(CV_survivor),punkte*get_pcvar_num(CV_survivor) > 1 ? "s" : "") } else { ChatColor(0, "%L", LANG_PLAYER,"CATCHERS_WON", PLUGIN) } 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")) { new name[32] get_user_name(id,name,32) switch(cs_get_user_team(id)) { case CS_TEAM_T: { TerminateRound(RoundEndType_Objective,TeamWinning_Terrorist) ChatColor(0, "%L", LANG_PLAYER,"TERR_CATCHED_FLAG", PLUGIN,name) } case CS_TEAM_CT: { TerminateRound(RoundEndType_Objective,TeamWinning_Ct) ChatColor(0, "%L", LANG_PLAYER,"CTS_CATCHED_FLAG", PLUGIN,name) } } } } 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(equal(message, "#Terrorists_Win")) { if(!CSTS_ARE_CATCHER) { formatex(winmsg, 31, "#Catchers win") } else if(CSTS_ARE_CATCHER) { formatex(winmsg, 31, "#Fleers win") } } else if(equal(message, "#CTs_Win")) { if(CSTS_ARE_CATCHER) { formatex(winmsg, 31, "#Catchers win") } else if (!CSTS_ARE_CATCHER) { formatex(winmsg, 31, "#Fleers win") } } else if(equal(message,"#Target_Saved")) { formatex(winmsg, 31, "#Fleer win") } set_msg_arg_string(2, winmsg) } 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 }
|