Rune Central
http://forums.runecentral.com/

Thoughts
http://forums.runecentral.com/viewtopic.php?f=13&t=1101
Page 3 of 3

Author:  RocketGuy [ Tue May 16, 2006 10:16 am ]
Post subject: 

Lardarse wrote:
Code:
// emptyserver and reverttime should be global floats
local entity e;
e = find(world, classname, "player");
if (e) {
   emptyserver = 0;
} else {
   if (emptyserver) {
      if (reverttime > time) changelevel("intro");
   } else {
      emptyserver = 1;
      reverttime = time + 120;
   }
}

hehehe.. what a mess.

Author:  Baker [ Tue May 16, 2006 10:21 pm ]
Post subject: 

In some instances, I seem to spawn with the gold key after I get the gold key and die. Also, sometimes it seems like gold keys aren't always healing my armor (one of the rpgsmse maps comes to mind). For instance, right now I have 13 armor and am standing on the gold key and it isn't doing anything.

Author:  Lardarse [ Wed May 17, 2006 5:50 am ]
Post subject: 

I was playing on the server with laggy, and we noticed 2 things:

terra5 doesn't lead into terra6

terra4 needs coop spawn points

And what do you mean by my code being a mess???

I've noticed the keys not healing... I'm not sure why, though. Maybe because of a rune?

And I think i've seen at least once respawning with keys.

LA

Author:  Lardarse [ Wed May 17, 2006 6:12 am ]
Post subject: 

And another 2:

Chthon's missiles don't have the correct death message.

Nor do the info_notnull explosions at the beginning of terra5

Author:  RocketGuy [ Wed May 17, 2006 10:01 am ]
Post subject: 

Lardarse wrote:
And what do you mean by my code being a mess???

well for one:
Code:
if (reverttime > time)

should be:
Code:
if (reverttime < time)

Author:  Lardarse [ Wed May 17, 2006 6:41 pm ]
Post subject: 

Oh, whatever...

Author:  Baker [ Thu May 18, 2006 4:57 pm ]
Post subject: 

Quote:
//IP SUB_MASK code by JPG

void (float p) net_hide_ip =
{
local float dotcount;
local float px;

px = AddInt(&"xxx", PSTRING_TO_PQUAKEC);
p = AddInt(p, %-3);//p = -3

&%116 = 0;

for (dotcount = 0 ; dotcount < 3 ; p = AddInt(p, %1))
{
&%113 = (*p)[0];
if (world[%5] == '.')
dotcount = dotcount + 1;
}
if (dotcount == 0) {
// then don't touch the IP address
(insert whatever the "do nothing" code is)
} else


p = AddInt(p, %3);
(*p)[0] = (*px)[0];
};

}
// end baker thought


float () net_connect =
{
local string ip;
local string ip2;
local float p;

p = AddInt(&self.netconnection, QS_ADDRESS * 4);
ip = @AddInt(p, PQUAKEC_TO_PSTRING);
ip2 = @AddInt(&ip, 0);
strcpy(ip2, ip);
net_hide_ip(p);
return TRUE;
};


Hey RocketGuy, I think I know a fix for the above code. Check out my primitive concept highlighted in bold.

Author:  Baker [ Thu May 18, 2006 10:18 pm ]
Post subject: 

Notes

Quote:
Keycard style keycards need something to draw attention to them (flame model, ef_brightfield or something) so they can be spotted more easily

Change to intro map upon exit after 2 minutes works like a charm thanks to Lardarse's kind assistance on that

Silver keycard fixed

