Giter Club home page Giter Club logo

mgemod's Introduction

MGEMod Build Status

A 1v1 and 2v2 training mod for Team Fortress 2

For more info on MGEMod, see its AlliedMods thread and its TF2Wiki page.

Downloading

  • Navigate to the releases Releases page, and download mgemod.zip for the specific release you'd like.

Known issues

mgemod's People

Contributors

7x11x13 avatar acidz3r0 avatar anarcho-loneliness avatar cprice1771 avatar d4rklord avatar jameless avatar ldesgoui avatar lolsteve avatar ntraum avatar qiasfah avatar thesupremecommander avatar toakan avatar twistedduck avatar walliski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

koi-tf2

mgemod's Issues

Console spam

Hey again.

For some odd reason, my console is being spammed with:
"DataTable warning: player: Out-of-range value (97364.218750/65536.000000) in SendPropFloat 'm_flLastDamageTime', clamping."

Thanks,

  • James

Snakewater map spawn issues

Occasionally when you are playing on the Snakewater arena - you will be spawned underneath the ground instead of in the actual arena. All the other maps seem to be ok but Snakewater isn't.

This doesn't seem to be an issue on my behalf unlike yesterday since it's a spawn issue.

Thanks,

  • James

Grammar problem in the readme.md

"For more info on MGEMod, see it's AlliedMods thread and it's TF2Wiki page."

fix:
"For more info on MGEMod, see its AlliedMods thread and its TF2Wiki page."

SQL suggestion

I recommend the 'CREATE TABLE' SQL line should point out the charset ( 'utf8_unicode_ci'). If not, when using other non-utf8 charset as default, the database will not correctly record some chars.

Like me, currently using GBK charset as default, so all Chinese chars become "??" in database... of course, I manually changed the charset to utf8_unicode_ci and now it works correctly.
qq20130731202921

Engine Error

I updated from 2.0.3 to 2.0.8 today and now as soon as anyone connects to the server the TF2 client crashes with the following error:
Model models/Gibs/wood_gib01e.mdl not found and models/error.mdl couldn't be loaded

Not seeing any server errors (besides translation errors which have always happened) indicating what the issue could be.

Simplified Chinese localization

Remember to save as UTF8 format.

// colors:
// player names - {lightgreen}
// arena name - {greeen}
// info/tip - {olive}
// numbers - {green}

