Raised This Month: $32 Target: $400
 8% 

Sven Cooperative Experience Mod [Current Version: 17.0]


Post New Thread Reply   
 
Thread Tools Display Modes
Gordon_Freeman_
New Member
Join Date: Jun 2016
Old 06-09-2016 , 07:43   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #901

Quote:
Originally Posted by gordonfreeman (ru) View Post
d:
Сейчас бы плагины amxx компилировать в висуал студии.
Это плагин, тебе нужно найти инфу как компилить плагины амхх.
Если не разобрался, то кнопочка "get plugin".

https://wiki.alliedmods.net/configur..._mod_x#plugins
Мне нужна актуальная версия этого плагина. Еще мне нужна инструкция по установке.
Gordon_Freeman_ is offline
swampdog
Junior Member
Join Date: Jul 2016
Location: California
Old 07-21-2016 , 16:22   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #902

Thanks to Silencer for the original plugin design and work, and thanks to those who contributed up to version 17.31.4.

I decided to release my Sven Co-op 5.0 server configuration hoping that support for Experience mod will continue to exist from the developers of Sven Co-op, since it is a popular mod right now.

Here is my version of Sven Co-op Experience Mod, based on "scxpm_wrd" version 17.31.4. It is designed to hopefully stop some of the malfunction it causes in some maps or with code processing times. This version is currently "17.31.28". I am going to start working on adding on to the code, and I don't know if any newer version is going to be better or worse so I am releasing this now while I think it is still good.

I know this needs a lot of work and could be much more efficient, but I want to offer something now while I can. Future updates to this code and more information about it can be found at http://www.bitbucket.org/modriot/scxpm The version I am uploading here is only different because I put all the code into 1 file instead of including the code in several files for easier reading and organization. There is no difference between these two separate plugin organization schemes. For ease of use I just included it all in one file to upload here.

I will give a detailed list of cvars and skill functions in an edit of this post or in a future post. There is so much changed to this version that it will be very hard to explain without actually giving an in-depth explanation of why I changed everything the way I did. Sven Co-op 5.0 server hosting with AMXX is a very interesting situation. I felt it was absolutely necessary to make the changes to the code at least as a temporary work-around to stop some problems that were happening with the older versions. I hope someone enjoys this It has been a lot of fun working on the code and hosting populated Sven Co-op 5.0 servers running AMXX.

Included in the repository are map config files designed to help reduce the amount of processing with "maxhealth" and "maxarmor" variables set to the max level of HP / Armor (max = 645). In this version of Experience Mod, there is a cvar designed to disable every skill using per-map configuration. I designed this system to load 1 of 31 loops that runs every second, determined by the combination of 5 different cvars: "scxpm_hpregen", "scxpm_nano", "scxpm_ammo", "scxpm_teampower", "scxpm_block" (all the skills that run in the scxpm_regen function). All of the skills (except "Awareness") may be turned on or off by setting the cvar to "1" for on and "0" for off.

I added in a medal / xp trading system, and a "frag bonus" system for getting a certain amount of frags (win a medal or xp after a certain amount of frags). I also integrated the Monster XP plugin from SuperHeromod found here: https://forums.alliedmods.net/showth...=75535?t=75535
I also added in a speed control feature designed to stop speed runners in Sven Co-op with a command or by injury with the "Damage" event. If the "Damage" event is being used, it will also stop regeneration skills from working for 5 seconds. (Credit to Jonnyboy0719 for the Event_Damage idea to pause the regeneration skills)

I believe I have nearly completed support for Counter-Strike 1.6 functionality with SCXPM, although there are surely better ways to handle the code than what I have set (such as using Ham Sandwich for many things). I would have tried to use Ham Sandwich more with Sven Co-op, but it has not been very stable for me to work with. This version does not work well with Counter-Strike bots yet.

Please let me know if I should include all the map configuration files I have customized in a zip file here, or if it isn't advised to do so. I don't mind sharing all the custom configuration work I have done and would really like to do so. Otherwise, it can be found in the repository linked above. I may or may not upload future versions to this site, so it is probably best just to go to the repository anyways.


