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

Justn

Members
  • Posts

    1129
  • Joined

  • Last visited

    Never

Posts posted by Justn

  1. > May I ask How would I edit maps in an Instance since it says "Cannot edit Map in Instance".

    Well u can't edit the map while in the instance but what u can do is edit a new map like normal then copy and paste the .dat file for that map to the map packs folder and rename it to 1 or whatever ur next number in the pack is..

    What I do is I have to copies of the engine and I use the other one when to make map packs then tranfer them over. Just helps me make sure I don't make any mistakes to my game while moving dat files
  2. > I'll be mad if this works with my engine…. I spent hours make my own instance boss.... Then I'll be happy later.

    should work… Not really sure how it does with any of the event systems though. The 3 engines i have used this on haven't had events :/ If anyone has any issues adding it I would be more than happy to help get it working for them. Also sure Scott would be willing to answer any questions people have.. This is really a great system for people still using custom engines. I'll write up a how to use or something since only thing i posted about was a quote from scott in the original thread
  3. Hello Eclipse! In this tutorial we will be adding map instances to EO. This is a very useful system and can be used for many different things. This system was created by my good friend [Scott](http://www.eclipseorigins.com/community/index.php?/user/68848-scott/).  This system uses "Map Packs" for instancing so instead of just one map the player is dropped into a whole world that you make and can roam around in alone or in a party. At the bottom of this post you will see modInstance. Please download this and add it to your server project. This was made on a version of EVB however should work on any version with some minor tweaks and for a compiled version of this on EO 2.0 check out the link below.

    Original Thread about the Instances : [[EO2.0] Map Instances Custom Version](http://www.eclipseorigins.com/community/index.php?/topic/129648-eclipse-instancing-mappacks-style/)

    Here it is explained alittle better…

    Example
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/636695f20c364b71320fb4c53f6e7651.png)

    You can have as many folders as you want all filled with as many maps as you want. Any warp tiles/border map transition will read off these folders moving the player around these per-designed worlds, simply placing an instance map tile inside the instance will act as an exit. For this release it will always load a player into map 1 in that set of maps, you can choose the x/y of the spawn though(Plan to change this).

    Example
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/83604d13b06d0a995c68d669e3303ca6.png)
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/6558ecaad977898d96f1043c84b7c0e3.png)

    Already has full party support, if your in a party you will all be able to see each other and play together inside the instances. It will let each player explore maps in the instance on their own or be on the same map together.

    You have to make these map packs, I gave 1 very simple example inside but you have to use this client/server to map the maps out for those folders. It works like the gfx for EVB if you skip a map ie.1,2,3,4,6 it will only read the first 4 maps since there is a break in the sequence.

    First off  add **modInstance** to your server src folder then add it to your project.

    **Server and Client**

    The following steps should be added to both the client and the server…

    **modConstants**

    Find this:

    ```
    Public Const TILE_TYPE_SLIDE As Byte = 14
    ```
    Under it add this:

    ```
    Public Const TILE_TYPE_INSTANCE As Byte = 16
    ```
    Also Make sure you change your MAX_MAPS to 200 both client and server side!!!

    **Server**

    **ModTypes**

    In PlayerRec Before End Type add this:

    ```
    'For logging back in
        In_Instance As Boolean
        'For returning to position
        ReturnMap As Long
        ReturnX As Long
        ReturnY As Long
    ```
    Next in TempPlayerRec before End Type add this:

    ```
    'Current Map pack
        MapPack As Long
        'Max maps for this instance pack
        MapsUsed As Long
        'Is player currently instanced
        Is_In_Instance As Boolean
        'Current map they are on in this pack
        CurrentInstanceMap As Long
    ```
    Now in MapRec before End Type add this:

    ```
    'TUT TUT
        'Is this an instanced map
        IsInstanced As Integer

        'Index of user
        InstanceIndex As Long

        'Map id from player
        InstanceMapId As Long
    ```
    In MapItemRec before End Type add this:

    ```
    InstancedMap As Integer
    ```
    At the bottom of modTypes add this:

    ```
    Public Type DungeonNpcRec
        Vital(1 To Vitals.Vital_Count - 1) As Long
        x As Byte
        y As Byte
        Dir As Byte
        SpawnWait As Long
    End Type

    Public Type DungeonTempRec
        MapItems(1 To MAX_MAP_ITEMS) As MapItemRec
        CurrentItemSave As Integer

        NpcTempInfo(1 To 100) As DungeonNpcRec
        CurrentNpcSave As Integer
    End Type
    ```
    **modPlayer**

    In sub JoinGame find this:

    ```
    ' send vitals, exp + stats
        For i = 1 To Vitals.Vital_Count - 1
            Call SendVital(index, i)
        Next
    ```
    ABOVE it add this:

    ```
    If Player(index).In_Instance = True Then
            'Default map to warp to if no map set
            If Player(index).ReturnMap = 0 Then Player(index).ReturnMap = 1

            'Make sure they are pulled out of the instance compleatly
            Player(index).In_Instance = False
            TempPlayer(index).Is_In_Instance = False

            'Return them to their pre-instance location
            Call PlayerWarp(index, Player(index).ReturnMap, Player(index).ReturnX, Player(index).ReturnY)

            'Wipe return values
            Player(index).ReturnMap = 0
            Player(index).ReturnX = 0
            Player(index).ReturnY = 0

            Call PlayerMsg(index, "You have left the instance!", Red)
        End If
    ```
    Next in sub PlayerWarp under the 'dims' add this:

    ```
    If TempPlayer(index).Is_In_Instance = True Then
            Call InstancePlayerWarp(index, MapNum, x, y)
            Exit Sub
        End If
    ```
    Now in Sub PlayerMove Find this:

    ```
    ' Slide
             If .Type = TILE_TYPE_SLIDE Then
                Select Case .Data1
                    Case DIR_UP
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - 1).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - 1).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_LEFT
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - 1, GetPlayerY(index)).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - 1, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_DOWN
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + 1).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + 1).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_RIGHT
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) + 1, GetPlayerY(index)).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index) + 1, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                End Select
                ForcePlayerMove index, MOVING_WALKING, .Data1
                Moved = 1
             End If
    ```
    Under it add this:

    ```
    If .Type = TILE_TYPE_INSTANCE Then
                'Aka packnumber in this case
                MapNum = .Data1
                x = .Data2
                y = .Data3

                Call StartInstance(index, MapNum, x, y)
                'Call PlayerWarp(Index, mapNum, x, y)
                Moved = 1
            End If
    ```
    **modGeneral**

    In the InitServer sub find this:

    ```
    ' Check if the directory is there, if its not make it
        ChkDir App.Path & "\data\", "accounts"
        ChkDir App.Path & "\data\", "animations"
        ChkDir App.Path & "\data\", "banks"
        ChkDir App.Path & "\data\", "items"
        ChkDir App.Path & "\data\", "maps"
        ChkDir App.Path & "\data\", "npcs"
        ChkDir App.Path & "\data\", "resources"
        ChkDir App.Path & "\data\", "shops"
        ChkDir App.Path & "\data\", "spells"
        ChkDir App.Path & "\data\", "convs"
        ChkDir App.Path & "\data\", "quests"
    ```
    Under it add this:

    ```
    ChkDir App.Path & "\Data\", "instancemappacks"
    ```
    **modHandleData**

    In sub HandleRequestEditMap find this:

    ```
    ' Prevent hacking
        If GetPlayerAccess(index) < ADMIN_MAPPER Then
            Exit Sub
        End If
    ```
    Under it add this:

    ```
    If TempPlayer(index).Is_In_Instance = True Then
            Call PlayerMsg(index, "You can't edit maps while in an instance!", Red)
            Exit Sub
        End If
    ```
    That is it for the server…

    **Client**

    **modGlobals**

    Add this to the bottom:

    ```
    Public EditorInst As Byte
    ```
    **modGameEditors**

    Find this in sub MapEditorMouseDown:

    ```
    ' warp tile
                    If frmEditor_Map.optWarp.value Then
                        .Type = TILE_TYPE_WARP
                        .Data1 = EditorWarpMap
                        .Data2 = EditorWarpX
                        .Data3 = EditorWarpY
                    End If
    ```
    and replace it with this:

    ```
    ' warp tile
                    If frmEditor_Map.optWarp.value Then
                        If EditorInst = 1 Then
                            .Type = TILE_TYPE_INSTANCE
                            .Data1 = EditorWarpMap
                            .Data2 = EditorWarpX
                            .Data3 = EditorWarpY
                        Else
                            .Type = TILE_TYPE_WARP
                            .Data1 = EditorWarpMap
                            .Data2 = EditorWarpX
                            .Data3 = EditorWarpY
                        End If
                    End If
    ```
    **modText**

    Find this in BltMapAttributes:

    ```
    Case TILE_TYPE_SLIDE
                                    DrawText TexthDC, tX, tY, "S", QBColor(BrightCyan)
    ```
    Under it add:

    ```
    Case TILE_TYPE_INSTANCE
                                    DrawText TexthDC, tX, tY, "IN", QBColor(BrightGreen)
    ```
    **Client Form Work**

    **FrmEditor_Map**

    First off Find the Frame: fraMapWarp and make it look like this

    ![](http://eclipseorigins.com/community/filehost/bd811e68e10b1ab903a0a1e6b3716942.png)

    Name the new CheckBox: cbinst

    Name the new label: lblpack

    Name the new Scrollbar: scrlpack

    Double Click the Checkbox and add this:

    ```
    If cbinst.value Then
        scrlpack.Enabled = True
        lblMapWarp.Caption = "Not Used"
        scrlMapWarp.Enabled = False
    Else
        scrlpack.Enabled = False
        lblMapWarp.Caption = "Map: " & scrlMapWarp.value
        scrlMapWarp.Enabled = True
    End If
    ```
    Double Click the Scrollbar and add this:

    ```
      lblpack.Caption = "Pack #: " & scrlpack.value
    ```
    Now Doubleclick cmdMapWarp (the Accept buttom) and replace the code with this:

    ```
    Private Sub cmdMapWarp_Click()
        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        If cbinst.value = 0 Then
            EditorWarpMap = scrlMapWarp.value
            EditorInst = 0
        Else
            EditorWarpMap = scrlpack.value
            EditorInst = 1
        End If

        EditorWarpX = scrlMapWarpX.value
        EditorWarpY = scrlMapWarpY.value
        picAttributes.visible = False
        fraMapWarp.visible = False

        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "cmdMapWarp_Click", "frmEditor_Map", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub
    ```
    Now find scrlMapWarp, double click it and replace the code with this:

    ```
    Private Sub scrlMapWarp_Change()
        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        'TUT TUT
        If cbinst.value = 0 Then
            lblMapWarp.Caption = "Map: " & scrlMapWarp.value
        Else
            lblMapWarp.Caption = "Not Used"
            scrlMapWarp.Enabled = False
        End If

        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "scrlMapWarp_Change", "frmEditor_Map", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub
    ```
    Next find the Warp Radio button (optWarp) Double Click it and replace the code with this:

    ```
    Private Sub optWarp_Click()
        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        ClearAttributeDialogue
        picAttributes.visible = True
        fraMapWarp.visible = True

        scrlMapWarp.max = MAX_MAPS
        scrlMapWarp.value = 1
        scrlMapWarpX.max = MAX_BYTE
        scrlMapWarpY.max = MAX_BYTE
        scrlMapWarpX.value = 0
        scrlMapWarpY.value = 0

        ' Map instance
        cbinst.value = 0
        scrlpack.value = 1
        scrlpack.Enabled = False
        scrlpack.max = 30

        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "optWarp_Click", "frmEditor_Map", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub
    ```
    To edit the mappacks what I do is have a copy of the engine that i use to edit the maps then transfer them to the mappacks folder on the real engine …
  4. > all you do is simply open up your config file and put your ip in beside were it say ip= if you dont know your ip look it up at ipchicken.com
    >
    >  
    >
    >  
    >
    > then simply to let others play take all the files in client folder zip it up and set it up for them to download but remember the ip must be in the confi.ini
    >
    >  
    >
    > but for your computer keep the ip as local host or it will not open on your pc
    >
    >  
    >
    >  
    >
    > best of luck hope this helps ~johnson

    You forgot to mention that he needs to forward his port there is a tutorial somewhere for setting it up ill look for it and post it for u
  5. You could always add these things yourself.. there is a tutorial for npc spells in the source tutorial section also if u have some vb skills there is a tutorial for a boss battle framework where u code ur own custom bosses
  6. > This Image pickCharacter still doesn't work. Could You upload it again?

    Here you go bro. Made this really quick based off the old one sorry I dont have a copy of the original picture but this will work.

    Client side in modConstants under [' char constants] use these values instead of the ones in the tut and it will match up correctly

    ```
    ' character consts
    Public Const EqTop As Long = 144
    Public Const EqLeft As Long = 43
    Public Const EqOffsetX As Long = 8
    Public Const EqOffsetY As Long = 6
    Public Const EqColumns As Long = 3
    ```
    ![](http://eclipseorigins.com/community/filehost/96ad0bba5309c7a7e6d3b54c1742c5d4.jpg)
  7. Many people want to eat healthy these days and one protein that comes to everyone's mind is chicken breast.. Of course many people dont like to cook chicken because it comes out dry as hell.. Here is a simple way of cooking great moist healthy* chicken breast every single time from your stove.. What can you do with this chicken recipe? Well just about anything that requires cooked chicken this can be used for, pasta, salads ect.

     Things you will need:

    1\. Boneless Skinless Chicken Breast or Tenders

    2\. Olive Oil (*extra virgin if u want it more healthy) 

    3\. All purpose flour.

    4\. Skillet with lid.

    5\. 25-30 minutes.

    First remove any fat left on the chicken. If your chicken breast are alittle thick pound them out a little with a meat mallet or rolling pin.

    Next get your skillet and add about 2 tablespoons of oil to your skillet along with a small amount of butter. turn it to med-high and let it warm up.

    Then take a shallow dish and add the flour (1/4 cup will do) season the flour with salt and pepper and season the chicken with a little salt and pepper.

    Drop each chicken breast into flour to lightly coat shake off any extra.

    When oil is nice and hot add the chicken and cook for about 2-3 mins until u get a nice golden color on the one side. (we arent trying too cook it all the way) 

    After u get a nice color on one side turn the chicken over and set the heat to low and cover with lid..

    Cook on very low heat covered and set a timer for 10 mins.. don't open the lid let it do its thing!!

    When the timer goes off turn the heat completely off and set the the timer for 10 more mins. Still dont open the lid to check the chicken its doing fine =)

    After the timer goes off again open the lid and cut into to one it should be perfect. if its still a little pink turn heat on low for a little bit longer. this will be the the moistest chicken you have ever had then just add it to ur favorite pasta dish or whatever and enjoy =)
  8. Hello guys I'm having an issue that I can't seem to solve on my own with this code..

    ```

    ' Check to see if a npc is already on that tile
    For i = 1 To Npc_HighIndex
    If MapNpc(i).num > 0 Then
    If MapNpc(i).x = x Then
    If MapNpc(i).y = y Then
    CheckDirection = True
    Exit Function
    End If
    End If
    End If
    Next

    ```
    this is the code in a deafult eo to stop a player from walking on a tile with a npc on it.. The problem is that it only checks if they are on the same x or y so, left right up and down. I am trying to make it check all 8 sides surrounding a player but cant figure it out. I have tried lots of things but no matter what i change it just makes me walk through npcs from all directions.. Can someone help me out and teach me to check all 8 sides for an npc? =/
  9. U can't make a map smaller than the pic screen size just use blocks or something… Are these real questions cause I see u post about 20 a day and some are the same ones but in multiple topics? Do u really need this much help or are u just trolling cause I don't know what questions to answer on which topic :/
×
×
  • Create New...