Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Eudemons Online > EO PServer Hosting
You last visited: Today at 18:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Development] C# sources

Discussion on [Development] C# sources within the EO PServer Hosting forum part of the Eudemons Online category.

Reply
 
Old 11/13/2010, 14:02   #136
 
.Ash's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 1,175
Received Thanks: 540
Awesome job You will go down in history im 100% sure.
.Ash is offline  
Old 11/13/2010, 16:37   #137
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Quote:
Originally Posted by hio77 View Post
yea im looking to add things like that once its stable

strange that it wont work though... im running it on win 7 x64 atm with no issues at all - the first release of it even lol... the official microsoft one

i wouldn't try downloading it while capped iver lol just gotta find the exploits in your isp :P

currently the action code is in C# itself but would be very easy to move to mysql

Code:
 case 104839: // BoxerLi PC- TG teleporter
                    {
                        if (LinkBack == 0)
                        {
                            Text("Hello I can help you train after you reach level 20,\n But I will charge you 1,000 gold.\n Would you like to go to the Training Grounds?", CSocket);
                            Link("Yes Please, Here is the money", 1, CSocket);
                            Link("No Thank you I cannot afford it.", 255, CSocket);
                            End(CSocket);
                        }
                        else if (LinkBack == 1)
                        {
                            if (CSocket.Client.Money >= 1000)
                            {
                                Teleport(1039, 219, 215, 0, CSocket);
                                Money(-1000, CSocket);
                            }
                            else
                            {
                                Text("How dare you try to rip me off! Get lost, Or get my money!", CSocket);
                                Link("I'm sorry, I didn't realize.", 255, CSocket);
                                End(CSocket);
                            }
                        }
                        break;
                    }
You're running Visual Studio 6.0 Professional on your Windows 7 Ultimate 64bit?

Trying to install it wouldn't work for me
funhacker is offline  
Old 11/13/2010, 21:35   #138
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
Quote:
Originally Posted by funhacker View Post
You're running Visual Studio 6.0 Professional on your Windows 7 Ultimate 64bit?

Trying to install it wouldn't work for me
idk lol it worked for me


anyway just an update for everyone i thought ild have a look at pking while i had breakfast and attacking and stuff is already working pretty well (few bugs in it but we can sort that over time)
hio77 is offline  
Old 12/01/2010, 02:35   #139
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
update: i have now got items working and part of eudemon spawning as well (composing will come later)

@funhacker msn aint working atm so ill just post it here ... i finally worked out what was wrong with the item packets ... you can spawn 40 items in less than 1ms so the tick timer doesn't count up thus giving them the same timer... when the client gets the ticktimer and sees it is the same it disregards the old packet which was creating the 1 item bug ..



now if anyone would like to help me i will be looking at composing calucations soon so first off does anyone know the calculations used to work out star marks? and if not maybe i could have a few suggestions

i was thinking i might include a "Donated Stars" value to the starmark calculations that way if someone donates for stars in a donation server where you may donate for stars then it would be added there. this way donator pets wont have big reborn counts and they wont have messed stats...
hio77 is offline  
Old 12/01/2010, 05:02   #140
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Quote:
Originally Posted by hio77 View Post
update: i have now got items working and part of eudemon spawning as well (composing will come later)

@funhacker msn aint working atm so ill just post it here ... i finally worked out what was wrong with the item packets ... you can spawn 40 items in less than 1ms so the tick timer doesn't count up thus giving them the same timer... when the client gets the ticktimer and sees it is the same it disregards the old packet which was creating the 1 item bug ..



now if anyone would like to help me i will be looking at composing calucations soon so first off does anyone know the calculations used to work out star marks? and if not maybe i could have a few suggestions

i was thinking i might include a "Donated Stars" value to the starmark calculations that way if someone donates for stars in a donation server where you may donate for stars then it would be added there. this way donator pets wont have big reborn counts and they wont have messed stats...
I gathered as much constantly signing in and out.

I was working on that a long time ago it seems to have an arc increase. Some kind of co-sin affect with an x factor of some kind. The closer it gets to the end the more it increases the closer it gets to the bottom the more it decreases
funhacker is offline  
Old 12/01/2010, 09:10   #141
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
Quote:
Originally Posted by funhacker View Post
I gathered as much constantly signing in and out.

