TibacK, dnia 24 Lip 2014 - 11:38, napisał:
A jak używam Ham_CS_Item_GetMaxSpeed to podczas zoom, plant, freezetime będzie dobrze działać?
Tak
To kiedy ta metoda zawodzi?
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.
|
Napisano 24.07.2014 11:27
TibacK, dnia 24 Lip 2014 - 11:38, napisał:
A jak używam Ham_CS_Item_GetMaxSpeed to podczas zoom, plant, freezetime będzie dobrze działać?
Tak
To kiedy ta metoda zawodzi?
Napisano 24.07.2014 11:32
To kiedy ta metoda zawodzi?
gdy np w trakcie freeze time zabierzemy graczowi WSZYSTKIE bronie
jeśli po freeze timu kupimy broń/dostaniemy ją to nasza prędkość zostanie ustawiona na taką jaką chcemy.
Napisano 24.07.2014 13:31
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
Napisano 24.07.2014 13:43
W takim przypadku wystarczy złapac koniec freeze time'u bo przecież gdy nie mamy broni to nam nic (oprócz rozbrajania paki) prędkości nie zmieniOk, to jaką alternatywę dla Ham_CS_ResetMaxSpeed proponujesz w przypadku, gdy gracz nie ma żadnej broni i kończy się freezetime?
Można użyć bomb_planting i bomb_defusing lub wychwycić BarTime u graczaJaki sposób byś proponował, aby podczas plantowania dać graczowi możliwość poruszania się np z prędkością 140?
Napisano 15.09.2014 18:36
Wydarzenie Ham_CS_Item_GetMaxSpeed ma pewien bug. Jeżeli zarejestrujemy go dla danej broni w jakimś pluginie, i zmienimy tutaj prędkość gracza, a następnie zarejestrujemy to wydarzenie w innym pluginie i nic nie zrobimy z prędkością, to modyfikacja prędkości z pierwszego pluginu zostanie zignorowana.
Przykład
Plugin nr 1
public GetItemMaxSpeed(wid) { new id = get_pdata_cbase(wid,41,4); if( user_speed[id] ) { SetHamReturnFloat(user_speed[id]); return HAM_OVERRIDE; } return HAM_IGNORED; }
Plugin nr 2
public GetItemMaxSpeed(wid) { new id = get_pdata_cbase(wid,41,4); if( is_user_alive(id) && jb_is_user_prisoner(id) ) { set_pev(id, pev_viewmodel2, models[1]) set_pev(id, pev_weaponmodel2, models[0]) } }
Rozwiązania problemu są dwa:
public GetItemMaxSpeed(wid) { new id = get_pdata_cbase(wid,41,4); if( is_user_alive(id) && jb_is_user_prisoner(id) ) { set_pev(id, pev_viewmodel2, models[1]) set_pev(id, pev_weaponmodel2, models[0]) } new Float:speed; GetHamReturnFloat(speed); if( speed ) { SetHamReturnFloat(speed); return HAM_OVERRIDE; } return HAM_IGNORED; }
Problem leży, tak mi się wydaje, w tym, że w drugim pluginie zmieniamy zwracaną wartość z HAM_OVERRIDE na HAM_IGNORED i dlatego modyfikacja prędkości zostaje pominięta. Jeżeli natomiast w drugim pluginie zwrócilibyśmy wartość HAM_OVERRIDE bez zamarkowania edycji prędkości, to otrzymalibyśmy maksymalną prędkość.
Użytkownik SeeK edytował ten post 15.09.2014 18:40
Napisano 09.11.2014 01:25
Ten sposób jest lepszy od ustawiania prędkości gracza poprzez set_user_maxspeed lub fm_set_user_maxspeed ?
CoD Mod - IP: 91.224.117.15:27235
JailBreak - IP: 91.224.117.67:27075
Only de_dust2 - IP: 193.33.176.197:27111
Więcej serwerów na: www.NaFarciePL
Napisano 10.11.2014 18:02
Zależy w jakiej sytuacji , prędkość po użyciu tych funkcji jest resetowana w wielu sytuacjach , opisz sytuację o jaką chodzi
Zabijanie gracza + Zarządzanie broniami... Napisany przez BlackPerfum, 03.07.2014 nie chce mi sie tagowac |
|
||||
|
[ROZWIĄZANE] Przesylanie danych o graczu miedzy serweramiOptymalność użycia sockets Napisany przez BlackPerfum, 08.06.2014 nie chce mi się tagować |
|
|||
Przydatne funkcje + Ciekawostki o nichLogarytm, forwardy, itd. Napisany przez BlackPerfum, 04.05.2014 nie chce mi sie tagowac |
|
||||
Drzewa słownikowe, czyli TrieSzybka obsługa danych na podstawie string'ów Napisany przez BlackPerfum, 03.08.2013 nie chce mi sie tagowac |
|
0 użytkowników, 0 gości, 0 anonimowych