A full list of cvars, which should be placed in amxx.cfg, and/or in per-map configs "amxmodx/configs/maps/mapname.cfg":
scxpm_save 2
scxpm_debug 0
scxpm_save_frequent 0
scxpm_gamename 0
scxpm_maxlevelup_enabled 1
scxpm_maxlevelup 10
scxpm_maxlevelup_limit 100
scxpm_xpgain 5
scxpm_minplaytime 60
// swampdog added cvars:
scxpm_health 1 // Health skill control
scxpm_armor 1 // Armor skill control
scxpm_hpregen 1 // Health Regeneration skill control
scxpm_nano 1 // Nano Armor skill control
scxpm_ammo 1 // Ammo Reincarnation skill control
scxpm_gravity 1 // Anti-Gravity device skill control
scxpm_teampower 1 // Team Power skill control
scxpm_block 1 // Block attack skill control
scxpm_fraglimit 500 // Frag limit for how many frags before being awarded a medal or XP
scxpm_bonus 100 // Bonus amount, based on calculation determined by "Rank" level
scxpm_counter 4 // The "counter" I installed to slow down low-level players from saving experience (floods mysql database otherwise) - Amount of times counted through loop before saving data (?) I might need to make a better explanation this feature later. ( I don't recommend changing this )
scxpm_savectrl 1 // Turns on the save control feature I installed to stop players with low levels from saving too often ( I don't recommend turning this off )
scxpm_speedctrl 0 // Turns speed control on or off, where a player will be slowed down when damaged
scxpm_speedamt 100 // Amount of speed reduced from "get_user_maxspeed" - in Sven Co-op this would be "set_user_maxspeed(id, 270-100)" in most cases.

MySQL database information should be included in "xp-sql.cfg" located in the configs directory "amxmodx/configs/xp-sql.cfg".

The only part of the code I would really, really like to take full credit for is the CVAR combination code. I am hoping this system can actually be applied to other mods as well using 5 separate cvars in combination to generate a separate outcome for each combination.

Use this plugin at your own risk I take no responsibility for your use or misuse of this plugin. It is mostly here just for research purposes and to try to offer an alternative to the older versions of the Sven Co-op Experience Mod. I want to share my work because I believe it is somewhat beneficial for the design of Sven Co-op 5.0.
Attached Files
File Type: sma Get Plugin or Get Source (scxpm_modriot.sma - 1344 views - 200.8 KB)
File Type: inc bit.inc (3.1 KB, 517 views)
File Type: cfg xp-sql.cfg (141 Bytes, 499 views)

Last edited by swampdog; 07-21-2016 at 17:07. Reason: Give Jonnyboy0719 credit
swampdog is offline
swampdog
Junior Member
Join Date: Jul 2016
Location: California
Old 07-21-2016 , 16:43   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #903

Quote:
Originally Posted by farewell View Post
Hello I have a problem with my mode SCXPM VERSION "17.0" The problem is that the players can't save exp, lv. Players have a space in nick for example: Speed Sniper or different special signs: *,[,^,% etc. it saves exp only for players who have simple nick (I mean nick without space) Please help me.

Please help me !
scxpm_savestyle set to "2" will save by name. Try setting scxpm_savestyle to "0" for saving by SteamID, or "1" for saving by IP address. I this might be a bug in AMXX (1.8.2?) dealing with saving to vault file with spaces in names. I tried to figure it out but didn't get very far. Put the scxpm_savestyle cvar setting into the amxx.cfg file. I am not sure if this has been fixed in an AMXX 1.8.3 version or not yet.

Last edited by swampdog; 07-21-2016 at 16:44.
swampdog is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 07-21-2016 , 16:49   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #904

Quote:
Originally Posted by swampdog View Post
(snip)
Curious, why didn't you fork Wrd's?

Also, yours still have serious problems that are also present with Vanilla's SCXPM.

First, Nano-Armor, armor in SC5 gives a MASSIVE amount of damage resistance which can be heavily abused. (not really your fault or Silencer's)

Secondly, Dodge (Block Attack) still relies on setting godmode on and off. Which can be used by speedrunners to bypass trigger_hurt entities. (better idea: hook Ham_TakeDamage pre, roll and supercede. You can always ignore the hook on trigger_hurt and worldspawn(gravity))

Regeneration Cooldown is a really good idea and it's pretty good it's actually implemented in new versions of SCXPM, I did implement it in our private SCXPM fork (SCXPM #MOtV) months ago and it has worked well enough. I take it you took the idea from there?
__________________

Last edited by gabuch2; 07-21-2016 at 16:56.
gabuch2 is offline
swampdog
Junior Member
Join Date: Jul 2016
Location: California
Old 07-21-2016 , 17:03   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #905

Fork wrds? Isn't 17.31.4 Wrd's version? That is what this is based on and built on top of. I "fixed" quite a few imbalanced things about the 17.31.4 version. It is actually much weaker than I remember SCXPM ever being.

I got the Event_Damage idea from Jonnyboy0719's Sven Co-op RPG Mod when he was developing it months ago. If you look at the repository you will see I gave credit to him in there for that. Why don't you try it out and see how it works? I actually wrote in most of the changes and additions made to this plugin and borrowed very few ideas from anyone other than Jonnyboy0719. His RPG Mod can be found here https://github.com/jonnyboy0719/Sven-Coop-RPGMod . If you look in the link to the bitbucket repository I made, there is a "scxpm_credits.txt" in documentation. Some of the information can be found in there or in "changelog.txt".

By the way, I don't even know if this is where I am supposed to put the plugin. I tried to find a rule, and figured it would just be better to put it in this thread than submit as a new plugin. If it needs to be moved or trashed that is fine lol..

Last edited by swampdog; 07-21-2016 at 17:04.
swampdog is offline
gabuch2
AlliedModders Donor
Join Date: Mar 2011
Location: Chile
Old 07-21-2016 , 17:10   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #906

Never heard about that mod, that's pretty cool lol.

Since you are making a lot of improvements to the original plugin, you might as well create a new Thread (just like addons_zz' Galileo) as long you do maintain the plugin from now on. (posting the plugin and never return will likely to get it trashed)

It also might be more visible for other server operators, unlike Wrd's. (I'm also wondering why vanilla SCXPM hasn't been unapproved, since Silencer pretty much doesn't want to hear anything about SCXPM and all the issues the plugin has with SC5)
__________________

Last edited by gabuch2; 07-21-2016 at 17:12.
gabuch2 is offline
Tonblader
Senior Member
Join Date: Jul 2011
Location: Peru
Old 09-20-2016 , 01:46   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #907

Quote:
Originally Posted by swampdog View Post
Thanks to Silencer for the original plugin design and work, and thanks to those who contributed up to version 17.31.4.
Is possible can add to the command "resetskills / scxpminfo" can only use by ADMIN_LEVEL_H ?
I try it in cmdacces.ini , but not work:

"resetskills" "t" ; scxpm_modriot.amxx
"scxpm_reset" "t" ; scxpm_modriot.amxx



And have a bug with the skill "Strengtn".
Suppose you are level 600 and have 600 of life, then when you have little life, you can write "resetskills" and return the points to "force points" to 600 and your life will rise again to 600.
And the same bug occurs with "Superior Armor"

Last edited by Tonblader; 09-20-2016 at 01:57.
Tonblader is offline
swampdog
Junior Member
Join Date: Jul 2016
Location: California
Old 09-21-2016 , 20:02   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #908

Quote:
Originally Posted by Tonblader View Post
Is possible can add to the command "resetskills / scxpminfo" can only use by ADMIN_LEVEL_H ?
I try it in cmdacces.ini , but not work:

"resetskills" "t" ; scxpm_modriot.amxx
"scxpm_reset" "t" ; scxpm_modriot.amxx
Thanks for reporting these issues.

If you are trying to use these commands from console with Sven Co-op 5, it probably won't work. I think there has been a change made to their engine or game code which disabled certain commands from working like this. I could be wrong but I do know what problem you are referring to. "scxpm_reset" is not a command, it is a function. You can limit access for resetting skills to admin levels by checking the level of the person's admin access before allowing the "resetskills" chat command to fully process also. I might add this on with a cvar if it seems like a good idea.

Quote:
And have a bug with the skill "Strengtn".
Suppose you are level 600 and have 600 of life, then when you have little life, you can write "resetskills" and return the points to "force points" to 600 and your life will rise again to 600.
And the same bug occurs with "Superior Armor"
I figured someone would find this exploitable, so I have actually programmed a work-around to prevent the exploitation. I haven't uploaded that version to the forums here yet and am still working on it. Unfortunately if the "reset check" is implemented, it will only allow a player to reset skills once per life. This would still be able to be exploited, but not as many times. I am sure there is a better way to handle this, and I took this into consideration shortly after uploading the plugin on these forums.

Here is a more current version of the code including this implementation:
https://bitbucket.org/modriot/scxpm/..._full.sma-4133

I updated the version of my work but I haven't uploaded it on the forums here yet. You can download the source code files from the repository, which will likely always have a more recent version than the one on this forum. I will eventually upload another version to the forums here and include more information when I am done with my current work. I might possibly submit it as a separate plugin since it is becoming more and more different from the original versions.
swampdog is offline
Tonblader
Senior Member
Join Date: Jul 2011
Location: Peru
Old 09-24-2016 , 21:55   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #909

A friend says there is a bug with the "trademedal" says that he was given a medal when use the command, but i dont know at what time.

Fantastic idea, the command "amx_cvar scxpm_fraglimit 100" to give a medal every 100 frag-scorepoints, to avoid competitive or rusher's players in the maps, the reason, easy, svencoop is a cooperative game, no competitive.

If possible, add a new command to the limit that will be won by each "amx_cvar scxpm_fraglimit 100" and once reached this limit, you can not get more medals and can not get more score (Set to: 0 frag-scorepoints until the end of the current map and restarted again).

Example:
"scxpm_limitperfrag 3" - Only can win 3 medals (max) per each 100 frag-scorepoints, if the value is 0, can win infinity medals.

Thanks for you support swampdog

Last edited by Tonblader; 09-24-2016 at 22:56.
Tonblader is offline
swampdog
Junior Member
Join Date: Jul 2016
Location: California
Old 09-30-2016 , 13:46   Re: Sven Cooperative Experience Mod [Current Version: 17.0]
Reply With Quote #910

Quote:
Originally Posted by Tonblader View Post
A friend says there is a bug with the "trademedal" says that he was given a medal when use the command, but i dont know at what time.
I think I may know which bug you are referring to and I think I have fixed it since this version I uploaded here.

Quote:
Originally Posted by Tonblader View Post
If possible, add a new command to the limit that will be won by each "amx_cvar scxpm_fraglimit 100" and once reached this limit, you can not get more medals and can not get more score (Set to: 0 frag-scorepoints until the end of the current map and restarted again).

Example:
"scxpm_limitperfrag 3" - Only can win 3 medals (max) per each 100 frag-scorepoints, if the value is 0, can win infinity medals.
I believe I have also already added part of this idea in a newer version here https://bitbucket.org/modriot/scxpm/...t_full.sma-504 it is the "bonuslimit" which only allows for X amount of times medals bonus can be won per map. The default is 1, so a server admin would need to change it to 0 to allow for unlimited bonuses given after the frag limit is reached.

I don't know how easy or possible it would be to keep a player's score set to 0, but that is an idea I will also consider adding on. Unfortunately Sven Co-op and SCXPM system are based on frag points which are sensitive to *_skl.cfg cvar settings, so it may be hard to find a balance with some maps.

There is probably a best way to handle the amount of frags a player can gain. An idea I have is using the scxpm regen loop to constantly check to see if a player's frags have updated. This could be added on to the scxpm_reexp function, but would need to be added before the frag calculation code begins. This is probably not the best way to handle it but it is simple and would probably work to do what you are mentioning.

Last edited by swampdog; 09-30-2016 at 13:47.
swampdog is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:32.


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