←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Praca na Orpheu (Plantowanie/Rozbrajanie)

  • +
  • -
Danny OK - zdjęcie Danny OK 13.09.2014

Witam,

Wiecie jak zrobić przyspieszone rozbrajanie, podkładanie C4? Wiem tylko, że można to zrobić za pomocą modułu Orpheu... Bez niego nie da rady.

Pozdrawiam, Danny.


Użytkownik Danny OK edytował ten post 13.09.2014 19:42
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 14.09.2014

A mi się zdaje, że da się inaczej.

Pierwszy pomysł:

ustawic framerate animacji wieksze niz 1.0 zeby przyspieszyc animacje

napisac bartime krotszym lub calkiem go zablokowac

jesli to sie nie uda to drugi dluzszy:

Podkładanie:

-Przechwycić i zablokować touch bs->player, player->bs lub oba, aby uniemożliwić plantowanie-najlepiej fakemetą, ale także zapisać do zmiennej globalnej get_gametime(), aby w każdej chwili móc sprawdzić czy gracz jest na bsie - touch ma miejsce x razy na sekunde wiec wystarczy sprawdzic, czy ostatni zapisany +1 > get_gametime() w dowolnym miejscu pluginu.

-jeśli gracz trzyma +attack rozpoczac animacje podkladania z wiekszym framerate niz 1.0 oraz bartime na okreslony czas (message_begin)

-jesli pusci zlikwidowac bartime i przerwac animacje

-jak minie czas jaki ma zajac plantowanie to splantowac pake

Rozbrajanie podobnie, tylko touch paki i gracza itd...

 

W tym pluginie możesz znaleźć pare potrzebnych rzeczy: http://amxx.pl/topic...lant-defuse-c4/

Odpowiedz

  • +
  • -
Danny OK - zdjęcie Danny OK 14.09.2014

Hmm... Nawet ciekawy pomysł, tylko nie ogarniam odtwarzania animacji :D Nigdy tego nie robiłem.

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 15.09.2014

pev_sequence do odtwarzania animacji

pev_framerate 1.0 standardowa szybkosc odtwarzania animacji, powyżej szybsza poniżej wolniejsza, musisz dopasować do potrzeb.

 

 

Nie próbowałem jeszcze na graczu, możliwe że w postthinku trzeba, bo samo ustawienie raczej zostanie nadpisane przez silnik. Na stworzonym bycie działa bez zarzutów.

 

mozesz uzyc lookup_sequence do znalezienia animacji, ale najpierw musisz zdekompilowac model i sprawdzic nazwy animacji.


Użytkownik grankee edytował ten post 15.09.2014 01:36
Odpowiedz

  • +
  • -
Danny OK - zdjęcie Danny OK 15.09.2014

Znalazłem coś takiego:

set_pev( iEntBoss , pev_animtime, get_gametime() );
set_pev( iEntBoss , pev_framerate, 1.0 );
set_pev( iEntBoss , pev_sequence, 1 ); // tutaj podajesz numer animacji

Dzisiaj może będę próbował :)

Odpowiedz

  • +
  • -
Danny OK - zdjęcie Danny OK 15.09.2014

Użycie (sprawdza czy gracz jest na bs i ma c4):

if ( ( cs_get_user_mapzones(id) == CS_MAPZONE_BOMBTARGET ) && ( get_user_weapon(id) == CSW_C4 ) ) {
	setWeaponAnim(id, 3, 63, 5.0)
}

Kod:

stock setWeaponAnim(id, anim, anims, time) {
	set_pev(id, pev_weaponanim, anim) // Animacja broni
	
	set_pev(id, pev_animtime, get_gametime());
	set_pev(id, pev_framerate, time);
	set_pev(id, pev_sequence, anims); // Animacja modelu (nie wiem czy działa)
	
	message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, id)
	write_byte(anim)
	write_byte(pev(id, pev_body))
	message_end()
}

Niby działa, ale nie zawsze... Na C4 nie zawsze wywołuje tą animację oraz pingi wzrastają dwukrotnie.

Pomoże ktoś?

 

Zależy mi na robieniu:

1. Sprawdzanie czy gracz jest na BS

2. Sprawdza czy gracz na C4 w ręku

3. Wywołuje animację plantowania (C4 i model gracza)

4. Podczas podkładania ma wyświetlać pasek ładowania

4. Wywołuje animację kładzenia paki (C4 i model gracza)

5. Podkłada pake


Użytkownik Danny OK edytował ten post 15.09.2014 14:51
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 16.09.2014

set_pev(id, pev_weaponanim, anim) // Animacja broni
message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, id)
	write_byte(anim)
	write_byte(pev(id, pev_body))
	message_end()

Nie testowałem, ale wygląda jakbyś dwa razy robił to samo, chyba, że jest inaczej to podpowiedz :P

Odpowiedz

  • +
  • -
Danny OK - zdjęcie Danny OK 16.09.2014

Hmm może dlatego mi paka wariuje :D

Zaraz sprawdzę.

 

 

Tak teraz myślę to ta metoda się nie sprawdzi chyba, bo na przycisk +attack jest przypisane standardowe podkładanie paki... Można to zablokować?

No i co zrobić aby ping nie wzrastał oraz za każdym razem animacja aby była odtwarzana do końca bo czasami tylko ruszy i ucina ją.

 

Poddaję się :)


Użytkownik Danny OK edytował ten post 16.09.2014 10:01
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 16.09.2014

sprobuj handlowac dotyk bs->gracz gracz->bs. Nie ma dotyku->nie jestes na bsie-> nie mozesz podkladac paki. Nie wiem czy to zadziala, ale sprobuj. 

Jezeli to nie zadziala to poszkaj pluginu plant_anywhere, za jego pomoca mozna podkladac pake wszedzie wiec jest jakby imitowany pobyt na bsie, nie wiem jak to jest rozwiazane, ale moze da sie to zastosowac w druga strone tj zablokowac w ogole podkladanie.

Jest jeszcze taki plugin, fire rate cośtam, umożliwia on przyspieszenie/spowolnienie strzelania w dosc prosty sposob, ustawia chyba tylko jakis pev, nie pamietam, bo dawno to sprawdzalem, moze dziala tez na podkladanie paki, jesli tak to bajka, bo wystarczy tylko dac warunek czy ma pake i tylko wtedy przyspieszac.

Odpowiedz