Welcome!

Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!

Join Today!

RevolutionX [V26/Plugin/RP]

Status
Not open for further replies.
Custom Title Activated
Loyal Member
Joined
Oct 21, 2007
Messages
2,100
Reaction score
465
What is RevolutionX?
RevolutionX is a plugin made for Xoa to handle it querys better for it's RP fields and tables.

What does RevoultionX stand for?
RevolutionX stands for RevolutionXoa.

Contents of the RevoltionX folder?
DataCacher Folder, Contains Cacher.cs
DataRouter Folder, Contains Router.cs
SessionRouter Folder, Contains SessionRouter.cs


How to instal?
Add the RevolutionX folder to Source folder of your Xoa emu.
Replace your current virtualUser with the modified one.
Open up Visual Studio, include the RevolutionX folder by right Clicking it and Selecting "Include in Project"
And then Debug! And you done and ready to go!

What did i code this?
I did because i was sick of seeing people making rp's and not being able to reach 20 users without the server crashing.

How long did it take?
It only took half an hour. It is not complete but it does the job perfect.

Example of the plugin doing the Reset data in the pre-login

Code:
SessionRouter.CachedComposer().ComposeCachedSession().ComposeStableResetData(userID);
TODO:
Add more feature for plugin.
Recode the One way gates using Plugin.
Code the Room entry badges using the Plugin.

This product currently is not noob-friendly.

Download:

Stay on topic. Don't flame. Don't ask for help on anything besides this Plugin.

Happy Holidays. Merry Christmas.

A like would be much appreciated.

Cheers,
Zak
 
Yeah not that many RP's around.

Example of it being used.
Code:
         case "jailtimer":
                        {
                            int Arrested = SessionRouter.CachedComposer().ComposeCachedBuilder().AppendCache(userID,
                                                                                                             Arrested,
                                                                                                             "arrested");
                            if (Arrested == 1 && jailLooper == null)
                            {
                                var jailStarter = new ThreadStart(jailTime);
                                jailLooper = new Thread(jailStarter);
                                jailLooper.Priority = ThreadPriority.Lowest;
                                jailLooper.Start();
                            }
                            break;
                        }

Cache Builder v1

Insert Into Router.cs

Variable
Code:
private Builder _cacheBuilder;

Method
Code:
        public Builder ComposeCachedBuilder()
        {
            return _cacheBuilder;
        }

Builder.cs

Code:
namespace Holo.Source.RevoultionPlugins.CacheBuilder
{
    public class Builder
    {
        /// <summary>
        /// Define A Variable Stabely
        /// </summary>
        /// <param name="sessionId">userID goes here.</param>
        /// <param name="sVariable">Your variables goes here.</param>
        /// <param name="sColumn">The column you want from users table.</param>
        /// <param name="iValue">Value that you wanna set for the column</param>
        public string AppendCache(int sessionId, string sVariable, string sColumn, int iValue)
        {
            //Get Client To Database.
            var dataClient = Eucalypt.dbManager.GetClient();
            //Define dataRow And Get Information From Users Table Using GetRow Method Of The Client And Get The Info Using The User Id.
            var dataRow = dataClient.getRow("SElECT * FROM users WHERE id = '" + sessionId + "'");

            // Get Column And Set It's Value
            if (dataRow != null) sVariable = (string) (dataRow[sColumn] = iValue);

            return sVariable;
        }

        /// <summary>
        /// Get Column
        /// </summary>
        /// <param name="sessionId">userID</param>
        /// <param name="sVariable">Target Variable</param>
        /// <param name="sColumn">Column</param>
        /// <returns></returns>
        public string AppendCache(int sessionId, string sVariable, string sColumn)
        {
            //Get Client To Database.
            var dataClient = Eucalypt.dbManager.GetClient();
            //Define dataRow And Get Information From Users Table Using GetRow Method Of The Client And Get The Info Using The User Id.
            var dataRow = dataClient.getRow("SElECT * FROM users WHERE id = '" + sessionId + "'");

            // Get Column And Set It's Value
            if (dataRow != null) sVariable = (string)(dataRow[sColumn]);

            return sVariable;
        }

        /// <summary>
        /// Define A Variable Stabely
        /// </summary>
        /// <param name="sessionId">userID goes here.</param>
        /// <param name="iVariable">Your variables goes here.</param>
        /// <param name="sColumn">The column you want from users table.</param>
        /// <param name="iValue">Value that you wanna set for the column</param>
        public int AppendCache(int sessionId, int iVariable, string sColumn, int iValue)
        {
            //Get Client To Database.
            var dataClient = Eucalypt.dbManager.GetClient();
            //Define dataRow And Get Information From Users Table Using GetRow Method Of The Client And Get The Info Using The User Id.
            var dataRow = dataClient.getRow("SElECT * FROM users WHERE id = '" + sessionId + "'");

            // Get Column And Set It's Value
            if (dataRow != null) iVariable = (int)(dataRow[sColumn] = iValue);

            return iVariable;
        }

        /// <summary>
        /// Get Column
        /// </summary>
        /// <param name="sessionId">userID</param>
        /// <param name="iVariable">Target Variable</param>
        /// <param name="sColumn">Column</param>
        /// <returns></returns>
        public int AppendCache(int sessionId, int iVariable, string sColumn)
        {
            //Get Client To Database.
            var dataClient = Eucalypt.dbManager.GetClient();
            //Define dataRow And Get Information From Users Table Using GetRow Method Of The Client And Get The Info Using The User Id.
            var dataRow = dataClient.getRow("SElECT * FROM users WHERE id = '" + sessionId + "'");

            // Get Column And Set It's Value
            if (dataRow != null) iVariable = (int)(dataRow[sColumn]);

            return iVariable;
        }
    }
}

This is a great addon RevolutionX plugin as it allows users to make there own features more stable.

Made in 10 mins lol.
 
Status
Not open for further replies.
Back