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

GodWar

Members
  • Posts

    51
  • Joined

  • Last visited

    Never

Posts posted by GodWar

  1. DANGER!!! IT CHANGES YOUR SERVER LOGIN SYSTEM!!! DO IT ON YOUR OWN RISK!!!

    **Please use only the myBB for this version. Please be carefully and make a secure copy of your project before you do anything!!!**

    **The Clientregistration doesn't work so far…**

    How do add a MySQL Login into EO 3.0 is very strange but possible. I must tell you a little bit before you start to fast.  First you must know that the current version only works with [myBB](http://www.mybb.com/). That is the same Software which Robin with CC use. This forumsoftware has a normal encoding of passwords. After some tests i got it and find a way to do this with VB6\. Its a strange MD5 and SALT combination. So you need to use this Forum-Software. Later i try other Boards.

    **Video:**
    http://www.youtube.com/watch?v=PB227iBPLYg

    **So what do you need?**
    1\. [myBB](http://www.mybb.com/)
    2\. A server where you can install it
    3\. With that a MySQL Database
    4\. The "MyVbQL.dll" & "libmysql.dll" in the same folder where the "Server.exe" is
    5\. A reference in your Serverproject to the "MyVbQL.dll"
    6\. My "modSQL.bas"
    6\. The "clsMD5.cls"

    **What you must change:**

    **Server:**
    modContants

    Below:
    ```
    Public Const EFFECT_TYPE_TINT As Long = 6
    ```Add:
    ```
    Public MD5 As clsMD5
    ```

    * * *

    * Include the modSQL.bas to your project.
    * Include the clsMD5.cls to you project.
    * Add a reference to the "MyVbQL.dll". You find this under the menu (Project->References).

    * * *

    modHandleData

    Replace:
    ```
                If Not AccountExist(Name) Then
                    Call AlertMsg(index, "That account name does not exist.")
                    Exit Sub
                End If

                If Not PasswordOK(Name, Password) Then
                    Call AlertMsg(index, "Incorrect password.")
                    Exit Sub
                End If

                If IsMultiAccounts(Name) Then
                    Call AlertMsg(index, "Multiple account logins is not authorized.")
                    Exit Sub
                End If
    ```With:
    ```
                If sqlLoginUser(name, password) = 0 Then
                    Call AlertMsg(index, "Nickname or Password incorrect!")
                    Exit Sub
                Else
                    Call sqlAddNewChar(index, name, password)
                    'Call AlertMsg(index, "Login successfully!")
                End If

                If Not AccountExist(name) Then
                    'Call AlertMsg(index, "That account name does not exist.")
                    'Exit Sub
                End If

                If Not PasswordOK(name, password) Then
                    'Call AlertMsg(index, "Incorrect password.")
                    'Exit Sub
                End If

                If IsMultiAccounts(name) Then
                    'Call AlertMsg(index, "Multiple account logins is not authorized.")
                    'Exit Sub
                End If
    ```

    * * *

    Change:
    ```
    Public Const sqlServer As String = "test.com"
    Public Const sqlUsername As String = "123456"
    Public Const sqlPassword As String = "123456789"
    Public Const sqlDBName As String = "123458"
    Public Const sqlTable As String = "mybb_users"
    ```
    To your Login informations. Only look at the sqlTable. This is the field for the myBB Version.

    * * *

    * The username-field must have the name "username"
    * The password-field must have the name "password"
    * The salt-field must have the name "salt"

    **Please use only the myBB for this version. Please be carefully and make a secure copy of your project before you do anything!!!**
  2. Iam working on a MySQL System for EO! I work with the current EO 3.0 Version from jcsnider. Register and Login works perfect at the moment. I only need to add some things that prevents errors…

    VERSION 2 (Forum Registration):
    http://www.youtube.com/watch?v=PB227iBPLYg

    VERSION 1 (OLD):
    http://www.youtube.com/watch?v=RUWaBu-UzvM
  3. OK i add a fix!

    TO ALL:
    For the WAY 1 user: Download the new frmMain and make the first change i add to Post 1!

    For the WAY 2 user: Do the first change io add in Post 1 and replace the whole "Private Sub ComboResolution_Click()"

    The only thing i doesn't know is what we do when the map is 14x11 (the smallest) and use the highest resolution. At the moment he renders at the bottom right!
  4. BUT there in 2.0 a different line? I think it can be the same… Or only a little different? I look wait :)

    *EDIT*
    Maybe here?
    ```
        With DDSD_BackBuffer
            .lFlags = DDSD_CAPS Or DDSD_WIDTH Or DDSD_HEIGHT
            .ddsCaps.lCaps = DDSD_Temp.ddsCaps.lCaps
            .lWidth = (MAX_MAPX + 3) * PIC_X
            .lHeight = (MAX_MAPY + 3) * PIC_Y
        End With
    ```
    lWidth and lHeight?
  5. How to add a resolution change support! At the moment i add 4 resolutions. After hours of calculation these 4 are the best. Its strange to add more resolution because off the calculation of the background :) But it is possible to add more. But my monitor don't allow more ^^. What i notice is that the EXE takes a little bit longer to load.

    **Screenshot:**
    [![](http://www.freemmorpgmaker.com/files/imagehost/pics/bf8096b85a741f4c3f4b98d50d253717.png)](http://www.freemmorpgmaker.com/files/imagehost/#bf8096b85a741f4c3f4b98d50d253717.png)

    **WAY 1**
    **Client:**
    modContants

    Change:
    ```
    Private Direct3D_Window As D3DPRESENT_PARAMETERS 'Backbuffer and viewport description.
    ```To:
    ```
    Public Direct3D_Window As D3DPRESENT_PARAMETERS 'Backbuffer and viewport description.
    ```

    * * *

    Change:
    ```
    Public Const MAX_MAPX As Byte = 14
    Public Const MAX_MAPY As Byte = 11

    ```To:
    ```
    Public MAX_MAPX As Byte
    Public MAX_MAPY As Byte
    ```

    * * *

    Change:
    ```
    Public Const HalfX As Integer = ((MAX_MAPX + 1) / 2) * PIC_X
    Public Const HalfY As Integer = ((MAX_MAPY + 1) / 2) * PIC_Y
    Public Const ScreenX As Integer = (MAX_MAPX + 1) * PIC_X
    Public Const ScreenY As Integer = (MAX_MAPY + 1) * PIC_Y
    Public Const StartXValue As Integer = ((MAX_MAPX + 1) / 2)
    Public Const StartYValue As Integer = ((MAX_MAPY + 1) / 2)
    Public Const EndXValue As Integer = (MAX_MAPX + 1) + 1
    Public Const EndYValue As Integer = (MAX_MAPY + 1) + 1
    ```To:
    ```
    Public HalfX As Integer
    Public HalfY As Integer
    Public ScreenX As Integer
    Public ScreenY As Integer
    Public StartXValue As Integer
    Public StartYValue As Integer
    Public EndXValue As Integer
    Public EndYValue As Integer
    ```

    * * *

    Change:
    ```
        Direct3D_Window.BackBufferWidth = 800 ' frmMain.picScreen.ScaleWidth 'Match the backbuffer width with the display width
        Direct3D_Window.BackBufferHeight = 600 'frmMain.picScreen.ScaleHeight 'Match the backbuffer height with the display height

    ```To:
    ```
        Direct3D_Window.BackBufferWidth = 960 ' frmMain.picScreen.ScaleWidth 'Match the backbuffer width with the display width
        Direct3D_Window.BackBufferHeight = 768 'frmMain.picScreen.ScaleHeight 'Match the backbuffer height with the display height

    ```
    And replace the frmMain.frm with yours in "\client\src\". (Before make secure copy of yours)

    And copy the your main images to "\client\data files\graphics\gui\main\"

    **WAY 2**
    Do the same like in Way 1 but **DON'T** replace the frmMain.

    Add a ComboBox wherever you wan't with the (Name) = "ComboResolution". I add it into the "picOptions" pictureBox.

    **Client:**
    frmMain

    Below:
    ```
    picCover.Width = picScreen.Width + 2
    ```Add:
    ```
    ComboResolution.AddItem "480x384"
    ComboResolution.AddItem "640x480"
    ComboResolution.AddItem "800x600"
    ComboResolution.AddItem "960x768"
    ComboResolution.ListIndex = 0

    ```

    * * *

    At the end of the frmMain add:
    ```
    ' New Resolution BEGIN
    Private Sub ComboResolution_Click()
    Dim resWidth, resHeight As Long
    Dim res() As String

        res() = Split(ComboResolution.List(ComboResolution.ListIndex), "x")

        Direct3D_Window.BackBufferWidth = res(0)
        Direct3D_Window.BackBufferHeight = res(1)

        MAX_MAPX = res(0) / 32 - 1
        MAX_MAPY = res(1) / 32 - 1

        HalfX = ((MAX_MAPX + 1) / 2) * PIC_X
        HalfY = ((MAX_MAPY + 1) / 2) * PIC_Y
        ScreenX = (MAX_MAPX + 1) * PIC_X
        ScreenY = (MAX_MAPY + 1) * PIC_Y
        StartXValue = ((MAX_MAPX + 1) / 2)
        StartYValue = ((MAX_MAPY + 1) / 2)
        EndXValue = (MAX_MAPX + 1) + 1
        EndYValue = (MAX_MAPY + 1) + 1

        ' Change Background
        frmMain.Picture = LoadPicture(App.Path & "\data files\graphics\gui\main\main" & ComboResolution.ListIndex & ".jpg")

        picScreen.Width = res(0)
        picScreen.Height = res(1)

        ' Move GUI
        imgHPBar.Left = 518 + (ComboResolution.ListIndex * 160)
        imgMPBar.Left = 518 + (ComboResolution.ListIndex * 160)
        imgEXPBar.Left = 518 + (ComboResolution.ListIndex * 160)
        lblHP.Left = 632 + (ComboResolution.ListIndex * 160)
        lblMP.Left = 632 + (ComboResolution.ListIndex * 160)
        lblEXP.Left = 632 + (ComboResolution.ListIndex * 160)
        lblGold.Left = 568 + (ComboResolution.ListIndex * 160)
        lblPing.Left = 568 + (ComboResolution.ListIndex * 160)

        imgButton(1).Left = 523 + (ComboResolution.ListIndex * 160)
        imgButton(2).Left = 603 + (ComboResolution.ListIndex * 160)
        imgButton(3).Left = 683 + (ComboResolution.ListIndex * 160)
        imgButton(4).Left = 523 + (ComboResolution.ListIndex * 160)
        imgButton(5).Left = 603 + (ComboResolution.ListIndex * 160)
        imgButton(6).Left = 683 + (ComboResolution.ListIndex * 160)

        picParty.Left = 541 + (ComboResolution.ListIndex * 160)
        picOptions.Left = 541 + (ComboResolution.ListIndex * 160)
        picSpells.Left = 541 + (ComboResolution.ListIndex * 160)
        picInventory.Left = 541 + (ComboResolution.ListIndex * 160)
        picCharacter.Left = 541 + (ComboResolution.ListIndex * 160)

        picSSMap.Left = 800 + (ComboResolution.ListIndex * 160)
        picCover.Left = 824 + (ComboResolution.ListIndex * 160)

        picAdmin.Left = 544 + (ComboResolution.ListIndex * 160)

        picTrade.Left = picScreen.Left + (picScreen.Width / 2 - picTrade.Width / 2)
        picShop.Left = picScreen.Left + (picScreen.Width / 2 - picShop.Width / 2)
        picBank.Left = picScreen.Left + (picScreen.Width / 2 - picBank.Width / 2)

        If (ComboResolution.ListIndex = 0) Then
            picHotbar.Top = 399
            picEventChat.Top = 442
            txtMyChat.Top = 565
            txtChat.Top = 442
            frmMain.Width = 11865
            frmMain.Height = 9315
        ElseIf (ComboResolution.ListIndex = 1) Then
            picHotbar.Top = 399 + 96
            picEventChat.Top = 442 + 96
            txtMyChat.Top = 565 + 96
            txtChat.Top = 442 + 96
            frmMain.Width = 14250
            frmMain.Height = 10770
        ElseIf (ComboResolution.ListIndex = 2) Then
            picHotbar.Top = 399 + 216
            picEventChat.Top = 442 + 216
            txtMyChat.Top = 565 + 216
            txtChat.Top = 442 + 216
            frmMain.Width = 16665
            frmMain.Height = 12570
        ElseIf (ComboResolution.ListIndex = 3) Then
            picHotbar.Top = 399 + 384
            picEventChat.Top = 442 + 384
            txtMyChat.Top = 565 + 384
            txtChat.Top = 442 + 384
            frmMain.Width = 18975
            frmMain.Height = 15080
        End If
    End Sub
    ' New Resolution END
    ```
    At me it works so far! I hope i moved all windows :)

    Hope you enjoy it :)

    And to jcsnider :)
    You can use it in your next release if you wan't :)
  6. This Tutorial will give you a new feature. At the moment you can send via Server, item to one or all players.

    **Screenshot:**
    [![](http://www.freemmorpgmaker.com/files/imagehost/pics/78ba99f2987295988cbff5819937228f.png)](http://www.freemmorpgmaker.com/files/imagehost/#78ba99f2987295988cbff5819937228f.png)

    **Server:**
    modServerTCP

    At the end add:
    ```
    ' New Server Commands
    Sub SendItem(ByVal playerID As Long, ByVal itemID As Long, ByVal Count As Long)
    Dim i As Long
    Dim players As String

        players = ""

        If frmServer.Combo_ItemPlayerID.ListIndex > 0 Then
            If IsPlaying(playerID) Then
                players = GetPlayerName(playerID)
                SpawnItem itemID, Count, GetPlayerMap(playerID), GetPlayerX(playerID), GetPlayerY(playerID), GetPlayerName(playerID)
                TextAdd ("Item: " & itemID & " was send to: " & players)
            Else
                TextAdd ("The player is not online!")
            End If
        Else
            For i = 1 To frmServer.lvwInfo.ListItems.Count
                If IsPlaying(i) Then
                    players = players & GetPlayerName(i) & ", "
                    SpawnItem itemID, Count, GetPlayerMap(i), GetPlayerX(i), GetPlayerY(i), GetPlayerName(i)
                End If
            Next i
            If players > vbNullString Then
                TextAdd ("Item: " & itemID & " was send to: " & players)
            Else
                TextAdd ("No user online!")
            End If
        End If
    End Sub
    ```
    And replace the frmServer.frm with yours in "\server\src\". (Before make secure copy of yours)

    Maybe more features follow later!

    And to jcsnider :)
    You can use it in your next release if you wan't :)
×
×
  • Create New...