2 vs 2 racing coop is a good idea. What I really want to implement is head to head coop with two teams entering at opposite sides of the map and fighting their way through the monsters to a showdown in the middle of the map.
Announcement
Collapse
No announcement yet.
A Future "Progs 2.0" List
Collapse
X
-
Qoetia B4 == 1.93Mb
Expo Booth '08
!AXATAXA! == 355.24 Kb Want to take on Quake with only your axe?
Hunting shamblers since 1996.
-
RMQ, although not even a multiplayer mod, now covers # 3,4,5,6,9 and #10 is pretty irrelevant in our case. #8 (telefrag protection) should be doable.
I'll go look at QIP now. What's EF_BLUE and EF_RED for? Teamplay stuff?
Can anyone elaborate on #7 (generic fixes)?
A player that joins during intermission won't see scoreboard. (Vanilla quake just causes nextlevel to start.)
Can someone post the fix?
Otherwise, very helpful thread for any mod coder, thanks. RMQ is mainly an SP mod, but I'm really interested to make multiplayer a nice experience, too.
Comment
-
Originally posted by golden_boy View PostWhat's EF_BLUE and EF_RED for? Teamplay stuff?
In regular Quake, you see a player that is glowing, you don't know if he has Quad or Pent. Until he fires and it makes the Quad sound or until you shoot him and it makes the Pent invulnerability sound.
(Poor original Mac Quake users didn't even get to see a glow! They'd stand still while everyone else ran from you.)
Anyway, it is somewhat widespread opinion that those should have been in original Quake.
Engines that support EF_BLUE and EF_RED:
Quakeworld (all), DarkPlaces, JoeQuake, Qrack and probably the majority of modder engines (Telejano, VengeanceR2, etc.) I imagine.
Unknown = FitzQuake (it might); Maybe = GLNehahra Quake; Probably not = aguirRe Quake since it doesn't supported colored lights.
As a general rule of thumb, if it supports colored lights then probably has EF_RED and EF_BLUE support.
This is more important than the glows. Some engines have wild features like powerupshells (the engine player has a special hue around them) and some engine support a powerupshell on the player weapon.
The above, particularly the powerup shell on the weapon makes Quake so much more convenient (although technically EF_RED/BLUE is not required for this particular part) because you KNOW when you had Quad and you know when it is gone without being distracted by what sounds it makes when you fire or having to pay attention to subtle hue changes or looking at the HUD.Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Comment
-
I see.
I'm familiar with weapon shell / powerup shell because I used to hack Quake 2, where Qudos showed it to me. This requires engine side support, right. So it's not really a QC issue?
Which mods have EF_BLUE/RED and source available? Any chance at a tutorial? :-P
And now, re: Waterjump bug.
Zop's fix works insofar as you no longer get stuck. However, you still bob automatically, which is a bit weird. It stops as soon as you move away though.
R00k's fix doesn't auto-bob you, but you can no longer get out of the water by pressing Jump + forward.
Zop, can you remove the auto-bobbing?
Comment
-
There is a QuakeC portion in this tutorial:
http://www.quake-1.com/docs/quakesrc.org/110.html
It's further down.Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.
So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...
Comment
-
R00k's fix doesn't auto-bob you, but you can no longer get out of the water by pressing Jump + forward.Zop's method works best.
Comment
-
I don't know what you mean by auto-bobbing. If you mean the repeating-waterjump-then-hit-ceiling, I don't think it can be done simply, because it thinks you want to waterjump, which you always should want to, when you have a ledge in front of you at that height.
Possibly, I could try making a two-dimensional check, so that you can't waterjump when the ledge has less width than the player, but maybe you're talking about something else...
Comment
-
Two waterjump bugs.
1.> When you are in water swimming and you approach a ledge, if you touch the ledge and there is room it will pop u out of the water automatically. If you do not hold forward, then it just keeps bouncing you on the water like a trampoline
edit: could be fixed by adding v_forward momentum.
2.> If you jump out of water and hit your head on a low ceiling it freezes your velocity for a few seconds; with your head stuck on the ceiling
I thought my fix had fixed both, but only to break the auto-pop out of water effect
Comment
-
Yeah, I meant the trampoline effect without pressing a key. In the same place where you'd get stuck previously (dm5 near pent), you're now "grabbed" and shaken up and down as long as you face the wall/ledge. You can now get out of it by changing your view angle, which is the good news. The bug has become less problematic, but the net result is still buggy. Yeah, maybe this is another bug, as Rook says...
Comment
-
Code:if ((trace_fraction == 1) && (self.cl[CL_CMD_FORWARD])) //Dont jump unless moving forward
Comment
-
I forgot to mention the prime assignment for my previous code. (A player's .mangle will be '0 0 0' for the very first check of it in WaterMove () without the assignment. The chance that a player will be at exactly '0 0 0' and set off waterjump is astonomically low, though...) You will see it in the next bunch of code.
The auto repeating waterjump problem is a bit more difficult, R00k's code is pretty good, even though it's compiler dependant, but it won't initiate if you move to the ledge underwater and then hold jump to swim upwards (no forward movement). This will definately not be done by a regular player on a dm/ca/etc server, due to the swim noise, so it's workable.
Another option is to prevent the next waterjump from happening by using a timer. It seems to work well enough, so test it out:
Code:(don't forget to make a .float wj_wait) local vector start, end; local float tf; if (self.wj_wait > time) return; makevectors (self.angles); start = self.origin; start_z = start_z + 8; v_forward_z = 0; normalize (v_forward); end = start + v_forward * 24; traceline (start, end, TRUE, self); if (trace_fraction < 1) { // solid at waist start_z = start_z + self.maxs_z - 8; end = start + v_forward * 24 + v_right * 17; // 2D-check for about width of player self.movedir = trace_plane_normal * -50; traceline (start, end, TRUE, self); tf = trace_fraction; traceline (start, end - v_right * 34, TRUE, self); if (tf == 1 && trace_fraction == 1) { // open at eye level self.flags = self.flags | FL_WATERJUMP; self.mangle = self.origin; self.velocity_z = 225; self.flags = self.flags - (self.flags & FL_JUMPRELEASED); self.teleport_time = time + 2; self.wj_wait = time + 1.1; } }
Comment
-
If a server/mod/map had a different gravity you could set
self.wj_wait = time + (1.1* (800 / sv_gravity));
edit: Zop told me to flip the divisionLast edited by R00k; 12-08-2008, 10:57 PM.
Comment
Comment