Action Bar Tooltip Source Edit

*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...