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

Krumelz

Members
  • Posts

    87
  • Joined

  • Last visited

    Never

Posts posted by Krumelz

  1. @Dremek:

    > Hey, this is me again, with a stupid non-working piece of code.
    >
    > TextBox2.Text = "Signed In As" + My.Settings.Username
    >
    > Does not work, when I'm told it should. Any ideas? This is visual basic 2010.

    try:
    ```
    TextBox2.Text = "Signed In As" & My.Settings.Username
    ```
  2. @Zesh:

    > You know that box to the left of the chat where your stats are shown, there's the two stats that start with Spcl. is that short for Special cause it normally shown as Sp. :P Anywayz…looking good so far and you have some nice features, I especially like the randomly created dungeons. Good luck to ya ;D

    yes, its meant to be the Sp. Stats.
    As said the layout is being worked on,
    aswell as the random dungeon system as its really basic atm

    thanks ;D
  3. Before i start, i want to say that if you are just here to say: "geez, not another pokemon online game" or "Your game wont be a success. There are way better PMD clones out there" you should leave now. I'm making this post for those who like pokemon, and are interested in playing another "PMD clone". Thanks.

    I'm starting this topic 'cause the old one seems to be deleted.
    Now, here's an updated version of the old post.

    This game is being made by a small group of people who like pokemon, and like to make a game.
    The community most likely creates the game. It's a game for people who want to play it, to have fun.
    We dont aim to be the "most successfully pmd game" out there, but to have a fun, little game you could enjoy to play.

    It indeed is based on Pokemon Mystery Dungeon. Though, there are some differences.
    For example: PMD's party slots are limited to either 3 or 4 members, depending on their 'size'.
    PDR uses 6 party slots. In any pokemon game you got 4 slots for moves. PDR uses 5.

    Other than that, most of the stuff is like in PMD, or based on it.
    Though, there are or will still be things like moves, status ailments and so on that you've never seen before in any other pokemon game.

    Features:

    >! Fully working recruitment system (including an assembly)
    Evolution system
    Pokemon-like stats (increase themself on level up)
    Instanced Maps/Dungeons
    'Randomly' Created Dungeons
    Egg/Fossil system
    Visual NPC chat
    Healing HP by walking instead of time
    Rescue Teams
    Player Houses

    Being worked on or being debugged:

    >! Move System
    Status Ailments (Sleep, Burn, Poison, ..)
    Visual playermsg
    Missions
    HM's (Cut, Surf, Rocksmash, …)

    and some more small features.
    Also some will be added soon.

    story:

    >! work in progress.

    screenshots (layout being worked on):

    >! ![](http://www.freemmorpgmaker.com/files/imagehost/pics/36a11ab232b9bc667270cb17c080e399.JPG)
    >! Random Dungeon:
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/cef23f9a9d659c78122e99a6adc55211.JPG)
    >! Assembly:
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/982cbad241e1c2231fddcdd443a36ccc.JPG)
    >! Player House:
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/982cbad241e1c2231fddcdd443a36ccc.JPG)
    more will be added soon.

    You can find the website at [pdrevolution.co.cc](http://pdrevolution.co.cc) (work in progress)
    Also the forums: [pdrforums.co.cc](http://pdrforums.co.cc)

    ~Krumelz
  4. Hello.
    I'm trying to get the Engine_BltToDC command to work.
    I want to blt my 32x32 picture in my 32x32 picbox.
    But as i hit the button that should start the blting nothing happens.

    I put a breakpoint at the engine_bltfast command in that sub, to see if its even
    being called. And it is.

    I hope you guys can help me, heres my code.

    ```
      Dim srect As RECT, drect As RECT
      Frmmaingame.pictest.Cls

        With drect
            .Top = 0
            .Bottom = Frmmaingame.pictest.height
            .Left = 0
            .Right = Frmmaingame.pictest.width
        End With

        With srect
            .Top = 0
            .Bottom = Frmmaingame.pictest.height
            .Left = 0
            .Right = Frmmaingame.pictest.width
        End With

      Engine_BltToDC DDS_test, srect, drect, Frmmaingame.pictest, False
    ```

    hope you can help me.

    -Krumelz
  5. @saruish:

    > the current verison. 1.5
    >
    > I think it showing up but it not showing up like it should. im seeing something at the very very top at first I didnt notice it but I started noticing like two something there. everytime my character moves it moves with him. but it like at the very top of the screen.
    >
    > it could be due to the level code I added that shows players level.

    Thats odd. May you could send me the source of the subs you edited, so I can try to help you.
    @Ecclestio:

    > There is also another problem you should look into.  Seeing as not everyone will know not to try to put spaces in their status(I.e. "/status run away").  You should make it so they are unable to do so, or find some way to allow spaces in it.  Otherwise it gives a run time error and the server crashes.
    >
    > Also it'd be nice if it would accept capital letters as well, $UCase() or something.

    Fixed both of it, just change

    ```
                        Case "/status"
                    If Not UBound(command) < 1 Then
                        Call SendCommand("status", Trim$(command(1)))
                    Else
                        Call SendCommand("status", "0")
                    End If

    ```
    to
    ```
    Dim status As String
                    status = Right$(ChatText, Len(ChatText) - 7)
                    If Not UBound(command) < 1 Then
                        Call SendCommand("status", status)
                    Else
                        Call SendCommand("status", "0")
                    End If

    ```
    Capitals and Spaces should work now.

    Any other problem? Just reply, i hope i can help ^^

    ~Krumelz
  6. @thezeus:

    > I triple doggy dare you to do it today, lol.

    Got your request done and rewrote it in 1.3.1
    the problem simply was that theres no Npc Drops included in 1.3.1,
    ateast i didnt find it ..
    well, to get it to work simply go to Sub PlayerAttackNpc, find:
    ```
    ' Now set HP to 0 so we know to actually kill them in the server loop (this prevents subscript out of range)
    ```and BEFORE that add:
    ```
    ' Drop the goods if they get it
            n = Int(Rnd * Npc(NpcNum).DropChance) + 1

            If Npc(NpcNum).Boss = 1 Then

            Call PlayerWarp(Attacker, Npc(NpcNum).BossMap, Npc(NpcNum).BossX, Npc(NpcNum).BossY)
                If n = 1 Then
                    If FindOpenInvSlot(Attacker, Npc(NpcNum).DropItem) = 0 Then
                        Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, Player(Attacker).x, Player(Attacker).Y)
                    Else
                        Call GiveInvItem(Attacker, Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, True)
                    End If
                End If
            Else
                    If n = 1 Then
                        Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, MapNpc(MapNum).Npc(MapNpcNum).x, MapNpc(MapNum).Npc(MapNpcNum).Y)
                    End If
            End If
    ```
    This should 1) include Npc drops to 1.3.1 and 2) make the Boss npc's work.
    Hope it helps. ^^

    ~Krumelz
  7. For some reason my server actually stopped working ..
    everything like logging in, registering etc works fine,
    same with commands, chat and all that stuff.
    But i actually cant move, neither do the npc's.
    Tried to connect on localhost, still the same.
    Tried on a fresh copy of eo 1.3.1, still doesnt work.

    I'd be very thankfull if anyone could help me.

    ~Krumelz
  8. @Ecclestio:

    > I have a small problem with this.  When I go to load the NPC's it crashes saying someting about an "Invalid Property Value".  I have looked through and everything I have is exactly as you have it.  Not sure what could be causing it but it exists and I cannot find a way to fix it.  Any help would be highly appreciated.
    >
    > ~Ecclestio

    hmm .. you may have to delete your npc's in order to get this to work.
    if that doesnt work run your server in debugging mode and tell me what line is highlighted.

    @thezeus:

    > This is not compatible with 1.3.1 correct?

    nope, its not, unfortunately. Im going to rewrite it for 1.3 tho.

    ~Krumelz
  9. @Thor7:

    > Will this work with parties?
    >
    > As in if there is a group of players in a party and fighting a boss what will happen when boss is killed? Will it warp all players in party to set location? And if so what will happen to the drops, as in will they get shared about the party members or put only in the player who killed the boss?
    >
    > Cheers and good tut btw :)

    Didn't thought about that yet, but i'll try to add something like that.
    Thanks for the Question/Suggestion. ^^
    ~Krumelz
  10. @Ecclestio:

    > Nevermind, I got a blank client and installed it to that and it works great.  The simple thing is I can't get it to use uppercase and lowercase instead of just lowercase.  If you know how I could fix that.. it'd be great.

    yea, got the same problem, working on that atm. Hope i can fix it soon. ^^
  11. This is a tutorial for EO 1.1.0\. It may works for EO XMAS too, didnt test it though.
    with this features you can add little status 'signs' next to the players name and mute some
    spammer. Example Screenie:
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/1736b352c9b4973d9e89df8dc76c2d00.JPG)

    Perhaps this is not the best way of doing it, but it works fine. Well, lets go.
    Client Side

    search for PlayerRec and after
    ```
    Dir as byte
    ```
    add
    ```
    Status as string * 12
    ```
    in mod enumerations before:
    ```
    ' Make sure CMSG_COUNT is below everything else
        CMSG_COUNT
    ```
    add:
    ```
    CCommands
    ```
    Do the same for the servers PlayerRec and Mod enumerations!!

    in mod ClientTCP, at the bottom add:
    ```
    Public Sub SendCommand(ByVal command As String, ByVal target As String)
        Dim Buffer As New clsBuffer
        Set Buffer = New clsBuffer
        Buffer.WriteLong CCommands
        Buffer.WriteString command

        If target = "0" Then
            Buffer.WriteLong 0

        Else
            Buffer.WriteLong 1
            Buffer.WriteString target
        End If

        SendData Buffer.ToArray()
        Set Buffer = Nothing
    End Sub
    ```
    next find:
    ```
    ' // Mapper Admin Commands //
                        ' Location
                    Case "/loc"
    ```
    before that add:
    ```
                        Case "/status"
                    If Not UBound(command) < 1 Then
                        Call SendCommand("status", Trim$(command(1)))
                    Else
                        Call SendCommand("status", "0")
                    End If

                    Case "/away"
                        If Not UBound(command) < 1 Then
                            Exit Sub
                        Else

                            Call SendCommand("away", "0")
                        End If

                    Case "/mute"
                        If Not UBound(command) < 1 Then
                        Call SendCommand("mute", command(1))
                    Else
                        AddText "Usage: /mute playnername", BrightRed

                    End If
    ```
    find Sub DrawPlayerName

    and replace the whole sub with:
    ```
    Public Sub DrawPlayerName(ByVal index As Long)
        Dim TextX As Long
        Dim TextY As Long
        Dim color As Long
        Dim status As String
        status = Trim$(Player(index).status)

        ' Check access level
        If GetPlayerPK(index) = NO Then

            Select Case GetPlayerAccess(index)
                Case 0
                    color = RGB(255, 96, 0)
                Case 1
                    color = QBColor(DarkGrey)
                Case 2
                    color = QBColor(Magenta)
                Case 3
                    color = QBColor(BrightCyan)
                Case 4
                    color = QBColor(Blue)
                Case 5
                    color = QBColor(Yellow)
                Case Else
                    color = QBColor(Yellow)
            End Select

        Else
            color = QBColor(BrightRed)
        End If

    If status <> "" Then
        If GetPlayerSprite(index) < 1 Or GetPlayerSprite(index) > NumCharacters Then
            TextX = ConvertMapX(GetPlayerX(index) * PIC_X) + Player(index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GetPlayerName(index) & " [" & status & "]")))
            TextY = ConvertMapY(GetPlayerY(index) * PIC_Y) + Player(index).YOffset - 16
        Else
            ' Determine location for text
            TextX = ConvertMapX(GetPlayerX(index) * PIC_X) + Player(index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GetPlayerName(index) & " [" & status & "]")))
            TextY = ConvertMapY(GetPlayerY(index) * PIC_Y) + Player(index).YOffset - (DDSD_Character(GetPlayerSprite(index)).lHeight) + 16
        End If
    Else
        If GetPlayerSprite(index) < 1 Or GetPlayerSprite(index) > NumCharacters Then
            TextX = ConvertMapX(GetPlayerX(index) * PIC_X) + Player(index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GetPlayerName(index))))
            TextY = ConvertMapY(GetPlayerY(index) * PIC_Y) + Player(index).YOffset - 16
        Else
            ' Determine location for text
            TextX = ConvertMapX(GetPlayerX(index) * PIC_X) + Player(index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GetPlayerName(index))))
            TextY = ConvertMapY(GetPlayerY(index) * PIC_Y) + Player(index).YOffset - (DDSD_Character(GetPlayerSprite(index)).lHeight) + 16
        End If
    End If
        ' Draw name
    If status <> "" Then
            Call DrawText(TexthDC, TextX, TextY, GetPlayerName(index) & " [" & status & "]", color)
    Else
            Call DrawText(TexthDC, TextX, TextY, GetPlayerName(index), color)
    End If
    End Sub
    ```
    Now find Sub HandlePlayerInfo and after:
    ```
      For x = 1 To Stats.Stat_Count - 1
            SetPlayerStat I, x, Buffer.ReadLong
        Next
    ```
    add:
    ```
    Player(I).status = Buffer.ReadString
    ```
    Done client sided ^^
    Server Side

    If you havent added the code to mod enumerations and the PlayerRec do it now!

    Mod handleData:

    after:
    ```
    HandleDataSub(CUntradeItem) = GetAddress(AddressOf HandleUntradeItem)
    ```
    add:
    ```
    HandleDataSub(CCommands) = GetAddress(AddressOf HandleCommands)
    ```
    at the bottom of mod handledata add:
    ```
    Sub HandleCommands(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
    Dim command As String
    Dim target As String
    Dim n As Long
    Dim command2 As String
    Dim Buffer As New clsBuffer
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
        command = Buffer.ReadString
        n = Buffer.ReadLong

        If n = 1 Then
            command2 = Buffer.ReadString
            target = FindPlayer(command2)
        Else
        End If

        Select Case command       
            Case "mute"

            If GetPlayerAccess(index) <= 1 Then
                PlayerMsg index, "Not a valid command!", BrightRed
                Exit Sub
            End If

                If Player(target).Status <> "MUTED" Then
                    Player(target).Status = "MUTED"
                Else
                    Player(target).Status = ""
                End If
                Call SendPlayerData(target)

            Case "away"
                If Player(index).Status <> "Away" Then
                    Player(index).Status = "Away"
                    Call GlobalMsg(GetPlayerName(index) & " is now away.", Yellow)
                Else
                    Player(index).Status = ""
                    Call GlobalMsg(GetPlayerName(index) & " has returned from being away.", Yellow)
                End If

                Call SendPlayerData(index)

            Case "status"

    If Not Player(index).Status = "MUTED" Then
        If n = 1 Then
                Player(index).Status = command2
        Else
                Player(index).Status = ""
        End If

    Else
        PlayerMsg index, "You are muted!", Red
    End If

                Call SendPlayerData(index)

            Case Else
                Call PlayerMsg(index, "Not a valid command!", BrightRed)

        End Select

    Set Buffer = Nothing
    End Sub
    ```
    in Function Playerdata, after:
    ```
        For I = 1 To Stats.Stat_Count - 1
            Buffer.WriteLong GetPlayerStat(index, I)
        Next
    ```
    add:
    ```
    Buffer.WriteString Player(index).Status
    ```
    almost done, now to make the mute actually work..

    in Sub HandleSayMsg, before:
    ```
    Call AddLog("Map #" & GetPlayerMap(index) & ": " & GetPlayerName(index) & " says, '" & msg & "'", PLAYER_LOG)
    ```
    add:
    ```
        If Player(index).Status = "MUTED" Then
            Call PlayerMsg(index, "You are muted!", BrightRed)
            Exit Sub
        End If
    ```
    add the same in mod HandleEmoteMsg before:
    ```
    Call AddLog("Map #" & GetPlayerMap(index) & ": " & GetPlayerName(index) & " " & msg, PLAYER_LOG)
    ```
    in Sub HandleBroadcastMsg before:
    ```
    s = "[Global]" & GetPlayerName(index) & ": " & msg
    ```
    and in Sub HandlePlayerMsg before:
    ```
    ' Check if they are trying to talk to themselves
    ```
    Hope I didnt miss anything and it works, if it doesnt just reply. No credits needed.
    Hope you like it ~ Krumelz
  12. @Taco:

    > Hey, schönes Skript und ne gute Idee :)

    danke ;D

    There was a little bug, it only warped you when you got the item, just change
    ```
    ' Drop the goods if they get it
            n = Int(Rnd * Npc(NpcNum).DropChance) + 1

            If n = 1 Then
                If Npc(NpcNum).Boss = 1 Then

                    Call PlayerWarp(Attacker, Npc(NpcNum).BossMap, Npc(NpcNum).BossX, Npc(NpcNum).BossY)

                    If FindOpenInvSlot(Attacker, Npc(NpcNum).DropItem) = 0 Then
                        Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, Player(Attacker).X, Player(Attacker).Y)
                    Else
                        Call GiveInvItem(Attacker, Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, True)
                    End If

                Else
                    Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, MapNpc(MapNum).Npc(MapNpcNum).X, MapNpc(MapNum).Npc(MapNpcNum).Y)
                End If
            End If
    ```
    to:

    ```
    ' Drop the goods if they get it
            n = Int(Rnd * Npc(NpcNum).DropChance) + 1

            If Npc(NpcNum).Boss = 1 Then

            Call PlayerWarp(Attacker, Npc(NpcNum).BossMap, Npc(NpcNum).BossX, Npc(NpcNum).BossY)
                If n = 1 Then
                    If FindOpenInvSlot(Attacker, Npc(NpcNum).DropItem) = 0 Then
                        Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, Player(Attacker).x, Player(Attacker).Y)
                    Else
                        Call GiveInvItem(Attacker, Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, True)
                    End If
                End If
            Else
                    If n = 1 Then
                        Call SpawnItem(Npc(NpcNum).DropItem, Npc(NpcNum).DropItemValue, MapNum, MapNpc(MapNum).Npc(MapNpcNum).x, MapNpc(MapNum).Npc(MapNpcNum).Y)
                    End If
            End If
    ```
    Now it should work without any bugs. ^^
  13. @adr990:

    > Woah, really impressive! :)
    > Nice code, I like it.
    >
    > Works on EO (CE) 1.2.0 with just a little addition without problems here.
    >
    > I'll study this code, thanks for making this tutorial.
    >
    > Adr990

    @Chuchoide:

    > Nice, will add soon.

    thanks, glad you like it. ^^
  14. Well, i gave my friend a copy of my client so he can play it, he installed the library files, then started the game .exe.
    But as soon as frmmain was loading EO wasnt responding and he had to close it ..
    We tried to reinstall the library files but it still doesnt work.
    For me everything's working, but not for him.
    would be nicee if someone could help.

    ~Krumelz
  15. @DshWinchester:

    > try this then
    >
    > before end select
    >
    > put
    >
    > case 5
    > color = QBColor(White)
    >
    > man,4 access is too much and you wanna more  :cheesy:

    yea, well, my staff wants more xD
    anyway, i fixed it, you gotta change it
    in Private Sub HandleSayMsg, not DrawPlayerName.

    thanks for your help, topic will be locked. ^^

    ~Krumelz
  16. well, my Select case GetPlayerAccess looks like this now:
    ```
    Select Case GetPlayerAccess(Index)
                Case 0
                    color = RGB(255, 96, 0)
                Case 1
                    color = QBColor(DarkGrey)
                Case 2
                    color = QBColor(Cyan)
                Case 3
                    color = QBColor(BrightGreen)
                Case 4
                    color = QBColor(Yellow)
                Case Else
                    color = QBColor(White)
            End Select
    ```
    but it still wont work =/
  17. So, i'd like to know what sub i gotta edit so when i add a new admin class the name shows up properly in the textbox,
    cause my Admin/owner class is now set to 5, and it wont show the name, just a part black and after that the message.
    If you dont understand what i mean heres a screenie:
    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/72acee3cee6d26f0dcd4f33301a72e16.JPG)
    The black part i marked red should say "[Map]Domeh:",
    would be nice if someone could tell me what i have to change so it shows up properly again.
    and pls excuse m y bad english.

    ~Krumelz
  18. Yea. =/
    More details:
    I get a subscript error '9': Out of range.
    It highlights```
    n = UBound(Class(I).MaleSprite)
    ```The sub sendclasses looks exactly the same as
    the one in a vanilla copy of EO,
    the odd part is, again, that i only get this error when using
    my edited version..
×
×
  • Create New...