Keys not healing = non-issue (colorless armor can't be healed)

XP issue/spawnpoint issue

Radar to 5 seconds? Fixed I think

IP masking works, but not in listen mode and no one seems to know anything about QCCX's trickery for masking the ip (this would benefit CAx, xCTF and CRCTF too ... plus RQ and any other mod wanting to use PQ cheat-free)

Stats are now correctly print

Anything else? Is this a kick ass mod or what?

Author:  Baker [ Fri May 19, 2006 4:06 pm ]
Post subject: 

Btw, Lardarse noticed the END map mysteriously doesn't have a Quad near the teleporter that in normal play kills the shub.

Also:

Code:
entity (string targ_class, entity start_after)
find_spawn_point_class =
{
   local entity e, first;

   e = find (start_after, classname, targ_class);
   if (!e)
      e = find (e, classname, targ_class);
   if (!e)
   {
      // There aren't actually any entities with that class.
      return world;
   }

   first = world;
   while (1)
   {
      if (e)
      {
         // start_after might not be the same class as what I'm looking
         // for, so I can't test for it to see if I'm looping.  So,
         // save the first actual hit and test for that to check if
         // I've looped.
         if (!first)
            first = e;
         else if (e == first)
            return world;

         if (safe_spawn_point (e))
            return e;
      }
      e = find (e, classname, targ_class);
   }
   return world;
};


Is the above code --- in rjs.qc in RQ1.1 --- what I think it is. Seems to not spawn a player where another player is.

I've never ever seen a spawn telefrag in RuneQuake EVER in the many years I have played it. Maybe not even in Artifact-RJS, the immediate precursor to RuneQuake.

Author:  Baker [ Fri May 19, 2006 4:15 pm ]
Post subject: 

client.qc excerpt:

Quote:
/*
============
SelectSpawnPoint

Returns the entity to spawn at
============
*/
entity ()
SelectSpawnPoint =
{
local entity spot;

// testinfo_player_start is only found in regioned levels
spot = find (world, classname, "testplayerstart");
if (spot)
return spot;

// choose a info_player_deathmatch point
if (coop)
{
lastspawn = find (lastspawn, classname, "info_player_coop");
if (lastspawn == world)
lastspawn = find (lastspawn, classname, "info_player_start");
if (lastspawn != world)
return lastspawn;
}

else if (deathmatch & DM_DM_MASK)
{
// If all the spawn spots are taken, try spawning on
// weapons, health and ammo boxes. This isn't perfect
// in that some of these are in rooms which start out
// closed. I use weapons first because I suspect there
// are fewer of these with that problem.

// I would eventually like to create spawn spots for standard maps,
// and modify the map to restrict certain areaa. For now, I will
// use the RA method of info_teleport_destinations.
if (mode_arena () && MAP_IS_CUSTOM)
{
spot = find_spawn_point_class ("info_teleport_destination", lastspawn);
if (spot)
{
lastspawn = spot;
return spot;
}
}

spot = find_spawn_point_class ("info_player_deathmatch", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_supershotgun", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_nailgun", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_supernailgun", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_grenadelauncher", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_rocketlauncher", lastspawn);
if (!spot)
spot = find_spawn_point_class ("weapon_lightning", lastspawn);
if (!spot)
spot = find_spawn_point_class ("item_health", lastspawn);
if (!spot)
spot = find_spawn_point_class ("item_shells", lastspawn);
if (!spot)
spot = find_spawn_point_class ("item_spikes", lastspawn);
if (!spot)
spot = find_spawn_point_class ("item_rockets", lastspawn);
if (!spot)
spot = find_spawn_point_class ("item_cells", lastspawn);
// Fall back to fragging somebody on a normal spot if
// necessary.
if (!spot)
spot = find (lastspawn, classname, "info_player_deathmatch");
// Loop to the beginning of the entity list.
if (!spot)
spot = find (spot, classname, "info_player_deathmatch");
lastspawn = spot;
return spot;
}

if (serverflags & SERVERFLAGS_RUNE_MASK)
{ // return with a rune to start
spot = find (world, classname, "info_player_start2");
if (spot)
return spot;
}

spot = find (world, classname, "info_player_start");
if (!spot)
error ("PutClientInServer: no info_player_start on level");

return spot;
};


This calls find_spawn_point_class

Author:  Baker [ Sun May 21, 2006 5:48 am ]
Post subject: 

Looks like RocketGuy has now resolved every last RQuake issue, including cool effects on the real keycards and the spawn point challenge! :D :D

Plus a cvar to toggle IP masking, so listen mode is possible.

(Ok, so I'm going to go to sleep now, hehe)

Author:  Baker [ Fri May 26, 2006 2:42 am ]
Post subject: 

For listen mode RQuake, I removed all map level aliases and changed LEVEL_RECONNECT_ALLOWANCE to 0 and recompiled.

The map level aliases weren't working for me in QRack (I expected this due to something Slot told me once about the perils of running RQ in listen mode) and the reconnect allowance >0 meant you had to wait 15 seconds to play for no good reason.

Note to self: Use frikqcc 2.5!

Page 3 of 3 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/