I was working on that a long time ago it seems to have an arc increase. Some kind of co-sin affect with an x factor of some kind. The closer it gets to the end the more it increases the closer it gets to the bottom the more it decreases
yea its not even letting me login now lol ... oh well.. i decided that ima start mapping my packets out in a more easy to read state so i now have excel documents of packets that i know are right along with a detailed packet listing and then thats all going into my folder of stuff for this source

i think ima set up a proper site soon to put packet enums, layouts etc on so anyone can use them, weather its for proxys, packet intercepting bots or even another server source

im also thinking about iver finding somewhere to host this or when my connection is stable ill host it so people can take a look around at whats possible already


packets seem easy at first but wow they can drive you crazy ffs lol

also about the timer and the item... it doesn't matter lol! somehow i got the item UID and timer around the wrong way -.- i always thought it was strange that the timer was after the UID in that packet

when i was coding up dropping items i worked that out :P

now my next issue is picking up items it seems eo has a way of a "smart UID" for dropped items

say a item drops at 284,486 well then the id is those two numbers put together so i think ima have to code up something crafty to help that or find something that i have missed
hio77 is offline  
Old 12/01/2010, 09:27   #142
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Quote:
Originally Posted by hio77 View Post
yea its not even letting me login now lol ... oh well.. i decided that ima start mapping my packets out in a more easy to read state so i now have excel documents of packets that i know are right along with a detailed packet listing and then thats all going into my folder of stuff for this source

i think ima set up a proper site soon to put packet enums, layouts etc on so anyone can use them, weather its for proxys, packet intercepting bots or even another server source

im also thinking about iver finding somewhere to host this or when my connection is stable ill host it so people can take a look around at whats possible already


packets seem easy at first but wow they can drive you crazy ffs lol

also about the timer and the item... it doesn't matter lol! somehow i got the item UID and timer around the wrong way -.- i always thought it was strange that the timer was after the UID in that packet

when i was coding up dropping items i worked that out :P

now my next issue is picking up items it seems eo has a way of a "smart UID" for dropped items

say a item drops at 284,486 well then the id is those two numbers put together so i think ima have to code up something crafty to help that or find something that i have missed
Surely it has MapID mixed in there somewhere.

I may be able to work out a place for this.
funhacker is offline  
Old 12/01/2010, 10:06   #143
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
Quote:
Originally Posted by funhacker View Post
Surely it has MapID mixed in there somewhere.

I may be able to work out a place for this.
there is a place for it however there is no data in that place ... for some reason Chinese servers work with a lot of zero bytes... lazy coding i assume ...
hio77 is offline  
Old 12/01/2010, 10:33   #144
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Quote:
Originally Posted by hio77 View Post
there is a place for it however there is no data in that place ... for some reason Chinese servers work with a lot of zero bytes... lazy coding i assume ...
Was saying there has to be a MapID in the packet somewhere. Because if there isn't there could be 2 items with the same id on the ground

Map1000 100,100
Map2000 100,100


As for "I may be able to work out a place for this." was referring to a website location/storage ??
funhacker is offline  
Old 12/01/2010, 10:56   #145
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
Quote:
Originally Posted by funhacker View Post
Was saying there has to be a MapID in the packet somewhere. Because if there isn't there could be 2 items with the same id on the ground

Map1000 100,100
Map2000 100,100


As for "I may be able to work out a place for this." was referring to a website location/storage ??
well drop packets are sent being that your in view of the drop so there is no map id as such

i guess what i could do is do some sort of calucation like

if pickup x == drop x && pickup y == drop y && dropmap == csocket.client.mapid

the drop handler already checks to make sure that items dont stack ontop of each-other so its a possibility



ah i thought you were talking the packet lol
i can host the site on my webserver i was more talking about the server ... powerchaos did offer something awhile back so maybe ill talk to him and see what exactly he is offering

at the moment usages get to a max of 50mb memory including mysql so its not much im looking at atm ... thats counting anything that goes into pagefiles as well

-.- this is driving me mad lol iv gotta look at my routers stats and check it has managed to connect send it and hope it dont d/c before it sends... i think most of tomorrow will be arguing with my isp that their "collecting information" and changing my profile aint doing **** to fix my connection lol
hio77 is offline  
Old 12/01/2010, 11:17   #146
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Would be cleaner code with a structure?

Code:
struct INSERTNAME
{
public int Xpos;
public int Ypos;
public int MapID;
};


if (pickup == drop)
{.....}


