Jump to content
SubSpace Forum Network

Recommended Posts

Posted

One of our Dev's had some questions about the way teams are controlled:

----

I have some questions about the freq manager module.

 

The freq captain is supposed to be the player with the most exp.

-How to read a player's exp?

-What if 2 players have similar exp, and they keep alternating which has more as the game goes on? Should exp be checked only when a player changes freq?

 

Kicked players are placed on their own freq? They can request to return to their original freq?

 

Can a player try changing to multiple freqs (=N1, then =N2, etc)? Or do they have to wait for each request to be answered before trying to change to another freq?

 

Do players need to be notified if their request / invitation expires? This would probably require using a timer?

 

How can the module be notified if a player changes squads?

 

How do you suggest debugging / testing? Sending diagnostic arena messages?

 

Is there a way to get the interactive Python prompt on the server? Or is there a way to load the asss stuff in a normal python installation?

 

I was planning to use I_CMDMAN, Ifreqman, CB_PLAYERACTION for player disconnects.

Posted

Regarding EXP- I can say that every 4 hours, (if a player has played within the last week) a player is awarded with a skill point. The player can choose what skill to allocate skill points to. Each skill has 5 levels of specialization. Each level of specialization requires a certain number of skill points to be invested in order to acquire that level. By example, lvl 1 in a certain skill may only require 1 or 2 points to achieve whereas level 5 may take 50 or 100 points. Each level in a skill gives a linear increase in capability/bonus (lvl1 5%, lvl5 25%)

 

So, the player with the most exp is the player who has been awarded the most number of points to invest.

 

I would say it would be easier to just allow the player with the most exp to be the freq captain who can approve/deny requests to join the frequency as well as kick players from the frequency (not to be confused with squad apps)

 

Yes, kicked players are placed on their own freq

 

I would say, players may only apply to one freq at once (less potential for glitches)

 

When applying to a freq when another request is outstanding, they get a message like "you must wait X seconds to re-apply"

 

The module should be able to sniff which squad the player is on - Jowie?

 

Diagnostic arena messages is also something jowie or spider can answer..

Guest Spidernl
Posted

The freq captain is supposed to be the player with the most exp.

-How to read a player's exp?

 

That's presumably in one of the hscore interfaces. I haven't got those "with me" right now but it shouldn't be too hard to find.

 

-What if 2 players have similar exp, and they keep alternating which has more as the game goes on? Should exp be checked only when a player changes freq?

 

Sounds like a good solution.

 

How do you suggest debugging / testing? Sending diagnostic arena messages?

 

That works. Read this (scroll to "how do I log events") for methods.

Guest Pigeonstriker
Posted

My first crack at this is done. It's loaded and running on the server. Debugging is turned off, so only intentional messages are being sent.

 

Usage guide:

To change freqs, =NNNN works in spec, or gNNNN while playing (since bot is antiwarping).

Can freely change to any empty freq except reserved freqs 1337, 9999.

9998 is the spec frequency (you'll be on your original freq, but in spec).

 

Freq assignments are preserved across arenas. Teams are a freq's local representation in an arena. Each team has a captain, the one with the highest exp. If the captain leaves, a new captain is automatically chosen.

 

As team captain:

PM ?invite to invite players to your freq.

-As a player, if receiving an invite, respond with ?accept or ?decline in pubchat.

PM ?freqkick to kick players off your freq.

 

As a player, ?noinvite toggles automatic declining of invites (you won't see them).

 

To change freq to an occupied freq:

gNNNN sends a request.

-As team captain, ?yes or ?no in pubchat to approve/deny the request to come to your freq.

 

Caveats: couldn't test squads or exp (everyone has no squad and 0 exp).

 

Test, bugs, comments, questions? :happy:

Posted (edited)

I have not tested it thoroughly yet, but python is giving some errors about memory leaks:

 

E there are 2 remaining references to an arena object!

E there are 2 remaining references to a player object!

Edited by JoWie
  • 2 weeks later...
Guest Pigeonstriker
Posted

Reworked some of the data structures and added some del.

Seems to still work and no more leftover memory references... ?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...