"Phrases"
{
    "MenuTitle" //No colors here.
    {
        "chi"           "加入竞技场……"
    }
    "MenuRemove" //No colors here.
    {
        "chi"           "退出队列"
    }
    "HPLeft"
    {
        "#format"       "{1:i}"
        "chi"           "{green}[MGEMod]{default} 您的对手还剩 {green}{1}{default} 生命值。"
    }
    "Adv"
    {
        "chi"           "{olive}键入 {default}!add{olive} 打开菜单并加入竞技场,键入 {default}!mgehelp {olive}查看帮助。"
    }
    "JoinsArena"
    {
        "#format"       "{1:s},{2:i},{3:s}"
        "chi"           "{lightgreen}{1}({2}){default}加入了竞技场:{green}{3}"
    }
    "JoinsArenaNoStats"
    {
        "#format"       "{1:s},{2:s}"
        "chi"           "{lightgreen}{1} {default}加入了竞技场:{green}{2}"
    }
    "ChoseArena"
    {
        "#format"       "{1:s}"
        "chi"           "您选择了竞技场:{green}{1}"
    }
    "NextInLine"
    {
        "chi"           "您排在{green}下一位{default}上场。"
    }
    "InLine"
    {
        "#format"       "{1:i}"
        "chi"           "您排在队列中第 {green}{1}{default} 位。"
    }
    "GainedPoints"
    {
        "#format"       "{1:i}"
        "chi"           "您得到了 {green}{1}{default} 分。"
    }
    "LostPoints"
    {
        "#format"       "{1:i}"
        "chi"           "您丢掉了 {green}{1}{default} 分。"
    }
    "MyRank"
    {
        "#format"       "{1:i},{2:i},{3:i}"
        "chi"           "您的综合战斗力:{green}{1}{default}。胜场数:{green}{2}{default},负场数:{green}{3}{default}。"
    }
    "MyRankNoRating"
    {
        "#format"       "{1:i},{2:i}"
        "chi"           "您的胜场数:{green}{1}{default},负场数:{green}{2}{default}。"
    }
    "ClassIsNotAllowed"
    {
        "chi"           "{olive}不允许使用该职业。"
    }
    "LowRating"
    {
        "#format"       "{1:i},{2:i}"
        "chi"           "您的综合战斗力 {green}{1}{default} 太低了,达到了最小值 {green}{2}"
    }
    "HighRating"
    {
        "#format"       "{1:i},{2:i}"
        "chi"           "您的综合战斗力 {green}{1}{default} 太高了,达到了最大值 {green}{2}"
    }
    "XdefeatsY"
    {
        "#format"       "{1:s},{2:i},{3:s},{4:i},{5:i},{6:s}"
        "chi"           "{lightgreen}{1}{default} (得分:{2}) 打败了 {lightgreen}{3}{default}(得分:{4})(总场次:{green}{5}{default},竞技场:{green}{6})"
    }
    "XdefeatsYearly"
    {
        "#format"       "{1:s},{2:i},{3:s},{4:i},{5:s}"
        "chi"           "{lightgreen}{1}{default} (得分:{2}) 打败了 {lightgreen}{3}{default}(得分:{4})(竞技场:{green}{5})"
    }
    "SpecRemove"
    {
        "chi"           "{olive}对决时不能进入观察员。您已被移出队列。"
    }
    "ClassChangePoint"
    {
        "chi"           "{olive}您在对决中更换了职业,因此罚您一分。"
    }
    "ClassChangePointOpponent"
    {
        "chi"           "{olive}您的对手在对决中更换了职业,因此罚他一分。"
    }
    "Welcome1"
    {
        "#format"       "{1:s}"
        "chi"           "{olive}欢迎来玩 MGEMod,插件版本:{lightgreen}{1}"
    }
    "Welcome2"
    {
        "chi"           "{olive}地图作者{default}:{lightgreen}Swaty{default}、{lightgreen}CB"
    }
    "Welcome3"
    {
        "chi"           "{olive}插件作者{default}:{lightgreen}Lange、Cprice{default},汉化:{lightgreen}888"
    }
    "Top5Title" //No colors here.
    {
        "chi"           "最顶尖的五名玩家"
    }
    "top5error"
    {
        "chi"           "[MGEMod] 数据库中尚未收集到足够玩家数据。"
    }
    "bballdunk"
    {
        "#format"       "{1:s}"
        "chi"           "{lightgreen}您{default}在 {lightgreen}{1}{default} 成功投篮!"
    }
    "Cmd_MGECmds"
    {
        "chi"           "[MGEMod] 帮助:命令简介"
    }
    "Cmd_SeeConsole"
    {
        "chi"           "[MGEMod] 请查看控制台输出。"
    }
    "Cmd_MGEMod"
    {
        "chi"           "[MGEMod] mgemod\t - 主菜单"
    }
    "Cmd_Add"
    {
        "chi"           "[MGEMod] add\t - 格式:add <竞技场号/竞技场名称> - 加入指定竞技场"
    }
    "Cmd_Remove"
    {
        "chi"           "[MGEMod] remove\t - 退出当前竞技场。"
    }
    "Cmd_First"
    {
        "chi"           "[MGEMod] first\t - 加入首个可用的竞技场。"
    }
    "Cmd_Top5"
    {
        "chi"           "[MGEMod] top5\t - 显示总排名前五的玩家列表。"
    }
    "Cmd_Rank"
    {
        "chi"           "[MGEMod] rank\t - 格式:rank <玩家名称> - 显示指定玩家的排名。"
    }
    "Cmd_HitBlip"
    {
        "chi"           "[MGEMod] hitblip - 开启或关闭命中声音。"
    }
    "Cmd_Hud"
    {
        "chi"           "[MGEMod] hud\t - 开启或关闭 HUD 文本信息。"
    }
    "Cmd_Handicap"
    {
        "chi"           "[MGEMod] handicap - 开启让步,可以减少您的最大生命值。键入“!handicap off”可以关闭。"
    }
    "NoClassChange"
    {
        "chi"           "{olive}当前您不能更换职业。"
    }
    "DatabaseDown"
    {
        "#format"       "{1:i}"
        "chi"           "Database connection failed, disabling stats.\nA reconnect will be attempted in {1} minutes."
    }
    "StatsRestored"
    {
        "chi"           "Database connection restored, refreshing stats...\nStats restored."
    }
    "StatsRestoredDown"
    {
        "chi"           "Database is up, but stats are administratively down."
    }
    "MustJoinArena"
    {
        "chi"           "{olive}您必须先加入一个竞技场!"
    }
    "NoCurrentHandicap"
    {
        "#format"       "{1:i}"
        "chi"           "{olive}您目前还没有开启让步呢。"
    }
    "CurrentHandicap"
    {
        "#format"       "{1:i}"
        "chi"           "{olive}您当前的让步方案:{lightgreen}{1} {olive}最大生命值。"
    }
    "InvalidHandicap"
    {
        "chi"           "{olive}您设定的让步方案无效。让步已关闭。"
    }
    "HandicapDisabled"
    {
        "chi"           "{olive}让步已关闭。"
    }
}