I had the same prob with my ISP I just given up now.
Ours auto selects two DNS servers a primary and secondary. From time to time the primary for some reason will shut us out and not let us connect any longer than 5 seconds, but it wont bother attempting for the second. So reboot and repeat same happens again and again. Reported to telstra and all they have to say is have you tried rebooting your modem etc etc like I'm an idiot. Eventually I snapped and went off at them and they said we will put you through to our technical problems center, they said we will look at the connections in the area and report back to you in 2 - 4weeks... 8months later still no reply and still the same problem -.-
funhacker is offline  
Old 12/01/2010, 11:26   #147
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
Quote:
Originally Posted by funhacker View Post
Would be cleaner code with a structure?

Code:
struct INSERTNAME
{
public int Xpos;
public int Ypos;
public int MapID;
};


if (pickup == drop)
{.....}


I had the same prob with my ISP I just given up now.
Ours auto selects two DNS servers a primary and secondary. From time to time the primary for some reason will shut us out and not let us connect any longer than 5 seconds, but it wont bother attempting for the second. So reboot and repeat same happens again and again. Reported to telstra and all they have to say is have you tried rebooting your modem etc etc like I'm an idiot. Eventually I snapped and went off at them and they said we will put you through to our technical problems center, they said we will look at the connections in the area and report back to you in 2 - 4weeks... 8months later still no reply and still the same problem -.-
ah yea that could work

yea well we used to have a connection that would need a port reset every time it d/ced and would only sync at 64kbs/64kbs lol ... i skip their monkeys at helpdesk and go straight for their higher up people lol

all you ever do with a monkey is argue what they are saying and then they put you on hold for 5 mins and prented they are talking to their supervisor LOL!

im not sure if they moved it back now but a few months ago my isp movied their CSR center to Egypt lol
hio77 is offline  
Old 12/08/2010, 13:49   #148
 
funhacker's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 1,767
Received Thanks: 1,746
Curious if your connection has been fixed yet?

I have been working on an cq_action Class with children classes for specific types.

Here is a snippet so far:

