Trying to render the guild name over players head, and it doesn't seem to want to work.
Code: TexthDC = DDS_BackBuffer.GetDC ' Lock the backbuffer so we can draw text and names
Code: For i = 1 To PlayersOnMapHighIndex
Call DrawPlayerGuild(PlayersOnMap(i))
Next
Code: Sub DrawPlayerGuild(ByVal Index As Long)
Dim TextX As Long
Dim TextY As Long
Dim Color As Long
' Check guild rank level to determine color
If GetPlayerPK(Index) = NO Then
Select Case Player(Index).GuildRank
Case 0
Color = QBColor(Brown)
Case 1
Color = QBColor(DarkGrey)
Case 2
Color = QBColor(Cyan)
Case 3
Color = QBColor(Blue)
Case 4
Color = QBColor(Pink)
End Select
Else
Color = QBColor(BrightRed)
End If
' Determine location for text
TextX = GetPlayerX(Index) * PIC_X + Player(Index).XOffset + (PIC_X \ 2) - ((Len(GetPlayerName(Index)) / 2) * 8)
TextY = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (PIC_Y \ 2) - 2
' Draw name
Call DrawText(TexthDC, TextX, TextY, GetPlayerGuild(Index), Color)
End Sub
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Make sure you unlock the DC after you've rendered the text.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
I've tried to put Code: ' Release DC
Call DDS_BackBuffer.ReleaseDC(TexthDC)
Everywhere.
Doesn't work
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Rather than making an entire new loop, just put;
Code: Call DrawPlayerGuild(PlayersOnMap(i))
Under the call for DrawPlayerName.
Then, tell me what line it errors on.
Remove any extra DC locks or unlocks you added.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
It errors on the same line.
Code: ErrorHandle:
If Err.Number = 91 Then
Sleep 100
Call ReInitDD
Err.Clear
Exit Sub
End If
TexthDC = DDS_BackBuffer.GetDC ' Lock the backbuffer so we can draw text and names
Call DrawText(TexthDC, 10, 15, "Error Rendering Graphics - Unhandled Error", QBColor(BrightRed))
Call DrawText(TexthDC, 10, 28, "Error Number : " & Err.Number & " - " & Err.Description, QBColor(BrightCyan))
GoTo Continue
End Sub
On Code: TexthDC = DDS_BackBuffer.GetDC ' Lock the backbuffer so we can draw text and names
Lea Wrote:is it already locked?
I believe so.
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Robin Wrote:Rather than making an entire new loop, just put;
Code: Call DrawPlayerGuild(PlayersOnMap(i))
Under the call for DrawPlayerName.
Then, tell me what line it errors on.
Remove any extra DC locks or unlocks you added.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
Robin Wrote:Robin Wrote:Rather than making an entire new loop, just put;
Code: Call DrawPlayerGuild(PlayersOnMap(i))
Under the call for DrawPlayerName.
Then, tell me what line it errors on.
Remove any extra DC locks or unlocks you added.
I did. There are only two DC Unlocks in my whole project. And three locks.... I'm assuming that's it?
I set an unlock bfore a new lock and I get this: Code: Call DrawText(TexthDC, 10, 15, "Error Rendering Graphics - Unhandled Error", QBColor(BrightRed))
Call DrawText(TexthDC, 10, 28, "Error Number : " & Err.Number & " - " & Err.Description, QBColor(BrightCyan))
(They appear on the screen)
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Nean Wrote:I set an unlock bfore a new lock and I get this: Code: Call DrawText(TexthDC, 10, 15, "Error Rendering Graphics - Unhandled Error", QBColor(BrightRed))
Call DrawText(TexthDC, 10, 28, "Error Number : " & Err.Number & " - " & Err.Description, QBColor(BrightCyan))
(They appear on the screen)
STOP MAKING NEW LOCKS AND UNLOCKS
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
Robin Wrote:Nean Wrote:I set an unlock bfore a new lock and I get this: Code: Call DrawText(TexthDC, 10, 15, "Error Rendering Graphics - Unhandled Error", QBColor(BrightRed))
Call DrawText(TexthDC, 10, 28, "Error Number : " & Err.Number & " - " & Err.Description, QBColor(BrightCyan))
(They appear on the screen)
STOP MAKING NEW LOCKS AND UNLOCKS
Awww
Okay. I stopped.
I'll probably try this from a new source. xDD
Alright so I got it to work... Sorta. No errors, but this is what I get when it draws my "guild"
Code: If GetPlayerGuild(i) vbNullString Then
For i = 1 To PlayersOnMapHighIndex
Call DrawPlayerGuild(PlayersOnMap(i))
Next i
End If
Code: Public Sub DrawPlayerGuild(ByVal Index As Long)
Dim TextX As Long
Dim TextY As Long
Dim Color As Long
' Check access level to determine color
If GetPlayerPK(Index) = NO Then
Select Case GetPlayerAccess(Index)
Case 0
Color = QBColor(Brown)
Case 1
Color = QBColor(DarkGrey)
Case 2
Color = QBColor(Cyan)
Case 3
Color = QBColor(Blue)
Case 4
Color = QBColor(Pink)
End Select
Else
Color = QBColor(BrightRed)
End If
' Determine location for text
TextX = GetPlayerX(Index) * PIC_X + Player(Index).XOffset + (PIC_X \ 2) - ((Len(GetPlayerGuild(Index)) / 2) * 8)
TextY = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (PIC_Y \ 2) - 16
' Draw name
Call DrawText(TexthDC, TextX, TextY, GetPlayerGuild(Index), Color)
End Sub
The packet isn't parsing the guild.
Matt Wrote:The packet isn't parsing the guild.
How do I do that? I thought I was doing it right, seeing as how i can do /info and it shows me my guild. :\
In every instance of the playerdata packet, you need to add "getplayerguild(index)" to the end of it, then make the client receive it.
Matt Wrote:In every instance of the playerdata packet, you need to add "getplayerguild(index)" to the end of it, then make the client receive it.
Much appreciated. I should've figured that one out.
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Glad you got it working, but next time I tell you to do something, do it xD
So damn aggrivating.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
Robin Wrote:Glad you got it working, but next time I tell you to do something, do it xD
So damn aggrivating.
No, I was. I honestly was. I'm not that stupid. It was just that I didn't change the write thing in the DrawPlayerGuild, so it was trying to draw two names, and that's what was screwing things up. It was when I did what you said, and it didn't work, that I started making more locks/unlocks.
Feel free to add me on GTalk if you need help in the future, Nean. It's easier to help you over a messenger, than to sift through all the insults on these forums.
Posts: 2,742
Threads: 115
Joined: Jun 2006
Reputation:
0
Matt Wrote:Feel free to add me on GTalk if you need help in the future, Nean. It's easier to help you over a messenger, than to sift through all the insults on these forums.
Yeah, go ahead and add me too.
Matt smells.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
It's the weed and alcohol. I can't help it.
Alright, I'll add you guys. =]
|