TurboSlug22 Posted October 2, 2010 Report Posted October 2, 2010 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. Quote
TurboSlug22 Posted October 2, 2010 Author Report Posted October 2, 2010 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.. Quote
»D1st0rt Posted October 5, 2010 Report Posted October 5, 2010 exec module can be used for arbitrary python commands, ?py (whatever) you only know what squad a player was on when he entered, changes wont take effect until reconnect you can set up some simple tests with this utility Quote
Guest Spidernl Posted October 8, 2010 Report Posted October 8, 2010 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. Quote
Guest Pigeonstriker Posted October 11, 2010 Report Posted October 11, 2010 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? Quote
JoWie Posted October 16, 2010 Report Posted October 16, 2010 (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 October 16, 2010 by JoWie Quote
»D1st0rt Posted October 18, 2010 Report Posted October 18, 2010 you can use del with ?py to clean up your namespace Quote
Guest Pigeonstriker Posted October 26, 2010 Report Posted October 26, 2010 Reworked some of the data structures and added some del.Seems to still work and no more leftover memory references... ? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.