Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
bussinessman
Ar jis surinks 50 žinučių?
Posts: 39 Joined: 2011 Mar 25 09:56
Post
by bussinessman » 2011 Jul 20 15:54
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}
aaarnas
Vyr. diskusijų administratorius
Posts: 3891 Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:
Post
by aaarnas » 2011 Jul 20 19:39
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
Post
by bussinessman » 2011 Jul 20 22:48
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?
aaarnas
Vyr. diskusijų administratorius
Posts: 3891 Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:
Post
by aaarnas » 2011 Jul 21 12:25
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
Post
by bussinessman » 2011 Jul 21 14:27
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?
aaarnas
Vyr. diskusijų administratorius
Posts: 3891 Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:
Post
by aaarnas » 2011 Jul 21 17:30
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.
newb
Pluginų patvirtintojas
Posts: 1047 Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:
Post
by newb » 2011 Jul 22 11:35
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.
Users browsing this forum: Ahrefs [Bot] and 11 guests