Page 1 of 2

FreeRun

Posted: 2015 May 01 23:42
by stalius
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 :)

Re: FreeRun

Posted: 2015 May 01 23:49
by NZT

Re: FreeRun

Posted: 2015 May 02 10:09
by stalius
Man reikia, kad kai Ts paraso /free iskart prasidetu FreeRun, o ne kitame raunde ir turetu buti be vote. Gal turi kitu minciu, ar gal nesunku butu perdaryt?

Re: FreeRun

Posted: 2015 May 02 10:57
by ArtHa123
Esu padaręs kažką panašaus. Neleis free pradėti, jeigu panaudos kliūti.

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()            }        }    }} 

Re: FreeRun

Posted: 2015 May 02 11:14
by stalius
Kazko necompilina man.

Web compileris meta 1 errora:

Code: Select all

/tmp/textTdLqDj.sma(12) : fatal error 100: cannot read from file: "dhudmessage" Compilation aborted.1 Error.

Re: FreeRun

Posted: 2015 May 02 13:03
by NZT
Į scripting/include įsidėk failą dhudmessage.inc.

Re: FreeRun

Posted: 2015 May 02 13:48
by stalius
Viskas graziai atrodo, tik gal gali padaryt, kai teroristas paraso /free, kad informuoti kitus zaidejus kokia tai nors hud message? Kaip cia pvz:

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;}
Sitas pluginas man butu pats tas, bet i ji idetas respawnas ir nemoku perdaryti ar isimti kad jo nebutu...

Re: FreeRun

Posted: 2015 May 02 16:03
by ArtHa123

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!" )

Tiek Chat, tiek HUD žinutė yra.

Re: FreeRun

Posted: 2015 May 02 17:58
by stalius
Man kazkodel nerodo, sakau, kai parasau /free nieko neraso, jokiu ten FreeRound ir pns. Tik kai antra kart parasau /free chate pranesa, jog

Code: Select all

            ChatColor(id, "^3[^4.::INFO::.^3]^1 Free Round jau prasidejo!" )
Nzn, gal kazkokia klaida esi iveles, jai nesunku paziurek :S:

Re: FreeRun

Posted: 2015 May 02 20:48
by ArtHa123
stalius wrote:Man kazkodel nerodo, sakau, kai parasau /free nieko neraso, jokiu ten FreeRound ir pns. Tik kai antra kart parasau /free chate pranesa, jog

Code: Select all

            ChatColor(id, "^3[^4.::INFO::.^3]^1 Free Round jau prasidejo!" )
Nzn, gal kazkokia klaida esi iveles, jai nesunku paziurek :S:
Tai rašyk prasidėjus round'ui.