Reimplement Control Point Captures

Pretty much to implement more various maps like ultiduo_baloo, this is needed.

The proposed idea is to have map control points be actual control points and hook the control point events rather than the model events.

This would be a major change invalidating current maps, so probably better for 2.1 or something like that.

!handicap command doesn't work after winning the point

Hi,
I found a bug with the handicap command where it doesn't clip your health after you win the point. You still gain the health buff you would normally receive if you weren't playing with the handicap. It works fine if you lost the point and died, however. I would very much appreciate it if it were working again. :)

Endlessly generated log files

MGEMod (version (2.0.9.2)) has been filling soucemod/logs error files with:

L 10/25/2015 - 13:23:54: [SM] Call stack trace:
L 10/25/2015 - 13:23:54: [SM] Exception reported: Plugin not runnable

endlessly about 50 lines per second until the log file reaches 2GB then starts over as a new file.

"MGEMod" (2.0.9.2) by Lange & Cprice; based on kAmmomod by Krolus.
SourceMod Version: 1.8.0.5717
SourcePawn Engine: SourcePawn 1.8, jit-x86 (build 1.8.0.5717)
SourcePawn API: v1 = 4, v2 = 10
Compiled on: Oct 24 2015 16:17:46
Built from: https://github.com/alliedmodders/sourcemod/commit/6042518
Build ID: 5717:6042518

Full log:

L 10/25/2015 - 13:23:53: [SM] Exception reported: Map not supported. MGEMod disabled.
L 10/25/2015 - 13:23:53: [SM] Blaming plugin: mgemod.smx
L 10/25/2015 - 13:23:53: [SM] Call stack trace:
L 10/25/2015 - 13:23:53: [SM] [0] SetFailState
L 10/25/2015 - 13:23:53: [SM] [1] Line 433, mgemod.sp::OnMapStart()
L 10/25/2015 - 13:23:54: [SM] Exception reported: Plugin not runnable
L 10/25/2015 - 13:23:54: [SM] Call stack trace:
L 10/25/2015 - 13:23:54: [SM] Exception reported: Plugin not runnable
L 10/25/2015 - 13:23:54: [SM] Call stack trace:

I think this may be related to this bug with timers https://bugs.alliedmods.net/show_bug.cgi?id=6338

Out of bounds

Our error log shows a lot of these:

