Rune Central

The Official Rune Quake Message Board
It is currently Thu Mar 28, 2024 2:04 pm

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 52 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject:
PostPosted: Tue May 16, 2006 10:16 am 
Offline
User avatar

Joined: Sat Jun 19, 2004 3:42 pm
Posts: 158
Location: Croatia
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.

_________________
RocketGuy


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue May 16, 2006 10:21 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 17, 2006 5:50 am 
Offline

Joined: Sat Feb 18, 2006 1:27 pm
Posts: 33
Location: Bristol, UK
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 17, 2006 6:12 am 
Offline

Joined: Sat Feb 18, 2006 1:27 pm
Posts: 33
Location: Bristol, UK
And another 2:

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

Nor do the info_notnull explosions at the beginning of terra5


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 17, 2006 10:01 am 
Offline
User avatar

Joined: Sat Jun 19, 2004 3:42 pm
Posts: 158
Location: Croatia
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)

_________________
RocketGuy


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 17, 2006 6:41 pm 
Offline

Joined: Sat Feb 18, 2006 1:27 pm
Posts: 33
Location: Bristol, UK
Oh, whatever...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu May 18, 2006 4:57 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu May 18, 2006 10:18 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri May 19, 2006 4:06 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri May 19, 2006 4:15 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun May 21, 2006 5:48 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri May 26, 2006 2:42 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
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!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 52 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group