This commit is contained in:
aozhiwei 2021-07-28 11:37:52 +08:00
parent 8adfe56d7b
commit a38978a4fd
3 changed files with 16 additions and 7 deletions

View File

@ -80,6 +80,7 @@ void Car::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data)
p->set_oil(cur_oil_);
p->set_max_oil(meta->i->max_oil());
p->set_bullet_num(weapons[GUN_SLOT1].ammo);
p->set_seat_num(meta->int_param2);
FillBuffList(hum, p->mutable_buff_list());
}
@ -186,28 +187,35 @@ void Car::GetOn(Human* passenger)
void Car::SwitchSeat(Human* passenger, int seat)
{
if (seat != 0) {
if (later_removed_) {
return;
}
if (driver_) {
if (seat < 0 || seat >= meta->int_param2) {
return;
}
if (!IsPassenger(passenger)) {
return;
}
if (passenger->GetSeat() == seat) {
return;
}
if (GetPassengerBySeat(seat)) {
return;
}
if (!IsDriver(passenger)) {
if (seat == 0) {
passenger->RemoveBuffByEffectId(kBET_Passenger);
passenger->SetSeat(seat);
driver_ = passenger;
passenger->MustBeAddBuff(passenger, DRIVER_BUFFID);
room->frame_event.AddCarChg(passenger->GetWeakPtrRef());
SyncAroundPlayers(__FILE__, __LINE__, __func__);
} else {
if (driver_ == passenger) {
driver_ = nullptr;
passenger->RemoveBuffByEffectId(kBET_Driver);
passenger->MustBeAddBuff(passenger, PASSENGER_BUFFID);
}
passenger->SetSeat(seat);
room->frame_event.AddCarChg(passenger->GetWeakPtrRef());
SyncAroundPlayers(__FILE__, __LINE__, __func__);
}
}

View File

@ -1151,7 +1151,7 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg)
get_on = msg.get_on();
}
if (msg.has_switch_seat()) {
switch_seat = msg.has_switch_seat();
switch_seat = msg.has_switch_seat() + 1;
}
if (msg.has_jump()) {
jump = true;

View File

@ -484,6 +484,7 @@ message MFCarFull
!!!
*/
repeated MFPlayerFull passengers = 6;
optional int32 seat_num = 17; //
optional int32 born_frameno = 8; // born_frameno == SMUpdate.frmanoe时表示在当前这帧出生
}