Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Unknown_raven

Members
  • Posts

    39
  • Joined

  • Last visited

    Never

Posts posted by Unknown_raven

  1. Heres a link to how to install it on windows 7\. [http://www.fortypoun…asp?artid=20502](http://www.fortypoundhead.com/showcontent.asp?artid=20502)

    Really the important part of the step is where you create the **MSJAVA.DLL** file. To create it just open up a file in notepad and save it as that name, including the .DLL If you saved it correctly it should format itself to .DLL extension
  2. On Server it is in modPlayer using two commands

    ```

    Sub SetPlayerBankItemNum(ByVal index As Long, ByVal BankSlot As Long, ByVal itemnum As Long)

    Bank(index).Item(BankSlot).Num = itemnum

    End Sub

    ```

    and then

    ```

    Sub SetPlayerBankItemValue(ByVal index As Long, ByVal BankSlot As Long, ByVal ItemValue As Long)

    Bank(index).Item(BankSlot).Value = ItemValue

    End Sub

    ```

    If your talking about doing it from within game I do not believe the command exists right now for that. You would need to use an account editor that can manipulate the bank variables.
  3. I started updating my account editor for the new Eclipse Official version with the Event System and I have run into this strange issue with reading the players location and map coordinates. Every other stat reads fine such as STR, END, WILL, HP, Mana, Level, Exp, Name, Password, Items, Sprite Number, but whenever I call the Player(index).Map or X & Y it always returns 0\. I have looked over and over the code and there must be something simple I am missing.

    Heres where I delcared some of the variables

    ```

    Public Const MAX_PLAYERS As Byte = 70

    Public Const NAME_LENGTH As Byte = 20

    Public Const ACCOUNT_LENGTH As Byte = 12

    Public Const MAX_INV As Byte = 35

    Public Const MAX_PLAYER_SPELLS As Byte = 20

    Public Const MAX_HOTBAR As Long = 12

    Public Const MAX_MAPS As Long = 100

    Public Const MAX_MAPX As Byte = 14

    Public Const MAX_MAPY As Byte = 11

    Public Const MAX_SWITCHES As Long = 1000

    Public Const MAX_VARIABLES As Long = 1000

    Public Switches(1 To MAX_SWITCHES) As String

    Public Variables(1 To MAX_VARIABLES) As String

    Public Name As String

    Public Player(1 To MAX_PLAYERS) As PlayerRec

    ```

    ```

    Private Type PlayerRec

    'Account

    Login As String * ACCOUNT_LENGTH

    Password As String * NAME_LENGTH

    'General

    Name As String * ACCOUNT_LENGTH

    poontang As Byte

    Class As Long

    Sprite As Long

    Level As Byte

    exp As Long

    Access As Byte

    PK As Byte

    'Vitals

    Vital(1 To Vitals.Vital_Count - 1) As Long

    'Stats

    stat(1 To Stats.Stat_Count - 1) As Byte

    POINTS As Long

    'Worn equipment

    Equipment(1 To Equipment.Equipment_Count - 1) As Long

    'Inventory

    Inv(1 To MAX_INV) As PlayerInvRec

    Spell(1 To MAX_PLAYER_SPELLS) As Long

    'Hotbar

    Hotbar(1 To MAX_HOTBAR) As HotbarRec

    'Position

    Map As Long

    x As Byte

    y As Byte

    Dir As Byte

    Switches(0 To MAX_SWITCHES) As Byte

    Variables(0 To MAX_VARIABLES) As Long

    End Type

    ```

    This is where I read the Binary Account file.

    ```

    Public Sub LoadFile(File_Name As String)

    Dim filename As String

    Dim F As Long

    filename = App.Path & "\data\accounts\" & Trim(File_Name) & ".bin"

    If LenB(Dir(filename)) < 1 Then

    MsgBox ("No File Exists!")

    Exit Sub

    End If

    'Open up File and extract its records

    F = FreeFile

    Open filename For Binary As #F

    Get #F, , Player(1)

    Close #F

    'Data Checks

    If Player(1).Access < 0 Then Player(1).Access = 0

    If Player(1).Access > 4 Then Player(1).Access = 4

    Call Display

    End Sub

    ```

    Here is where the data from the loaded Player(index) is inserted into the display GUI. Everything below works fine except the part concerning the Map, X & Y values which always return 0 even when I have moved the player to a new map and location.

    ```

    Public Sub Display()

    'This function fills in the form with the loaded filedata

    frmEditor.cboGender.Clear

    frmEditor.cboGender.AddItem "Male"

    frmEditor.cboGender.AddItem "Female"

    frmEditor.cboAccess.Clear

    frmEditor.cboAccess.AddItem "Player"

    frmEditor.cboAccess.AddItem "Monitor"

    frmEditor.cboAccess.AddItem "Mapper"

    frmEditor.cboAccess.AddItem "Developer"

    frmEditor.cboAccess.AddItem "Creator"

    frmEditor.cboPK.Clear

    frmEditor.cboPK.AddItem "Normal"

    frmEditor.cboPK.AddItem "PKer"

    'Player

    frmEditor.txtLogin.Text = Player(1).Login

    frmEditor.txtPassword.Text = Player(1).Password

    frmEditor.txtName.Text = Player(1).Name

    frmEditor.cboGender.ListIndex = Player(1).poontang

    frmEditor.txtLevel.Text = Player(1).Level

    frmEditor.txtExperience.Text = Player(1).exp

    frmEditor.cboAccess.ListIndex = Player(1).Access

    frmEditor.cboPK.ListIndex = Player(1).PK

    frmEditor.txtSprite.Text = Player(1).Sprite

    'Location

    frmEditor.scrlMap.Min = 0

    frmEditor.scrlMap.Max = MAX_MAPS

    frmEditor.scrlMapX.Min = 0

    frmEditor.scrlMapX.Max = MAX_MAPX

    frmEditor.scrlMapY.Min = 0

    frmEditor.scrlMapY.Max = MAX_MAPY

    frmEditor.scrlMap.Value = Player(1).Map

    frmEditor.scrlMapX.Value = Player(1).x

    frmEditor.scrlMapY.Value = Player(1).y

    frmEditor.lblMap.Caption = "Map: " + Trim(frmEditor.scrlMap.Value)

    frmEditor.lblMapX.Caption = "x: " + Trim(frmEditor.scrlMapX.Value)

    frmEditor.lblMapY.Caption = "y: " + Trim(frmEditor.scrlMapY.Value)

    'Stats

    frmEditor.txtSTR.Text = Player(1).stat(1)

    frmEditor.txtEND.Text = Player(1).stat(2)

    frmEditor.txtVIT.Text = Player(1).stat(3)

    frmEditor.txtWIL.Text = Player(1).stat(4)

    frmEditor.txtINT.Text = Player(1).stat(5)

    'Vitals

    frmEditor.txtHealth.Text = Player(1).Vital(1)

    frmEditor.txtMana.Text = Player(1).Vital(2)

    End Sub

    ```
  4. I had hopes of trying to resolve this problem but after installing Eclipse Official with the new event system, I cannot seem to replicate the bug. Here is what I did, i created two accounts and logged them both in, then while on the same map i had them both say something in vicinity chat and global. I then had them go on seperate maps and do the same but in all cases the messages sent all show up to the other client instantly. I am not seeing the lag that you are describing. Not saying that the bug doesnt exist just simply that I cannot see it.
  5. > Line 1668: Class RichTextLib.RichTextBox of control txChat was not a loaded control class
    >
    > Line 1714: Class MSWinsockLib.Winsock of control Socket was not a loaded control class.

    It is sounding like your source nolonger has those components installed. 

    Open up your client side source, then click on the Project tab at the top of the screen and scroll down to the components button or  (hit control+T) for the short cut to it.

    Scroll down a bit until you find those two controls and make sure they have a check mark next to them.  If they are check marked already then I got some questions for you.

    1.) is this the first time you opened the source or have you been using it for a while and suddenly you just started getting these errors?
  6. An overflow comes from when a variable has data it cannot support or handle.  An example would be taking a byte variable and trying to set it equal to 256.

    Dim x as Byte  (byte supports from 0-255)

    x = 256 (overflow because x value is now higher then the data field.)

    This can happen with combo boxes and lists which use arrays.  For example you might have a list with 5 items in it,

    INDEX
    0
    1
    2
    3
    4

    Now if you use a code to select Index 5 or 6 it will over flow because there is no index 5 or 6.

    If you can find out where in the code the overflow is occuring it will be very easy to fix.  If deleting the account doesnt work then run the server in test mode by opening its source and hitting F5.  Once the bug occurs it will highlight it in yellow for you.
  7. You need to open up the source of the server and then hit the F5 button, that will cause the server to run in a test mode.  Then when the error occurs, it will be hilighted in yellow.  Just copy the section that the error is happening at and paste it here so we can isolate the bug.
  8. Yes, its actually fairly simple.  You add a variable named Faction to the PlayerRec and then under the PlayerAttackPlayer sub routine add in a check that compares the two player's factions.  If they belong to the same faction then do not allow them to attack each other.  You could even do this with NPCs by adding the variable to the NpcRec and Npc Editor.
  9. Click on the form or a button object and then change the picture variable located in the properties section of the form/button.

    With buttons, the really neat thing is they have two graphic slots,  The main image shown is the Picture variable but theres another one called DownPicture that will show when someone is pressing the button.  What you do is you can make a special color for when the button is pressed and assign the image to the button to give it a special effect.

    In all its really simple to do, the hard part is just getting the BitImage the right size to fit the form or button.
  10. This guide is actually more like 5 years old.  It is the guide I made for Konfuze Milestone ages ago though whoever posted it here I believe has modified parts of it for the original Eclipse Engine.  I think its about time I remake the guide though it would likely be for EO since that is the only source I like to use.
  11. I went ahead and made a very small update but its one that others can benefit from.  I added a list box that will display all the account files in the account folder so you can actually select the account instead of having to type in the name manually.
  12. Ok I'll try and explain this a bit clearer so you can understand.

    When you make a combo box you might add a list of names such as "Warrior, Ranger, Wizard"  In that list example the names are displayed top to bottom according to order, in this case the drop down box would look like

    Warrior
    Ranger
    Wizard

    The command cmboClass.ListIndex returns the index number that is selected.  Combo boxes are numbered starting from 0 to the end of their list.  The Above example has 3 items in its list, so the index are numbered as following

    0
    1
    2

    or

    0 = Warrior
    1 = Ranger
    2 = Wizard

    So the .ListIndex returns a number 0-2.  Sometimes the class.ini file will number the first class as class 0, if thats the case then everything is simple.  If however the classes are numbered from 1 and up then your need to -1 from the comparison.  Example would be

    comboClass.ListIndex = (CLASS - 1)
  13. I think some examples of the formulas it makes might be a bit more helpful, I mean I don't exactly see the use for this thing yet as I don't really even understand what it does.  Anyone with a pen and paper can write a formula.
  14. I loved the account editor that Lightning created back a few months ago and I am sure many of you all liked it too but I know that those of you working hard on your EO sources might one day change the PlayerRec files so I have released my own version of an account editor for anyone to use.

    It might have some bugs in it though from what I've tested it works fine.  Feel free to develop it more or whatever you want with it.  The download comes with the compiled editor and source.  To use the compiled version, just drop it in the same folder that the Server.exe is in.

    ![](http://img.photobucket.com/albums/v352/salcon/AccountEditor-1.jpg)

    Download: [Account_Editor.zip](http://www.filefactory.com/file/b4a2h80/n/EO_Account_Editor.zip)
  15. Honestly for me I could care less about the features as I can always add in features I want later through tutorials or just simply making them myself.  All I would like to see with EO is continued bug fixes or other optimizations.  Thats all it really needs right now as a base engine.  If it wasnt for the fact that I am waiting to see what the next version is going to have done in it, then I would take a version of 1.1.0 right now and just do a load of the bug fixes and release that.  For now though I think it would be a waste of time as Robin fixed a lot of the bugs.
×
×
  • Create New...