Description:
SuperHero mod is a mod where you gain experience and level up by killing your enemies. With each level, you are able to select a superhero and gain their power.
Commands:
Quote:
ADMINCOMMANDS
sm_shsetxp - BAN FLAG - Allows admins to set a players XP to a specified amount
sm_shaddxp - BAN FLAG - Allows admins to give add XP to their current XP
sm_shsetlevel - BAN FLAG - Allows admins to set a players level to a specified number
sm_shreloadvip - ROOT FLAG - Refresh the vipheroes config
REGULAR COMMANDS
sm_help - Outputs all commands in console
sm_superherohelp - Outputs all commands in console
sm_herolist - Shows the list of available heros
sm_playerskills - Shows every player's superhero info
sm_playerpowers - Shows every player's superhero info
sm_playerheroes - Shows every player's superhero info
sm_playerinfo - Shows every player's superhero info
sm_myheroes - Shows the heros you have already chosen and the binds that you have already made
sm_clearheroes - Is used to erase all your heroes (in case you want to chose other heroes)
sm_clearpowers - Is used to erase all your heroes (in case you want to chose other heroes)
sm_clearskills - Is used to erase all your heroes (in case you want to chose other heroes)
sm_showmenu - Shows you the powers menu if you can choose new powers
sm_heroes - Shows you the powers menu if you can choose new powers
sm_heromenu - Shows you the powers menu if you can choose new powers
sm_drophero - Is used to remove a hero from your hero list in case you want another
sm_drop - Is used to remove a hero from your hero list in case you want another
sm_whohas - Shows you who has the named heroes in the current game
sm_buyxp - Buy experience
ConVars:
Quote:
superheromod_max_powers - 20 - Max amount of powers a player can have
superheromod_levels - (Value set in superhero.ini) - Amount of levels a player can have
superheromod_long_term_experience - 1 - Should XP be saved
superheromod_max_binds - 3 - Max amount of super power binds
superheromod_drop_alive - 0 - Drop power while alive
superheromod_headshot_multiplier - 1.5 - Amount of times points you should get for killing with a headshot
superheromod_start_experience - 0 - Amount of experience new players should get on their first join
superheromod_enable_logs - 1 - Enable logging for leveling up
superheromod_player_count_for_experience - 4 - Amount of players needed to gain experience
superheromod_allow_buy_experience - 1 - Allow experience to be bought
superheromod_amount_of_money_paid_for_experie nce - 16000 - Amount of money needed to buy experience
superheromod_amount_of_buy_experience - 50 - Amount of experience gained for 16000 money
superheromod_save_experience_interval - 60 - Amount of time (in seconds) between each save of experience occurs
superheromod.inc:
Spoiler
PHP Code:
#if defined _superheromod_included
#endinput
#endif
#define _superheromod_included
#include <sdkhooks>
#define SH_PREFIX " \x09[\x04SuperHero\x09]"
// Max levels that can be loaded from the superhero.ini
#define SH_MAXLEVELS 100
// Max Amount of heroes that can be loaded
#define SH_MAXHEROES 100
// Potential of power1-power9 but limited by sh_maxbinds (3 default)
#define SH_MAXBINDPOWERS 9
// The max length of a hero name
#define SH_HERO_NAME_SIZE 32
// The max string length of a hero power description
#define SH_SUPERPOWER_SIZE 32
// The max string length of a hero help dscription
#define SH_HELP_SIZE 128
// InitializeHero(id, heroID, mode) modes
#define SH_HERO_DROP 0 //Hero is dropped
#define SH_HERO_ADD 1 //Hero is added
// REQUIRED
// Creates your hero
// Call this on pluginstart
// param1: the name of your hero
// param2: the level you want your hero to be
// return: heroIndex
native int SuperHero_CreateHero(char[] hero, int minlevel);
// REQUIRED
// Set some required info of your hero
// Call this on plugin start
// param1: the heroindex you wanna set info on
// param2: very short power description
// param3: longer power description
native void SuperHero_SetHeroInfo(int heroIndex, char[] superpower, char[] help);
// REQUIRED If you wanna give your hero a primary weapon and have multiple heroes that gives primary weapons, just use it for safety
// Sets the heros primary weapon in a variable to determine what primary weapon to give the player if he has multiple heroes that gives primary weapons
// param1: heroindex that spawns a weapon
// param2: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroPrimaryWeapon(int heroIndex, int weaponid);
// REQUIRED If you wanna give your hero a secondary weapon and have multiple heroes that gives secondary weapons, just use it for safety
// Sets the heros secondary weapon in a variable to determine what secondary weapon to give the player if he has multiple heroes that gives secondary weapons
// param1: heroindex that spawns a weapon
// param2: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroSecondaryWeapon(int heroIndex, int weaponid);
// REQUIRED If your hero has a player model
// Sets the heros player model
// param1: heroindex to set player model
// param2: model path
// Extra: THIS FUNCTION DOES NOT PRECACHE/ADDFILETODOWNLOADSTABLE
native void SuperHero_SetHeroPlayerModel(int heroindex, const char[] model);
// Adds a bind to your hero (+POWER[heroindex])
// param1: the hero you want to have a bind
native void SuperHero_SetHeroBind(int heroIndex);
// Sets your heros max health
// param1: the heroindex you wanna set max health on
// param2: amount of health
native void SuperHero_SetHeroHealth(int heroIndex, int health);
// Sets your heros max armor
// param1: the heroindex you wanna set max armor on
// param2: amount of armor
native void SuperHero_SetHeroArmor(int heroIndex, int armor);
// Sets your heros max speed
// param1: the heroindex you wanna set max speed on
// param2: amount of speed
// param3: the weapons you want to set speed on (leave empty if you want the speed affect all weapons)
// param4: the number of weapons you're setting speed on
native void SuperHero_SetHeroSpeed(int heroIndex, float speed, int weapons[42] = {0}, int numberofweapons = 0);
// Sets your heros gravity
// param1: the hero index you wanna set gravity on
// param2: amount of gravity (1.0 is default, 0.0 is never fall down)
native void SuperHero_SetHeroGravity(int heroIndex, float gravity);
// Sets a damage multiplier on a hero wepaon
// param1: the hero index you wanna set damage multiplier on
// param2: amount of multiplied damage (2.0 is double the damage)
// param3: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroDamageMultiplier(int heroIndex, float dmgmult, int weaponid);
// Gets the players max health (from all of his heroes together)
// param1: player you wanna get max health from
// return: player max health
native int SuperHero_GetMaxHealth(int client);
// Gets the players max armor (from all of his heroes together)
// param1: player you wanna get max armor from
// return: player max armor
native int SuperHero_GetMaxArmor(int client);
// Gets the players max speed (from all of his heroes together, or max speed for a weapon if weaponid > CSGOWeaponID_NONE)
// param1: player you wanna get speed from
// param2: what weapon id you wanna get max speed from (CSGOWeaponID_NONE for no specific weapon)
// param3: float buffer to store the result speed
native void SuperHero_GetMaxSpeed(int client, int weaponid, float& resultspeed);
// Gets the players lowest gravity (from all of his heroes together)
// param1: player you wanna get lowest gravity from
// param2: float buffer to store the result gravity
native void SuperHero_GetGravity(int client, float& resultgravity);
// Gets the amount of levels that are loaded by configs/superhero.ini
// return: max levels
native int SuperHero_GetLevelCount();
// Gets the amount of experience the level requires from previous level
// param1: the level you want to get experience from
// return: amount of experience
native int SuperHero_GetLevelExperience(int level);
// Gets the players level
// param1: player you wanna get level from
// return: player level
native int SuperHero_GetPlayerLevel(int client);
// Sets the players level
// param1: player you wanna set level on
// param2: level you wanna set the client
// return: the level set (-1 if fail)
native int SuperHero_SetPlayerLevel(int client, int setlevel);
// Gets the players experience
// param1: player you wanna get experience from
// return: amount of experience
native int SuperHero_GetPlayerExperience(int client);
// Sets the players experience
// param1: player you wanna set experience on
// param2: amount of experience
// return: the experience set (-1 if fail)
native int SuperHero_SetPlayerExperience(int client, int setexperience);
// Adds experience to client (xp is based on victims level)
// param1: player you wanna add xp to
// param2: player you want players xp to base off
native void SuperHero_AddKillExperience(int client, int victim);
// Gets the hero index of a hero name
// param1: named hero to get hero index of
// return: hero index
native int SuperHero_GetHeroIndex(const char[] hero);
// Does the player have this hero?
// param1: player to check
// param2: heroindex to check
// return: true if player has hero, false if not
native bool SuperHero_PlayerHasHero(int client, int heroIndex);
// Set player stun (Make him walk slower and not be able to use power binds)
// param1: player to stun
// param2: duration of the stun
// param3: the amount of speed the player should get when stunned
native void SuperHero_SetStun(int client, float duration, float speed);
// Get the amount of stun time left
// param1: player to get stun time off
// return: time in seconds left of stun
native int SuperHero_GetStun(int client);
// Set godmode on player
// param1: player to set godmode on
// param2: duration of the godmode
native void SuperHero_SetGodMode(int client, float duration);
// Does player have godmode?
// param1: player to check
// return: true if player has godmode, false if not
native bool SuperHero_IsGodMode(int client);
// Reset the players speed to his max hero speed
// param1: player to reset speed on
native void SuperHero_ResetMaxSpeed(int client);
// Reset the players gravity to his min hero gravity
// param1: player to reset gravity on
native void SuperHero_ResetGravity(int client);
// Set the cooldown of a hero (power or anything really)
// param1: player to set cooldown on
// param2: hero to set cooldown on
// param3: duration of the cooldown
native void SuperHero_SetPlayerHeroCooldown(int client, int heroIndex, float time);
// End the cooldown of a hero
// param1: player to end cooldown on
// param2: heroindex to end cooldown on
native void SuperHero_EndPlayerHeroCooldown(int client, int heroIndex);
// Is the players hero in cooldown?
// param1: player to check
// param2: heroindex to check
// return: returns true if players hero is in cooldown, false if not
native bool SuperHero_IsPlayerHeroInCooldown(int client, int heroIndex);
// Force set the players hero cooldown
// param1: player to force cooldown on
// param2: heroindex to force cooldown on
// param3: value (true or false)
native void SuperHero_ForceSetPlayerHeroCooldown(int client, int heroIndex, bool value);
// Add health to player (This function already checks if health exceeds max health)
// param1: player to add health to
// param2: amount of health
// return: the amount of real health added (0 if health was not changed, -1 if invalid client)
native int SuperHero_AddHealth(int client, int health);
// Add armor to player (This function already checks if armor exceeds max armor)
// param1: player to add armor to
// param2: amount of armor
// return: the amount of real armor added (0 if armor was not changed, -1 if invalid client)
native int SuperHero_AddArmor(int client, int armor);
// Play deny sound to player (Used for power cooldowns and stuns)
// param1: player to play deny sound to
native void SuperHero_PlayDenySound(int client);
// Set the bool that checks if players speed should be changed on weapon speed (Had to be made for shadowcat superhero)
// param1: player to set bool
// param2: value to set
native void SuperHero_SetChangeWeaponSpeedBool(int client, bool value);
// Gets the weaponid of the players highest leveled hero that gives a primary weapon
// param1: player to get highest primary weapon level
// return: casted CSGOWeaponID weapon id
native int SuperHero_GetHighestPrimaryWeaponLevel(int client);
// Gets the weaponid of the players highest leveled hero that gives a secondary weapon
// param1: player to get highest primary weapon level
// return: casted CSGOWeaponID weapon id
native int SuperHero_GetHighestSecondaryWeaponLevel(int client);
// Gets the players highest level hero
// param1: player to get highest level hero
// return: highest level
native int SuperHero_GetHighestLevelHero(int client);
// Gets the heros player model
// param1: heroindex to get player model from
// param2: buffer to store the player model
// param3: size of the buffer
native void SuperHero_GetHeroPlayerModel(int heroindex, char[] szbuffer, int maxlen);
// Does the hero have a player model?
// param1: heroindex to check
// return: true if hero has a player model, false if not
native bool SuperHero_HeroHasPlayerModel(int heroindex);
// Gets the players final player model if he has multiple heroes that changes his player model (Model picked is determined by highest level)
// param1: player to get highest level model
// param2: buffer to store the model path
// param3: size of the buffer
// return: heroindex (-1 on failure)
// Extra info: Model is automatically set from superheromod.sp on Event_PlayerSpawn aslong as SuperHero_SetHeroPlayerModel is called on your superhero
native int SuperHero_GetHighestPlayerModelLevel(int client, char[] szbuffer, int maxlen);
// Sets the heros available level (Use this in OnConfigsExecuted forward since AutoExecConfig requires more than 1 frame to execute)
// param1: heroindex to set level on
// param2: the level to set
native void SuperHero_SetHeroAvailableLevel(int heroIndex, int level);
//FORWARDS
// This is called when a players hero is initialized (e.g playerspawn or when player picks a new hero). Its used to set info like if the player has this hero and what not
// param1: player that initializes a hero
// param2: heroindex that was initialized
// param3: 1 (SH_HERO_ADD) if hero was added, 0 (SH_HERO_DROP) if hero was dropped/removed
forward void SuperHero_OnHeroInitialized(int client, int heroIndex, int mode);
// This is called on player_spawn event
// param1: player that spawned
// param2: was it a new round spawn or mid round spawn?
forward void SuperHero_OnPlayerSpawned(int client, bool newroundspawn);
// This is called when player dies
// param1: player that died
// param2: player that killed
// param3: was it a headshot?
forward void SuperHero_OnPlayerDeath(int victim, int attacker, bool headshot);
// This is called when a player presses a power key
// param1: player that pressed power key
// param2: heroindex that pressed power key
// param3: 1 (SH_KEYDOWN) if pressed, 0 (SH_KEYUP) if released
forward void SuperHero_OnHeroBind(int client, int heroIndex, int key);
// This is called when a player takes damage
// param1: player that takes damage
// param2: player that attacks
// param3: entity that inflicted the damage (I have no idea tbh, see more in some sdkhooks docs)
// param4: amount of damage the attacker did
// param5: what damagetype (e.g DMG_BLAST for grenade)
// param6: weapon entity index that did damage
// param7: damage force vector
// param8: damage position vector
// Extra: this forward is called on SDKHook_OnTakeDamage in superheromod.sp and if this is called, it will always return plugin_changed
forward void SuperHero_OnPlayerTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3]);
// This is called after a player took damage
// param1: player that takes damage
// param2: player that attacks
// param3: damage type
// param4: weapon entity index that damaged player
// param5: amount of damage taken
// param6: amount of armor taken
// Extra: this forward is created for the sole purpose of getting proper health/armor damage taken (Useful for superhero anubis or dracula)
forward void SuperHero_OnPlayerTakeDamagePost(int victim, int attacker, int damagetype, int weapon, int damagetaken, int armortaken);
// This is called after a players data is loaded (XP, Levels, heroes)
// param1: player the data is loaded for
forward void SuperHero_OnPlayerDataLoaded(int client);
(Added: 09/03/2017) (Updated: 09/10/2017) - Anubis - See damage dealt and damage taken (Dark Notices)
(Added: 09/03/2017) (Updated: 09/09/2017) - Batgirl - Bat-Grapple hook. Zipline to aim (+POWER: Grapple Hook)
(Added: 09/03/2017) (Updated: 09/09/2017) - Black Panther - Vibranium soles that absorbs sound (Silent Boots)
(Added: 09/03/2017) (Updated: 09/09/2017) - Captain America - Random Invincibility, the higher level, the better chance (Super Shield)
(Added: 09/03/2017) (Updated: 09/09/2017) - Cyclops - Fire optic laser beams (+POWER: Optic Blast)
(Added: 09/03/2017) (Updated: 09/10/2017) - Daredevil - Rings around players (Radar Sense)
(Added: 09/03/2017) (Updated: 09/09/2017) - Dracula - Gain health by attacking players, more health per level (Vampiric Drain)
(Added: 09/03/2017) (Updated: 09/10/2017) - Flash - Run much faster with this hero (Super Speed)
(Added: 09/03/2017) (Updated: 10/01/2017) - Grandmaster - Revive a dead teammate after they die (Revive Dead)
(Added: 09/03/2017) (Updated: 09/10/2017) - Hobgoblin - Extra grenade damage/Refill grenades (Hobgoblin Grenades)
(Added: 09/03/2017) (Updated: 09/10/2017) - Morpheus - Lower Gravity/Dual MP7s/Unlimited MP7 Ammo (Dual MP7s) // Dual MP7/MP5 viewmodel/model needed: (Preview: https://youtu.be/LZJK1Zx-mTw?t=11s)
(Added: 09/03/2017) (Updated: 09/09/2017) - Mystique - Shapeshift into enemy (+POWER: Morph)
(Added: 09/03/2017) (Updated: 09/10/2017) - Punisher - Endless Bullets, no reload, keep shooting (Unlimited Ammo)
(Added: 09/03/2017) (Updated: 09/09/2017) - Shadowcat - Can walk through walls for a short time, get stuck = auto slain (+POWER: Walk Through Walls)
(Added: 09/03/2017) (Updated: 09/10/2017) - Spiderman - Shoot web to swing- Jump reels in, Duck reels out (+POWER: Web Swing)
(Added: 09/03/2017) (Updated: 09/10/2017) - Superman - More health, free armor, reduced gravity (Health/Armor/Gravity)
(Added: 09/03/2017) (Updated: 09/10/2017) - Wolverine - Auto-Heal, extra knife damage, speed boost with knife (Auto-Heal & Claws) // Model comming soon
(Added: 09/03/2017) (Updated: 09/09/2017) - Xavier - Detect what team a player is on by glowing trail (Team Detection)
(Added: 09/03/2017) (Updated: 09/10/2017) - Vash The Stampede - Deagle does more damage, evade by removing random hitzones (Revolver & Evasion) // Model comming soon //https://forums.alliedmods.net/showthread.php?t=30299
(Added: 09/04/2017) (Updated: 09/09/2017) - Scorpion - Harpoon and drag opponents to you (+POWER: Get Over Here!) //https://forums.alliedmods.net/showthread.php?t=34448
(Added: 09/04/2017) (Updated: 09/11/2017) - Super Sayian Gohan - Charge and release your kamehameha! (+POWER: Guided Kamehameha) //https://forums.alliedmods.net/showthread.php?t=34605
(Added: 09/06/2017) (Updated: 10/21/2017) - Yadrat - Teleport to your nearest enemy! (+POWER: Instant Transmission)
(Added: 09/09/2017) (Updated: 09/11/2017) - Domino - Do more damage to higher levels, the larger the difference the more damage (Even The Odds) //https://forums.alliedmods.net/showthread.php?t=36055
(Added: 09/10/2017) (Updated: 00/00/0000) - Penguin - Throw a penguin strapped with a nade that seeks out your enemy (Seeking HE-Penguins) //Penguin viewmodel/model needed: (Preview: https://www.youtube.com/watch?v=RkQqSynXMrs) //https://forums.alliedmods.net/showthread.php?t=34607
(Added: 09/10/2017) (Updated: 00/00/0000) - The Tick - SPOOOOOON! Take no damage from falling (No Fall Damage) //https://forums.alliedmods.net/showthread.php?t=36058
(Added: 09/10/2017) (Updated: 09/25/2017) - Phoenix - As the Phoenix you shall rise again from your burning ashes (Re-Birth) //https://forums.alliedmods.net/showthread.php?t=30270
(Added: 09/12/2017) (Updated: 09/12/2017) - Beast - Faster than flash, more health, more armor, lower gravity (Speed/Health/Armor/Gravity) //https://forums.alliedmods.net/showthread.php?t=30175
(Added: 09/12/2017) (Updated: 00/00/0000) - Yoda - Push enemies away with the power of the force (+POWER: Force Push) //https://forums.alliedmods.net/showthread.php?t=30113
(Added: 09/12/2017) (Updated: 09/12/2017) - Scout - Perform mid air jumps to any direction (Amount of jumps scales with level) (Multi Jump)
(Added: 09/13/2017) (Updated: 10/21/2017) - Frogger - While moving forward, hold duck to jump further (Long Jump) //https://forums.alliedmods.net/showthread.php?t=33644
(Added: 09/13/2017) (Updated: 00/00/0000) - Invisible Woman - Become invisible for a short period of time (Invisibility) //https://forums.alliedmods.net/showthread.php?t=33644
(Added: 09/13/2017) (Updated: 10/21/2017) - Morph - Disguise yourself as a crate and blend into the environment (Shapeshift into a crate) //https://forums.alliedmods.net/showthread.php?t=30197
(Added: 09/13/2017) (Updated: 00/00/0000) - Madness - Dual Sawed-Offs/Extra HP and Armor/Extra Sawed-Off damage (Dual Sawed-Offs) //https://forums.alliedmods.net/showthread.php?t=30258
(Added: 09/13/2017) (Updated: 00/00/0000) - Rambo - M249/Extra Damage/Extra Health & Armor/Smoke/HE/Flash Grenade (Rambo Style) //https://forums.alliedmods.net/showthread.php?t=30280
(Added: 09/13/2017) (Updated: 00/00/0000) - Master Roshi - Equip sunglasses that blocks bright flashes Health & Armor/Speed boost (No Flash)
(Added: 09/13/2017) (Updated: 09/24/2017) - Mr. Freeze - Freeze the ground and make everyone slide around like on ice! Also be immune to it (Freeze The Ground) //https://forums.alliedmods.net/showthread.php?t=30212
(Added: 09/15/2017) (Updated: 00/00/0000) - Golden Frieza - Fire many death beams (Emperors Death Beam)
Core Changelog:
Spoiler
v.1.0
Release
v1.01
Fixed a native error (SetHeroSecondaryWeapon)
v1.02
Fixed a bug where a hero would display twice
v1.03
Fixed an error where 2 of the same hero would show up... for real this time
v1.04
Added 2 new natives (SuperHero_GetMaxSpeed, SuperHero_GetGravity)
Fixed an "error" on morpheus (Didnt check for highest level primary weapon before giving him)
Fixed an error where native SuperHero_GetHighestPrimaryWeaponLevel or SuperHero_GetHighestSecondaryWeaponLevel would return wrong value
v1.05
Mod now uses its own SQLite database instead of the sourcemod database
Added a convar (superheromod_start_experience) to set players first join experience (Default: 0)
Cooldowns now show as a hudtext for every hero ([heroname]: Cooldown [seconds])
Updated translation file (for cooldown text)
v1.06
Fixed gravity getting reset after touching ladder
v1.07
Fixed a database error
v1.08
Added a new native (SuperHero_SetHeroAvailableLevel) (Should be called on OnConfigsExecuted since AutoExecConfig takes more than 1 frame to set convar values)
Added getting experience when planting/defusing a bomb
Added a global cooldown for power key presses (0.5 seconds by default)
Added description of the heroes to sm_herolist (Prints to console)
Completed the sm_help command
v1.10
Fixed global cooldown error on new map
v1.11
Fixed client variable initialization
v1.12
Fixed OnPlayerTakeDamage natives to work properly
v1.13
No longer displays level twice on spawn
v1.14
Displays experience gained when planting/defusing bomb
Armor resets properly on respawn
v1.15
Fixed error where Native_EndPlayerHeroCooldown would not reset hero cooldown timers
Added a VIP system
Added new folder and config file (addons/sourcemod/configs/superheromod/vipflags.cfg)
v1.16
Fixed commenting error and spelling error in vip config (vipheroes.cfg)
Added a new command sm_shreloadvip, ADMFLAG_ROOT, Refresh the vipheroes config
v1.17
Fixed native Native_ForceSetPlayerHeroCooldown to not EndPlayerHeroCooldown when its set to true
v1.18
Fixed timer error
v1.19
Reworked native Native_ForceSetPlayerHeroCooldown
v1.20
Now logs level ups
Added new convar (superheromod_enable_logs - 1 - Enable logging for leveling up)
v1.21
Added functionality to only track XP if a certain amount of players are in game
Added convar (superheromod_player_count_for_experience - 1 - Amount of players needed to gain experience)
v1.22
Fixed small error
v1.23
Added convar (superheromod_allow_buy_experience - 1 - Allow experience to be bought)
Added convar (superheromod_amount_of_money_paid_for_experi ence - 16000 - Amount of money needed to buy experience)
Added convar (superheromod_amount_of_buy_experience - 50 - Amount of experience gained for 16000 money)
Added command (sm_buyxp - Buy experience)
Can now buy experience with money (Set by convars)
Convar "mp_free_armor" set to 2 by default by plugin to disable buying armor
v1.24
Fixed a bug where you would get back your money next round after buying xp
v1.25
XP is now saved every X seconds (Set by convar, 60 by default)
Added new convar (superheromod_save_experience_interval - 60 - Amount of time (in seconds) between each save of experience occurs)
v1.26
Data is now saved properly
Added new forward SuperHero_OnPlayerDataLoaded that is called when a clients XP, Heroes etc.. is loaded
Installation:
Quote:
Everything in addons/sourcemod/plugins/ goes into plugins folder (Except the heroes you do not want)
Everything in addons/sourcemod/configs/ goes into configs folder addons/sourcemod/gamedata/ folder is not needed, disabled agentzero hero because of coding related stuff (GetInaccuracy offset change)
Everything in addons/sourcemod/translations/ goes into addons/translations/
Everything in sound/superheromod/ goes into sounds folder (csgo/sound/superheromod/)
Everything in materials/superheromod/ goes into materials folder (csgo/materials/superheromod/)
NOTE: Superhero convars will be auto generated in csgo/cfg/sourcemod/superheromod/
Vip Config:
PHP Code:
//
// Leaving the value empty will just allow everyone to use equip the hero.
// You do not need to add every hero and set the value to empty, this is done by default
//
//
//
// Example on adding heroes for vip flags:
// "VipHeroes"
// {
// "Anubis" "abcdef"
// "Dracula" "z"
// "Super Saiyan Gohan" ""
// "Madness" "opqrab"
// }
"VipHeroes"
{
}
Todo:
Models for certain superheroes (Wolverine claws, Morpheus dual MP7)
Make it so that if you're level 10, you can equip 1 lvl 10 hero, 2 lvl 9 heroes, 3 lvl 8 heroes and so on... (Could not make it work for some reason)
More heroes
Find vtable offset for CWeaponCSBase::GetInaccuracy to get agent zero hero running (old offset was 460) doesn't exist anymore need to find it somehow else
Credits:
Me
Vittu/Batman (Original 1.6 author for SuperHero Mod && Alot of heroes)
Yang (Original 1.6 author for alot of heroes)
Sharky (Original 1.6 author for alot of heroes)
Pelipoika (Help with coding stuff)
SUPER TIMOR (Polish translation)
Extra:
If you find any bugs, add me and I will try to deal with it/them asap.
If you want to add any heroes to the github page, I'll add them as long as they make sense.
If you do not know how to make a hero but you can do models, add me and I'll make it happen
If you have any questions or problems making a super hero, feel free to add me (I would not suggest adding me if you're creating a superhero without any programming experience at all)
If you set a server up with this mod, comment the IP of it and I will make a server list below this text
Servers:
104.228.231.237:27015 (Hosted by PPandora) (NA)
Join discord if you have any questions, bugs, suggestions, or wanna advertise your server, I'll also be posting all logs here (Including hero logs) The discord server is still open, you can come here and ask for help, but im not gonna add any new features to this plugin for now DISCORD INVITE LINK
Great mod with a lot of great memories from CS1.6/CsCz:
The mod seems great with a lot of nostalgia, e.g. the hud which tells you what the power does, when you have chosen the power.
Idea: How about adding the !buyxp which uses all your money, but gives you some exp?
Great mod with a lot of great memories from CS1.6/CsCz:
The mod seems great with a lot of nostalgia, e.g. the hud which tells you what the power does, when you have chosen the power.
Idea: How about adding the !buyxp which uses all your money, but gives you some exp?
Bug: You can buy Grandmaster twice?
Ye sure I can make a command like that, I will make a cvar for it to enable/disable it.
I would like to see Yang properly credited for all the heroes he created/fixed that are being used within this. When I picture the superhero mod I imagine Vittu and Yang. You're using his math that originally fixed Scorpion all those years ago that no one else could figure out after all
Great job by the way, my dude. This is highly impressive.