FreeRun
Posted: 2015 May 01 23:42
Sveiki, reikia plugino kai Ts paraso /free prasidetu free raundas, t.y. neleistu CTs ir Ts naudoti ginklu, bei Ts negaletu jungineti spastu. Niekur nerandu sito plugino, kas pades uzmesiu karmos 

Code: Select all
#include <amxmodx>#include <cstrike>#include <fakemeta>#include <fun>#include <hamsandwich> #define PLUGIN "Free Round"#define VERSION "2.0"#define AUTHOR "ArtHa & xPaw" #if AMXX_VERSION_NUM < 183 #include <dhudmessage>#endif const m_toggle_state = 41;new bool:free_rndnew bool:allow public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd( "say /free", "FreeRound" ) register_logevent("logevent_round_end", 2, "1=Round_End") register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" ); register_event( "TextMsg", "EventRestart", "a", "2&#Game_C", "2&#Game_w" ); RegisterHam( Ham_Use, "func_rot_button", "FwdHamUse_Button" ); RegisterHam( Ham_Use, "func_button", "FwdHamUse_Button" ); RegisterHam( Ham_Use, "button_target", "FwdHamUse_Button" ); register_event( "CurWeapon", "EventCurWeapon", "be", "1=1", "2!29" );} public logevent_round_end(){ allow = true if(free_rnd) free_rnd = false} public EventNewRound(){ allow = true if(free_rnd) free_rnd = false} public EventRestart(){ allow = true if(free_rnd) free_rnd = false} public FreeRound( id ){ if(cs_get_user_team(id) == CS_TEAM_T) { if(!free_rnd) { if(allow) { free_rnd = true strip_user_weapons(0) give_item(0,"weapon_knife") ChatColor(0, "^3[^4.::INFO::.^3]^1 Free Round!! Jokiu ginklu, jokiu kliuciu!" ) set_dhudmessage( 0,255,0, -1.0, 0.35, 1, 3.0, 3.0, 2.0, 1.0) show_dhudmessage(0, "FREE ROUND!!! Jokiu ginklu, jokiu kliuciu!" ) } else ChatColor(id, "^3[^4.::INFO::.^3]^1 Negali pradeti Free Round'o" ) } else ChatColor(id, "^3[^4.::INFO::.^3]^1 Free Round jau prasidejo!" ) } else ChatColor(id, "^3[^4.::INFO::.^3]^1 Si komanda tik teroristams!" )} public FwdHamUse_Button( iEntity, id, iActivator, iUseType, Float:flValue ){ if(!free_rnd && iUseType == 2 && flValue == 1.0 && is_user_alive( id ) && get_user_team( id ) == 1 && get_pdata_int( iEntity, m_toggle_state, 4 ) == 1 ) { allow = false; } else if( free_rnd && iUseType == 2 && flValue == 1.0 && is_user_alive( id ) && get_user_team( id ) == 1 && get_pdata_int( iEntity, m_toggle_state, 4 ) == 1 ) { set_dhudmessage( 0, 100, 255, -1.0, 0.25, 0, 2.0, 2.0, 0.2, 0.2 ); show_dhudmessage( id, "Free Round!^nNegali naudoti kliuciu!" ); return HAM_SUPERCEDE; } return HAM_IGNORED;} public EventCurWeapon(id){ if(free_rnd) { if(get_user_weapon(id) != CSW_KNIFE) { strip_user_weapons(id) give_item(id,"weapon_knife") engclient_cmd( id, "weapon_knife" ) } }} stock ChatColor(const id, const input[], any:...){ new count = 1, players[32] static msg[192] vformat(msg, 191, input, 3) replace_all(msg, 191, "!g", "^4") replace_all(msg, 191, "!y", "^1") replace_all(msg, 191, "!t", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } }}
Code: Select all
/tmp/textTdLqDj.sma(12) : fatal error 100: cannot read from file: "dhudmessage" Compilation aborted.1 Error.
Code: Select all
#include <amxmodx>#include <amxmisc>#include <fakemeta>#include <hamsandwich>#include <colorchat> #define PLUGIN_NAME "Deathrun Fun"#define PLUGIN_AUTH "Smile"#define VERSION_STR "1.3" new g_Maxplayers;new g_Free, g_Used; new cvar_respawn_delay; const iToggleStats = 41 new const g_szPrefix[] = "[DR Fun]"; new const cmdPrefix[][] = { "/", "!", ".", ""} new const cmdFree[][] = { "fr", "free", "freerun", "freeround"} new const cmdRespawn[][] = { "respawn", "revive"} public plugin_init(){ register_plugin(PLUGIN_NAME, VERSION_STR, PLUGIN_AUTH) register_logevent("logevent_round_start", 2, "1=Round_Start") register_event("CurWeapon", "event_cur_weapon", "be", "1=1", "2!29"); register_event("DeathMsg", "event_player_death", "a"); RegisterHam(Ham_Use, "func_rot_button", "FwdHamUse_Button"); RegisterHam(Ham_Use, "func_button", "FwdHamUse_Button"); RegisterHam(Ham_Use, "button_target", "FwdHamUse_Button"); cvar_respawn_delay = register_cvar("drfun_respawn_delay", "5") new cmdName[32]; new cmdTeam[32]; for(new CMD_PREFIX; CMD_PREFIX <= charsmax(cmdPrefix); CMD_PREFIX++) { for(new CMD_TITLE_FREE; CMD_TITLE_FREE <= charsmax(cmdFree); CMD_TITLE_FREE++) { formatex(cmdName, charsmax(cmdName), "say %s%s", cmdPrefix[CMD_PREFIX], cmdFree[CMD_TITLE_FREE]) formatex(cmdTeam, charsmax(cmdTeam), "say_team %s%s", cmdPrefix[CMD_PREFIX], cmdFree[CMD_TITLE_FREE]) register_clcmd(cmdName, "CmdFreerun") register_clcmd(cmdTeam, "CmdFreerun") } } for(new CMD_PREFIX_TWO; CMD_PREFIX_TWO <= charsmax(cmdPrefix); CMD_PREFIX_TWO++) { for(new CMD_TITLE_REVIVE; CMD_TITLE_REVIVE <= charsmax(cmdRespawn); CMD_TITLE_REVIVE++) { formatex(cmdName, charsmax(cmdName), "say %s%s", cmdPrefix[CMD_PREFIX_TWO], cmdRespawn[CMD_TITLE_REVIVE]) formatex(cmdTeam, charsmax(cmdTeam), "say_team %s%s", cmdPrefix[CMD_PREFIX_TWO], cmdRespawn[CMD_TITLE_REVIVE]) register_clcmd(cmdName, "CmdRespawn") register_clcmd(cmdTeam, "CmdRespawn") } } register_clcmd("CmdFreerun", "CmdFreerun") register_clcmd("CmdRespawn", "CmdRespawn")} public plugin_natives(){ register_library("freerun") register_native("is_freerun", "native_is_freerun")} public native_is_freerun(iPlugin, iParams){ if(g_Free == 1) return true; return false;} public logevent_round_start(){ for(new id; id <= g_Maxplayers; id++) { if(task_exists(id)) remove_task(id) } g_Free = 0 g_Used = 0} public event_player_death(){ new VictimID; VictimID = read_data(2) if(g_Free == 1) { ColorChat(VictimID, RED, "%s^1 You are now dead, you cannot respawn during a freerun round.", g_szPrefix); } else { func_respawn(VictimID) ColorChat(VictimID, RED, "%s^1 You will be respawned in ^4%d^1 seconds.", g_szPrefix, get_pcvar_num(cvar_respawn_delay)); } return PLUGIN_HANDLED;} public event_cur_weapon(id){ if(g_Free == 1) { engclient_cmd(id, "weapon_knife"); } return PLUGIN_CONTINUE;} public CmdFreerun(id){ if(!is_user_alive(id)) { ColorChat(id, RED, "%s^1 Dead players cannot use freerun commands", g_szPrefix) } else if(get_user_team(id) != 1) { ColorChat(id, RED, "%s^1 You have to be a terrorist to use freerun commands", g_szPrefix) } else if(g_Free == 1) { ColorChat(id, RED, "%s^1 Freerun is already running", g_szPrefix) } else if(g_Used == 1) { ColorChat(id, RED, "%s^1 You have already pressed a button, you cannot use freerun commands", g_szPrefix) } else { ColorChat(0, RED, "%s^1 The terrorist decided to start a freerun round.", g_szPrefix); set_hudmessage(0, 255, 0, 0.06 , -1.0, 0, 2.0, 2.0, 0.2, 0.2, 3); show_hudmessage(0, "Freerun!"); g_Free = 1 engclient_cmd(0, "weapon_knife"); } return PLUGIN_HANDLED_MAIN;} public CmdRespawn(id){ if(is_user_alive(id)) { ColorChat(id, RED, "%s^1 You are already alive you cannot use the respawn commands.", g_szPrefix); } else if(g_Free == 1 && !is_user_alive(id)) { ColorChat(id, RED, "%s^1 You cannot respawn during a freerun round.", g_szPrefix); } else { func_respawn(id) }} public func_respawn(id){ if(!is_user_connected(id)) return PLUGIN_CONTINUE; new Float:RESPAWN_DELAY = get_pcvar_float(cvar_respawn_delay) set_task(RESPAWN_DELAY, "complete_func_respawn", id) return PLUGIN_CONTINUE;} public complete_func_respawn(id){ if(!is_user_connected(id)) return PLUGIN_CONTINUE; ExecuteHamB(Ham_CS_RoundRespawn, id) return PLUGIN_CONTINUE;} public FwdHamUse_Button(iEntity, id, iActivator, iUseType, Float:flValue){ if(g_Free == 1 && iUseType == 2 && flValue == 1.0 && is_user_alive(id) && get_user_team(id) == 1 && get_pdata_int(iEntity, iToggleStats, 4) == 1) { set_hudmessage(0, 100, 255, -1.0, 0.25, 0, 2.0, 2.0, 0.2, 0.2, 3); show_hudmessage(id, "Freerun Round^nNo button can be used!"); return HAM_SUPERCEDE; } else if(g_Free == 0 && iUseType == 2 && flValue == 1.0 && is_user_alive(id) && get_user_team(id) == 1 && get_pdata_int(iEntity, iToggleStats, 4) == 1) { g_Used = 1 } return HAM_IGNORED;}
Code: Select all
ChatColor(0, "^3[^4.::INFO::.^3]^1 Free Round!! Jokiu ginklu, jokiu kliuciu!" )set_dhudmessage( 0,255,0, -1.0, 0.35, 1, 3.0, 3.0, 2.0, 1.0)show_dhudmessage(0, "FREE ROUND!!! Jokiu ginklu, jokiu kliuciu!" )
Code: Select all
ChatColor(id, "^3[^4.::INFO::.^3]^1 Free Round jau prasidejo!" )
Tai rašyk prasidėjus round'ui.stalius wrote:Man kazkodel nerodo, sakau, kai parasau /free nieko neraso, jokiu ten FreeRound ir pns. Tik kai antra kart parasau /free chate pranesa, jogNzn, gal kazkokia klaida esi iveles, jai nesunku paziurekCode: Select all
ChatColor(id, "^3[^4.::INFO::.^3]^1 Free Round jau prasidejo!" )