N!tmod 2.3 BETA 1 (Complete changelog since N!tmod 2.2 Final): + = Added * = Fixed ~ = Modified - = Removed * Major memory leak in the Admin System * All the known crash/data loss issues in the SQLite/Admin System code * Prone bbox height * Some constructibles couldn't be built * Console prints if a dynamite is disarmed by owner or teammate * ETPro "delete" mapscript can now find entities by any key, not only by "origin" * "cvar" script action was not working correctly * wm_announce and wm_annonce_icon were not logged and could break compatibility with some LUA modules * "Modern Ammo Bar" bug * !shuffle was sometimes moving spectators into team * Sten damage did not match ETMain value (was 18, is now 14) * damage/splashdamage/splashradius values were hardcoded for some weapons, causing weapon scripts to have no effect * Some objectives couldn't be picked up if g_realbody was enabled * Slot number was sometimes invalid in !finger output * "Highest fragger" award is now given to the player with the least deaths if more than one players have the most kills * Some global stats were incremented when killing bots, or during warmup * Engineer's bomb damage and splash radius were too high * Max ammo was wrong for some weapons, which could result in players having 14 or 16 revive syringes, for example * g_landminetimeout and g_tripminetimeout were not working correctly (some mines were not removed) * Bots aim error after being revived * Players could sometimes respawn in tanks if they were killed while mounting it * "Dynamite planted" objective announces were sometimes awarded to the player who set the dynamite instead of the player who armed it * Sometimes censor would mute the wrong player, or mutes would disappear on client reconnect * level 5 medics always had 10 extra HP when picking a medpack. Now the 10 extra HP are only given if the medpack was dropped by a level 5 medic * Players who kill themselves with their own bomb used to get a new one after being revived * !nextmap now starts intermission and let players vote for next map (just like a "nextmap" vote) if g_mapVoteFlags flag 16 is set and gametype is Map Voting. * default "commands.db" file was corrupted * Don't !nade spectators * !delrecords DELETEALL was not working because of a SQLite syntax error * problems with high levels in commands.db * When dead and following another player, v6 (vsay player class) was wrong. Now, it will announce their latched class * crosshair names and class icon overlapping for disguised enemies * Missing crosshair hint value when arming/disarming landmine/dynamite * Do not play poison syringe hit sound on clients that we can't poison * Missing weaponstats for Poison gas landmine * Missing obituary message for MOD_POISONGASMINE * Landmines ammo count could be wrong when too many map mines were planted (on baserace for example) * Don't draw crosshair mine ID for map mines * Spree/Multikill announce position now changes when client receives a notification popup * Couldn't vote to enable friendly fire if other bitflags than 1 were set on g_friendlyFire * New gametypes were missing in votes menu + n_greetingPos + n_killAssistances + n_noSkillUpgrades + n_tankMountDelay + n_standCrouchDelay + n_crouchStandDelay + n_reviveSpreeOptions + n_minNameLength + n_crazyGravity + n_crazyGravityMin + n_crazyGravityMax + n_crazyGravityInterval + n_multiReviveTime + n_LogCurrentTime + g_DMOptions flag 16384: Enable intermission map voting + g_dualSMG flag 2: Drop both primary weapons when players go into limbo mode + g_poison flag 8: Can't cure poison with medpacks dropped by our poisoner (Requires g_poison flag 2 to be enabled) + omnibot_flags flag 65536: Bots will use Poison Gas Landmines (if enabled) rather than normal Landmines + g_hitboxes flag 16: Players can avoid bullet impacts when they are behind a player who has just been revived (Default ET behavior) + g_realbody flag 2: body hitbox height lowered to shoulders + g_realbody flag 4: Dead/Prone/Playdead hitboxes height lowered + g_realbody flag 8: Crouch hitbox lowered to shoulders (more than original ones) + cg_pmColor client cvar: Private messages color (Ex: cg_pmColor "1" will display red pm) + cg_noGreetingSounds cvar: Let clients disable greeting sounds if they don't want to hear them + ETPub style scoreboard double tap to sort players by XP or K/D + demo_wallHack client cvar, allow using "real" wallhack during demo playback + Global stats can be displayed in game using "globalstats" command (automaticly bound to "N" key if not bound to another key) + Client notification popups (First blood, incoming PM/Adminchat, warnings...) + cg_notificationFadeTime & cg_notificationTime cvars to customize notification popups + "minimize" command (windows only) + ETPro crosshairs (up to cg_drawCrosshair 15) + ETPro style Extended ASCII characters support + Player's hit regions stats during intermission + "Best Revive Spree" Award + "Best Engineer" Award: Most objectives planted/defused/destroyed/constructed + "Best CovertOps" Award: Most uniform steal, satchel kills, satchel destructions, landmines spotted + "Best FieldOps" Award: Most ammo given, most tank/trucks destroyed with arty/airstrike + True player count in the server browser (requires original .menu file, don't forget to update your custom pk3s with this new file if needed) + Adminchat window (similar to the normal chat box) + globalstats in N!tmod>Controls menu + adminchat window N!tmod>Controls menu + Backstabs & UniformSteal stats are now sent to the master server + Client game version is now displayed in !finger output + Custom commands [i] tag will now be replaced by the player's slot number + Revive spree records are now stored in the SQLite database (inside "records" table, like other map records) + New map records are now announced during intermission, previous records are also announced for comparison + !crazygravity command: Toggle Crazy Gravity ~ Shuffle is now based on player's Global + local KD Ratio (local KD ratio only if global stats were not retrieved from the master) ~ Increased database max users from 32768 to 65536 ~ g_revenge: Revenges give +1xp ~ Updated SQLite to version 3.8.5 (previous version: 3.7.6.2) ~ Improved SQLite code to process queries faster ~ Improved entities code (Should considerably reduce server CPU usage on maps with a lot of entities or servers with a lot of players) ~ Artillery code now uses less entities ~ New Inactivity code: Old one was buggy and used to add some useless delays ~ Improved hit detection code for default hitboxes ( g_hitboxes 0) ~ New "votes.db" syntax (see http://etmods.net/nitmod_install.php) - n_SQLiteLogs cvar LUA API: + et_ReceivedGlobalStats(clientNum, statsBuffer) callback function It is called whenever server receives global stats for a player. 'clientNum' is the clientNum of the client whose stats have been received 'statsBuffer' contains space separated values: KILLS DEATHS TEAMKILLS TIME_PLAYED REVIVES TRIPMINE_KILLS GOOMBAS SCOPED_HEADSHOTS FLAMETHROWER_KILLS CONSTRUCTED_OBJS DESTROYED_OBJS ROUNDS_PLAYED SATCHEL_KILLS BACKSTABS STATS_UNIFORMSTEAL + LUA: ReadOnly access to sess.aWeaponStats * G_LuaHook_ConsoleCommand was missing * et_ClientBegin( clientNum ) callback is now only called once per map (ETPro behavior) + et.G_PlayerCount(type) function : et.G_PlayerCount(0) = Total number of connected players et.G_PlayerCount(et.TEAM_AXIS) = Total number of axis players et.G_PlayerCount(et.TEAM_ALLIES) = Total number of allied players et.G_PlayerCount(et.TEAM_SPECTATOR) = Total number of spectators Tripmine code has been completely reworked: Tripmines now need to be armed Once a tripmine is armed, it takes 1 second to become active (the beam is a little transparent when it's not active) If it's not armed, a tripmine will fade after 15 seconds It is impossible to arm an enemy tripmine Tripmines can be disarmed (they always did) Tripmines can be damaged (2 SMG shots) if g_damageweapons flag 32 is set (no big change here) Fixed: team tripmine counter was not adjusted if a player disconnected/changed team and n_tripmineTimeout was enabled Once a tripmine is placed, player will automatically switch to pliers to arm it NxAC: + Client Cvars Scanner + Client binary checksum verification + Cvar violations are now reported to ETMods.net master server + Cvar Scanner warnings (n_NxAC_CvarScanMaxWarnings) before kick + Semi-working cheat detection (detected cheaters will be reported to adminchat and added to the server's NxAC violations log) + server side "getss" command: /getss [name|slot#] (JPEG Quality: min 10 max 100 default 70) Remote screenshots are now saved inside "nitmod/NxAC/screenshots" on server, player informations are saved in a .txt file near the screenshot file (names are the same, only the extension changes) If remote screenshot fails, a violation is triggered, logged, and reported to adminchat