Action.cs
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Action_Creator_V0._1.Action_Engine
{
    public class Action
    {
        #region Variables and Properties

        //Declare Variables (Global to any Action)
        int id;                 //ID of current Action Code
        int id_next;            //ID of the next Action Code (If current Action Code returns true)
        int id_nextfail;        //ID of the next Action Code (If current Action Code returns false)
        int type;               //The type of Action that the Action Code is
        int data;               //The data to be used when executing the Action Code
        string param;           //The parameters to be used for the Action Code
        bool valid = true;      //Used to determine if the Action Code is valid or invalid
        Action action_true;     //The action information of the next Action if the code returns true
        Action action_false;    //The action information of the next Action if the code returns false

        /// <summary>
        /// Get the ID of the ActionCode.
        /// </summary>
        public int ID
        {
            get { return id; }
            //Allows privately setting the value of the ID
            private set { id = value; }
        }

        /// <summary>
        /// Get the ID of the next ActionCode if the ActionCode is sucessful.
        /// </summary>
        public int ID_Next
        {
            get { return id_next; }
            //Allows privately setting the value of the ID_Next
            private set { id_next = value; }
        }

        /// <summary>
        /// Get the ID of the next ActionCode if the ActionCode is un-sucessful.
        /// </summary>
        public int ID_NextFail
        {
            get { return id_nextfail; }
            //Allows privately setting the value of the ID_NextFail
            private set { id_nextfail = value; }
        }



        /// <summary>
        /// Get the Type of the ActionCode.
        /// </summary>
        public int Type
        {
            get { return type; }
            //Allows privately setting the value of the Type
            private set { type = value; }
        }



        /// <summary>
        /// Get the Data of the ActionCode.
        /// </summary>
        public int Data
        {
            get { return data; }
            //Allows privately setting the value of the Data
            private set { data = value; }
        }



        /// <summary>
        /// Get the Parameters of the ActionCode.
        /// </summary>
        public string Parameters
        {
            get { return param; }
            //Allows privately setting the value of the Parameters
            private set { param = value; }
        }

        /// <summary>
        /// Get boolean if the Action Code is valid or not.
        /// </summary>
        public bool IsValid
        {
            get { return valid; }
            //Allows privately setting the value of IsValid
            private set { valid = value; }
        }

        #endregion

        #region Constructors
        /// <summary>
        /// Initialises the Action Class Object.
        /// </summary>
        /// <param name="id">ID of the Action Code.</param>
        /// <param name="id_next">ID_Next of the Action Code.</param>
        /// <param name="id_nextfail">ID_Next of the Action Code.</param>
        /// <param name="type">Type of the Action Code.</param>
        /// <param name="data">Data of the Action Code.</param>
        /// <param name="param">Parameters of the Action Code.</param>
        public Action(int id, int id_next, int id_nextfail, int type, int data, string param)
        {
            //Setup the ActionCode's Properties
            try { ID = id; }                    catch { Error(1); }
            try { ID_Next = id_next; }          catch { Error(2); }
            try { ID_NextFail = id_nextfail; }  catch { Error(3); }
            try { Type = type; }                catch { Error(4); }
            try { Data = data; }                catch { Error(5); }
            try { Parameters = param; }         catch { Error(6); }

        }

        /// <summary>
        /// Initialises the Action Class Object.
        /// </summary>
        /// <param name="action_code">Action Information.</param>
        public Action(Action action_code)
        {
            //Setup the ActionCode's Properties
            ID = action_code.ID;
            ID_Next = action_code.ID_Next;
            ID_NextFail = action_code.ID_NextFail;
            Type = action_code.Type;
            Data = action_code.Data;
            Parameters = action_code.Parameters;
        }
        #endregion

        #region Methods


        #region Error Display Method
        /// <summary>
        /// Displays an error according to what calls the method.
        /// </summary>
        /// <param name="type">Error Type.</param>
            public void Error(int type)
            {
                //Set IsValid to false as there is an error with the
                //Action Code
                IsValid = false;

                switch (type)
                {
                    case 1:
                        //Display Error Message for Action (Thus the AE) for type 001
                        MessageBox.Show("ERROR(AE001)\r\nInvalid Action ID!","ERROR(AE001)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;
                        
                    case 2:
                        //Display Error Message for Action (Thus the AE) for type 002
                        MessageBox.Show("ERROR(AE002)\r\nInvalid Action ID_Next!","ERROR(AE002)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;
                        
                    case 3:
                        //Display Error Message for Action (Thus the AE) for type 003
                        MessageBox.Show("ERROR(AE003)\r\nInvalid Action ID_NextFail!","ERROR(AE003)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;
                        
                    case 4:
                        //Display Error Message for Action (Thus the AE) for type 004
                        MessageBox.Show("ERROR(AE004)\r\nInvalid Action Type!","ERROR(AE004)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;
                        
                    case 5:
                        //Display Error Message for Action (Thus the AE) for type 005
                        MessageBox.Show("ERROR(AE005)\r\nInvalid Action Data!","ERROR(AE005)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;
                        
                    case 6:
                        //Display Error Message for Action (Thus the AE) for type 006
                        MessageBox.Show("ERROR(AE006)\r\nInvalid Action Parameters!","ERROR(AE006)",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                        break;


                        //System ERROR Messages

                        //MenuText ERROR Messages (Type 102)
                    case 1020:
                        //Display Error Message for Action (Thus the AE) for type 1020
                        MessageBox.Show("ERROR(AE1020)\r\nInvalid MenuLink Parameters! Requires atleast 1 space!", "ERROR(AE1020)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1021:
                        //Display Error Message for Action (Thus the AE) for type 1021
                        MessageBox.Show("ERROR(AE1021)\r\nInvalid MenuLink Parameters! Requires atleast 1 character for both Text and TaskID!", "ERROR(AE1021)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1022:
                        //Display Error Message for Action (Thus the AE) for type 1022
                        MessageBox.Show("ERROR(AE1022)\r\nInvalid MenuLink Parameters! Invalid TaskID!", "ERROR(AE1022)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    //MenuPic ERROR Messages (Type 104)
                    case 1040:
                        //Display Error Message for Action (Thus the AE) for type 1040
                        MessageBox.Show("ERROR(AE1040)\r\nInvalid MenuPic Parameters! Requires atleast 2 spaces!", "ERROR(AE1040)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1041:
                        //Display Error Message for Action (Thus the AE) for type 1041
                        MessageBox.Show("ERROR(AE1041)\r\nInvalid MenuPic Parameters! Requires no more than 3 spaces!", "ERROR(AE1041)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1042:
                        //Display Error Message for Action (Thus the AE) for type 1042
                        MessageBox.Show("ERROR(AE1042)\r\nInvalid MenuPic Parameters! Invalid value for X!", "ERROR(AE1042)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1043:
                        //Display Error Message for Action (Thus the AE) for type 1043
                        MessageBox.Show("ERROR(AE1043)\r\nInvalid MenuPic Parameters! Invalid value for Y!", "ERROR(AE1043)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1044:
                        //Display Error Message for Action (Thus the AE) for type 1044
                        MessageBox.Show("ERROR(AE1044)\r\nInvalid MenuPic Parameters! Invalid value for PictureID!", "ERROR(AE1044)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    case 1045:
                        //Display Error Message for Action (Thus the AE) for type 1045
                        MessageBox.Show("ERROR(AE1045)\r\nInvalid MenuPic Parameters! Invalid value for TaskID!", "ERROR(AE1045)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    //MenuCreate ERROR Messages (Type 120)
                    case 1200:
                        //Display Error Message for Action (Thus the AE) for type 1200
                        MessageBox.Show("ERROR(AE1200)\r\nInvalid MenuCreate Parameters! Invalid value for TaskID!", "ERROR(AE1200)", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        break;

                    default:
                        //Display Unknown Error Message for Action (Thus the AE)
                        MessageBox.Show("ERROR(Unkown)\r\nAn unknown error has occured!", "ERROR(Unknown)", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        break;
                }
            }
        #endregion
        #endregion

    }
}
MenuText.cs (Type 101)
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Action_Creator_V0._1.Action_Engine.Types.System
{
    public class MenuText:Action
    {
        #region Variables and Properties

        //Declare Variables (Only valid for this Type of Action Code)
        string text;    //The text to be displayed by the menu

        /// <summary>
        /// Get the Text of the MenuText Action Code.
        /// </summary>
        public string Text
        {
            get { return text; }
            //Allows privately setting the value of the Text
            private set { text = value; }
        }

        #endregion

        #region Constructors
        /// <summary>
        /// Initialises the MenuText class object.
        /// </summary>
        /// <param name="action_code">Action Code information.</param>
        public MenuText(Action action_code):base(action_code)
        {
            //Setup the MenuText's Properties
            try { Text = action_code.Parameters; }
            catch { Error(6); }
        }
        #endregion

        #region Methods
        #endregion
    }
}
MenuLink.cs (Type 102)
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Action_Creator_V0._1.Action_Engine.Types.System
{
    public class MenuLink:Action
    {
        #region Variables and Properties

        //Declare Variables (Only valid for this Type of Action Code)
        string text;    //The text displayed as the menu link
        int task_id;    //The cq_task ID used to link to

        /// <summary>
        /// Get the Text of the MenuLink Action Code.
        /// </summary>
        public string Text
        {
            get { return text; }
            //Allows privately setting the value of the Text
            private set { text = value; }
        }

        /// <summary>
        /// Get the TaskID of the MenuLink Action Code.
        /// </summary>
        public int TaskID
        {
            get { return task_id; }
            //Allows privately setting the value of the TaskID
            private set { task_id = value; }
        }
        #endregion

        #region Constructors
        /// <summary>
        /// Initialises the MenuLink class object.
        /// </summary>
        /// <param name="action_code">Action Code information.</param>
        public MenuLink(Action action_code): base(action_code)
        {
            //Declare variables required for processing.
            string _param;      //Store the parameters of the action code
            string _task_id;    //Store the link_id in a string form

            //Get the parameters from the actionCode parsed
            _param = action_code.Parameters;

            //Check if there is atleast 1 space character within the parameters
            if (_param.Contains(" ") == false)
            //Return an error and exit constructor
            { Error(1020); return; }

            //Get the link_id area of the param string
            _task_id = _param.Substring(_param.IndexOf(" ") + 1);

            //Remove the link_id area from the param string
            _param = _param.Substring(0, _param.IndexOf(" "));

            //Make sure both link_id and param contain atleast 1 character
            if (_task_id.Length < 1 || _param.Length < 1)
            { Error(1021); return; }

            //Finally check if the link_id is a valid number
            try { Convert.ToInt32(_task_id); }
            catch { Error(1022); return; }

            //Set the MenuLink's Properties
            Text = _param;
            TaskID = Convert.ToInt32(_task_id);
        }

        #endregion

        #region Methods
        #endregion
    }
}
MenuPic.cs (Type 104)
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Action_Creator_V0._1.Action_Engine.Types.System
{
    public class MenuPic:Action
    {
        #region Variables and Properties

        //Declare Variables (Only Valid for this Type of Action Code)
        int x;          //The X position of the MenuPic
        int y;          //The Y position of the MenuPic
        int pic_id;     //The ID of the MenuPic
        int task_id;    //Optional: The TaskID when the MenuPic is clicked

        /// <summary>
        /// Get the MenuPic's X position.
        /// </summary>
        public int X
        {
            get { return x; }
            //Allows privately setting the value of the MenuPic's X
            private set { x = value; }
        }

        /// <summary>
        /// Get the MenuPic's Y position.
        /// </summary>
        public int Y
        {
            get { return y; }
            //Allows privately setting the value of the MenuPic's Y
            private set { y = value; }
        }

        /// <summary>
        /// Get the ID of the MenuPic's Picture.
        /// </summary>
        public int PictureID
        {
            get { return pic_id; }
            //Allows privately setting the value of the MenuPic's PictureID
            private set { pic_id = value; }
        }

        /// <summary>
        /// Get the Optional TaskID of the MenuPic. 0 By default.
        /// </summary>
        public int TaskID
        {
            get { return task_id; }
            //Allows privately setting the value of the MenuPic's TaskID
            private set { task_id = value; }
        }


        #endregion

        #region Constructors
        /// <summary>
        /// Initialises the MenuPic class object.
        /// </summary>
        /// <param name="action_code">Action Code information.</param>
        public MenuPic(Action action_code): base(action_code)
        {
            //Declare Variables required for processing
            string _param;      //Store the parameters of the action code
            string _x;          //Store the x in a string form
            string _y;          //Store the y in a string form
            string _pic_id;     //Store the pic_id in a string form
            string _task_id;    //Store the task_id in a string form
            int space_count=0;  //Counter used to count amount of spaces in param

            //Get the parameters from the action code parsed
            _param = action_code.Parameters;

            //Check if there is atleast 2 spaces within the parameters
            if (_param.IndexOf(" ") == _param.LastIndexOf(" "))
            //Return an error and exit the constructor
            { Error(1040); return; }

            //Count the amount of spaces within the param
            for (int charIndex = _param.IndexOf(" "); charIndex < _param.LastIndexOf(" ")+1; charIndex++)
            {
                //If the current character is a space
                //Add one to the space counter
                if (_param[charIndex] == Convert.ToChar(" "))
                { space_count++; }
            }

            //If there is more than 3 spaces return an error and exit
            if (space_count > 3)
            { Error(1041); return; }

            //If there is 3 spaces then get the task_id
            if (space_count == 3)
            {
                _task_id = _param.Substring(_param.IndexOf(" ") + 1);
                //Remove the task_id from the param string
                _param = _param.Substring(0, _param.IndexOf(" "));
            }
            else { _task_id = "0"; }

            //Get the pic_id from the param string
            _pic_id = _param.Substring(_param.IndexOf(" ") + 1);
            //Remove the pic_id from the param string
            _param = _param.Substring(0, _param.IndexOf(" "));

            //Get the y value from the param string
            _y = _param.Substring(_param.IndexOf(" ") + 1);
            //Remove the y value from the param string
            _param = _param.Substring(0, _param.IndexOf(" "));

            //Get the x value from the param string
            _x = _param;

            //Validate all the values obtained
            try { Convert.ToInt32(_x); }
            catch { Error(1042); return; }
            try { Convert.ToInt32(_y); }
            catch { Error(1043); return; }
            try { Convert.ToInt32(_pic_id); }
            catch { Error(1044); return; }
            try { Convert.ToInt32(_param); }
            catch { Error(1045); return; }

            //All values are valid begin setting properties
            X = Convert.ToInt32(_x);
            Y = Convert.ToInt32(_y);
            PictureID = Convert.ToInt32(_pic_id);
            TaskID = Convert.ToInt32(_task_id);
        }
        #endregion

        #region Methods
        #endregion
    }
}
MenuCreate.cs (Type 120)
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Action_Creator_V0._1.Action_Engine.Types.System
{
    public class MenuCreate:Action
    {
        #region Variables and Properties

        //Declare Variables (Only Valid for this Type of Action Code)
        int task_id;    //Optional: The TaskID when the Menu is forcebly closed.

        /// <summary>
        /// Get the Optional TaskID of the MenuCreate. 0 by default.
        /// </summary>
        public int TaskID
        {
            get { return task_id; }
            //Allows privately settingt the value of the MenuCreate's TaskID
            private set { task_id = value; }
        }
        #endregion

        #region Constructors
        /// <summary>
        /// Initialises the MenuCreate class object.
        /// </summary>
        /// <param name="action_code">Action Code information.</param>
        public MenuCreate(Action action_code): base(action_code)
        {
            //Declare variables required for processing
            string _param;      //Store the parameters of the action code
            string _task_id;    //Store the task_id in a string form

            //Get the parameters from the action code parsed
            _param = action_code.Parameters;

            //Check if there is atleast 1 character in the parameters
            if (_param.Length > 0)
            { _task_id = _param; }
            else { _task_id = "0"; }

            //Validate the task_id value
            try { Convert.ToInt32(_task_id); }
            catch { Error(1200); return; }

            //All values are valid begin setting properties
            TaskID = Convert.ToInt32(_task_id);
        }
        #endregion

        #region Methods
        #endregion
    }
}
funhacker is offline  
Thanks
1 User
Old 03/19/2011, 21:09   #149
 
hio77's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 1,759
Received Thanks: 827
hey all, I'm back

I have now started working on this source again, cleaning it up and working on it.
so far all the features I originally listed as working are working (a lot of them will be tweaked as they look really badly coded atm)
but let me know if I never ended up posting that list, though I am gonna have a good look through this thread and check in a min

my plan for the next few days of progress:
  • Warehouses fully functional
  • Item interactivity working (wielding, wielding bonuses, response items - by this i mean things such as mp/hp pots actually running their actions)
  • Item forging (level upgrade, bonus upgrade, quality upgrade etc)
  • Mob/eudemon spawning(not sure which will come first atm though)
  • Composing (will be very basic for starting)
  • Experience

i'm also planning out getting a updated working binary or even a hosted copy of the server so people can have a look.

if anyone would like to help me feel free to contact me but there are a few simple things i could do with help on...

if anyone has the values of stats division for each level for each class or even partial it help me a lot to have a copy

also if anyone knows of the starmark calculation then that could help as well, i think starmarks will be very different by the end of my project to TQ binary's but I'm also planning to make it a little easier to customize.

edit:
looking over the last pictures i posted the char indicator wasn't even showing so heres a updated screenshot
in this screenshot sp looks to not be working but it is disabled to lower the number of packets on the console output while i'm testing things

-hio77

@funhacker those are looking really nice hows things going on it now?
hio77 is offline  
Old 03/20/2011, 01:54   #150
 
cruey's Avatar
 
elite*gold: 0
Join Date: Oct 2007
Posts: 698
Received Thanks: 857
thats mad keep us updated.
cruey is offline  
Reply


Similar Threads Similar Threads
help with sources
03/11/2010 - CO2 Private Server - 2 Replies
im tryin to use the NewestCO 5165 server source which probably wouldnt be bad if i could get the NewestCoServer.exe to load everytime i tried to start it up it opens up and then closes with no errors or anything i followed the guide for getting it running and it still didnt work. So, my question is, Does anyone know of a way to keep the NewestCoServer.exe from closing down all the time or maybe someone knows of a decent 5165 source that i can DL? Any help is greatly appreciated
Looking For TQ Bin Sources
09/12/2009 - CO2 Private Server - 4 Replies
hey all :handsdown: Who have the Latest Bin ? Who have Bin Source website ? link of Bin >> Fixed Bin OR who Have it just Mailing me at Signature ! Any Mod. Please Give aperiod to me may i get what i Need ! 4botters TEAM !
For using sources?
04/18/2009 - CO2 Private Server - 3 Replies
whats the best source to use as a beginner p-server maker and whats the best source to use as a pro
BWH-Sources
06/11/2006 - General Coding - 9 Replies
Hi, weiß jemand wo ich den BWH Source herbekommen kann? Würd mich mal intressieren wie der genau arbeitet,meine Trainer beschränken sich nämlich aufs Offset Patchen,von Offset auslesen etc. kann nicht die Rede sein,die sind immer fest eincompiliert :/ Naja in Google hab ich jedenfalls nichts finden können...bis auf erschreckend viele Pornoseiten :? Danke im voraus, Xalon



All times are GMT +1. The time now is 18:35.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.