Skocz do zawartości

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 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
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: 459
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

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • 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: 459
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: 192
Profesjonalista

  • Postów:438
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
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#26 Eryk172

    Szukam niewiadomej

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:407
  • Steam:steam
  • 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

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


#27 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • 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