Raised This Month: $51 Target: $400
 12% 

[CS:S/CS:GO] GunGame


Post New Thread Reply   
 
Thread Tools Display Modes
srvmil
Senior Member
Join Date: Oct 2010
Old 03-22-2014 , 01:25   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4551

Quote:
Originally Posted by cssBOT View Post
Yes I know thanks. Running SM (1.5.3-dev+3997).

I believe these are legit (minor) bugs that need to be patched.
Actually, you should keep SM up to date cssBOT.
The more errors it showing, the more you need to update the SM.

I'm running the latest SM and isn't seeing any errors on my CSGO server.

Last edited by srvmil; 03-22-2014 at 01:25.
srvmil is offline
cssBOT
Senior Member
Join Date: Apr 2009
Old 03-22-2014 , 01:39   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4552

Quote:
Originally Posted by Bittersweet View Post
Are the errors from CS:GO?
No the errors are on cs:s engine.
cssBOT is offline
Gamienator
Junior Member
Join Date: Nov 2011
Old 03-22-2014 , 07:44   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4553

Hey there, I got a big problem with the plugin. After killing the last people with a knife, the server don't switch the map. I stuck on the last level and knife until I get blue....

Anybody can help me?

PHP Code:
"GunGame.Config"
{
    
"Config"
    
{
        
/* ===== [1. GUNGAME MAIN CONFIG] ===== */

        /* ----- [1.1. main] ----- */
        
        /* Enables/Disables GunGame Mod */
        
"Enabled" "1"

        
/**
         * Do not fast switch on level up for this weapons.
         *
         * Comma-separated list 
         * of weapon names from gungame.equip.txt.
         *
         * Options:
         *      "hegrenade"                             - Enabled for hegrenade
         *      "hegrenade,taser"                       - Enabled for hegrenade and taser
         *      "taser,hegrenade,molotov,incgrenade"    - Default value
         *      ""                                      - Disabled
         */
        
"FastSwitchSkipWeapons" "hegrenade"

        
/**
         * Switch weapon without delays after level up.
         *
         * Options:
         *      1 - Enabled.
         *      0 - Disabled.
         */
        
"FastSwitchOnLevelUp" "0"

        
/**
         * Switch weapon without delays when player changes weapon by himself.
         *
         * SDK Hooks (sdkhooks) is required to use this option.
         *
         * Options:
         *      1 - Enabled.
         *      0 - Disabled.
         */
        
"FastSwitchOnChangeWeapon" "0"

        
/**
         * Freeze players after win.
         *
         * Options:
         *      1 - Freeze players.
         *      0 - Do not freeze players.
         */
        
"WinnerFreezePlayers" "0"

        
/**
         * Winner effects.
         *
         * Options:
         *      0 - Freeze players.
         *      1 - Make players fly.
         */
        
"WinnerEffect" "0"

        
/**
         * Delay before end of multiplayer game after gungame win. 
         *
         * Options:
         *      0 - Disabled.
         *      1-N - Number of seconds.
         */
        
"EndGameDelay" "0"

        
/**
         * Sets how to finish the game after someone has won.
         *
         * Options:
         *      0 - Normal game end with scoreboard, vote next map valve menu and weapon drops.
         *      1 - Silent game end.
         */
        
"EndGameSilent" "0"

        
/**
         * Multiply sound effects volume.
         *
         * In CS:GO the volume is too low.
         * You can up the volume with this multiplier.
         *
         * Options:
         *     0-1 - Do not multiply
         *     2-5 - Multiply by defined number of times
         */
        
"MultiplySoundVolume" "0"

        
/**
         * Block weapon switch if killer leveled up with knife
         *
         * You need SDK Hooks (sdkhooks) if you want to set it to "1"
         *
         * Options:
         *     1 - Block weapon switch
         *     0 - Do not block weapon switch
         */
        
"BlockWeaponSwitchIfKnife" "1"

        
/**
         * Block weapon switch if you get next hegrenade 
         * after previous hegrenade explode or after getting extra nade.
         *
         * You need SDK Hooks (sdkhooks) if you want to set it to "1"
         *
         * Options:
         *     1 - Block weapon switch
         *     0 - Do not block weapon switch
         */
        
"BlockWeaponSwitchOnNade" "1"

        
/** 
         * Show players level message in hint box instead of chat.
         * If enabled then multikill chat messages will be shown 
         * in hint box too (requres "MultiKillChat" "1").
         */
        
"ShowSpawnMsgInHintBox" "0"
        
        
/**
         * Show leader level info in hint box 
         * (requires "ShowSpawnMsgInHintBox" to be "1")
         */
        
"ShowLeaderInHintBox" "0"

        
/* Show leader's weapon name in chat with leading message */
        
"ShowLeaderWeapon" "0"
        
        
/**
         * Strip dead players weapon
         *
         * Options:
         *  0 - Disabled (default)
         *  1 - Enabled for alive and dead players (alive players can not drop guns)
         *  2 - Enabled for dead players only (alive players can drop guns)
         */
        
"StripDeadPlayersWeapon" "0"
        
        
/* Show levels in scoreboard */
        
"LevelsInScoreboard" "1"

        
/**
         * When shows levels in scoreboard it will 
         * clear deaths (requires "LevelsInScoreboard" "1")
         */
        
"ScoreboardClearDeaths" "0"
        
        
/* Restore level on player reconnect */
        
"RestoreLevelOnReconnect" "1"

        
/* Allow level up after round end */
        
"AllowLevelUpAfterRoundEnd" "1"
    
        
/* Show multikill hints in chat */
        
"MultiKillChat" "0"
        
        
/* Set sv_alltalk 1 after player win */
        
"AlltalkOnWin" "1"
        
        
/* Start voting if leader level is less maximum level by this value */
        
"VoteLevelLessWeaponCount" "2"
        
        
/* Display a join message, popup giving players instructions on how to play */
        
"JoinMessage" "1"

        
/** 
         * Level down playr if they kill themself by WorldSpawn Suicide.
         * 0 - Disable
         * 1..N - Levels to loose
         */
        
"WorldspawnSuicide" "1"

        
/**
         * Level down players if they use the "kill" command
         * 0 - Disable
         * 1..N - Levels to loose
         */
        
"CommitSuicide"     "1"

        
/* How many levels they can gain in 1 round (0 - disabled) */
        
"MaxLevelPerRound" "0"

        
/* Turbo Mode: give next level weapon on level up */
        
"TurboMode" "0"

        
/* Knife Elite force them to only have a knife after they level up.
           They will get a normal weapon again next round */
        
"KnifeElite" "0"

        
/**
         * How many kills they need to with the weapon to get the next level
         * Kills will count across all rounds so that you don't have to get them in one round.
         */
        
"MinKillsPerLevel" "1"

        
/**
         * Enabled friendly fire automatically when a player reaches hegrenade level.
         *
         * When nobody on nade level, than switches friendly fire back.
         * This does not affect EnableFriendlyFireLevel and EnableFriendlyFireLevel is not requered to be enabled.
         * See also FriendlyFireOnOff.
         *
         * 0 - Disabled
         * 1 - Enable friendly fire on nade level.
         */
        
"AutoFriendlyFire" "0"

        
/** 
         * FFA DM mode.
         *
         * If you are using CSS:DM with FFA mode enabled, 
         * then you should set this variable to "1".
         *
         * 0 - Disabled
         * 1 - Enabled
         */
        
"FFA" "0"

        
/** 
         * Enable friendly fire on defined level.
         *
         * This does not affect AutoFriendlyFire and AutoFriendlyFire is not requered to be 1.
         * See also FriendlyFireOnOff.
         *
         * 0 - Disabled.
         * 1..N - enable friendly fire on defined level.
         */
        
"EnableFriendlyFireLevel" "0"
        
        
/** 
         * What to do with friendly fire when EnableFriendlyFireLevel is not 0 and leader reaches EnableFriendlyFireLevel
         * or AutoFriendlyFire is 1 and someone reaches nade level.
         *
         * 1 - Enable friendy fire
         * 0 - Disable friendy fire
         */
        
"FriendlyFireOnOff" "1"
        
        
/** 
         * Disable rtv on defined level. 0 - disabled.
         */
        
"DisableRtvLevel" "0"

        
/**
         * If this option is enabled, than player can level up by killing with prop_physics.
         * For example with fuel barrels etc.
         * 
         * 1 - Enabled
         * 0 - Disabled
         */
        
"CanLevelUpWithPhysics"             "0"

        
/**
         * Use "CanLevelUpWithPhysics" option when player is on grenade level.
         * 
         * 1 - Enabled
         * 0 - Disabled
         */
        
"CanLevelUpWithPhysicsOnGrenade"    "0"

        
/**
         * Use "CanLevelUpWithPhysics" option when player is on knife level.
         * 
         * 1 - Enabled
         * 0 - Disabled
         */
        
"CanLevelUpWithPhysicsOnKnife"      "0"

        
/**
         * If this option is enabled, than player can level up by killing with nade at any time.
         * For example there are maps having grenades on them leaved by the author.
         * 
         * 1 - Enabled
         * 0 - Disabled
         */
        
"CanLevelUpWithMapNades"            "0"

        
/**
         * Use "CanLevelUpWithMapNades" option when player is on knife level.
         * 
         * 1 - Enabled
         * 0 - Disabled
         */
        
"CanLevelUpWithNadeOnKnife"         "0"

        
/**
         * Prevent players from using kill command.
         */
        
"SelfKillProtection" "1"

        
/**
         * Change game description.
         *
         * Requires SDK Hooks (sdkhooks).
         *
         * "{version}" will be changed to plugin version.
         *
         * Options: 
         *     "" = Option disabled.
         */
        
"GameDesc" "GunGame:SM {version}"

        
/* ----- [1.2. knifepro] ----- */
        
        /* Turn Knife Pro allow stealing a player level by killing them with a knife */
        
"KnifePro" "1"

        
/* Enables Knife Pro when a player is on hegrenade level */
        
"KnifeProHE"    "0"

        
/* The minimum level that a player must be at before another player can knife steal from. Requires KnifePro on */
        
"KnifeProMinLevel" "0"
        
        
/* If enabled then knife kill will also affect points */
        
"KnifeProRecalcPoints" "0"
        
        
/**
         * Maximum level difference between players to allow steal level 
         * 0 - Disabled
         * 1..N - Level difference between killer and victim
         */
        
"KnifeProMaxDiff" "0"

        
/**
         * Disable level down on knifepro.
         *
         * 1 - Level down disabled
         * 0 - Level down enabled
         */
        
"DisableLevelDown" "0"

        
/* ----- [1.3. objectives] ----- */
        
        /* Give x number of level by completing the bomb planting/defusing objectives.
         * Amount giving base on the value setting.
         */
        
"ObjectiveBonus" "1"

        
/* Enables objective bonus on last level */
        
"ObjectiveBonusWin" "0"
        
        
/** 
         * Gives objective bonus on exploding the bomb instead of planting
         * 0 - bonus on planting
         * 1 - bonus on exploding
         */
        
"ObjectiveBonusExplode" "0"

        
/* Remove objectives from map. 0 = Disabled, 1 = BOMB, 2 = HOSTAGE, 3 = BOTH*/
        
"RemoveObjectives" "3"

        
/* ----- [1.4. handicap] ----- */
        
        /**
         * Maximum level that handicap can give.
         * 0 - Disable restriction
         * 1..N - Max level
         */
        
"MaxHandicapLevel" "0"
        
        
/* Substract handicap level by this value */
        
"HandicapLevelSubstract" "1"

        
/**
         * Gives joining players the avg/min level of all other players when they join late.
         * 0 - Disable
         * 1 - Avg level
         * 2 - Min level
         */
        
"HandicapMode" "2"

        
/**
         * Allow players in the top rank to receive a handicap with the rest of the players.
         *
         * Handicap must also be turned on above for this to work.
         * See also "HandicapTopRank" to set rank limit for tp rank.
         *
         * 0 - Do not give handicap to the top rank players.
         * 1 - Give handicap to all players.
         */
        
"TopRankHandicap" "1"

        
/**
         * Gives handicap level automaticaly every defined number of seconds.
         * This only works for players that is on very minimum level from 
         * all the players.
         * Handicap must also be turned on for this to work.
         */
        
"HandicapUpdate" "0"
        
        
/**
         * Give handicap not more then given number of times per map.
         * 0 - disabled
         */
        
"HandicapTimesPerMap" "0"

        
/**
         * Do not give handicap to the top rank players.
         *
         * See also "TopRankHandicap" to allow all players to receive handicap.
         *
         * 0 - Give handicap to all players.
         * N - Do not give handicap for the first N players.
         */
        
"HandicapTopRank" "10"
        
        
/**
         * Use spectator's levels to calculate handicap level.
         *
         * 0 - Handicap does not count levels of spectators.
         * 1 - Handicap counts levels of spectators.
         */
        
"HandicapUseSpectators" "0"
        
        
/* ----- [1.5. equip] ----- */
        
        /* Auto reload current level weapon on kill */
        
"ReloadWeapon" "1"
        
        
/* Give player armor on spawn */
        
"ArmorKevlar" "1"
        "ArmorHelmet" "1"
        
        
/* Remove additional ammo in bonus weapon on the nade level */
        
"RemoveBonusWeaponAmmo" "1"
        
        
/**
         * If remove additional ammo in bonus weapon on the nade level is enabled, then give that bullets count. 
         *
         * 0 - default clip size
         * 1-N - number of bullets
         */
        
"BonusWeaponAmmo" "50"

        
/**
         * This gives the player a weapon with 50 bullets on nade level.
         * Example:
         *     "NadeBonus" "glock"  - gives glock 
         *     "NadeBonus" "deagle" - gives deagle
         *     "NadeBonus" ""       - feature disabled
         */
        
"NadeBonus" ""

        
/* Gives a smoke grenade on nade level */
        
"NadeSmoke" "0"

        
/* Gives a Flash grenade on nade level */
        
"NadeFlash" "0"

        
/* Gives a smoke grenade on knife level */
        
"KnifeSmoke" "0"

        
/* Gives a Flash grenade on knife level */
        
"KnifeFlash" "0"

        
/**
         * Gives an extra hegrenade to the player if they get a kill
         * 
         * 0 - Disable
         * 1 - Enable
         * 2 - Enable only for knife kills
         */
        
"ExtraNade" "0"

        
/* Gives unlimited hegrenades to the player if he is on nage level */
        
"UnlimitedNades" "0"

        
/**
         * Enable UnlimitedNades depending on the number of players in team.
         *
         * If UnlimitedNades is off and the number of players in one team less or 
         * equal to UnlimitedNadesMinPlayers then enable UnlimitedNades.
         * When it will be more players on both teams, turn UnlimitedNades back to off.
         *
         * 0 - Disable
         * 1 and above - Minimum number of players in each team for UnlimitedNames to be on.
         */
        
"UnlimitedNadesMinPlayers" "1"
        
        
/**
         * Number of nades on the nade level.
         *
         * This option is disabled 
         * if less then 2.
         */
        
"NumberOfNades" "0"
        
        
/* ----- [1.6. multi level] ----- */
        
        /* Multi Level Bonus */
        
"MultiLevelBonus" "0"

        
/* Enable God Mode when multi leveled */
        
"MultiLevelBonusGodMode" "1"

        
/**
         * Custom speed and gravity value multiplier for multi level bonus.
         * 0 - Disabled
         */
        
"MultiLevelBonusGravity" "0.5"
        "MultiLevelBonusSpeed" "1.5"

        
/* Miltilevel visual effect */
        
"MultiLevelEffect" "0"

        
/* How much levels is needed to get bonus */
        
"MultiLevelAmount" "3"

        
/**
         * Type of the multi level effect.
         *
         * 1 - Old effect.
         * 2 - New effect (default).
         */
        
"MultilevelEffectType" "2"

        
/* ----- [1.7. warmup] ----- */
        
        /* Enables Warmup Round*/
        
"WarmupEnabled" "1"

        
/* Warmup time length */
        
"WarmupTimeLength" "60"

        
/**
         * Give random weapon on warmup.
         * If you are using WarmupRandomWeaponMode, you can nou use WarmupNades or WarmupWeapon.
         *
         * 0 - Disable
         * 1 - Random weapon every map
         * 2 - Random weapon every round
         * 3 - Random weapon every spawn
         */
        
"WarmupRandomWeaponMode" "0"

        
/**
         * Gives unlimited hegrenades to the player if warmup is enabled.
         * If you are using WarmupRandomWeaponMode, you can nou use WarmupNades or WarmupWeapon.
         */
        
"WarmupNades" "1"

        
/**
         * Weapon for warmup.
         * If you are using WarmupRandomWeaponMode, you can nou use WarmupNades or WarmupWeapon.
         */
        
"WarmupWeapon" ""

        
/* ===== [2. GUNGAME TK CONFIG] ===== */
        
        /**
         * How much levels to loose after TK
         * 0 - Disable
         * 1..N - Levels to loose
         */
        
"TkLooseLevel" "0"
    
        
/* ===== [3. GUNGAME AFK CONFIG] ===== */
        
        /* Enables or disables built in Afk management system */
        
"AfkManagement" "1"

        
/* Kick player on x number of afk deaths. */
        
"AfkDeaths" "5"

        
/**
         * What action to deal with the player when the maximum is reach?
         * 0 = Nothing, 1 = Kick, 2 = Move to spectate, 
         */
        
"AfkAction" "2"
        
        
/* Reload current weapon on afk kill. */
        
"AfkReload" "0"

        
/* ===== [4. GUNGAME STATS CONFIG] ===== */
        
        /**
         * Prune player from player win database after numbers of days if they
         * havn't been in the server in awhile. This occur during map change.
         * It it recommended that you set a value to this setting. Over time as
         * the player win database get filled up. It can cause long map changes.
         * 0 = off otherwise the value is the number of days.
         */
        
"Prune"     "366"

        
/* ===== [5. GUNGAME DISPLAY WINNER CONFIG] ===== */
        
        /* Display winner in MOTD window. */
        
"DisplayWinnerMotd" "0"

        
/* URL to display in MOTD window. */
        
"DisplayWinnerUrl" "http://otstrel.ru/gg5_win.php"

        
/* Show player rank on win in chat */
        
"ShowPlayerRankOnWin" "1"

        
/**
         * If player wins on bot, then dont add win in stats.
         *
         * 0 - Add win into stats.
         * 1 - Don't add win into stats.
         */
        
"DontAddWinsOnBot" "0"

        
/* ===== [6. GUNGAME BOTS CONFIG] ===== */

        /**
         * Dont use bots levels for handicap calculation. 
         * Dont give handicap level to bots too.
         */
        
"HandicapSkipBots" "0"

        
/* Can bots win the game otherwise when they reach the last weapon and nothing will happen */
        
"BotsCanWinGame" "0"

        
/* Allow level up by killing a bot with knife */
        
"AllowLevelUpByKnifeBot" "0"

        
/* Allow level up by killing a bot with hegrenade */
        
"AllowLevelUpByExplodeBot" "0"

        
/* Allow level up by killing a bot with knife if there is no other human */
        
"AllowLevelUpByKnifeBotIfNoHuman" "1"

        
/* Allow level up by killing a bot with hegrenade if there is no other human */
        
"AllowLevelUpByExplodeBotIfNoHuman" "1"
     
}
    
    
"Sounds"
    
{
        
"IntroSound"        "gungame/gungame2.mp3"
        "KnifeLevel"        "gungame/knife_level.mp3"
        "NadeLevel"         "gungame/nade_level.mp3"
        "LevelSteal"        "gungame/smb3_1-up.mp3"
        "LevelUp"           "gungame/smb3_powerup.mp3"
        "LevelDown"         "gungame/smb3_powerdown.mp3"
        "Triple"            "gungame/smb_star.mp3"
        "Autoff"            "gungame/smb_warning2.mp3"
        "MultiKill"         "gungame/multikill.mp3"   
// (Ñ) VALVE
        /* Put each song filename in this list seperated by commas */
        
"Winner"            "gungame/winner.mp3"      // (Ñ) VALVE
        
"WarmupTimerSound"  "gungame/timer.mp3"       // (Ñ) VALVE
    
}

Gamienator is offline
ramakers
Junior Member
Join Date: Apr 2011
Location: Netherlands
Old 03-22-2014 , 09:27   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4554

In Css ; when map doesn't change after the winninground, change this "EndGameSilent" in gungame.config.txt to "1" ;
It will end now and change the map with normal scoreboard.

---------------------------------------------------------------------------------------------
/**
* Sets how to finish the game after someone has won.
*
* Options:
* 0 - Normal game end with scoreboard, vote next map valve menu and weapon drops.
* 1 - Silent game end.
*/
"EndGameSilent" "1" // changed for ending rounds and map change ?????????????????????

----------------------------------------------------------------------------------------------

Last edited by ramakers; 03-22-2014 at 09:29.
ramakers is offline
PlasteR
Senior Member
Join Date: May 2011
Location: Poland
Old 03-23-2014 , 10:38   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4555

CSGO:
Quote:
/* ----- [1.3. objectives] ----- */

/* Give x number of level by completing the bomb planting/defusing objectives.
* Amount giving base on the value setting.
*/
"ObjectiveBonus" "1"

/* Enables objective bonus on last level */
"ObjectiveBonusWin" "0"

/**
* Gives objective bonus on exploding the bomb instead of planting
* 0 - bonus on planting
* 1 - bonus on exploding
*/
"ObjectiveBonusExplode" "1"

/* Remove objectives from map. 0 = Disabled, 1 = BOMB, 2 = HOSTAGE, 3 = BOTH*/
"RemoveObjectives" "0"
Host work / Bomb hide :/
__________________
PlasteR is offline
Bittersweet
Veteran Member
Join Date: May 2012
Old 03-23-2014 , 13:19   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4556

Quote:
Originally Posted by cssBOT View Post
No the errors are on cs:s engine.
So you are running CS:S, SM 1.5.3-dev+3997. That is the exact SM version I am running.

This probably won't help you out, but may help Altex to nail down the issue.
I am running CS:S with that exact same SM version, without those errors. I am running an older version of GG, 1.2.11.0, so something that changed between 1.2.11.0 and whatever GG version you are using must be the issue.
__________________
Thank you in advance for your help

My plugins:
[CS:S] BOT Swat | [ANY] CVAR Randomizer | [CS:S] SM CS:S Tag Beta | [CS:S] Bot2Player
Awesome & Crucial plugins by other people:
[CS:S/CS:GO] GunGame | [UMC3] Ultimate Mapchooser | [ANY] Server Crontab | [ANY] SM ForceCamera
Bittersweet is offline
Gamienator
Junior Member
Join Date: Nov 2011
Old 03-24-2014 , 06:44   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4557

Thank you ramakers! This worked

Quote:
Originally Posted by ramakers View Post
In Css ; when map doesn't change after the winninground, change this "EndGameSilent" in gungame.config.txt to "1" ;
It will end now and change the map with normal scoreboard.

---------------------------------------------------------------------------------------------
/**
* Sets how to finish the game after someone has won.
*
* Options:
* 0 - Normal game end with scoreboard, vote next map valve menu and weapon drops.
* 1 - Silent game end.
*/
"EndGameSilent" "1" // changed for ending rounds and map change ?????????????????????

----------------------------------------------------------------------------------------------
Gamienator is offline
eric0279
AlliedModders Donor
Join Date: May 2007
Old 03-26-2014 , 03:26   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4558

Hello,

you recommend which version of SM?

I tried 41XX 1.6.0 and server crash ....

This is a new installation, there is only your plugin and its modules.

I test with the 1.5.3 version currently.

Regards,
eric0279 is offline
altex
Veteran Member
Join Date: May 2009
Location: Russia
Old 03-26-2014 , 03:43   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4559

i use latest stable sm+mm or latest dev builds
__________________
altex is offline
eric0279
AlliedModders Donor
Join Date: May 2007
Old 03-26-2014 , 04:17   Re: [CS:S/CS:GO] GunGame
Reply With Quote #4560

Ok, I'll see if Gungame does not cause crash with a stable version of SourceMod
eric0279 is offline
Reply



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 06:15.


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