FreeRun

Šiame forume vartotojai gali prašyti jiems reikiamo plugino.
Forum rules
Šiame forume galite siūlyti idėjas ar prašyti jums reikalingų pluginų. Jei kas nors pradės jį kurti, tai pasirašys Jūsų sukurtoje temoje. Niekada nepykite, jei niekas neatsako į Jūsų prašymą. Gal tai tiesiog per sudėtinga, arba reikalauja per daug darbo.
User avatar
stalius
O taip. Jis jau surinko 50 žinučių!
Posts: 50
Joined: 2014 Sep 13 12:21
Skype: lukaz-05

FreeRun

Post 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 :)

User avatar
NZT
Flooderis arba specialistas
Posts: 836
Joined: 2011 Aug 18 17:44

Re: FreeRun

Post by NZT »


User avatar
stalius
O taip. Jis jau surinko 50 žinučių!
Posts: 50
Joined: 2014 Sep 13 12:21
Skype: lukaz-05

Re: FreeRun

Post 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?

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: FreeRun

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

User avatar
stalius
O taip. Jis jau surinko 50 žinučių!
Posts: 50
Joined: 2014 Sep 13 12:21
Skype: lukaz-05

Re: FreeRun

Post 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.

User avatar
NZT
Flooderis arba specialistas
Posts: 836
Joined: 2011 Aug 18 17:44

Re: FreeRun

Post by NZT »

Į scripting/include įsidėk failą dhudmessage.inc.
Attachments
dhudmessage.inc
(3.41 KiB) Downloaded 683 times

User avatar
stalius
O taip. Jis jau surinko 50 žinučių!
Posts: 50
Joined: 2014 Sep 13 12:21
Skype: lukaz-05

Re: FreeRun

Post 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...

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: FreeRun

Post 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.
Image

User avatar
stalius
O taip. Jis jau surinko 50 žinučių!
Posts: 50
Joined: 2014 Sep 13 12:21
Skype: lukaz-05

Re: FreeRun

Post 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:

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: FreeRun

Post 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.
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests