AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [TF2] SyncR Rocket Sync Trainer v0.8.8 (https://forums.alliedmods.net/showthread.php?t=251765)

AI_ 11-19-2014 02:46

[TF2] SyncR Rocket Sync Trainer v0.8.8
 
2 Attachment(s)
SyncR is a server-side SourceMod plugin for TF2 jump servers to assist rocket syncs.

Screencaps:

http://i.imgur.com/CtrGLiVt.jpg http://i.imgur.com/unVnRnDt.jpg http://i.imgur.com/b6JqszOt.jpg http://i.imgur.com/x8Ddkl0t.jpg

http://i.imgur.com/QZccP72t.jpg http://i.imgur.com/prkpUjst.jpg http://i.imgur.com/UoIqQ5rt.jpg

Technical demonstration:
http://www.youtube.com/watch?v=wqNsQ-erCd4 https://www.youtube.com/watch?v=zVh711KY-h4

Details:

Learning and executing syncs are tremendously difficult due to lack of visibility of the rocket due to aiming and ping limitations on a remote server. To mitigate these effects, the player must adjust their timing but learning this is inconsistent and difficult.

This plugin provides three visual and one audio feedback mechanisms:
  • Visual
    - The rocket time-to-impact is visualized via a colored laser emitted in front of the rocket (green to yellow and rose to red)
    - Player body overlapping with an existing rocket changes the laser to blue, i.e. for triple syncs (cyan to blue)
    - Crit rocket particles are attached to rockets launched sufficiently close to another
    - Player predicted landing positions are visualized on the ground in the form a ring
    - Distance to impact for the player and rockets are shown in a chart on the right of the screen
  • Audio
    - Similar to crit particles, upon firing a rocket amounting to a close sync to an existing rocket, a crit rocket sound plays. Test trials indicate this feedback to be very satisfying for some learning players.

Server ConVars:
Code:

syncr_laser [0/1]        - Show colored laser pointer
syncr_laser_all [0/1]    - Show colored laser pointer of all players using SyncR
syncr_laser_hide [0/1]    - Hides laser pointers when looking up
syncr_chart [0/1]        - Show distance to impact chart
syncr_ring [0/1]          - Show landing prediction ring
syncr_crit [0/1]          - Show sync crit particle
syncr_sound [0/1]        - Play sync crit sound
syncr_rave [0/1]          - Toggles disco/rave lasers for bored admins

syncr_warn_distance [Default: 440.0]  - Imminent rocket impact distance to warn with red
syncr_threshold [Default: 30.0]        - Distance required between rockets for crit feedback

Plugin dependencies: SourceMod 1.6.3+, SMLIB, Updater (optional)

Usage:

SyncR can be toggled by a player using /syncr, while admins with the slay flag can toggle for a player using /setsyncr <name>.

---
Coding is done by me while the JumpBOT recordings from the videos were done by Fractal and Aurora.

The project code is open-source GPLv3 and available to be tracked at https://bitbucket.org/GeominorAI/syncr

---
Changelog:
Spoiler

Drixevel 11-19-2014 09:24

Re: [TF2] SyncR Rocket Sync Trainer v0.6.0
 
Nice plugin!

Few tips:

Add an 'sm_' before the command 'syncr' to give it more compatibility with prefixes like '!' or '/'. If you want to keep the straight command usage, just register another one with the 'sm_' prefixed.

---

You can move the ConVar functions from 'OnMapStart' to 'OnConfigsExecuted' so they're always refreshed.

Code:

public OnConfigsExecuted()
{
  g_bPluginEnabled = GetConVarBool(g_hPluginEnabled);
  g_bLaser = GetConVarBool(g_hLaser);
  g_bLaserAll = GetConVarBool(g_hLaserAll);
  g_bCrit = GetConVarBool(g_hCrit);
  g_bSound = GetConVarBool(g_hSound);
  g_bRave = GetConVarBool(g_hRave);
 
  g_fWarnDist = GetConVarFloat(g_hWarnDist);
  g_fThreshold = GetConVarFloat(g_hThreshold);
}

---
Loops for clients should probably be this...

Code:

for (new i=1; i<=MaxClients; i++)
instead of this...

Code:

for (new i=0; i<MAXPLAYERS; i++)
Data being cleared like this is fine!

Code:

for (new i=0; i<MAX_ROCKETS; i++)
---

For your 'IsValidClient' function, you don't need to check if they're connected. You can just remove that portion and have 'IsClientInGame' return the value since clients have to be connected to be in-game.

Nice plugin friend!

AI_ 11-28-2014 06:33

Re: [TF2] SyncR Rocket Sync Trainer v0.7.0
 
Thanks for the feedback. I have incorporated some of the suggestions in the 0.7.1 release.

Here are the latest changes:
  • Fixed an occasional bug where rockets are missing lasers
  • Fixed access permissions for toggling SyncR on other players
  • Added admin command sm_setsyncr requiring admin slay flag
  • Tightened timings for syncr_threshold=30 and syncr_warn_distance=150
  • Added cvar syncr_laser_hide [0/1] (default 1) that hides the lasers when looking up at rockets during a sync
  • Added configuration file under cfg/sourcemod/syncr.cfg
  • Added support for Updater with a reliable web host
  • Minor code cleanup

AI_ 12-02-2014 08:11

SyncR 0.8.0 - Feature sneak peak
 
What if... you knew exactly where you will land?

---
http://i.imgur.com/uMdnmsKl.jpghttp://i.imgur.com/VOf8yeMl.jpghttp://i.imgur.com/Sr8Nh2Ol.jpghttp://i.imgur.com/ujTjHv2l.jpg

Coming soon to a SyncR v0.8.0 release.

AI_ 04-29-2015 09:14

SyncR 0.8.5 Prediction Update Released
 
An update (0.8.5) has been released for SyncR. The download is available via Bitbucket and through Updater, if installed.

http://i.imgur.com/QZccP72t.jpg http://i.imgur.com/prkpUjst.jpg http://i.imgur.com/UoIqQ5rt.jpg

https://www.youtube.com/watch?v=zVh711KY-h4

This update focuses on sync prediction features. Here are the latest changes:
  • Added distance to impact chart for the player character (PC) and rockets (R#)
  • Added landing prediction ring for predicted player ground impact
  • Enabled spectator view of a player using syncr laser, ring, and chart without requiring cvar syncr_laser_all=1
  • Reduced server and client load by lowering refresh rate
  • Fixed the occasional player unable to use syncr
  • Fixed the command sm_setsyncr notifying the wrong player
  • Removed need to set cvar syncr_laser_all for syncr_rave to be visible
  • Increased default for cvar syncr_warn_distance=440
  • Added cvars syncr_chart[0/1] (default 1) and syncr_ring[0/1] (default 1) to control visibility of the new prediction features
  • Calculations of distance between rockets (to compare cvar syncr_threshold) now weighs horizontal (0.7) and vertical disparities separately (0.3)

Known issues:
  • The landing prediction ring currently only works flat horizontal surfaces, and hides when an impact is predicted on a wall
  • The precision of the landing prediction ring and impact distances depend on the player's ping
  • The player character (PC) bar shows impact distances to any surface within the player's movement arc rather than just the ground

Upgrade steps
  • Replace syncr.smx from tf/addons/sourcemod/plugins with the new one
  • Due to the new cvars and changed recommended default values, delete tf/cfg/sourcemod/syncr.cfg and let the plugin recreate it

AI_ 04-30-2015 21:24

SyncR 0.8.6 Released
 
An update (0.8.6) has been released for SyncR. The download is available via Bitbucket.

Here are the latest changes:
  • Fixed possible crash when activating SyncR

AI_ 05-02-2015 03:53

SyncR 0.8.8 Released
 
An update (0.8.8) has been released for SyncR. The download is available via Bitbucket and through Updater, if installed.

Here are the latest changes:
  • Fixed gravity-related bug hiding the prediction ring

AcidZer0 10-15-2015 21:37

Re: [TF2] SyncR Rocket Sync Trainer v0.8.8
 
Hello!
How to default enable this plugin for all players ?

AI_ 10-16-2015 15:10

Re: [TF2] SyncR Rocket Sync Trainer v0.8.8
 
2 Attachment(s)
I do not recommend enabling it by default, since it will be distracting during wallpogos, but you can add this function to the code and recompile:

Code:

public OnClientPostAdminCheck(iClient) {
    g_rPlayers[iClient][bActivated] = true;
}


epicwindow 03-12-2018 13:59

Re: [TF2] SyncR Rocket Sync Trainer v0.8.8
 
Hello
is it possible to make it that it remembers you have turned syncr on so you dont have to turn it back on every map change?
thanks

also got this error
L 03/14/2018 - 19:54:19: [SM] Call stack trace:
L 03/14/2018 - 19:54:19: [SM] [1] Line 392, syncr.sp::Timer_refresh
L 03/14/2018 - 19:54:19: [SM] Exception reported: Array index is out of bounds
L 03/14/2018 - 19:54:19: [SM] Blaming: syncr.smx


All times are GMT -4. The time now is 13:57.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.