X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_client.qc;h=7f8523e345b33a4c721a7858de6266af2e760024;hb=4bad0fb9dca23f6ab83f7a9c12a0e9f6fd6f013e;hp=de4c7431d5aafad3db68fe68f1da5e7ad5208070;hpb=008ad760c67f5401849e95dadea1fb87096907e1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index de4c7431d..7f8523e34 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -915,6 +915,8 @@ void PutClientInServer (void) if(INDEPENDENT_PLAYERS) MAKE_INDEPENDENT_PLAYER(self); self.flags = FL_CLIENT; + if(autocvar__notarget) + self.flags |= FL_NOTARGET; self.takedamage = DAMAGE_AIM; if(g_minstagib) self.effects = EF_FULLBRIGHT; @@ -1033,7 +1035,8 @@ void PutClientInServer (void) self.prevorigin = self.origin; self.lastrocket = world; // stop rocket guiding, no revenge from the grave! self.lastteleporttime = time; // prevent insane speeds due to changing origin - + self.hud = HUD_NORMAL; + if(g_arena) { Spawnqueue_Remove(self); @@ -1531,6 +1534,10 @@ float PlayerInIDList(entity p, string idlist) return 0; } +#ifndef NO_LEGACY_NETWORKING +.float iscsqcmodel; +#endif + /* ============= ClientConnect @@ -1792,6 +1799,16 @@ void ClientConnect (void) if(!autocvar_g_campaign) Send_CSQC_Centerprint_Generic(self, CPID_MOTD, getwelcomemessage(), autocvar_welcome_message_time, 0); + +#ifndef NO_LEGACY_NETWORKING + if(autocvar_sv_use_csqc_players) + { + CSQCModel_LinkEntity(); + self.iscsqcmodel = 1; + } +#else + CSQCModel_LinkEntity(); +#endif } /* @@ -1967,7 +1984,7 @@ void respawn(void) self.avelocity = randomvec() * autocvar_g_respawn_ghosts_speed * 3 - randomvec() * autocvar_g_respawn_ghosts_speed * 3; self.effects |= EF_ADDITIVE; self.oldcolormap = self.colormap; - self.colormap = 512; + self.colormap = 0; // this originally was 512, but raises a warning in the engine, so get rid of it pointparticles(particleeffectnum("respawn_ghost"), self.origin, '0 0 0', 1); if(autocvar_g_respawn_ghosts_maxtime) SUB_SetFade (self, time + autocvar_g_respawn_ghosts_maxtime / 2 + random () * (autocvar_g_respawn_ghosts_maxtime - autocvar_g_respawn_ghosts_maxtime / 2), 1.5); @@ -3018,7 +3035,10 @@ void PlayerPreThink (void) if(g_nexball) nexball_setstatus(); - + + // secret status + secrets_setstatus(); + self.dmg_team = max(0, self.dmg_team - autocvar_g_teamdamage_resetspeed * frametime); //self.angles_y=self.v_angle_y + 90; // temp @@ -3246,7 +3266,7 @@ void PlayerPostThink (void) self.stored_netname = strzone(uid2name(self.crypto_idfp)); if(self.stored_netname != self.netname) { - db_put(ServerProgsDB, strcat("uid2name", self.crypto_idfp), self.netname); + db_put(ServerProgsDB, strcat("/uid2name/", self.crypto_idfp), self.netname); strunzone(self.stored_netname); self.stored_netname = strzone(self.netname); } @@ -3256,4 +3276,23 @@ void PlayerPostThink (void) if(g_race) dprint(sprintf("%f %.6f\n", time, race_GetFractionalLapCount(self))); */ + +#ifndef NO_LEGACY_NETWORKING + if(autocvar_sv_use_csqc_players && !self.iscsqcmodel) + { + CSQCModel_LinkEntity(); + self.iscsqcmodel = 1; + } + + if(!autocvar_sv_use_csqc_players && self.iscsqcmodel) + { + CSQCModel_UnlinkEntity(); + self.iscsqcmodel = 0; + } + + if(self.iscsqcmodel) + CSQCModel_CheckUpdate(); +#else + CSQCModel_CheckUpdate(); +#endif }