ItsMods

Full Version: XP Manager V1.75 Fixed & Source Code
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hi people, this is my first shit coded-compiled EVER. This is not much useful, but im happy releasing something Smile
Also report bugs and +rep will help my reputation Wink
EDIT: YOU NEED THE Pozzuh's ADMIN PLUGIN OR ALL PEOPLE WILL BE ABLE TO CHANGE IT
New version now out! Use !setupxp at the first time you use this version!
Usage:
Code:
!setupxp                             <= Use this at first time!!!
!xp      [Number Optional]   <= XP Per Kill
!hxp    [Number Optional]   <= XP Per HeadShot
!sxp    [Number Optional]   <= XP Per Suicide
Example:

!hxp <= This will show how many XP do you get per HeadShot.

!sxp 1000 <= You will get 1000 XP per suicide.

Source Code:
Code:
using Addon;
using System;
using System.IO;
namespace xpmanager
{
    public class xpmanagerclass : CPlugin
    {
        public override void OnServerLoad()
        {
            ServerPrint("XP Manager V1.75 Loaded Successfully. Author: slipknotignacio");
        }
        public override ChatType OnSay(string Message, ServerClient Client)
        {
            if (Message.StartsWith("!setupxp"))
            {
                if (GetDvar("scr_dm_score_kill") == "")
                {
                    string[] files = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.cfg");
                    string Path = Directory.GetCurrentDirectory() + "/admin/server.cfg";
                    foreach (string file in files)
                        if (file.ToLower().EndsWith("server.cfg"))
                            Path = file;
                    string text = File.ReadAllText(Path) +
                        "\nseta scr_dm_score_kill \"100\"";
                    File.WriteAllText(Path, text);
                    TellClient(Client.ClientNum, "Kill XP fixed. You need to restart the map.", true);
                }
                else
                {
                    TellClient(Client.ClientNum, "You dont need to setup Kill XP. Its OK.", true);
                }
                if (GetDvar("scr_dm_score_headshot") == "")
                {
                    string[] files = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.cfg");
                    string Path = Directory.GetCurrentDirectory() + "/admin/server.cfg";
                    foreach (string file in files)
                        if (file.ToLower().EndsWith("server.cfg"))
                            Path = file;
                    string text = File.ReadAllText(Path) +
                        "\nseta scr_dm_score_headshot \"100\"";
                    File.WriteAllText(Path, text);
                    TellClient(Client.ClientNum, "HeadShot XP fixed. You need to restart the map.", true);
                }
                else
                {
                    TellClient(Client.ClientNum, "You dont need to setup HeadShot XP. Its OK.", true);
                }
                if (GetDvar("scr_dm_score_suicide") == "")
                {
                    string[] files = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.cfg");
                    string Path = Directory.GetCurrentDirectory() + "/admin/server.cfg";
                    foreach (string file in files)
                        if (file.ToLower().EndsWith("server.cfg"))
                            Path = file;
                    string text = File.ReadAllText(Path) +
                        "\nseta scr_dm_score_suicide \"0\"";
                    File.WriteAllText(Path, text);
                    TellClient(Client.ClientNum, "Suicide XP fixed. You need to restart the map.", true);
                }
                else
                {
                    TellClient(Client.ClientNum, "You dont need to setup Suicide XP. Its OK.", true);
                }
                return ChatType.ChatNone;
            }
                string lowMsg = Message.ToLower();
                if (lowMsg.StartsWith("!xp"))
                {
                    string[] splitMsg = lowMsg.Split(' ');
                    String xp = GetDvar("scr_dm_score_kill");
                    if (splitMsg.Length == 1)
                        TellClient(Client.ClientNum, "^1Your Current Kill XP Is: " + xp, true);
                    else
                    {
                        try
                        {
                            int NewXPValue = Convert.ToInt32(splitMsg[1]);
                            string qxp = NewXPValue.ToString();
                            SetDvar("scr_dm_score_kill", qxp);
                            TellClient(Client.ClientNum, "^1Kill XP Changed To: " + NewXPValue, true);
                        }
                        catch (Exception e)
                        {
                            TellClient(Client.ClientNum, "^1Invalid Kill XP Value!", true);
                        }
                    }
                    return ChatType.ChatNone;
                }

                if (lowMsg.StartsWith("!hxp"))
                {
                    string[] splitMsg = lowMsg.Split(' ');
                    String hxp = GetDvar("scr_dm_score_headshot");
                    if (splitMsg.Length == 1)
                        TellClient(Client.ClientNum, "^1Your Current HeadShot XP Is: " + hxp, true);
                    else
                    {
                        try
                        {
                            int NewHXPValue = Convert.ToInt32(splitMsg[1]);
                            string qhxp = NewHXPValue.ToString();
                            SetDvar("scr_dm_score_headshot", qhxp);
                            TellClient(Client.ClientNum, "^1HeadShot XP Changed To: " + NewHXPValue, true);
                        }
                        catch (Exception e)
                        {
                            TellClient(Client.ClientNum, "^1Invalid HeadShot XP Value!", true);
                        }
                    }
                    return ChatType.ChatNone;
                }

                if (lowMsg.StartsWith("!sxp"))
                {
                    string[] splitMsg = lowMsg.Split(' ');
                    String sxp = GetDvar("scr_dm_score_suicide");
                    if (splitMsg.Length == 1)
                        TellClient(Client.ClientNum, "^1Your Current Suicide XP Is: " + sxp, true);
                    else
                    {
                        try
                        {
                            int NewSuicideXPValue = Convert.ToInt32(splitMsg[1]);
                            string qsxp = NewSuicideXPValue.ToString();
                            SetDvar("scr_dm_score_suicide", qsxp);
                            TellClient(Client.ClientNum, "^1Suicide XP Changed To: " + NewSuicideXPValue, true);
                        }
                        catch (Exception e)
                        {
                            TellClient(Client.ClientNum, "^1Invalid Suicide XP Value!", true);
                        }
                    }
                    return ChatType.ChatNone;
                }
                return ChatType.ChatContinue;
            }
        }
    }

