Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Zatrzymanie graczaZatrzymanie gracza w jednym miejscu
#1
Napisano 04.01.2013 18:49
#2
Napisano 04.01.2013 18:57
+ wywołuj to wtedy kiedy chcesz go zatrzymać i w event CurWeapon
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#3
Napisano 04.01.2013 19:01
#4
Napisano 04.01.2013 22:58
Nje, skoro gościu przekracza prędkość to go zatrzyma, chyba, że jest w powietrzu.Tylko widzisz, prędkość się ustawi maksymalna, ale i tak muszę czekać, aż się zatrzyma
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#5
Napisano 05.01.2013 12:39
#6
Napisano 05.01.2013 12:48
entity_set_vector(id, EV_VEC_velocity, Float:{0.0,0.0,0.0});
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#7
Napisano 05.01.2013 16:42
#8
Napisano 05.01.2013 16:49
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#9
Napisano 05.01.2013 17:17
entity_set_vector(id,EV_VEC_velocity,Float:{0.0,0.0,0.0})
fm_set_user_maxspeed(id,0.00001)
Nie zatrzymuje, uwierz mi, zwłaszcza jak przyduckuje.
#10 Gość_21977_*
Napisano 07.01.2013 07:15
nie CurWeapon, a Ham_Item_PreFrame. CurWeapon nie służy zmiany prędkości na graczu i NIE DZIAŁA POPRAWNIE!http://amxx.pl/dokum...t_user_maxspeed
+ wywołuj to wtedy kiedy chcesz go zatrzymać i w event CurWeapon
Chcąc zatrzymać gracza w miejscu, zmień jego prędkość na 0.1, używając funowskiego set_user_maxspeed.
Do tego warto graczowi wyzerować wektor ruchu, o czym napisał sebul.
#11
Napisano 07.01.2013 15:45
#include < amxmodx >
#include < fakemeta >
new bool:gbisFrozen[ 33 ] = { false };
public plugin_init()
{
register_forward( FM_SetClientMaxspeed, "fwSetClientMaxspeed" );
register_clcmd( "say /test", "cmdIWannaToTestIt" )
}
public client_connect( id )
gbisFrozen[ id ] = false;
public cmdIWannaToTestIt( id )
{
engfunc( EngFunc_SetClientMaxspeed, id, 0.00001 ); // Nie wiem czy to w ogole potrzebne = D
gbisFrozen[ id ] = ! gbisFrozen[ id ];
}
public fwSetClientMaxspeed( id, Float: fMaxspeed )
{
if( gbisFrozen[ id ] )
{
fMaxspeed = 0.00001;
return FMRES_HANDLED;
}
return FMRES_IGNORED ;
}
#12
Napisano 07.01.2013 19:36
fMaxpseed = 0.00001w forwardzie? nic, co do reszty, to benio, set_user_maxspeed na 0.1 i vector na 0 0 0 owszem, zatrzymuje gracza, ale zrozumcie, że ja to robię w chwili zetknięcia z entem podłogi, kiedy to gracz jest znacznie rozpędzony, przez co jeśli sobie przyduckuje, to zatrzyma go dopiero wtedy kiedy straci prędkość
Użytkownik kyriuch edytował ten post 07.01.2013 19:37
#13
Napisano 07.01.2013 20:13
<br />my god, MarWit to co napisałeś, to weź to przeczytaj jeszcze raz, przecież co da<br />fMaxpseed = 0.00001<br />w forwardzie? nic<br />
Czysty błąd w doborze funkcji ( nie wspominając o tym że sam forward nie działa jak należy o czym było wspominane m.in. na AM ). Masz zatem jeszcze możliwość zmiany pev_movetype na NONE ( chodz nie mam pojęcia czy to zadziała ), bądź ew. zmianę prędkości przy animacji modelu chodu. Możesz także w ogóle zablokować klawisze chodu, bądź po prostu zablokować zmianę origin.
Użytkownik MarWit edytował ten post 07.01.2013 20:13
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych