Jak skorzystać z set_pev przy zmianie klaw...
sNH.
07.02.2014
Witam! Otóż mój problem polega na tym, że chciałem zrobić zamianę klawiszy kiedy gracz będzie żywy oraz nałożony na niego zostanie status.
Problem polega na tym, że korzystając z set_pev i pev_button funkcja nie działa. Ogólnie kod wygląda tak:
public client_PreThink(id){ if(ConfuseKeys[id] = true && is_user_alive(id)) { new button = get_user_button(id) if(button & IN_LEFT) { set_pev(id, pev_button, pev( id , pev_button ) | IN_RIGHT ) } if(button & IN_RIGHT) { set_pev(id, pev_button, pev( id , pev_button ) | IN_LEFT ) } if(button & IN_FORWARD) { set_pev(id, pev_button, pev( id , pev_button ) | IN_BACK ) } if(button & IN_BACK) { set_pev(id, pev_button, pev( id , pev_button ) | IN_FORWARD ) } } }
^Grzyboo
07.02.2014
użyj CmdStart
set_uc(ucHandle, UC_Buttons, get_uc(ucHandle, UC_Buttons) | IN_RIGHT);
Użytkownik ^Grzyboo edytował ten post 07.02.2014 20:43
sNH.
07.02.2014
#include <amxmodx> #include <engine> #include <fakemeta> public plugin_init() { register_plugin("Status Test","1.0","Admin."); register_forward(FM_CmdStart, "CmdStart") } public CmdStart(id, ucHandle) { new button = get_uc(ucHandle, UC_Buttons); if(button & IN_LEFT) { set_uc(ucHandle, UC_Buttons, get_uc(ucHandle, UC_Buttons) | IN_RIGHT); } }
Zrobiłem coś źle?

DarkGL
07.02.2014
Zapominasz o negowaniu klawisza np. jeśli jest IN_LEFT dobrze że ustawiasz IN_RIGHT ale IN_LEFT trzeba "usunać" bardziej łopatologiczniej się nie da
sNH.
07.02.2014
W set_pev kiedyś dawałeś na forum coś takiego
set_pev(id, pev_button, ( pev( id , pev_button ) | IN_RIGHT ) & ~IN_LEFT )
To również mi nie działało. Mam spróbować "usuwanie" przy set_uc?
Fili:P
08.02.2014
mógłbyś to też zrobić poprzez zmianę velocity tzn. velocity to wektor wiec wystarczy tylko przekształcić go na taki z tym samym kierunkiem ale przeciwnym zwrotem
Wyznaczanie wektora z przeciwnym zwrotem to pomnożenie jego składowych przez -1 w xs masz xs_vec_neg
Tematy które mogą ci pomóc:
1. http://amxx.pl/topic...zycisku-myszki/
2. http://amxx.pl/topic...runku-u-gracza/
W 1. temacie jest również używane pev_oldbuttons, więc może warto do tego nawiązać. Jeżeli ciągle nie będzie działało to pozostaje wyznaczyć vektor z przeciwnym zwrotem.
sNH.
08.02.2014
Sprawdzałem wszelkie metody, lecz nic nie działa. Odnośnie wektorów, nie dają oczekiwanego efektu.
Temat do zamknięcia, każdemu daję po + za chęci. Utworzę po prostu status na innej podstawie.
sebul
08.02.2014
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL