thapwned / wcs Goto Github PK
View Code? Open in Web Editor NEWWarcraft: Source using Source.Python to be faster, expandable, and flexible
License: GNU General Public License v3.0
Warcraft: Source using Source.Python to be faster, expandable, and flexible
License: GNU General Public License v3.0
https://cdn.discordapp.com/attachments/159002601646587905/537004806854672385/unknown.png
Some additional information, it does not seem that skill.execute works properly, it never fires the actual code for "player_ability".
Although the init is firing from the human_alliance folder on load, but never seem to be firing after it's been read once.
I've copied the full plugin from the latest build, and afterwards I'm pasting the races into the correct folder. The races is loading as I can choose them in changerace, and simple things like invisibility seems to work.
I cannot see that Im missing any files..
It used to be +ability and +ultimate, but I can't seem to figure out how to use them now... whats the new command?
wcs_centertell Unable to use Chinese Translation
hi, I saw that you said there is no plan to add levelbank, but would you agree to do one? i can pay you
I found some exceptions that got caught on our server launch with 20+ players on, giving some more log feedback.
Just reporting them here to keep track of them.
2021-03-26 17:12:52 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/commands/typed.py", line 594, in on_command
result = cls.on_clean_command(info, command_node, args)
File "../addons/source-python/packages/source-python/commands/typed.py", line 612, in on_clean_command
return command_node.callback(command_info, *cleaned_args)
File "../addons/source-python/plugins/wcs/core/helpers/esc/commands.py", line 1444, in wcs_xcentertell_command
players, message = _format_message(userid, name, args)
File "../addons/source-python/plugins/wcs/core/helpers/esc/commands.py", line 317, in _format_message
tokens[args[i]] = args[i + 1]
IndexError: tuple index out of range
-> ThaPwned: The first exception is caused by a race using wcs_xcentertell but uses an odd number of arguments
Eg.: `wcs_xcentertell argument1 value1 argument2 value2 argument3"
Thank you very much for helping you corrected the mistakes
L
2019-08-13 18:10:06 - sp - MESSAGE [SP] Chargement du plugin 'es_emulator'...
2019-08-13 18:10:06 - sp - MESSAGE [SP] Le plugin 'es_emulator' a été chargé avec succès.
2019-08-13 18:10:07 - sp - MESSAGE [SP] Chargement du plugin 'gungame'...
2019-08-13 18:10:08 - sp - MESSAGE [SP] Le plugin 'gungame' a été chargé avec succès.
2019-08-13 18:10:08 - sp - MESSAGE [SP] Chargement du plugin 'wcs'...
2019-08-13 18:10:09 - sp - WARNING
[SP] Avertissement rencontré:
File '../addons/source-python/plugins/wcs/core/modules/races/manager.py', line 199: UserWarning
Unable to find the default race "". Using "undead_scourge" as temporary default
race.
2019-08-13 18:10:09 - sp - MESSAGE [SP] Le plugin 'wcs' a été chargé avec succès.
2019-08-13 18:48:00 - sp - MESSAGE [SP] Chargement du plugin 'es_emulator'...
2019-08-13 18:48:01 - sp - MESSAGE [SP] Le plugin 'es_emulator' a été chargé avec succès.
2019-08-13 18:48:01 - sp - MESSAGE [SP] Chargement du plugin 'gungame'...
2019-08-13 18:48:02 - sp - MESSAGE [SP] Le plugin 'gungame' a été chargé avec succès.
2019-08-13 18:48:02 - sp - MESSAGE [SP] Chargement du plugin 'wcs'...
2019-08-13 18:48:02 - sp - WARNING
[SP] Avertissement rencontré:
File '../addons/source-python/plugins/wcs/core/modules/races/manager.py', line 199: UserWarning
Unable to find the default race "". Using "undead_scourge" as temporary default
race.
2019-08-13 18:48:02 - sp - MESSAGE [SP] Le plugin 'wcs' a été chargé avec succès.
2019-08-13 18:53:56 - sp - EXCEPTION
[SP] Une erreur s'est produite:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/gungame/core/listeners.py", line 198, in _player_death
if weapon_manager[weapon].basename != killer.level_weapon:
File "../addons/source-python/packages/source-python/weapons/manager.py", line 93, in getitem
return super().getitem(name)
KeyError: 'weapon_wcs_orcish_horde-chain_lightning'
2019-08-13 18:56:19 - sp - EXCEPTION
[SP] Une erreur s'est produite:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/gungame/core/listeners.py", line 198, in _player_death
if weapon_manager[weapon].basename != killer.level_weapon:
File "../addons/source-python/packages/source-python/weapons/manager.py", line 93, in getitem
return super().getitem(name)
KeyError: 'weapon_wcs_orcish_horde-chain_lightning'
2019-08-13 19:01:28 - sp - EXCEPTION
[SP] Une erreur s'est produite:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/gungame/core/listeners.py", line 198, in _player_death
if weapon_manager[weapon].basename != killer.level_weapon:
File "../addons/source-python/packages/source-python/weapons/manager.py", line 93, in getitem
return super().getitem(name)
KeyError: 'weapon_wcs_undead_scourge-suicide_bomber'
2019-08-13 19:01:38 - sp - EXCEPTION
[SP] Une erreur s'est produite:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/gungame/core/listeners.py", line 198, in _player_death
if weapon_manager[weapon].basename != killer.level_weapon:
File "../addons/source-python/packages/source-python/weapons/manager.py", line 93, in getitem
This exception will be thrown when a player leaves the game while standing in a ward.
I know this is probably harmless but wanted to log this nevertheless.
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/helpers/wards.py", line 223, in _tick
ward.on_disappear()
File "../addons/source-python/plugins/wcs/core/helpers/wards.py", line 147, in on_disappear
self.on_exit(wcsplayer)
File "../addons/source-python/plugins/wcs/core/helpers/wards.py", line 175, in on_exit
wcsplayer.player.speed += modified
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 751, in player
return _Player(self.index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 132, in __call__
obj = super().__call__(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 96, in __init__
PlayerMixin.__init__(self, index)
ValueError: Conversion from "Index" (1) to "BaseEntity" failed.
Translation support for races is a blessing and greatly appreciated. I just started using the feature and testing it, sadly I stumbled upon an unexpected "feature".
You can find the issue reports and corresponding screenshots here:
https://github.com/ManifestManah/Racepack-Standard/issues
In a nuttshell, event_var(attacker) is being treated as event_var(userid) for some reason.
This is regarding centertell, haven't tested it with es_tell yet.
Cant get Teleport as human to work. Not with new race nor the old one. Running CSGO.
IMPORTANT: Please copy the full output.
--------------------------------------------------------
Checksum : f0cf4eb8336078e645ac9bb0bb3fcf02
Date : 2019-01-20 16:15:59.049048
OS : Linux-4.12.12-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_E5-1630_v3_@_3.70GHz-with-gentoo-2.4.1
Game : csgo
SP version : 677
Github commit : 7ea507d83fccc3b1c7e1c475e36e3decbecff298
Server plugins:
00: Source.Python, (C) 2012-2018, Source.Python Team.
01: Metamod:Source 1.11.0-dev+1116
SP plugins:
00: es_emulator, https://github.com/Ayuto/EventScripts-Emulator
01: wcs, 2018.12.17-2, https://forums.sourcepython.com/viewtopic.php?f=7&t=1925
There is a cooldown of 5-10 seconds before the kill console command can be used again. So if you recently suicided or changed race, for example at the end of the previous round, you would be able to change race after spawning the following round, gaining the passives of the first and active abilities of the second.
We could either do something similar to ent_fire userid sethealth 0
which damages the player when the number is lower than their current hp, but might be blocked by godmode and other skills.
Otherwise we might look into if it is possible to directly cause the player to die, without relying on any damage or console commands.
I noticed that es wcs_givelevel does not provide a sound effect on levelup which in theory should, or that atleast used to be the case?
In my opinion it would be nice if it did since that makes it clearer that you leveled up.
Since almost everyone who tried running WCS on CSS stumbled upon these same old issues, I think it'd be nice for them to add these fixes to the core. That way we can prevent a lot of people reporting the same issues over and over again.
So adding mp_autokick 0 & the firefix.
I added the firefix for your convenience :)
firefix.zip
I tried migrating my server to another host and stumbled upon this issue:
[SP] Loading plugin 'es_emulator'...
[EventScripts] Temporary: Setting the host's IP variable from the command-line.
[EventScripts] Loaded esc
[SP] Successfully loaded plugin 'es_emulator'.
[SP] Loading plugin 'wcs'...
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_undead_scourge" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'undead_scourge'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_human_alliance" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'human_alliance'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_orcish_horde" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'orcish_horde'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_night_elves" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'night_elves'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_blood_mage" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'blood_mage'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_archmage_proudmoore" due to the
following exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'archmage_proudmoore'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_shadow_hunter" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'shadow_hunter'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_warden" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'warden'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_crypt_lord" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'crypt_lord'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_flame_predator" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'flame_predator'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/oldesc.py', line 219: UserWarning
Unable to properly parse the race "wcs_lng_succubus_hunter" due to the following
exception:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/core/modules/oldesc.py", line 147, in parse_ini_races
skillnames = (_esc_strings[fixed_name][data['skillnames'][8:]].get_string('en') if data['skillnames'].startswith('wcs_lng_') else data['skillnames']).split('|')
KeyError: 'succubus_hunter'
[SP] Encountered a Warning:
File '../addons/source-python/plugins/wcs/core/modules/races/manager.py', line 227: UserWarning
Unable to find the default race "undead_scourge". Using "athena" as temporary
default race.
[SP] Successfully loaded plugin 'wcs'.
I've tried everything including fresh installs and adding the race packs on top but nothing seems to help. The odd thing is that it only happens to the translated standard race pack and not to the others. Any clue why this is happening?
{
"players": {
"STEAM_0:1:52288860": {
"wcsadmin": 1,
"wcsadmin_githubaccess": 1,
"wcsadmin_managementaccess": 1,
"wcsadmin_playersmanagement": 1,
"wcsadmin_raceaccess": 1,
"vip_raceaccess": 1
}
}
}
This is my profile, but I still don't have permission after I enter the game
Can you make this menu optional, not just a command prompt
and
Some menus do not override the existing menu after inputting the command, which can only be seen after closing
I would be nice to be able to exclude bots from "wcstop", or atleast have (BOT) behind their names. But I would prefer having an option to exclude them because to be fair, they shouldn't even be in the list.
I've had this request multiple times from players playing on my server, players like to compete but not against the bots that play 24/7 on the server hehe.
Effects doesn't work with new style races and I cant understand how to make it works.
My setup:
Server OS: Ubuntu 18.04 x64
Server version: 1101
Game: CS:GO
Source.Python version: latest GitHub version
WCS version: latest GitHub version
I'm using races from WCS-Content repo, and all mechanics work perfect! But all effect doesn't work. I tried different version of OS and SP, different effect models/types, and nothing helps. Am I skip some sort of settings to allow effects? (as with sv_disable_immunity_alpha 0 for Human invis).
BTW if I add some ES races then their effects work, but I want to use new style races and recreate some default ES.
Currently players will always be assigned either a leet/phoenix or gign/gsg9 variant model in csgo. This might give a clear distinction between real players and those who are disguised, if the map uses a different set of models.
For example dust2 is leet vs idf, so a CT player would perhaps be disguised as the proper faction, whereas a T player would always get the wrong faction disguise. (This might also explain #78)
It also does not take into account if all players are using an Agent model.
Possible solutions I can think of:
sv_precacheinfo
)https://www.file-upload.net/download-12895000/materials.zip.html
I dont know how to add new effects (Im not a coder). I did try for 2 hours but I couldn't make any of them work. I dont think people would mind if u had to download a few files. You always had to download in the old mods from 1.6. And a handful of files wold only take a few seconds to download the fist time.
Also if we add a custom one, would it actually be downloaded and preached (or whatever its called)?
Either way, effects are important, cant really have a WCS server without that.
Maybe some of these could be used that comes with CSGO:
materials\effects\blueblacklargebeam.vtf
materials\effects\tesla_glow.vtf
materials\effects\fire_cloud1.vtf
materials\effects\energysplash.vtf
materials\effects\spark.vtf
materials\sprites\blueglow1.vtf
materials\sprites\blueflare1.vtf
materials\sprites\laserbeam.vtf
materials\sprites\rico1.vtf
materials\sprites\purplelaser1.vtf
materials\sprites\purpleglow1.vtf
materials\sprites\physbeam.vtf
Using latest WCS version:
WCS might take minutes to load on new map start. This started happening after I updated WCS, so maybe I already had a fix in place or a workaround to not have it do this. But I didn't check that anymore, so this issue could've been present previously aswell.
My fault for not backing up the fix or thoroughly testing this major issue.
I will restore a backup of my server and compare differences, if found and tested I will send a PR over ASAP :)
Turning off race clantag doesn't fully work. Some people will still have a race clantag present, not sure why this occurs nor can I find any exceptions on this.
The shortname is not saved when reconnecting or connecting to the server. It will not check what your race is until you change it, then it will change the clan tag properly.
In the picture underneath I connected to the server and have "Undead Scourge" assigned as race.
Keep in mind that I don't have any shortnames assigned in the races.ini file.
PS: Is there a way to disable the racename being displayed in chat? Now it'll display like Undead Scourge Nosferatu*Joe: hello
Hi,
Thank you for this mod.
Could you provide an item example code in order to grasp the way to code them ?
Thank you !
Crypt Lord ult ocassionally kills teammates (reported by 'hand'), hence it's not targetting the right team so I wonder if the syntaxes for teams are used correctly. Because AFAIK you only use #t #ct #alive when using wcsgroups and not in other functions (since this commit: 344f8a9). So now I'm kind of confused how to set it properly in the code.
Snippet of the code below:
ifx false(wcs_ffa_enabled) do
{
es_getplayerteam wcs_team server_var(wcs_userid)
if (server_var(wcs_team) = 2) do
{
es_xset wcs_targetteam "#ct,#alive"
es_getlivingplayercount wcs_pcount 3
}
if (server_var(wcs_team) = 3) do
{
es_xset wcs_targetteam "#t,#alive"
es_getlivingplayercount wcs_pcount 2
}
}
if (server_var(wcs_targetteam) != 0) do
{
FULL ultimate code block:
block swarm
{
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (START)
}
ifx true(wcs_ffa_enabled) do
{
es_xset wcs_targetteam "#alive"
es_getlivingplayercount wcs_pcount
es_set wcs_ffa_userid server_var(wcs_userid)
}
ifx false(wcs_ffa_enabled) do
{
es_getplayerteam wcs_team server_var(wcs_userid)
if (server_var(wcs_team) = 2) do
{
es_xset wcs_targetteam "#ct,#alive"
es_getlivingplayercount wcs_pcount 3
}
if (server_var(wcs_team) = 3) do
{
es_xset wcs_targetteam "#t,#alive"
es_getlivingplayercount wcs_pcount 2
}
}
if (server_var(wcs_targetteam) != 0) do
{
if (server_var(wcs_pcount) > 0) do
{
es wcs_randplayer wcs_targetid server_var(wcs_targetteam)
if (server_var(wcs_targetid) != 0) do
{
es_xdoblock wcs/tools/standard/crypt_lord/ultimate_checks
}
}
else do
{
es_xset wcs_ultinotexec 1
es wcs_getlanguage wcs_lng "check_skill4_failed_living" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
}
}
else do
{
es_xset wcs_ultinotexec 1
es wcs_getlanguage wcs_lng "check_skill4_failed_targeting" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
}
if (server_var(wcs_ultinotexec) = 1) then es wcs_cancelulti server_var(wcs_userid)
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (END)
}
}
block ultimate_checks
{
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (CHECKS START)
}
ifx true(wcs_ffa_enabled) do
{
es_xset wcs_execute_ultimate_ffa 1
if (server_var(wcs_targetid) != server_var(wcs_ffa_userid)) do
{
es_xset wcs_execute_ultimate_ffa 0
}
}
ifx false(wcs_execute_ultimate_ffa) do
{
es_exists ex userid server_var(wcs_targetid)
if (server_var(ex) = 1) do
{
es getplayerinfo wcs_alive server_var(wcs_targetid) isdead
if (server_var(wcs_alive) = 0) do
{
es wcsgroup get ulti_immunity wcs_tmp server_var(wcs_targetid)
if (server_var(wcs_tmp) != 1) do
{
es_xset wcs_ultinotexec 0
es_xdoblock wcs/tools/standard/crypt_lord/ultimate_final
}
if (server_var(wcs_tmp) == 1) do
{
es wcs_getlanguage wcs_lng "check_skill4_failed_target_is_immune" 0 "crypt_lord"
es wcs_xtell server_var(wcs_targetid) server_var(wcs_lng)
es wcs_getlanguage wcs_lng "check_skill4_failed_player_is_immune" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
es_xset wcs_ultinotexec 1
}
}
}
}
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (CHECKS END)
}
}
block ultimate_final
{
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (EXECUTED START)
}
es playerget health wcs_tmp1 server_var(wcs_userid)
es_xmath wcs_tmp1 + 35
if (server_var(wcs_tmp1) >= 225) do
{
es wcs_setfx health server_var(wcs_userid) = 225 0
es wcs_getlanguage wcs_lng "player_skill4_health_cap" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
}
if (server_var(wcs_tmp1) < 225) do
{
es wcs_getlanguage wcs_lng "player_skill4_health" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
es wcs_setfx health server_var(wcs_userid) + 35 0
}
es playerget armor wcs_tmp2 server_var(wcs_userid)
es_math wcs_tmp2 + server_var(wcs_armor)
if (server_var(wcs_tmp2) >= 250) do
{
es wcs_setfx armor server_var(wcs_userid) = 250 0
es wcs_getlanguage wcs_lng "player_skill4_armor_cap" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng)
}
if (server_var(wcs_tmp2) < 250) do
{
es wcs_setfx armor server_var(wcs_userid) + server_var(wcs_armor) 0
es wcs_getlanguage wcs_lng "player_skill4_armor" 0 "crypt_lord"
es wcs_xtell server_var(wcs_userid) server_var(wcs_lng) value1 server_var(wcs_armor)
}
es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid)
es_xmath wcs_z1 + 20
es est_effect 10 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 50 70 1 12 10 .8 0 50 200 200 1
es_xmath wcs_z1 + 20
es est_effect 10 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 50 70 1 12 10 .8 0 50 200 200 1
es damage server_var(wcs_targetid) 35 1 server_var(wcs_userid)
es wcs_getlanguage wcs_lng "player_skill4_centertell" 0 "crypt_lord"
es wcs_xcentertell server_var(wcs_userid) server_var(wcs_lng)
es wcs_getlanguage wcs_lng "target_skill4_centertell" 0 "crypt_lord"
es wcs_xcentertell server_var(wcs_targetid) server_var(wcs_lng)
es_xmath wcs_smokestack_counter + 1
es_give server_var(wcs_targetid) env_smokestack
es_format ss_name "my_ss_%1%2" server_var(wcs_targetid) server_var(wcs_smokestack_counter)
es_entitysetvalue server_var(eventscripts_lastgive) "targetname" server_var(ss_name)
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "basespread 55"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "spreadspeed 60"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "speed 30"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "rate 60"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "startsize 1"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "endsize 2"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "twist 150"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "jetlength 50"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "angles 90 90 90"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "rendercolor 255 255 255"
es_fire server_var(wcs_targetid) server_var(ss_name) addoutput "SmokeMaterial sprites/scanner.vmt"
es_fire server_var(wcs_targetid) server_var(ss_name) turnon
es_delayed 1 es_fire server_var(wcs_targetid) server_var(ss_name) kill
es_playsound server_var(wcs_targetid) ambient\creatures\flies4.wav 1
es_delayed .2 es_playsound server_var(wcs_targetid) ambient\creatures\flies3.wav 1
es_delayed .5 es_playsound server_var(wcs_targetid) ambient\creatures\flies2.wav 1
es_playsound server_var(wcs_userid) ambient\creatures\flies4.wav .7
es_delayed .2 es_playsound server_var(wcs_userid) ambient\creatures\flies3.wav .8
es_delayed .5 es_playsound server_var(wcs_userid) ambient\creatures\flies2.wav .7
ifx true(wcs_race_debugging) do
{
wcs_log [Race]: Crypt Lord - [Block] Skill: 4 (EXECUTED END)
}
}
First problem: when i try to use the playerset model like the screenshot below, it works when i enter the server, but if i change to another race that uses this command with another model, it doesn't change, its stays with the first model that i used, but if i change to another race without this command, it works perfectly fine (back to the original ct or t model)
Second problem: it seems like the wcs is having conflicts with another plugins. I have a !ws plugin etc but if i type the command in chat, the menu doesnt show (the game detects that is a command or something because it doesnt show in the chat), same thing with a store plugin, already tried both without wcs and it worked. I always get this error messages on the console and maybe its related to my problems. Thanks for the support.
sorry
I want to add products. I have tested several writing methods, but they are not effective. Can you give me a detailed demonstration, please
So, basically when a race tries to get the enemy weapon info, it returns an error in the console
code: es wcsx get weapon wcs_wpn server_var(wcs_player)
I was looking on the weapon lib and i saw that i need to pass an attribute like "weapon name" or "weapon maxammo" and i couldnt make it work, what can i do?
code: es wcsx get weapon,name wcs_wpn server_var(wcs_player)
A lot of players in my community are requesting the old raceinfo/skillinfo where's the skill description would be beneath the skill name. That way you don't always have to "click" on skills to see what they do. I think the same issue persists in shopmenu but I haven't checked yet.
This makes browsing races and viewing their skills&info a lot easier than it is now.
I tried to isolate the problem but can't find what is causing it. I've already isolated it to WCS but I'm not sure why they get kicked. The kick reason is: "Bot X Kicked from session"
There is an issue where the database will create a ton of null records, essentially flooding the database and causing massive server lagg spikes & crashes.
This might be due to the latest commits where database edits have been made. I hope this can be resolved quickly since this issue renders WCS almost useless.
Also after x amount of uptime the WCS mod will stop loading and report "WCS is not ready, please wait." in chat whenever you try to use a command.
@Xiazee
Probably not a big deal but I thought it'd be better to post it anyways.
Might be this PR: #45
2021-02-01 18:43:08 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/wcs.py", line 1035, in on_player_delete
team = wcsplayer.player.team
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 744, in player
return _Player(self.index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 132, in __call__
obj = super().__call__(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 96, in __init__
PlayerMixin.__init__(self, index)
ValueError: Conversion from "Index" (1) to "BaseEntity" failed.
This is just a minor thing but I thought it might be worth reporting.
It's possible to spam the "ultimate" command while in spectator or unassigned when you're on a race that has no ultimate leveled yet.
You can check the screenshot where I did this here; https://imgur.com/a/dpCvrxm
If you're on a race with the ultimate leveled it does display a correct message though: https://imgur.com/a/7ZHdjWR
Personally I'd suggest a fix that blocks the ability to spam the es_tell warnings, so that you can't flood the server with it.
Hi, i am not sure if this is the correct place to ask for help, but here goes.
A friend and i just installed a new CSGO server.
We followed the installation manual as described, but WCS doesnt work at all when using it.
As soon as i type "wcs" ingame server console begins spamming this error:
I have tried removing/uninstalling everything and doing it again, and reinstalling C++ 2010 and 2015 as per instructions from source python, and sourcemod/metamod. Originally we tried with Eventscripts as well, but as that didnt function at all, we tried with just the CSGO server and WCS provided by here.
Any help?
Jan 27 19:38:26: Late precache of effects/yellowflare.vmt
Jan 27 19:38:26: Late precache of effects/combinemuzzle2.vmt
Jan 27 19:38:26: Late precache of effects/combinemuzzle1.vmt
I keep getting these "features" in console.log although that the materials are present on the server and are properly included in the downloads.ini file.
All 3 of the effects are used in wcs.py.
Either the SM downloader/precacher doesn't work properly, or it misses a setting in the wcs.py
Maybe import "from engines.precache import Model" can be useful for this.
Currently you might be unable to change race due to a teamlimit related exception, if you combine WCS with Zombie Reloaded V3. I suspect it is due to team change messages being suppressed by stopping the player_team event. It will probably be an issue with any zombie mod.
https://discord.com/channels/270625743946514433/680193005449510930/941070339948027944
I have a patch in the works that should improve the error handling from teamlimit errors. It does not guarantee that the teamlimit data is always up to date, but it at least gives a warning if something goes wrong.
For the main issue i would suggest investigating whether changing @Event('player_team')
to @PreEvent('player_team')
in wcs.py
would be enough to fix this specific issue.
player.language
returns 'english'
for me. But the keys in messages
are country codes instead such as 'en'
. I assume this causes get
to always return the default value of 'en'
, instead of returning a translated string.
Maybe the inner message
was supposed to be a dictionary mapping language names to codes, like this:
languages = {
'english': 'en'
}
If that were the case, the default value of 'en'
would actually make sense.
I have not actually tested this with different languages, but i think i heard mentions of some strings not being translated.
i saw that the data folder has a levelbank file, but i dont know how to use it, if you can guide me on how to use it i would appreciate that
[SP] Successfully loaded plugin 'wcs'.
[EventScripts] Loaded wcs/modules/races
[EventScripts] Loaded wcs/modules/items
Tried to look up command wcs_nearcoord as if it were a variable.
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/es_emulator/eventscripts/esc/init.py", line 189, in command
command.run(argv, args, exp)
File "../addons/source-python/plugins/es_emulator/eventscripts/esc/cmds/init.py", line 140, in run
self.method(**_args)
File "../addons/source-python/plugins/es_emulator/eventscripts/esc/cmds/addons.py", line 20, in load
es.load(addonname)
File "../addons/source-python/plugins/es_emulator/eventscripts/esc/monkeypatch.py", line 28, in load
load(addonname)
File "../addons/source-python/plugins/es_emulator/helpers.py", line 206, in wrapper
return func(c)
File "../addons/source-python/plugins/es_emulator/eventscripts/es_C.py", line 2155, in load
es.loadModuleAddon(argv[1])
File "../addons/source-python/plugins/es_emulator/eventscripts/es.py", line 443, in loadModuleAddon
addons.load(newaddon)
File "../addons/source-python/plugins/es_emulator/eventscripts/es.py", line 242, in load
addon.load()
File "../addons/source-python/plugins/es_emulator/eventscripts/wcs/modules/items/nearcoord/nearcoord.py", line 6, in load
registerServerCommand('wcs_nearcoord', register, '')
File "../addons/source-python/plugins/es_emulator/eventscripts/_libs/python/cmdlib.py", line 141, in registerServerCommand
cmd_manager.registerServerCommand(*a, **kw)
File "../addons/source-python/plugins/es_emulator/eventscripts/_libs/python/cmdlib.py", line 37, in registerServerCommand
PreMinidumpCallback: updating dump comment
./srcds_run: line 318: 6533 Segmentation fault $HL_CMD
Hello I'm trying to throw together a warcraft server on CSGO and am getting this issue when I try and load in wcs plugin. Any help or pointers would be appreciated
[SP] Caught an Exception:
Traceback (most recent call last):
File "..\addons\source-python\packages\source-python\plugins\command.py", line 164, in load_plugin
plugin=self.manager.load(plugin_name)
File "..\addons\source-python\packages\source-python\plugins\manager.py", line 207, in load
plugin._load()
File "..\addons\source-python\packages\source-python\plugins\instance.py", line 76, in _load
self.module.load()
File "..\addons\source-python\plugins\wcs\wcs.py", line 301, in load
race_manager.load_all()
File "..\addons\source-python\plugins\wcs\core\modules\races\manager.py", line 215, in load_all
config = self.get_or_create_config()
File "..\addons\source-python\plugins\wcs\core\modules\base.py", line 125, in get_or_create_config
config = json_load(inputfile)
File "..\addons\source-python\Python3\json_init.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "..\addons\source-python\Python3\json_init.py", line 354, in loads
return _default_decoder.decode(s)
File "..\addons\source-python\Python3\json\decoder.py", line 342, in decode
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 3 column 1 (char 12)
I'm having a WCS not loaded yet issue and I think it's because of this exception, since it's getting spammed:
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/listeners/tick.py", line 80, in _tick
self.pop(0).execute()
File "../addons/source-python/packages/source-python/listeners/tick.py", line 161, in execute
return self.callback(*self.args, **self.kwargs)
File "../addons/source-python/packages/source-python/listeners/tick.py", line 606, in _execute
self.callback(*self.args, **self.kwargs)
File "../addons/source-python/packages/source-python/menus/queue.py", line 239, in _radio_refresh
queue._refresh()
File "../addons/source-python/packages/source-python/menus/queue.py", line 105, in _refresh
menu._refresh(self._index)
File "../addons/source-python/packages/source-python/menus/base.py", line 104, in _refresh
self._send(player_index)
File "../addons/source-python/packages/source-python/menus/radio.py", line 120, in _send
ShowMenu(*self._build(player_index)).send(player_index)
File "../addons/source-python/packages/source-python/menus/base.py", line 114, in _build
self.build_callback(self, player_index)
File "../addons/source-python/plugins/wcs/core/menus/build.py", line 501, in raceinfo_skills_detail_menu_build
race_name = wcsplayer.data['_internal_raceinfo']
KeyError: '_internal_raceinfo'
Hello, I wanted to set up a server with the Wcs mod today, which also worked very well. But I must have struggled with Mysql for an hour and then realized that it was probably not finished yet. Can you say how long it will be worked on. I know this is not an error, but it gives the impression that the mod works with mysql.
Kind regards
How is that a CSGO bug? Like I said, it works with the old human race that comes with 0.78. So you probably could fix it?
I'm getting quite frequent userid conversion errors. Although they are probably harmless I thought to post them here to keep it logged.
2021-04-12 09:31:15 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/commandsx/commandsx.py", line 190, in set_model
Player.from_userid(userid).color = Color(255, 255, 255, 255)
File "../addons/source-python/packages/source-python/players/_base.py", line 109, in from_userid
return cls(index_from_userid(userid), caching=caching)
ValueError: Conversion from "Userid" (159) to "Index" failed.
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/wcs.py", line 1365, in on_take_damage_alive
if ffa_enabled or not wcsvictim.player.team_index == wcsattacker.player.team_index:
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 751, in player
return _Player(self.index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 132, in __call__
obj = super().__call__(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 96, in __init__
PlayerMixin.__init__(self, index)
ValueError: Conversion from "Index" (3) to "BaseEntity" failed.
2021-04-12 12:25:10 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/hooks.py", line 222, in _pre_game_event
current_action = callback(game_event)
File "../addons/source-python/plugins/wcs/wcs.py", line 735, in pre_player_hurt
wcsattacker = Player.from_userid(attacker)
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 892, in from_userid
return cls(index_from_userid(userid))
ValueError: Conversion from "Userid" (269) to "Index" failed.
2021-04-12 12:25:10 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/wcs/wcs.py", line 702, in player_hurt
wcsattacker = Player.from_userid(attacker)
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 892, in from_userid
return cls(index_from_userid(userid))
ValueError: Conversion from "Userid" (269) to "Index" failed.
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/wcs.py", line 1365, in on_take_damage_alive
if ffa_enabled or not wcsvictim.player.team_index == wcsattacker.player.team_index:
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 751, in player
return _Player(self.index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 132, in __call__
obj = super().__call__(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 96, in __init__
PlayerMixin.__init__(self, index)
ValueError: Conversion from "Index" (3) to "BaseEntity" failed.
2021-04-12 12:25:11 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/hooks.py", line 222, in _pre_game_event
current_action = callback(game_event)
File "../addons/source-python/plugins/wcs/wcs.py", line 735, in pre_player_hurt
wcsattacker = Player.from_userid(attacker)
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 892, in from_userid
return cls(index_from_userid(userid))
ValueError: Conversion from "Userid" (269) to "Index" failed.
2021-04-12 18:02:56 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/plugins/wcs/wcs.py", line 1365, in on_take_damage_alive
if ffa_enabled or not wcsvictim.player.team_index == wcsattacker.player.team_index:
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 751, in player
return _Player(self.index)
File "../addons/source-python/packages/source-python/entities/_base.py", line 132, in __call__
obj = super().__call__(index)
File "../addons/source-python/packages/source-python/players/_base.py", line 96, in __init__
PlayerMixin.__init__(self, index)
ValueError: Conversion from "Index" (13) to "BaseEntity" failed.
2021-04-12 18:02:56 - sp - EXCEPTION
[SP] Caught an Exception:
Traceback (most recent call last):
File "../addons/source-python/packages/source-python/events/listener.py", line 92, in fire_game_event
callback(game_event)
File "../addons/source-python/plugins/wcs/wcs.py", line 702, in player_hurt
wcsattacker = Player.from_userid(attacker)
File "../addons/source-python/plugins/wcs/core/players/entity.py", line 892, in from_userid
return cls(index_from_userid(userid))
ValueError: Conversion from "Userid" (456) to "Index" failed.
Example: wcs_dealdamage userid damage attacker | wcs_dealdamage userid 50 attacker
In the case when the player has armor, he is inflicted incomplete damage, not 50 as planned. Also, the damage reduction in this case depends on which weapon the attacker is holding in his hands.
In the original ES mod, the damage system works through WCS_FALL, judging by the code. Is it possible to do the same here?
Game: CSS OB, Linux host.
(My English is poor, I apologize for that. )
The "wcs setmodel" function needs a rework or atleast get looked at. I've tested the function on a prop and it doesn't make the original model invisible, thus showing you both models at the same time. I've also heard that this function was created for props so I do suggest renaming the function to wcs setmodelprop to make that more clear.
Although that it would be nice to have 1 function which works for both since models are an important feature of WCS and it's nice to have a solid function for it.
Undead Scourge's Levitation was bugged once. I cant reproduce it tho. Could have been caused by DM mod. But it was your version of it. You can keep this one open and I can update if it happens again. I havent changed the config, so its using your default settings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.