[SM] Plugin encountered error 15: Array index is out of bounds
[SM] Displaying call stack trace for plugin "mgemod.smx":
[SM]   [0]  Line 436, mgemod.sp::OnMapStart()

It seems the size of g_bTimerRunning is MAXARENAS + 1 (32), but the loop is going from 0 to less than MAXPLAYERS (64).

2 Vs 2 Winner/Loser Names Error

Hello guys anytime you win 2 vs 2 1 of the winner name gets displayed also as a loser name here's an example {GPG} Mr.Smizer and Lucario Batfoxkid (Score:20) defeats Olitude and Lucario Batfoxkid (Score:1) in duel to 20 on Granary Middle [2 vs 2]

So i was on the same team as Smizer and we won my in game Name is {GPG} Waka Flocka Flame
but instead it thinks i'm lucario which is the loser team red team. This is a bug here's how it should be {GPG} Mr.Smizer and {GPG} Waka Flocka Flame (Score:20) defeats Olitude and Lucario Batfoxkid (Score:1) in duel to 20 on Granary Middle [2 vs 2]

if anyone knows a fix for the 2 vs 2 winner/loser names please post it thanks

Set up CI to automatically compile and release binaries

I don't play TF2 anymore, but I also can't really trust other people to compile binaries for MGEMod because MGEMod is trusted by a vast number of server operators, and I need to be able to guarantee that no malware is being shipped in the binaries I release.

There are community members still making good pull requests to this repo, but I haven't had a SourceMod dev environment set up in years, and it'd be really nice if I could just merge PRs and have CI take care of compiling and releasing new binaries. This would make it possible for me to still do code reviews on PRs, but not have to spend time fumbling with compilation and cutting releases manually.

Completely black area on spawn and cannot use any MGE commands.

Hey,

Upon joining the server running MGE, I spawn in a black area with no light whatsoever. As well as this, I am unable to use any MGE commands.

I have seen other people with the same issue, but they never describe how they resolved it - it's either "Someone fixed it for me" or a forum post with no response.

If you'd be able to help, that would be great as I've been trying to install MGE and fix that issue for around 4 days now haha.

Thanks,
- James

mgemod.smx file missing

I don't know if this is intentional or not but I was just struggling for a while to install the MGE plugin (first time installing sourcemod mods) and the .smx file is just missing from the latest release. It took me a while and I just downloaded an old version (2.2.0) but 2.2.1 is missing the /addons/sourcemod/plugins folder entirely.

Probably not a problem for someone updating, but this is the version (2.2.1) linked from https://forums.alliedmods.net/showthread.php?p=1448559 so anyone who is installing it for the first time may not identify the missing file.

Problem with database INSERT query

There is a problem with database INSERT Query:

L 04/17/2013 - 15:11:36: [mgemod.smx] Query failed: Table 'mge2.mgemod_duels_2b2' doesn't exist
L 04/17/2013 - 15:11:36: [mgemod.smx] Lost connection to database, attempting reconnect in 5 minutes.
L 04/17/2013 - 15:16:36: [mgemod.smx] Database connection restored.

@ Line 1959 mgemod.sp: Table mgemod_duels_2v2 is mispelled mgemod_duels_2b2

WebUI bugs

The code expects that the result of a mysql_query is always an array, but this is not true when no data is returned.

Code like this

$sql = 'SELECT * FROM `mgemod_duels`...';
$output = $mgestats->mysql_query_stats($sql);

$counter = 0;
while($counter < count($output))
{
   ...
}

is buggy because count($output) is 1 when $output is a boolean (false).

Crits Bug

Hello so a friend and I found a bug where if you go phlog pyro then use the crit taunt then after the taunt switch to another class you still have the crits for a little while

Contribution style guide?

Does this repo have a contribution style guide?
The most pertinent thing I'm wondering about is Sourcepawn syntax.
The plugin is written in Sourcepawn's "old" syntax, but since I'm newer to SP I write in the "new" 1.7+ transitional syntax. Would a pull request that includes TS (thus creating conflicting syntax) be allowed?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.