This may not fix bug, but im looking into that. This is just another little thing to keep it from being like a Safe Zone map color.
Client Side:
Find:
Code:
If Map.Moral = MAP_MORAL_NONE Then
Replace that whole 'If' statement with:
Code:
' Draw map name
If Map.Moral = MAP_MORAL_NONE Then
Call DrawText(TexthDC, Int((MAX_MAPX + 1) * PIC_X / 2) - (Int(Len(Trim(Map.Name)) / 2) * 8), 1, Trim(Map.Name), QBColor(BrightRed))
ElseIf Map.Moral = MAP_MORAL_SAFE Then
Call DrawText(TexthDC, Int((MAX_MAPX + 1) * PIC_X / 2) - (Int(Len(Trim(Map.Name)) / 2) * 8), 1, Trim(Map.Name), QBColor(White))
Else
Call DrawText(TexthDC, Int((MAX_MAPX + 1) * PIC_X / 2) - (Int(Len(Trim(Map.Name)) / 2) * 8), 1, Trim(Map.Name), QBColor(Blue))
End If
Server Side:
-This will keep people from attacking you while in this zone
Find:
Code:
' Check if at same coordinates
Select Case GetPlayerDir(Attacker)
Case DIR_UP
Replace the whole case with this:
Code:
' Check if at same coordinates
Select Case GetPlayerDir(Attacker)
Case DIR_UP
If (GetPlayerY(Victim) + 1 = GetPlayerY(Attacker)) And (GetPlayerX(Victim) = GetPlayerX(Attacker)) Then
' Check to make sure that they dont have access
If GetPlayerAccess(Attacker) > ADMIN_MONITER Then
Call PlayerMsg(Attacker, "You cannot attack any player for thou art an admin!", BrightBlue)
Else
' Check to make sure the victim isn't an admin
If GetPlayerAccess(Victim) > ADMIN_MONITER Then
Call PlayerMsg(Attacker, "You cannot attack " & GetPlayerName(Victim) & "!", BrightRed)
Else
' Check if map is attackable
If Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_NONE Or GetPlayerPK(Victim) = YES Then
' Make sure they are high enough level
If GetPlayerLevel(Attacker) < 10 Then
Call PlayerMsg(Attacker, "You are below level 10, you cannot attack another player yet!", BrightRed)
Else
If GetPlayerLevel(Victim) < 10 Then
Call PlayerMsg(Attacker, GetPlayerName(Victim) & " is below level 10, you cannot attack this player yet!", BrightRed)
ElseIf Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_INN Or GetPlayerPK(Victim) = YES Then
If GetPlayerLevel(Attacker) < 10 Then
Call PlayerMsg(Attacker, "You are below level 10, you cannot attack another player yet!", BrightRed)
Else
If GetPlayerLevel(Victim) < 10 Then
Call PlayerMsg(Attacker, GetPlayerName(Victim) & " is below level 10, you cannot attack this player yet!", BrightRed)
Else
CanAttackPlayer = True
End If
End If
Else
Call PlayerMsg(Attacker, "This is a safe zone!", BrightRed)
End If
End If
End If
End If
And continue doing that with rest of Directions like DIR_DOWN, DIR_LEFT, and DIR_RIGHT.