Changelog V1.75
Code:
Fixed major bug when the commands doesnt work if you dont have already set the values in your server.cfg
Code optimized

Changelog V1.00
Code:
Initial Release

Credits:
Me => Obvious
Users of ItsMods => To Releasing their source code and I studied it
Pozzuh and iAegle => For the big help

Virus Scan: https://www.virustotal.com/file/ead3e254...327141949/

MD5: 9AB2204C6BBDAED70E87275A7F265764
You use a lot of my script, but no credits?
(01-20-2012, 18:30)Pozzuh Wrote: [ -> ]You use a lot of my script, but no credits?

Your code? There's not really a different way for doing this, so its not your code Troll But you did help him
(01-20-2012, 18:35)iAegle Wrote: [ -> ]
(01-20-2012, 18:30)Pozzuh Wrote: [ -> ]You use a lot of my script, but no credits?

Your code? There's not really a different way for doing this, so its not your code Troll But you did help him

If you look at the help thread you could see he used 'lowMsg' like me, and startswith() instead of other pleople's ways.

Anyway, it's fine now, nice release.
Also, how did you make the plugin? With Visual C#/Studio or with something else? Because Visual C#/Studio really help with the IntelliSense thingy. Whenever you type a function name they automatically tell you which parameters the function needs and what type the next parameter is (int, string etc) so you wouldn't have had the error Wink
(01-20-2012, 18:50)iAegle Wrote: [ -> ]Also, how did you make the plugin? With Visual C#/Studio or with something else? Because Visual C#/Studio really help with the IntelliSense thingy. Whenever you type a function name they automatically tell you which parameters the function needs and what type the next parameter is (int, string etc) so you wouldn't have had the error Wink

Well, I didnt say that I have a error, it was all ok, but not working. And I use Visual C# 2010
(01-20-2012, 18:52)slipknotignacio Wrote: [ -> ]
(01-20-2012, 18:50)iAegle Wrote: [ -> ]Also, how did you make the plugin? With Visual C#/Studio or with something else? Because Visual C#/Studio really help with the IntelliSense thingy. Whenever you type a function name they automatically tell you which parameters the function needs and what type the next parameter is (int, string etc) so you wouldn't have had the error Wink

Well, I didnt say that I have a error, it was all ok, but not working. And I use Visual C# 2010

Hmmm, because you converted it to an integer and the function requires a string so it should show an error :o
k well, you say you use other people's sourcecodes, so why don't post it yourself?
(01-20-2012, 18:58)jariz Wrote: [ -> ]k well, you say you use other people's sourcecodes, so why don't post it yourself?

sorry, what do you mean?
(01-20-2012, 19:02)slipknotignacio Wrote: [ -> ]
(01-20-2012, 18:58)jariz Wrote: [ -> ]k well, you say you use other people's sourcecodes, so why don't post it yourself?

sorry, what do you mean?

Post le source code
Pages: 1 2