IN_RUN = DUCK

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
bussinessman
Ar jis surinks 50 žinučių?
Posts: 39
Joined: 2011 Mar 25 09:56

IN_RUN = DUCK

Post by bussinessman »

Sveiki, kaip padaryti, kad žmogus vaikščiotų tik su nuspaustų CTRL?
Štai čia mėginau kažką padaryt, tačiau nelabai gaunasi.

Code: Select all

 public plugin_init(){    register_plugin("OnlyDuck", "1.0", "bussinessman")    register_forward(FM_PlayerPostThink, "fwPlayerPostThink")} public fwPlayerPostThink(id) {    if (!is_user_alive(id) || !(pev(id, pev_button) & IN_RUN))        return FMRES_IGNORED            //Kaip padaryti, kad čia nurodytų, kad žmogus tuptusi?    return FMRES_HANDLED} 

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: IN_RUN = DUCK

Post by aaarnas »

Esmė tame, kad negali numatyti kada žaidėjas laiko shift mygtuką. Tai vykdoma client pusėje. Yra vienas metodas remiantis skaičiavimais, bet tai jau bus sudėtinga, nes reikės kaitalioti žaidėjo greičius ir velocity.
Ką daro IN_RUN iš viso nežinau.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

bussinessman
Ar jis surinks 50 žinučių?
Posts: 39
Joined: 2011 Mar 25 09:56

Re: IN_RUN = DUCK

Post by bussinessman »

Aa, o gal žinai, kaip padaryti, kad tiesiog jis visad būtų nuspaudęs SHIFT arba kad visad būtų nuspaudęs CTRL?
Ir ar eitų uždrausti JUMP?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: IN_RUN = DUCK

Post by aaarnas »

Kad būtų nuspaustas nuolatos pamėgink su:
client_cmd(id, "+speed")

Kad užblokuoti:
client_cmd(id, "-jump")

Tik nežinau ar veiks taip.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

bussinessman
Ar jis surinks 50 žinučių?
Posts: 39
Joined: 2011 Mar 25 09:56

Re: IN_RUN = DUCK

Post by bussinessman »

Su -jump bandžiau, nepavyko.
aaarnai, o kaip eitų pavyzdžiui užregistruoti concmd +jump ir kaip padaryti, kad ignoruotų? Kaip pavyzdžiui eina uždrausti spray, tai gal eitų kaip nors ir čia? su return tais.

Arba gal gravity uždėti?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: IN_RUN = DUCK

Post by aaarnas »

Galima pamėginti kažką tokio:

Code: Select all

/* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <fakemeta> #define PLUGIN "Plugin"#define VERSION "1.0"#define AUTHOR "aaarnas"  public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)        register_forward(FM_CmdStart, "fw_CmdStart")} public fw_CmdStart(id, handle) {        static buttons    buttons = get_uc( handle , UC_Buttons )        if((buttons & IN_JUMP ) && !( pev( id , pev_oldbuttons ) & IN_JUMP)) set_uc(handle, UC_Buttons, buttons & ~IN_JUMP)}
Palikau CS pasaulį ;/ . Nebepasiekiamas.

bussinessman
Ar jis surinks 50 žinučių?
Posts: 39
Joined: 2011 Mar 25 09:56

Re: IN_RUN = DUCK

Post by bussinessman »

Nieko, lengvai šokinėju.

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: IN_RUN = DUCK

Post by newb »

Code: Select all

#include <amxmodx>#include <engine>#include <hamsandwich> #define VERSION "0.0.1" public plugin_init(){    register_plugin("No Jump", VERSION, "ConnorMcLeod")     RegisterHam(Ham_Player_Jump, "player", "Player_Jump")} public Player_Jump(id){    static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)    if( !(iOldbuttons & IN_JUMP) )    {        entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_JUMP)        return HAM_HANDLED    }    return HAM_IGNORED} 
Bet irgi ne per geriausias blokas.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 2 guests