Map Report
Printed From: Mirage Source
Category: Tutorials
Forum Name: Temporary Archive (Read Only)
Forum Discription: Temporary 3.0.3 archive tutorials, will be deleted when converted.
URL: http://ms.shannaracorp.com/backup-forums/forum_posts.asp?TID=129
Printed Date: 20 December 2006 at 5:52pm Software Version: Web Wiz Forums 8.01 - http://www.webwizforums.com
Topic: Map Report
Posted By: Sync
Subject: Map Report
Date Posted: 11 February 2006 at 2:40pm
Difficulty: Medium 4/5
Originaly Posted By: Dragoons Master
Map Report!!!!!!!! Finally I finished it! It´s a little big but it works great! MAKING IT YOU WILL LOOSE ALL YOUR MAPS!!! I dont know if there is some better way to make it so if some 1 does, reply plz, hehe
Client side:
In frmIndex, replace:
Private Sub cmdCancel_Click() InItemsEditor = False InNpcEditor = False InShopEditor = False InSpellEditor = False Unload frmIndex End Sub
with:
Private Sub cmdCancel_Click() InItemsEditor = False InNpcEditor = False InShopEditor = False InSpellEditor = False InMapReport = False Unload frmIndex End Sub
Replace:
Private Sub cmdOk_Click() EditorIndex = lstIndex.ListIndex + 1 If InItemsEditor = True Then Call SendData("EDITITEM" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If If InNpcEditor = True Then Call SendData("EDITNPC" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If If InShopEditor = True Then Call SendData("EDITSHOP" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If If InSpellEditor = True Then Call SendData("EDITSPELL" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If If InMapReport = True Then Call SendData("REPORTMAP" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If Unload frmIndex End Sub
With:
Private Sub cmdOk_Click() EditorIndex = lstIndex.ListIndex + 1 If InItemsEditor = True Then Call SendData("EDITITEM" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) Unload frmIndex End If If InNpcEditor = True Then Call SendData("EDITNPC" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) Unload frmIndex End If If InShopEditor = True Then Call SendData("EDITSHOP" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) Unload frmIndex End If If InSpellEditor = True Then Call SendData("EDITSPELL" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) Unload frmIndex End If If InMapReport = True Then Call SendData("REPORTMAP" & SEP_CHAR & EditorIndex & SEP_CHAR & END_CHAR) End If End Sub
In frmMirage in your admin menu add a button called btnMapreport and Caption seted to Map Report
Add this sub anywhere in there:
Private Sub btnMapreport_Click() If GetPlayerAccess(MyIndex) >= ADMIN_MAPPER Then Call SendRequestMapReport Else: Call AddText("You are not authorized to carry out that action", BrightRed) End If End Sub
In modClientTCP, add this sub any where:
Sub SendRequestMapReport() Dim packet As String
packet = "REQUESTMAPREPORT" & SEP_CHAR & END_CHAR Call SendData(packet) End Sub
and under:
' :: Item editor packet ::
add:
' ::::::::::::::::::::::: ' :: Map Report packet :: ' ::::::::::::::::::::::: If (LCase(Parse(0)) = "mapreport") Then Dim MapNumber As String Dim TmpMap As MapRec
InMapReport = True frmIndex.Show frmIndex.lstIndex.Clear For i = 1 To MAX_MAPS MapNumber = GetMapName(i) ' Add the names frmIndex.lstIndex.AddItem i & ": " & MapNumber Next i
frmIndex.lstIndex.ListIndex = 0 Exit Sub End If
And under:
' :: Edit item packet :: <- Used for item editor admins only
add:
' ::::::::::::::::::::::: ' :: Report Map packet :: ' ::::::::::::::::::::::: If (LCase(Parse(0)) = "reportmap") Then n = Val(Parse(1)) Call WarpTo(n) Exit Sub End If
and in:
Sub SendMap()
replace:
packet = "MAPDATA" & SEP_CHAR & GetPlayerMap(MyIndex) & SEP_CHAR & Trim(Map.Name) & SEP_CHAR & Map.Revision & SEP_CHAR & Map.Moral & SEP_CHAR & Map.Up & SEP_CHAR & Map.Down & SEP_CHAR & Map.Left & SEP_CHAR & Map.Right & SEP_CHAR & Map.Music & SEP_CHAR & Map.BootMap & SEP_CHAR & Map.BootX & SEP_CHAR & Map.BootY & SEP_CHAR & Map.Shop & SEP_CHAR
with:
packet = "MAPDATA" & SEP_CHAR & GetPlayerMap(MyIndex) & SEP_CHAR & Trim(Map.Name) & SEP_CHAR & Map.Revision & SEP_CHAR & Map.Moral & SEP_CHAR & Map.Up & SEP_CHAR & Map.Down & SEP_CHAR & Map.Left & SEP_CHAR & Map.Right & SEP_CHAR & Map.Music & SEP_CHAR & Map.BootMap & SEP_CHAR & Map.BootX & SEP_CHAR & Map.BootY & SEP_CHAR & Map.Shop & SEP_CHAR & Map.Number & SEP_CHAR
In modDatabase add this subs:
Function GetMapNumber(ByVal Mapnum As Long) As Long Dim FileName As String Dim f As Long Dim TmpMap As MapRec
FileName = App.Path & "\maps\map" & Mapnum & ".dat" f = FreeFile Open FileName For Binary As #f Get #f, , TmpMap Close #f GetMapNumber = TmpMap.Number End Function
Function GetMapName(ByVal Mapnum As Long) As String Dim FileName As String Dim f As Long Dim TmpMap As MapRec
FileName = App.Path & "\maps\map" & Mapnum & ".dat" f = FreeFile Open FileName For Binary As #f Get #f, , TmpMap Close #f GetMapName = TmpMap.Name End Function
In modTypes, under:
Npc(1 To MAX_MAP_NPCS) As Byte
In this type add:
Number As Long
In sub:
Sub ClearMap()
under:
Map.Name = ""
add:
Map.Number = 0
All Client Side!!!!!!!!!!!!!!!!!!!!
SERVER SIDE:
In modServerTCP find:
' :: Request edit item packet ::
under that add:
' ::::::::::::::::::::::::::::::: ' :: Request map report packet :: ' ::::::::::::::::::::::::::::::: If LCase(Parse(0)) = "requestmapreport" Then ' Prevent hacking If GetPlayerAccess(Index) < ADMIN_DEVELOPER Then Call HackingAttempt(Index, "Admin Cloning") Exit Sub End If Call SendDataTo(Index, "MAPREPORT" & SEP_CHAR & END_CHAR) Exit Sub End If
under:
' :: Respawn map packet ::
add:
Sub SendEditSpellTo(ByVal Index As Long, ByVal SpellNum As Long)
add this sub:
Sub SendMapReportTo(ByVal Index As Long, ByVal MapNum As Long) Dim packet As String
packet = "REPORTMAP" & SEP_CHAR & MapNum & SEP_CHAR & Trim(Map(MapNum).Name) & END_CHAR Call SendDataTo(Index, packet) End Sub
find:
' :: Map data packet ::
under:
Map(MapNum).Shop = Val(Parse(n + 12))
add:
Map(MapNum).Number = Val(Parse(n + 13))
replace:
n = n + 13
with:
n = n + 14
In modDatabase find:
NewMap.Shop = OldMap.Shop
under that add:
NewMap.Number = OldMap.Number
In modTypes under:
Type OldMapRec
add:
Number As Long
under:
Type MapRec
add:
Number As Long
in sub:
Sub ClearMap(ByVal MapNum As Long)
under:
Map(MapNum).Name = ""
add:
Map(MapNum).Number = 0
WOW! Finished...
If you got some bug reply, =D
Edit:
Forgot 1 thing:
In modGamelogic, find:
Public InSpellEditor As Boolean
Under this add:
Public InMapReport As Boolean
Now it shoud work...
|
|