Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[Poprawione] Lepszy sposób zmiany prędkości graczaZmiana prędkości gracza za pomoca Ham_CS_Item_GetMaxSpeed

nie chce mi sie tagowac

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
26 odpowiedzi w tym temacie

#21 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Power User

Reputacja: 516
Wszechwiedzący

  • Postów:2591
Offline

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?


  • +
  • -
  • 0

#22 BlackPerfum

    Pseudo interakcja??

  • Autor tematu
  • Power User

Reputacja: 454
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

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.


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#23 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1856
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 24.07.2014 13:31

Ok, to jaką alternatywę dla Ham_CS_ResetMaxSpeed proponujesz w przypadku, gdy gracz nie ma żadnej broni i kończy się freezetime?

Jaki sposób byś proponował, aby podczas plantowania dać graczowi możliwość poruszania się np z prędkością 140?
  • +
  • -
  • 0
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ę.
 
1988650.png?theme=dark

#24 BlackPerfum

    Pseudo interakcja??

  • Autor tematu
  • Power User

Reputacja: 454
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 24.07.2014 13:43

Ok, to jaką alternatywę dla Ham_CS_ResetMaxSpeed proponujesz w przypadku, gdy gracz nie ma żadnej broni i kończy się freezetime?

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 zmieni

Jaki sposób byś proponował, aby podczas plantowania dać graczowi możliwość poruszania się np z prędkością 140?

Można użyć bomb_planting i bomb_defusing lub wychwycić BarTime u gracza
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#25 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

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:

  1. Plugin, który modyfikuje prędkość musi pojawić się na końcu listy pluginów korzystających z tego eventu.
  2. W każdym pluginie, który nie modyfikuje prędkości gracza, musimy tę modyfikację zamarkować. Czyli w drugim pluginie musi się pojawić taki kod, a nie taki jak powyżej :)
    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

  • +
  • -
  • 1

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#26 Eryk172

    ŁAAAAAA, O TAK O?

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:364
  • GG:
  • Imię:Eryk
  • Lokalizacja:Dbn
Offline

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 ?


  • +
  • -
  • 0
EASY COD - IP: 91.224.117.15:27235      b_350_20_F7FBFC_F7FBFC_000000_F7FBFC.png
JailBreak  -   IP: 91.224.117.67:27075     b_350_20_F7FBFC_F7FBFC_000000_F7FBFC.png
DD2 -   IP: 193.33.176.197:27111    b_350_20_F7FBFC_F7FBFC_000000_F7FBFC.png

Więcej serwerów na: www.NaFarciePL

#27 DarkGL

    Nie oddam ciasteczka !

  • Właściciel

Reputacja: 6103
Godlike

  • Postów:10978
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

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


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: nie chce mi sie tagowac

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych