SmartDM for UT99

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Yes I have all the mapvotes available but none do exactly what I want.
Basically this Mapvote is for me, my server and will probably never see a public release, but if any one wants to use it they can have it AS IS... no extra's... well... within reason :)

I've nearly got the basics working.

What it does do:
It has 20 CustomGameConfigs with extra being GameName and MapList
basically the whole mod works on GameNames and not GameClasses as does all other mapvotes.
Using GameNames you can have a zillion different games with different maps with different settings but they can all use the same GameClass and same MapPrefix.
Currently for test purposes it only has 10 games with 10 maplists and each list only holds 10 maps.
The final version will have..... to be decided.

What it does not do:
It cannot show more than a total of 220 maps.
It cannot show more than a total of 30 games.
It does not have any of the fancy (useless) things that many other mapvotes have.

Here is a screenshot of it so far:

mv1.jpg
 

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Just a few notes about your flowchart.
The concept is good, but a problem exists.
There are only 2 items in the game in where we can collect clientside information, the HUD and the Scoreboard.
The HUD only appears once the game has started and the scoreboard only appears when he dies or presses F1.
So to get the players own country time, we have to wait till the game starts, because before that the timer is not running, and all we have is playername and skin.
That part is done by UT and we cannot intervene with that.
Therefore UTLogit will have to change the way in it works, do-able, but with some difficulty.
Currently it waits 20 seconds as that's enough time to get his resolution, but the time we will have to wait for his HUD and in a bTournament=True game, could be a very long time :)

Damn this post is taking forever :(

Edit.........

Oh one other thing, in your chart you say send times to players, yes that is so but.
When information goes to the player it does not just happen once and the player stores it from then on.
Nope, unfortunately these times and all other information get sent to the client at his Tick Rate which in most cases is 20 times a second, every second until the game ends and that's where the lag comes in.
You see every time a player opens his scoreboard, it's like the very first time he opened it.
Basically when he closes it, it does not sit in the background in memory, it gets killed, 'Destroy' is the command.
That is done by UT, also fixed in UT2004, but for now it's a problem.

What we could do but there will be a delay, is when a player opens his scoreboard, it sends a command to the server to please send the information and depending on his connection, ping, lag, etc it could take a second or 2.
Oh! and BTW, all internal commands are Mutate commands :)
 
Last edited:

Wises

New Member
Sep 15, 2008
377
0
0
What we could do but there will be a delay, is when a player opens his scoreboard, it sends a command to the server to please send the information and depending on his connection, ping, lag, etc it could take a second or 2.
^ thats what I was wondering about , thanks for explaining these things.

I was thinking that yes.. when the player opens scoreboard he queries the server the server send's all players Current Realtimes back to the client.

from here the player's client does the calculating based on his own timer , yes there's going to be some +/- difference in time but it should not be out by minutes/hours. And is only held for the duration of the time , that the scoreboard is open. Reducing system resources from interfering with the game.

that in fact would be better as it is the client who decides when you check/see scoreboard which in effect shows all data retrieved from server.
that should be only sent once per send mutate open cmd.

therefore the info [0101010101010101] for all players MAX 64 entries / strings / variables sent .. i guess. is only passed onto the player when viewing the board.. even yes based on tick perhaps.. like deaths indicator.. you are probably only sending a yes/no or 1/0 to the client 20-100 times per tick.. ie; we use 100 TR.

therefore all say 64 players times are constantly sent to the client.. this sounds laggy.

better way is somehow only send the players realtimes , based on sdm menu opening. Menu open's , server sends all players all players_times.. (once for that session or instance of the SB being open)

the timer on the clients screen is updated from here via there-own system clock , freeing up the server for other info and other players with SB open.

Re: mapvote could I have a test / play with it and provide some input perhaps? I always seem to be limited by these things also.. which annoys me.

ie; MapVoteLA13 > no default mutators line.. although it has default settings line.

also the voting system sometimes for some reason.. (not recently) .. would add 2-4 vote's from some players that double clicked too fast.. which is annoying.
 
Last edited:

Wises

New Member
Sep 15, 2008
377
0
0
hmm .. soo , limitations on 220 maps?..

thats where there could be a drawback?.. averages out at 11maps per GameName..
 

Wises

New Member
Sep 15, 2008
377
0
0
Stats Recovery:
==========

cpan said:
Re: resurector mod + smartDM104 + smartCTF
I haven't written anything for UT in years and I've never used SmartDM and smartCTF.

I release everything open so if you can find someone that wants to modify it to work with those packages, go ahead.

CPan

just spoke to the dev of resurector.. and he is ok with us further developing it and/or making something better if you guy's know a better solution.

imo - it is the missing link in this thing .. and will be awesome to be able to start a match , get some stats go into !spec eat something , !play again and carry on with all stats in tact.

I have idea's on how to achieve this (as must you) but think that it would be of great significance and worth to implement.. if we can't implement due to Obduracy ;) and things like this.. then I propose we build a Sep Mod just for these things.

also I had a thought for something which may/not go down well ..

but something which could encourage players to try harder.. you know the bottom left

based on rank/spread.. mainly spread.

you know how this works right the spread thing .. I was thinking of further extending it slightly to show the distance between you and the next player in front ..

for example : You are currently Ranked 3rd and are chasing THEBOT leading by 2 Frags. (something like this)

so players kinda know their possition 1st , 2nd or 3rd etc.. and also know who to try and kill in order to get closer to Pole Position :D
 
Last edited:

Wises

New Member
Sep 15, 2008
377
0
0
PlayerLog[37]=2013/08/07 | R@nju | *.*.*.* | 03:15:27 | 360 |
PlayerLog[38]=2013/08/07 | no0ne | *.*.*.* | 03:59:37 | 0 |
PlayerLog[39]=2013/08/07 | no0ne | *.*.*.*| 03:59:46 | 271 | 980x763
PlayerLog[40]=2013/08/07 | no0ne | *.*.*.* | 03:59:58 | 276 | 980x763
PlayerLog[41]=2013/08/07 | seriousnoob | *.*.*.*| 04:02:44 | 233 | 800x600
PlayerLog[42]=2013/08/07 | no0ne|finnished-test | *.*.*.* | 04:05:01 | 258 | 980x763
PlayerLog[43]=2013/08/07 | no0ne|testing | *.*.*.* | 10:53:27 | 273 | 980x763
PlayerLog[44]=2013/08/07 | Lolz | *.*.*.* | 13:11:10 | 261 | 1162x763
PlayerLog[45]=2013/08/07 | Action-Puppe | *.*.*.* | 13:51:19 | 240 | 800x600
PlayerLog[46]=2013/08/07 | Syranic | *.*.*.* | 13:51:34 | 212 | 1280x768
PlayerLog[47]=2013/08/07 | 3O3Benler | *.*.*.* | 14:42:49 | 132 | 640x480
PlayerLog[48]=2013/08/07 | -=Rp*Loco^! | *.*.*.* | 14:50:44 | 126 | 640x480
PlayerLog[49]=2013/08/07 | qp | *.*.*.*| 14:52:53 | 108 | 1280x1024
PlayerLog[50]=2013/08/07 | gust | *.*.*.* | 15:06:10 | 111 | 1680x1050
PlayerLog[51]=2013/08/07 | {SBZ}_Bio_Bitch | *.*.*.* | 15:10:49 | 300 | 1904x1042
PlayerLog[52]=2013/08/07 | [ATE]Sai*jp` | *.*.*.* | 15:46:56 | 118 | 1024x768
PlayerLog[53]=2013/08/07 | SEB | *.*.*.* | 15:47:09 | 379 | 640x480
PlayerLog[54]=2013/08/07 | Panda | *.*.*.* | 16:00:43 | 109 | 800x600
PlayerLog[55]=2013/08/07 | Powah | *.*.*.*| 16:06:37 | 424 | 1024x768
PlayerLog[56]=2013/08/07 | zahyd | *.*.*.*| 16:15:36 | 381 | 1024x768
PlayerLog[57]=2013/08/07 | mman2112 | *.*.*.* | 16:18:15 | 293 | 1440x900
PlayerLog[58]=2013/08/07 | Fabs | *.*.*.* | 16:21:24 | 396 | 1280x720
PlayerLog[59]=2013/08/07 | Sernas | *.*.*.* | 16:26:39 | 393 | 1280x720
PlayerLog[60]=2013/08/07 | Rasty | *.*.*.* | 16:44:19 | 0 | 1440x900
PlayerLog[61]=2013/08/07 | Rasty | *.*.*.* | 16:44:41 | 0 | 1440x900
PlayerLog[62]=2013/08/07 | $poiled_Br@t$ | *.*.*.* | 17:58:41 | 305 | 822x451
PlayerLog[63]=2013/08/07 | [dE]*PAULETA.HATAKE | *.*.*.* | 19:21:11 | 371 | 1440x900
PlayerLog[64]=2013/08/07 | Bazoooka | *.*.*.* | 20:44:18 | 0 |
PlayerLog[65]=2013/08/08 | Lolz | *.*.*.* | 01:26:05 | 266 | 1162x763

so there's now players coming in with better Resolutions.. the weird one's for no0ne/lolz are just me .. I play in Window Mode :p

for higher resolution textures look below;

watch on youtube

download Texture Packs (only install on client) ~ DO NOT Install on Server.
^ site is a flippin mess to navigate , one day I may contact them and offer them a better solution to arranging data as they obviously have no idea on how to design a website.

ie; I can't even find the Texture packs for HighEnd.. which is what my system can support. (Presumably)

also there is a common problem with Serverside version of XBpFX which causing a skating player effect if use's have CD2 Textures and or Newer one's from link above (Client side)

hopefully this is the fix for this ; http://www.mediafire.com/download/t7w8lcgh6i19ham/XbpFX.utx (serverside only) as players can use whatever version.

more info
 
Last edited:

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Sorry been out for a while, been fighting the the Telcom here as my Internet died completely, so they have lent me a temp account which sucks as everything is a snails pace and tomorrow is a holiday here so nothing gets done till Monday :(

Anyway regarding the number of maps set at 220.
My Mapvote works very different to BDB's.
Finally got it going but not tested online yet.

It has 20 CustomConfigGames and each one has its own CustomMapList and each maplist can hold up to 900 characters which the mapname prefixes and suffixes removed and depending on how long the filename is could be 150 maps per game.

Like I said, the mod works on game names, so as long as each game has a unique game name, all is well.
The is also an option bGameName=True if you want the GameName to be written to the scoreboard.

Here is my test ini, just messing around but it works:

Code:
[MapVoteX101.MapVoteX]
bUseMapList=False
bAutoOpen=True
bReloadCorrectGameAtStartup=True
ASClass=Botpack.Assault
VoteTimeLimit=50
ScoreBoardDelay=10
RepeatLimit=5
MVGameName=Rocket Arena DeathMatch
DefaultSettings=
CustomGameConfigs[0]=(bEnabled=True,bMapList=True,DefaultMap="DM-Deck16][.unr",MapPrefix="DM",GameClass="Botpack.DeathMatchPlus",GameName="Tournament DeathMatch",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[1]=(bEnabled=True,bMapList=False,DefaultMap="DM-Morpheus.unr",MapPrefix="DM",GameClass="Botpack.TeamGamePlus",GameName="Tournament Team Game",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[2]=(bEnabled=True,bMapList=False,DefaultMap="CTF-Face.unr",MapPrefix="CTF",GameClass="Botpack.CTFGame",GameName="Capture the Flag",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[3]=(bEnabled=True,bMapList=True,DefaultMap="DM-Base714.unr",MapPrefix="DM",GameClass="Botpack.TeamGamePlus",GameName="Team Sniper Arena",bGameName=True,Mutators="SmartDM104.SmartDM,ZPBasicWeaponsAddOnV210.SniperArena,Botpack.LowGrav,UTBots.UTBots",Settings="InitialBots=11,MinPlayers=12,MaxPlayers=24,GameSpeed=1.0")
CustomGameConfigs[4]=(bEnabled=True,bMapList=False,DefaultMap="DM-Liandri.unr",MapPrefix="DM",GameClass="Botpack.DeathMatchPlus",GameName="Rocket Arena DeathMatch",bGameName=True,Mutators="SmartDM104.SmartDM,Jopack3.RocketArena,UTBots.UTBots,Relics.RelicRedemption,Relics.RelicDefense,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath",Settings="InitialBots=9,MinPlayers=10,MaxPlayers=24,GameSpeed=1.15")
CustomGameConfigs[5]=(bEnabled=True,bMapList=True,DefaultMap="CTF-EternalCave.unr",MapPrefix="CTF",GameClass="Botpack.CTFGame",GameName="Grab the RatFlag",bGameName=True,Mutators="SmartDM104.SmartDM,UTBots.UTBots,Relics.RelicRedemption,Relics.RelicDefense,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath",Settings="InitialBots=11,MinPlayers=12,MaxPlayers=24,GameSpeed=1.0")
CustomGameConfigs[6]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[7]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[8]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[9]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[10]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[11]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[12]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[13]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[14]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[15]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[16]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[17]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[18]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameConfigs[19]=(bEnabled=False,bMapList=False,DefaultMap="",MapPrefix="",GameClass="",GameName="",bGameName=False,Mutators="",Settings="")
CustomGameMapList[0]=(Maps="Morpheus,Liandri,Deck16][")
CustomGameMapList[1]=(Maps="")
CustomGameMapList[2]=(Maps="")
CustomGameMapList[3]=(Maps="Snipercamp,Snipertowers,SniperTown,Streetwar,TigerHunt][,TOMnJERRY,1940'sRAF,9cdWaterFort][,Academy,AF-Canyon-075,Bar,Base714k,Deck16][,DiningRoomDD,Dogtown,GMCMuseumB,HealPod][,HobiWansMazeNM,HollywoodHolocaust,Kitchen,Liandri,ManorFarm,Morpheus,Observatory][,Phobos,RP-Eodan,Saving_Vlego,SC_Study,Toys,VolcanoIsland,1on1-DavidM2,LongestYard][,Prayer][,RocketArena]I[,Teetok][,")
CustomGameMapList[4]=(Maps="Toys,VolcanoIsland,1on1-DavidM2,Deck16][,LongestYard][,Morpheus,Prayer][,RocketArena]I[,Teetok][,Snipercamp,Snipertowers,SniperTown,Streetwar,TigerHunt][,TOMnJERRY,1940'sRAF,9cdWaterFort][,Academy,AF-Canyon-075,Bar,Base714k,Deck16][,DiningRoomDD,Dogtown,GMCMuseumB,HealPod][,HobiWansMazeNM,HollywoodHolocaust,Kitchen,Liandri,ManorFarm,Morpheus,Observatory][,Phobos,RP-Eodan,Saving_Vlego,SC_Study,")
CustomGameMapList[5]=(Maps="Command,Coret,Dreary,EternalCave,Face,Gauntlet,LavaGiant,Niven,November,")
CustomGameMapList[6]=(Maps="")
CustomGameMapList[7]=(Maps="")
CustomGameMapList[8]=(Maps="")
CustomGameMapList[9]=(Maps="")
CustomGameMapList[10]=(Maps="")
CustomGameMapList[11]=(Maps="")
CustomGameMapList[12]=(Maps="")
CustomGameMapList[13]=(Maps="")
CustomGameMapList[14]=(Maps="")
CustomGameMapList[15]=(Maps="")
CustomGameMapList[16]=(Maps="")
CustomGameMapList[17]=(Maps="")
CustomGameMapList[18]=(Maps="")
CustomGameMapList[19]=(Maps="")
 

Wises

New Member
Sep 15, 2008
377
0
0
--------------UPDATED

Iam liking the concept. Q. how does BDBMapVote Send MapList through to clients?
like ~ all at once or Streamed or?

am wondering about a few things which may/may not be of relevance.

instead of Mutators=(1,2,3,4,1,4,6,7,8) stuff.

why not
[game1.config]
GameTitle="Ultimate DeathMatch+Relics"
GameTitleColor=(R,G,B,A) A={Alpha transparency}
GameType=botpack.DeathMatchPlus
Gameprefix=DM
bLoadUsingPrefix=False (if true then use maps in folder and ignore maplist below)

[game1.Mutators]
mut 1
mut 2
;mut 3 (easy for testing to [;]comment out)
mut 4 (no double up's of mut's and no misc ',,' or ','s here and there. ~ common problem I have when chop changing things.
mut 5

[game1.Actors]
actor 1
actor 2
PURE7G.PURE
ACE
UTDC
ANTHCHECKER

[game1.settings]
set 1
set 2
;set 3
bTimeLimit=10
bAircontrol=0.660000

[game1.maplist]
map 1
map 2
map 3

[default.mutators]
;load for all gametypes
UTLogiT

[default.actors]
;load for all gametypes
ServerAdds.ServerAdds

[default.settings]

;load for all gametypes
bMegaSpeed=False

something like this ^

also maplists extended perhaps to 500 or something.

as a way to eliminate lag perhaps ..

on open mapvote > server send's client's maplist (multipart if bigger)
maplist stored on player's side with #check_sum

next time player connects to server > server checks that it has not been updated (mapwise) against checksum on client side.

if checksum client == checksum server then open mapvote.

if checksum client != checksum server then download new list.

?

do not send through mutator list however ..
 
Last edited:

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Ok a word on Mapvotes, and sending maps to a client and your idea of configuring games in an .ini file.

First lets get the .ini out the way.
We can do it the way you suggest but the code becomes huge and very cumbersome.
Basically every time you have a new heading, like [Game1.Whatever], that needs a new class.
A new class is another complete file which is spawned by the original mutator itself.
For instance, take MVLA13 for instance, to enable [BDBMapVote.History1] up to History4 he needed to create 4 separate classes.
If you look inside the folder, you will see 4 files (classes) History1.uc to History4.uc
Sooooo.... now think about the code if you going to have a
for each game, and each item in that game.
If these extra classes are server side only as in in the case of the MapHistory, then it's ok, but wanting the stuff client side, you will need a 10 ton truck to deliver the information to the client, where currently a buzzbike does the job :)
This is why, the more information we can fit on one line and under one
the better as the code only needs one loader, one sorter, one compressor and so on, otherwise each class needs it's own not to mention all the other overheads.
This is also the reason why with mods like ATBHighScores7, the author only used one class, the mutator itself, and crammed everything into one class.
It ends up being very hard to read, or to follow and looks very messy and unprofessional, but it works and works very efficiently.

Sending maps to a client, the biggest train of all mods is MVLA13 and a reason many servers still use BDBMapVote3.
The only difference between MV3 and MVLA13 is MV3 can only handle 256 maps where MVLA13 1024 maps.
And it's for this reason alone that I completely rebuilt MapvoteX my way :)

Lets look at the train going to the client now.
That train can only be 900 characters long (includes needed overheads), any longer and it just gets truncated (left off).
So lets take the average mapname, CTF-WhateverName.unr, now that is 21 characters including the comma which you have to have a separator.
Now 1000 divided by 21 = 47 maps maximum.
Seeing every map in that train will have the same prefix (CTF-) and the same suffix (.unr) we leave them off and only send them once.
Now we have the mapname as WhateverName, only which is 13 characters long, which means we can send 69 mapnames.
However this is still a far cry from 1024 maps so we need to make a plan here.
Basically we count on the slow reaction of the player, from the time he calls the menu, it takes about seconds to open on his screen, that's approx 200 maps come in, and the rest we continuously send at every half a second so by the time he moves his mouse to the scroll bar and starts scrolling, they are hopefully all in :)
Have you ever tried logging onto a server at game end where there are say 10 or more players and they all got their MVLA13 Map Menu's open, forget it you will get a 'Connection Lost' :)

That's why a MapVote like MVLA13 is not a good idea and that is why my MapVote only shows one list of maps, but you can vote for any of the other 20 or 30 games and when the server switches to that game, it has its own maps.
I mean lets face, one needs different DM- maps for a DeathMatch game than you need for a Team DeathMatch or a RA or whatever other type of DeathMatch game you have like a Duelgame or a host of other GameNames you have.
Currently with MVLA13 you have virtual mapnames and MapFilters and all sorts of complicated things to try and achieve the same thing.
So in my case, lets say the average mapname is 10 characters, means each game can have 900/10 = 90 maps per game, using its CustomMapList.
If you set bMapList=False it will load up to 220 maps from your maps folder for that particular Game Class and 32 maps if you set bUseMapList=True

Oh, I need to add, I see you also back to the GameName colors, not possible from a MapVote type mod.
Basically if you want to change colors then MapVote will need its own ScoreBoard or HUD.
One mod cannot tell another mod what color their scoreboard must be.
What we should have done in SmartDM, is in it's GameInfo[0]= it should have looked at the GameName instead of the GameClass.
In this way, if you set a GameName from MapVote to say My Crappy DeathMatch then in SmartDM you tell it if it sees the name My Crappy DeathMatch change it to whatever color.
The only way you can currently do it is all GameNames that use say Botpack.DeathMatchPlus will be one color and leave the SmartDM's GameName="" (blank)​
 
Last edited:

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Ok I have made a new SmartDMScoreboard104b for SmartDM104 to match my MapVoteX101 regarding the GameName and it's colors.
Provided MapVoteX loads SmartDM all works great.

If the CustomGameConfigs has a GameName and it's bGameName=True in other words, it is written to memory and the Scoreboard, then you have the following options in SmartDMScoreBoard104b

If SmartDM104's GameInfo has its GameClass="None" then the GameName= must be the same as that from MapVoteX and the colors set in SDM will work.
This allows you up to 10 different GameNames to have custom colors.
OR
If SmartDM104's GameInfo has its GameClass=Botpack.DeathMatchPlus for instance and it's GameName="None" then all Botpack.DeathMatchPlus games will have their GameNames in a custom color set by SDM

The background for "Whatever wins the match" has also been set dark and looks much better.
 
Last edited:

Wises

New Member
Sep 15, 2008
377
0
0
because you .. allow for 20-30 gametypes in mapvote perhaps the same for smartDM105 20-30 configurations.
 

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
This is an email I tried sending you but it refused to go out as my connection is so bad.

Ok I've done a fair deal of testing on my LAN server with myself as 2 people and all seem to go pretty well.

I tried to attach MapVoteX101a and SmartDMScoreboard104b but it refused to go out.

So you can find it here.

http://www.proasm.com/files/ut/beta/mv101a.zip


Just run MapVoteX101a and it will create a rather comprehensive .ini file which you can change as u need.

A fairly comprehensive Readme is in the zip also so you can see how things work regarding the mapvotex and smartdm game names and colors etc.

I'm not too worried about anyone stealing it, I have removed all the relevant source code.

I had a look at adding a bot type vote, this is going to be too difficult as where do you put it, where do you show who's voted for it etc etc.
What I was perhaps thinking is a small server side mutator that you can add in a specially named game, that adds a bot to the current game, will think about it some more....
 

The_Cowboy

Member
Jun 18, 2010
61
0
6
BTW I noticed that you forgot to mention the use bAltMultiKillScores in readme :mad:. The server admins have set the default value (false) and my way is not used :(.
 

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Hey the looks so cool CB :)
Makes the heart feel good hey ;)
mmm I see I forgot to mention the bAltMultiKillScores, well I forgot again.
Anyways it's defaulted to False.
Let me explain between 'your' way and 'my' way.
I changed the code for standard use or call it 'my' way.
I sat for days and days testing your way and nothing made sense.
I would get many Killing sprees, many double kills, triplekills etc but when I looked at the scoreboard, very few of these were mentioned and the few players here that helped me found the same thing, so yes I set your way as off or False but that was only in the way the scoreboard shows the multikills.
The rest, regarding messages and everything else is still there and defaulted on or True.
If you like I can put your multikill scores back as True for default, no problem.

Here is a new beta 104c which has a few changes in it.
1. I put the bEnhancedMultiKill back because admin are complaining they don't like the SmartDM messages.... weird I like em.
2. I moved the now bStatsDrawFaces client side as this is a player and not admin option.
3. I added the bShowCTFScoreboard serverside and made a pretty good CTFScoreboard etc, as I felt naked when switching to a CTF Game.
4. I increased GameInfo options to 30 to match my MapVoteX in seaching for GameName colors.
5. I neatened up the menu background, looks much better.

http://www.proasm.com/files/beta/sdm104c.zip (source removed from mutator and scoreboard)

http://www.proasm.com/files/beta/mvx101c.zip (source removed throughout)

*** Edit ***

Ok I went and had a look at the code to see what I did between your way and my way.

Your way is untouched.
My way runs completely in parallel with your way, it has its own multikill variables and is all sent down to the client via the player replication, again using different variable names.
At the scoreboard there is a choice between the way in which the multikills are displayed in it's pretty minor.
So your way is defaulted on (True) but so is mine bAltMultiKillScores, so basically bAltMultiKillScores needs to be False.
I was going to put bAltMultiKillScores client side, but thought better of it because it's possible that different players will have different kill displays and if they discussed it, their could be thunder and lightning so I made it a Server side Admin setting.
This bAltMultiKillScores I should maybe default to false and give a explanation in the readme.

** Edit 2 **

In 104 bAltMultiKillScores is defaulted to false which is your way.
It is probably more confusing in 104c which I will correct in the next beta.
 
Last edited:

The_Cowboy

Member
Jun 18, 2010
61
0
6
Nice!! And don't take it seriously, I was joking :lol:. In fact I like your way better (and hope many players will agree).
Regarding bEnhancedmultikill, some people just like default stuff. In that case they will not like new messages (without realizing the fact that it is real default :lol:). But making that switch can help in some cases (like I wrote a mutator which registers shock combo kills and announces combo whore on certain kills, and much more stuff, is based on the fact that I change deathmessage class. Now in that case it conflicts with smartdm if bEnhancedMultikill is switched on)

Keep it up!
 

The_Cowboy

Member
Jun 18, 2010
61
0
6
5. I neatened up the menu background, looks much better.
Please show the snap :) :shock:

EDIT:
And I wanted to mention that Survivability looks great and is, now, accurate. Thanks for pointing me out the mistake. I was going to ditch it in next version.
 
Last edited:

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
LOL... yes, I watch that SURV: like a hawk when I play now.
I get mad with myself if it drops below 50%
I went and played on that server you mentioned at Multiplay last night and wow, the players were sure playing their hearts out, and I think it's to do with the Stats that now show up better.
Hell the number of players that had several doublekills, triplekills, I was quite amazed.
I quite like those Multiplay servers as I get a reasonable ping to them.

LOL, we have 2 undersea cables, the old one which runs up the west coast of Africa (SAT3) and docks in South Hampton, and the new one (SEACOM) which runs up the east coast, through the suez canal and docks in at Marseille in France and this cable was great until they made a T junction at the tip of Africa and ran a cable to Mumbai, boy within no time it was overloaded :D
I am on the East coast cable.
Could you do a ping to my server, it would be interesting to see what it is because I'm pretty sure you are on the same cable.
152.111.192.230

Some pics:

SmartDM104c

sdm4c.jpg


MapVoteX101c

mvx1.jpg


SmartDM - CTF :)

sdmctf.jpg
 
Last edited:

The_Cowboy

Member
Jun 18, 2010
61
0
6
Looking professional. You do have a way with uwindows. I will ping you in night.

Multiplay servers are the best for a DM player. Glad to know you liked them. I am a CTF player (or used to be. Played on High Speed 69.93.101.7 a lot. I mean seven hours continuously, daily).
 

ProAsm

Active Member
Mar 20, 2002
2,108
0
36
www.proasm.com
Upgraded the CTF Scoreboard a bit although I might change the naming a bit ;)
Hell the SmartCTF code is complicated when it can be so simple.
I admire you CB for porting it, I would loose patience very quick :)
I just wrote my own, much easier :)


sdmctf2.jpg