01-06-2006, 08:42 PM
Difficulty: 1/5
In the server, open modHandleData.bas.
find this:
and underneath it add:
In the client, open frmMirage.
Add a label to picPlayerSpells, set it's name property to "lblForgetSpell", and set it's caption property to "Forget Spell".
Double-click it and add this code:
All done.
Now you can click on the Forget Spell label to forget spells you don't want anymore, yay.
In the server, open modHandleData.bas.
find this:
Code:
' :::::::::::::::::
' :: Cast packet ::
' :::::::::::::::::
If LCase(Parse(0)) = "cast" Then
' Spell slot
n = Val(Parse(1))
Call CastSpell(Index, n)
Exit Sub
End If
and underneath it add:
Code:
' :::::::::::::::::::::::::
' :: Forget spell packet ::
' :::::::::::::::::::::::::
If LCase(Parse(0)) = "forgetspell" Then
' Spell slot
n = CLng(Parse(1))
' Prevent subscript out of range
If n MAX_PLAYER_SPELLS Then
HackingAttempt Index, "Invalid Spell Slot"
Exit Sub
End If
With Player(Index).Char(Player(Index).CharNum)
If .Spell(n) = 0 Then
PlayerMsg Index, "No spell here.", Red
Else
PlayerMsg Index, "You have forgotten the spell """ & Trim$(Spell(.Spell(n)).Name) & """", Green
.Spell(n) = 0
SendSpells Index
End If
End With
Exit Sub
End If
In the client, open frmMirage.
Add a label to picPlayerSpells, set it's name property to "lblForgetSpell", and set it's caption property to "Forget Spell".
Double-click it and add this code:
Code:
If Player(MyIndex).Spell(lstSpells.ListIndex + 1) > 0 Then
If GetTickCount > Player(MyIndex).AttackTimer + 1000 Then
If MsgBox("Are you sure you want to forget the spell """ & Trim$(Spell(Player(MyIndex).Spell(lstSpells.ListIn dex + 1)).Name) & """?", vbQuestion Or vbYesNo, "Forget Spell" = vbNo Then Exit Sub
SendData "forgetspell" & SEP_CHAR & lstSpells.ListIndex + 1 & SEP_CHAR & END_CHAR
picPlayerSpells.Visible = False
End If
Else
AddText "No spell here.", BrightRed
End If
All done.
Now you can click on the Forget Spell label to forget spells you don't want anymore, yay.
Quote:Posted by EnigmaWave on Feb 6, 04