📄 modgamemaster.vb.svn-base
字号:
Module modGameMaster
#Region "LoadGameMasterList"
Public Sub LoadGameMasterList()
Dim DataStream As System.IO.TextReader
Dim Data As String
If IO.File.Exists("GameMasters.txt") = False Then
AddLog("Server", "GameMasters.txt not found.")
Exit Sub
End If
DataStream = System.IO.File.OpenText("GameMasters.txt")
Data = DataStream.ReadLine
Do Until Data Is Nothing
If Not Data Is "" And Not Data.StartsWith(";") Then
GameMasterList.Add(Data, "")
End If
Data = DataStream.ReadLine
Loop
DataStream.Close()
End Sub
#End Region
#Region "GM Commands"
Public GMCommands As New clsGMCommands
Public Class clsGMCommands
#Region "GMShout"
Public Sub GMShout(ByVal GMName As String, ByVal Message As String)
If Message = "" Then Exit Sub
Dim TargetId, i As Integer
Dim tPlayer As New clsPlayer
If UserCount = 0 Then Exit Sub
Do Until i = UserCount
If Not ObjectList(i) Is Nothing Then
TargetId = i
Packets.SendChatMessage(-1, ChatColours.Red, "(*)[" & GMName & "] " & Message, TargetId)
i += 1
End If
Loop
End Sub
#End Region
#Region "Spawn Monsters"
Public Sub SpawnMob(ByVal tMonsterName As String, ByVal tAmount As String, ByVal tX As Integer, ByVal tY As Integer, ByVal tMap As String)
If MonsterStatsList.Contains(tMonsterName) = False Then Exit Sub
Dim rAmount, i As Integer
If IsNumeric(tAmount) = False Then
rAmount = 1
Else
rAmount = tAmount
End If
Dim tMonster As clsMonster
Dim MonsterStats As clsMobStats = MonsterStatsList(tMonsterName)
For i = 1 To rAmount
tMonster = New clsMonster
tMonster.Name = tMonsterName
tMonster.Exp = MonsterStats.Exp
tMonster.HP = MonsterStats.MaxHP
tMonster.MP = MonsterStats.MaxMP
tMonster.Light = 0
tMonster.NameColour = NameColours.White
tMonster.IsDead = False
tMonster.Dir = Rand(0, 7)
SpawnMonster(tMonster, tX, tY, tMap)
Next i
End Sub
#End Region
#Region "Recall Monsters"
Public Sub RecallMob(ByVal tMonsterName As String, ByVal tAmount As String, ByVal Player As clsPlayer)
If MonsterStatsList.Contains(tMonsterName) = False Then Exit Sub
Dim rAmount, i As Integer
If IsNumeric(tAmount) = False Then
rAmount = 1
Else
rAmount = tAmount
End If
Dim tMonster As clsMonster
Dim MonsterStats As clsMobStats = MonsterStatsList(tMonsterName)
Dim tPoint As Point = IsNextWalkDir(Player.Dir, New Point(Player.X, Player.Y))
For i = 1 To rAmount
tMonster = New clsMonster
tMonster.Name = tMonsterName
tMonster.Exp = MonsterStats.Exp
tMonster.HP = MonsterStats.MaxHP
tMonster.MP = MonsterStats.MaxMP
tMonster.Light = 0
tMonster.NameColour = NameColours.White
tMonster.IsDead = False
tMonster.PetOwner = Player.Name
tMonster.IsPet = True
tMonster.Dir = Rand(0, 7)
SpawnMonster(tMonster, tPoint.X, tPoint.Y, Player.Map)
Next i
End Sub
#End Region
#Region "Make Item"
Public Sub MakeItem(ByVal ItemName As String, ByVal sAmount As String, ByVal Player As clsPlayer, ByVal Prefix As String)
Dim rItem As clsItem = ItemStatList(GetItemIndex(ItemName.ToLower))
Dim Amount As Integer
If IsNumeric(sAmount) Then
Amount = sAmount
Else
Amount = 1
End If
If Not rItem Is Nothing And Not Amount = 0 Then
Dim i As Integer
For i = 0 To Amount - 1
Dim pItem As New clsPlayerItem
pItem.ItemID = GenerateItemID()
pItem.Dura = rItem.DuraMax
pItem.ItemIndex = rItem.Index
pItem.NamePrefix = Prefix
Player.AddItemToBag(pItem)
Packets.SendPickupItem(Player.StateId, GetItemBuffer(pItem), 0)
Next i
End If
End Sub
#End Region
#Region "Delete Item"
Public Sub DeleteItem(ByVal ItemName As String, ByVal sAmount As String, ByVal Player As clsPlayer, ByVal Prefix As String)
Dim Amount, i As Integer
If IsNumeric(sAmount) Then
Amount = sAmount
Else
Amount = 1
End If
For i = 0 To Amount - 1
Dim dItemID As Long = Player.DeleteItem(ItemName)
If dItemID = -1 Then Exit Sub
Packets.SendDeleteItem(Player.StateId, dItemID)
Next i
End Sub
#End Region
#Region "Level"
Public Sub Level(ByVal Level As Integer, ByVal Player As clsPlayer)
Player.Level = Level
Player.Exp = 0
Player.LevelUp()
End Sub
#End Region
End Class
#End Region
End Module
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -