Originally posted by Checkpointng
Here is the code snip for ActionBar ToolTip, i got it stable as well as getting the right spell tooltip to show from any of the 3 actionbar slots!
If your not sure what this does, take a look at this youtube video:
http://www.youtube.com/watch?v=Ofbc4qt2CY4
This is code snip v1.0 as there is abit more tiddy up that can be done, but its stable enough for anyone to use and no longer causes MAV on empty slots.
Usage: with Blitz3D open Client\Modules\Interface3D.bb and Find the snip below inside the UpdateInterace() Function
; Small (text only) tooltips
If MilliSecs() - LastMouseMove > 1000
If WTooltip = 0 And LTooltip = 0
; Action bar quick slots
For i = 0 To 11
If GY_MouseHovering(BActionBar(i))
LTooltip = GY_CreateLabel(0, GY_MouseX# + 0.03, GY_MouseY#, "F" + Str$(i + 1) + " " + LanguageString$(LS_ToUse))
Goto TooltipsDone
EndIf
Next
And Replace with this:
; Action Bar ToolTip
If MilliSecs() - LastMouseMove > 1000
If WTooltip = 0 And LTooltip = 0
; Action bar quick slots
If ActionBarStart = 2
Offset = 12
ElseIf ActionBarStart = 3
Offset = 24
EndIf
For i = 0 To 11
If GY_MouseHovering(BActionBar(i))
If ActionBarSlots(i + Offset) < 0 And ActionBarSlots(i + Offset) <> 0
If RequireMemorise
Num = ActionBarSlots(i + Offset) + 10
Sp.Spell = SpellsList(Me\KnownSpells[Me\MemorisedSpells[Num]])
Else
Num = ActionBarSlots(i + Offset) + 1000
Sp.Spell = SpellsList(Me\KnownSpells[Num])
EndIf
If Sp <> Null
X# = GY_MouseX#
Y# = GY_MouseY# + 0.008
If Y# + 0.4 > 0.99 Then Y# = 0.59
If X# + 0.4 > 0.99 Then X# = 0.59
If LTooltip <> 0 Then GY_FreeGadget(LTooltip) : LTooltip = 0
WTooltip = GY_CreateWindow(Sp\Name$, X#, Y#, 0.4, 0.2, True, False, False)
WTooltipReturn = WSpells
Desc$ = Sp\Description$
If Desc$ = "" Then Desc$ = LanguageString$(LS_NoDescription)
Y# = 0.01
; Word wrap
While Desc$ <> ""
LDesc = GY_CreateLabel(WTooltip, 0.02, Y#, Desc$)
Y# = Y# + 0.14
Gad.GY_Gadget = Object.GY_Gadget(LDesc)
If GY_TextWidth#(Gad\EN, Desc$) >= 0.4
Split = False
For i = Len(Desc$) To 1 Step -1
If Mid$(Desc$, i, 1) = " "
If GY_TextWidth#(Gad\EN, Left$(Desc$, i - 1)) < 0.4
GY_UpdateLabel(LDesc, Left$(Desc$, i - 1))
Desc$ = Mid$(Desc$, i + 1)
Split = True
Exit
EndIf
EndIf
Next
If Split = False
For i = Len(Desc$) To 1 Step -1
If GY_TextWidth#(Gad\EN, Left$(Desc$, i - 1)) < 0.4
GY_UpdateLabel(LDesc, Left$(Desc$, i - 1))
Desc$ = Mid$(Desc$, i)
Exit
EndIf
Next
EndIf
Else
Desc$ = ""
EndIf
Wend
GY_GadgetAlpha(WTooltip, 0.85, True)
EndIf
Goto TooltipsDone
EndIf
EndIf
Next
BUG: Its not related to this snip, however its something i found when you empty a slot from the actionbar 2 or 3 by right click and then switch action bars and go back, it then seems to call ItemID 0 and displays that icon in its place. It doest cause MAV or anything, but its abit strange. Ill look further into it and see why it calls ItemID 0 when a slot is right click to empty in actionbars 2 and 3.
Id like to also add if time permits the same function to items placed, i.e. potions, armor, weapons etc...