mirror of
https://github.com/demostf/povunlock.git
synced 2026-06-03 22:14:11 +02:00
explicitly set spectator team
This commit is contained in:
parent
a4d01309c4
commit
5aa5aa9e4a
2 changed files with 8 additions and 7 deletions
14
src/lib.rs
14
src/lib.rs
|
|
@ -8,11 +8,9 @@ use tf_demo_parser::demo::parser::{RawPacketStream, DemoHandler, Encode};
|
||||||
use tf_demo_parser::demo::packet::{Packet, PacketType};
|
use tf_demo_parser::demo::packet::{Packet, PacketType};
|
||||||
use tf_demo_parser::demo::message::Message;
|
use tf_demo_parser::demo::message::Message;
|
||||||
use bitbuffer::{BitWriteStream, LittleEndian, BitRead, BitWrite};
|
use bitbuffer::{BitWriteStream, LittleEndian, BitRead, BitWrite};
|
||||||
use tf_demo_parser::demo::message::packetentities::{EntityId, PacketEntitiesMessage, PacketEntity, UpdateType};
|
use tf_demo_parser::demo::message::packetentities::{EntityId, PacketEntity, UpdateType};
|
||||||
use tf_demo_parser::demo::message::usermessage::UserMessageType;
|
use tf_demo_parser::demo::message::usermessage::UserMessageType;
|
||||||
use tf_demo_parser::demo::packet::datatable::ClassId;
|
use tf_demo_parser::demo::sendprop::{SendPropIdentifier, SendPropValue};
|
||||||
use tf_demo_parser::demo::parser::analyser::Team;
|
|
||||||
use tf_demo_parser::demo::sendprop::{SendProp, SendPropIdentifier, SendPropValue};
|
|
||||||
use crate::mutate::{MessageMutator, MutatorList, PacketMutator};
|
use crate::mutate::{MessageMutator, MutatorList, PacketMutator};
|
||||||
|
|
||||||
extern crate web_sys;
|
extern crate web_sys;
|
||||||
|
|
@ -80,7 +78,6 @@ pub fn unlock(input: &[u8]) -> Vec<u8> {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mutators.push_message_mutator(AddStvEntity::new(spectator_id));
|
mutators.push_message_mutator(AddStvEntity::new(spectator_id));
|
||||||
// 1794
|
|
||||||
|
|
||||||
|
|
||||||
while let Some(mut packet) = packets.next(&handler.state_handler).unwrap() {
|
while let Some(mut packet) = packets.next(&handler.state_handler).unwrap() {
|
||||||
|
|
@ -111,6 +108,8 @@ impl AddStvEntity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TEAM_PROP: SendPropIdentifier=SendPropIdentifier::new("DT_BaseEntity","m_iTeamNum");
|
||||||
|
|
||||||
impl MessageMutator for AddStvEntity {
|
impl MessageMutator for AddStvEntity {
|
||||||
fn mutate_message(&self, message: &mut Message) {
|
fn mutate_message(&self, message: &mut Message) {
|
||||||
if !self.added.get() {
|
if !self.added.get() {
|
||||||
|
|
@ -121,11 +120,14 @@ impl MessageMutator for AddStvEntity {
|
||||||
}
|
}
|
||||||
let server_class = player_entity.server_class;
|
let server_class = player_entity.server_class;
|
||||||
|
|
||||||
|
let mut team_prop = player_entity.get_prop_by_identifier(&TEAM_PROP).unwrap().clone();
|
||||||
|
team_prop.value = SendPropValue::Integer(1);
|
||||||
|
|
||||||
ent_message.entities.push(PacketEntity {
|
ent_message.entities.push(PacketEntity {
|
||||||
server_class,
|
server_class,
|
||||||
entity_index: self.entity_index,
|
entity_index: self.entity_index,
|
||||||
baseline_props: vec![],
|
baseline_props: vec![],
|
||||||
props: vec![],
|
props: vec![team_prop],
|
||||||
in_pvs: false,
|
in_pvs: false,
|
||||||
update_type: UpdateType::Enter,
|
update_type: UpdateType::Enter,
|
||||||
serial_number: 1234567,
|
serial_number: 1234567,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
use std::mem::take;
|
use std::mem::take;
|
||||||
use tf_demo_parser::demo::message::packetentities::PacketEntity;
|
|
||||||
use tf_demo_parser::demo::message::Message;
|
use tf_demo_parser::demo::message::Message;
|
||||||
use tf_demo_parser::demo::packet::Packet;
|
use tf_demo_parser::demo::packet::Packet;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue