1. Zmiana pozycji kości (controllers) poprzez pev_controller na modelu v_ broni
Problem jest znany – pev_controller[0..3] działa bez problemu na:
- modelach świata w_
- modelach gracza,
- encjach mapy np. cycler, func_wall z modelem itp
Na v_ modelach (viewmodel trzymany przez gracza) jest ograniczony, ponieważ viewmodel jest renderowany w specjalny sposób (przez CBasePlayer::ItemPreFrame / weapon prediction) i nie zawsze aktualizuje kontrolery w ten sam sposób co reszta świata.
- Ustawiaj kontrolery co tick w ClientPreThink / PlayerPreThink (najpewniej w pluginie na FM_PlayerPreThink).
- Spróbuj kombinacji:
entity_set_float(weapon_ent, EV_FL_controller_0, wartość); // lub pev_controller bezpośrednio
oraz wymuś update viewmodela przez zmianę pev_sequence na ten sam lub lekkie pev_frame.
Jeśli to nie działa alternatywa to submodel/body albo kilka różnych v_modeli przełączanych dynamicznie (to najstabilniejsze rozwiązanie w AMXX).
2. Automatyczna zmiana animacji przy trafieniu
Stwórz encję jako cycler
new ent = create_entity("cycler");
DispatchSpawn(ent);
entity_set_string(ent, EV_SZ_model, "nazwaTwojegoModelaaaaaa.mdl");
entity_set_int(ent, EV_INT_sequence, 0);
entity_set_float(ent, EV_FL_health, 100.0);
Zablokuj normalne zachowanie cyclera (żeby nie znikał po save/load itp.) i dodaj własny forward na TakeDamage.
Użyj HamSandwich (najwygodniej):
RegisterHam(Ham_TakeDamage, "cycler", "CyclerTakeDamage");
Jesli o to chodzi to daj znać, jesli nie szukamy rozwiązania dalej ![]()


Dodatki SourceMod




Moja zawartość
Mężczyzna
