Cand intru pe server imi da sa imi aleg echipa.
Si normal nu ar trebui..
Cum sa fac sa ma bage direct in echipa ?
- | Afiseaza codul
#include <amxmodx> #include <cstrike> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <fun> #include "furien.inc" #define m_rgpPlayerItems_wpnbx_Slot5 39 #define IsPlayer(%1) ( FIRST_PLAYER_ID <= %1 <= g_iMaxPlayers ) #define IsWeaponBoxC4(%1) ( get_pdata_cbase(%1, m_rgpPlayerItems_wpnbx_Slot5, XO_WEAPONBOX) > 0 ) #define PLUGIN "Furien Mod" #define VERSION "1.1" #define AUTHOR "DaNNe." #define XO_WEAPONBOX 4 #define FURIEN_GRAVITY 0.4 #define FURIEN_SPEED 700.0 #define TEAM_FURIEN 1 #define TEAM_ANTIFURIEN 2 new g_iPickUp = 2 new g_iMaxPlayers #define SWITCH_TASK 112233 #define FIRST_PLAYER_ID 1 new bool:MakeVisible[33], Float:Wallorigin[33][3]; // ----- | Parachute | ------ // #define PARACHUTE_CLASS "Parachute" new ParaENT[33]; new CsTeams:g_iFuriensTeam = CS_TEAM_T new cvar_gamedescription, furienspawnhp, antifurienspawnhp public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) cvar_gamedescription = register_cvar("furien_gamename", "Furien CSO Mod") antifurienspawnhp = register_cvar("antifurien_spawnhp", "135") furienspawnhp = register_cvar("furien_spawnhp", "100") register_forward(FM_PlayerPreThink, "Player_PreThink"); register_forward(FM_AddToFullPack, "FWD_AddToFullPack", 1); register_forward(FM_PlayerPreThink, "FWD_ParachutePreThink"); register_forward(FM_GetGameDescription, "FWD_GameDescription") RegisterHam(Ham_Touch, "weaponbox", "CWeaponBox_Touch") RegisterHam(Ham_Touch, "armoury_entity", "GroundWeapon_Touch") RegisterHam(Ham_Touch, "weapon_shield", "GroundWeapon_Touch") RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1); register_event("SendAudio", "EVENT_TeamSwap", "a", "1=0", "2=%!MRAD_ctwin"); //Register_BlockBuy() g_iMaxPlayers = get_maxplayers() } public plugin_natives() { register_library("furien") register_native("furien_get_user_team", "fr_get_user_team") } public fr_get_user_team(/*iPlugin, iParams*/) { return __get_user_team( get_param(1) ) } __get_user_team(id) { new CsTeams:iTeam = cs_get_user_team(id) if( CS_TEAM_T <= iTeam <= CS_TEAM_CT ) { if( iTeam == g_iFuriensTeam ) { return Furien } return AntiFurien } return -1 } /*public plugin_precache() { remove_entity_name("info_map_parameters"); remove_entity_name("func_buyzone"); new Entity = create_entity("info_map_parameters"); DispatchKeyValue(Entity, "buying", "3"); DispatchSpawn(Entity); }*/ public HAM_Spawn_Post(id) { if(is_user_alive(id) && !is_user_bot(id)) { strip_user_weapons(id) fm_give_item(id, "weapon_knife") switch(get_user_team(id)) { case TEAM_FURIEN: { fm_give_item(id, "weapon_hegrenade") fm_give_item(id, "weapon_flashbang") set_user_footsteps(id, 0) //fm_give_item(id, "weapon_knife") fm_set_user_health(id, get_pcvar_num(furienspawnhp)) } case TEAM_ANTIFURIEN: { fm_give_item(id, "weapon_hegrenade") fm_give_item(id, "weapon_flashbang") set_user_footsteps(id, 0) fm_give_item(id,"weapon_usp") cs_set_user_bpammo(id,CSW_USP,250) //fm_give_item(id, "weapon_knife") fm_set_user_health(id, get_pcvar_num(antifurienspawnhp)) } } } } public Player_PreThink(id) { if(is_user_connected(id)) { if(get_user_team(id) == TEAM_FURIEN) { if(pev(id, pev_gravity) > FURIEN_GRAVITY && pev(id, pev_gravity) > 0.1) set_pev(id, pev_gravity, FURIEN_GRAVITY) if(pev(id, pev_maxspeed) < FURIEN_SPEED && pev(id, pev_maxspeed) > 1.0) { set_pev(id, pev_maxspeed, FURIEN_SPEED) set_user_footsteps(id, 1) } } } } public FWD_AddToFullPack(es, e, ent, host, host_flags, player, p_set) { if(is_user_connected(ent) && is_user_connected(host) && is_user_alive(ent)) { if(is_user_alive(host) && get_user_team(ent) == 1 && get_user_team(host) == 1 || !is_user_alive(host) && get_user_team(ent) == 1 && pev(host, pev_iuser2) == ent || get_user_team(ent) == 1 && pev(ent, pev_maxspeed) <= 1.0) { set_es(es, ES_RenderFx, kRenderFxNone); set_es(es, ES_RenderMode, kRenderTransTexture); set_es(es, ES_RenderAmt, 255); } else if(get_user_team(ent) == 1) { set_es(es, ES_RenderFx, kRenderFxNone); set_es(es, ES_RenderMode, kRenderTransTexture); static Float:Origin[3] pev(ent, pev_origin, Origin) if(get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && fm_get_speed(ent) <= 5 || get_user_weapon(ent) == CSW_KNIFE && !MakeVisible[ent] && Origin[0] == Wallorigin[ent][0] && Origin[1] == Wallorigin[ent][1] && Origin[2] == Wallorigin[ent][2]) set_es(es, ES_RenderAmt, 0); else set_es(es, ES_RenderAmt, 255); } } } public GroundWeapon_Touch(iWeapon, id) { if( IsPlayer(id) ) { if( !g_iPickUp ) { remove_entity(iWeapon) return HAM_SUPERCEDE } if( !is_user_alive(id) ) { return HAM_SUPERCEDE } new iTeam = __get_user_team(id) if( ( iTeam == -1 ) || (iTeam == Furien && g_iPickUp != 1) || (iTeam == AntiFurien && g_iPickUp != 2) ) { return HAM_SUPERCEDE } } return HAM_IGNORED } public CWeaponBox_Touch(iWeaponBox, id) { if( IsPlayer(id) ) { if( !is_user_alive(id) ) { return HAM_SUPERCEDE } if( IsWeaponBoxC4(iWeaponBox) ) { return HAM_IGNORED } if( !g_iPickUp ) { remove_entity(iWeaponBox) return HAM_SUPERCEDE } new iTeam = __get_user_team(id) if( ( iTeam == -1 ) || (iTeam == Furien && g_iPickUp != 1) || (iTeam == AntiFurien && g_iPickUp != 2) ) { return HAM_SUPERCEDE } } return HAM_IGNORED } public FWD_GameDescription() { static GameName[32] get_pcvar_string(cvar_gamedescription, GameName, 31) forward_return(FMV_STRING, GameName) return FMRES_SUPERCEDE } public FWD_ParachutePreThink(id) { if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) { new Float:FallSpeed = -50.0; new Float:Frame; new Button = pev(id, pev_button); new OldButton = pev(id, pev_oldbuttons); new Flags = pev(id, pev_flags); if(ParaENT[id] > 0 &&(Flags & FL_ONGROUND)) { if(pev(ParaENT[id],pev_sequence) != 2) { set_pev(ParaENT[id], pev_sequence, 2); set_pev(ParaENT[id], pev_gaitsequence, 1); set_pev(ParaENT[id], pev_frame, 0.0); set_pev(ParaENT[id], pev_fuser1, 0.0); set_pev(ParaENT[id], pev_animtime, 0.0); return; } pev(ParaENT[id],pev_fuser1, Frame); Frame += 2.0; set_pev(ParaENT[id],pev_fuser1,Frame); set_pev(ParaENT[id],pev_frame,Frame); if(Frame > 254.0) { engfunc(EngFunc_RemoveEntity, ParaENT[id]); ParaENT[id] = 0; } else { engfunc(EngFunc_RemoveEntity, ParaENT[id]); ParaENT[id] = 0; } return; } if(Button & IN_USE) { new Float:Velocity[3]; pev(id, pev_velocity, Velocity); if(Velocity[2] < 0.0) { if(ParaENT[id] <= 0) { ParaENT[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")); if(ParaENT[id] > 0) { set_pev(ParaENT[id],pev_classname, PARACHUTE_CLASS); set_pev(ParaENT[id], pev_aiment, id); set_pev(ParaENT[id], pev_owner, id); set_pev(ParaENT[id], pev_movetype, MOVETYPE_FLY); set_pev(ParaENT[id], pev_sequence, 0); set_pev(ParaENT[id], pev_gaitsequence, 1); set_pev(ParaENT[id], pev_frame, 0.0); set_pev(ParaENT[id], pev_fuser1, 0.0); } } if(ParaENT[id] > 0) { set_pev(id, pev_sequence, 3); set_pev(id, pev_gaitsequence, 1); set_pev(id, pev_frame, 1.0); set_pev(id, pev_framerate, 1.0); Velocity[2] = (Velocity[2] + 40.0 < FallSpeed) ? Velocity[2] + 40.0 : FallSpeed; set_pev(id, pev_velocity, Velocity); if(pev(ParaENT[id],pev_sequence) == 0) { pev(ParaENT[id],pev_fuser1, Frame); Frame += 1.0; set_pev(ParaENT[id],pev_fuser1,Frame); set_pev(ParaENT[id],pev_frame,Frame); if(Frame > 100.0) { set_pev(ParaENT[id], pev_animtime, 0.0); set_pev(ParaENT[id], pev_framerate, 0.4); set_pev(ParaENT[id], pev_sequence, 1); set_pev(ParaENT[id], pev_gaitsequence, 1); set_pev(ParaENT[id], pev_frame, 0.0); set_pev(ParaENT[id], pev_fuser1, 0.0); } } } } else if(ParaENT[id] > 0) { engfunc(EngFunc_RemoveEntity, ParaENT[id]); ParaENT[id] = 0; } } else if((OldButton & IN_USE) && ParaENT[id] > 0) { engfunc(EngFunc_RemoveEntity, ParaENT[id]); ParaENT[id] = 0; } } } public EVENT_TeamSwap() { new iPlayers[32], iNum; get_players(iPlayers, iNum, "ch"); if(iNum) { new id; for(--iNum; iNum >= 0; iNum--) { id = iPlayers[iNum]; BeginDelayedTeamChange(id); } } } public BeginDelayedTeamChange(id) { switch(id) { case 1..6: set_task(0.1, "ChangeUserTeamWithDelay", id + SWITCH_TASK); case 7..13: set_task(0.2, "ChangeUserTeamWithDelay", id + SWITCH_TASK); case 14..20: set_task(0.3, "ChangeUserTeamWithDelay", id + SWITCH_TASK); case 21..26: set_task(0.4, "ChangeUserTeamWithDelay", id + SWITCH_TASK); case 27..32: set_task(0.5, "ChangeUserTeamWithDelay", id + SWITCH_TASK); } } public ChangeUserTeamWithDelay(id) { id -= SWITCH_TASK; if(!is_user_connected(id)) return 1; switch(cs_get_user_team(id)) { case CS_TEAM_T:cs_set_user_team(id, CS_TEAM_CT); case CS_TEAM_CT:cs_set_user_team(id, CS_TEAM_T); } return 0; } /*public Register_BlockBuy() { register_clcmd("buy", "CMDCheckAndBlockBuy") register_clcmd("Buy", "CMDCheckAndBlockBuy") register_clcmd("BUY", "CMDCheckAndBlockBuy") register_clcmd("bUy", "CMDCheckAndBlockBuy") register_clcmd("buY", "CMDCheckAndBlockBuy") register_clcmd("jointeam", "CMD_BlockJoinTeam") register_clcmd("jointeam 1", "CMD_BlockJoinTeam") register_clcmd("jointeam 2", "CMD_BlockJoinTeam") register_clcmd("jointeam 3", "CMD_BlockJoinTeam") register_clcmd("chooseteam", "CMD_BlockChooseTeam") } public CMDCheckAndBlockBuy(id) { console_print(id, "*** Nu ai voie sa foloseti BUY ! ***") return PLUGIN_HANDLED_MAIN } public CMD_BlockJoinTeam(id) { console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***") return 1; } public CMD_BlockChooseTeam(id) { console_print(id, "*** Nu ai voie sa foloseti JoinTeam ! ***") return 1; }*/