Yep, those features exists...
Skill.ini processing...
ElseIf UCase$(Left$(s1, 9)) = "LEVELREQ=" Then
SkillDef(sIndex).LevelReq = Right$(s1, Len(s1) - 9)
ElseIf UCase$(Left$(s1, 12)) = "EXCLUDESKILL" Then
i = Mid$(s1, 13, 1)
SkillDef(sIndex).ExcludeSkill(i) = Right$(s1, Len(s1) - 14)
Skill training...
' make sure they high enough level
If Player(pIndex).Level < SkillDef(SkillID).LevelReq Then
'frmServer.Send_Text Player(pIndex).ClientIndex, "You need to be at least level " & SkillDef(SkillID).LevelReq & " to train that skill.", ORANGE
modChat_Send Player(pIndex).ClientIndex, "You need to be at least level " & SkillDef(SkillID).LevelReq & " to train that skill."
Exit Sub
End If
' check for excludes
Dim i As Integer
For i = 0 To 9
If SkillDef(SkillID).ExcludeSkill(i) <> 0 Then
If Player(pIndex).skill(SkillDef(SkillID).ExcludeSkill(i)).flgTrained Then
'frmServer.Send_Text Player(pIndex).ClientIndex, "You can not train that skill. It conflicts with a skill you already have trained: " & Trim$(SkillDef(SkillDef(SkillID).ExcludeSkill(i)).Name), ORANGE
modChat_Send Player(pIndex).ClientIndex, "You can not train that skill. It conflicts with a skill you already have trained: " & Trim$(SkillDef(SkillDef(SkillID).ExcludeSkill(i)).Name)
Exit Sub
End If
End If
Next i
I checked player creation and it is in effect there too.