Joa da ich neulich mal meine Scripts wieder angeschaut hatte hab ich mitbekommen, dass ich die Skill Icons einfach nur nooblike dargestellt habe.
Daraufhin hab ich mir ein kleines Script gemacht, welches mir die Icons ausgibt.
Verwenden tut ihr das Script folgendermaßen:
Ihr haut die .pyc Datei einfach in den Lib Ordner und addet dort wo ihr es nutzen wollt das hier:
PHP Code:
import skilladition
SkillAditionByMeLol = skilladition.SkillAditionDialog()
SkillIcon via Index
PHP Code:
SkillAditionByMeLol.GetSkillIcon(index, "Index", grade)
Grade ist der gesuchte Grade.
Ist ein Integrer zwischen 1 und 3(1 wäre z.b. das Icon wenn der Skill noch nicht Meister ist, 2 ist Meister, 3 ist Großmeister/P)
Charakterspezifisches SkillIcon
PHP Code:
SkillAditionByMeLol.GetSkillIcon(count, "Count", grade)
Hierbei spielt es keine Rolle mehr von welcher Rasse/Klasse euer Charakter ist, es ist einfach die Aufzählung der Skills.
Mit grade verhält es sich gleich wie oben.
SkillLevel:
PHP Code:
SkillAditionByMeLol.GetSkillLevel(count)
Beispiel für diese Commands:
Code:
import skilladition import chat SkillAditionByMeLol = skilladition.SkillAditionDialog() chat.AppendChat(chat.CHAT_TYPE_INFO, str(SkillAditionByMeLol.GetSkillIcon(3, "Count", 2))) chat.AppendChat(chat.CHAT_TYPE_INFO, str(SkillAditionByMeLol.GetSkillIcon(31, "Index", 2))) chat.AppendChat(chat.CHAT_TYPE_INFO, str(SkillAditionByMeLol.GetSkillLevel(3)))

War nurn Mini Script, also have fun mit, fangen halt nur Clientmodder was mit an
Hatten mich heute auch 2 danach gefragt, sonst würde ich sonen Mini Teil nichtmal releasen^^
Edit:
Source:
PHP Code:
import ui
import player
import skill
import net
import pack
import app
import dbg
import chat
class SkillAditionDialog(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.AddSkillIcons()
def __del__(self):
ui.Window.__del__(self)
def AddSkillIcons(self):
self.SkillList = []
try:
handle = app.OpenTextFile('locale/de/skilldesc.txt')
count = app.GetTextFileLineCount(handle)
except IOError:
dbg.LogBox('Load Skilldesc Error')
app.Abort()
SkillCount = 0
for i in xrange(count):
line = app.GetTextFileLine(handle, i)
if (str(line).count('\t') >= 21):
SkillData = str(line).split('\t')
SkillName = str(SkillData[2])
SkillIconName = str(SkillData[12])
SkillIndex = str(SkillData[0])
SkillData = {'NAME': SkillName,
'ICON': SkillIconName,
'INDEX': SkillIndex,
'COUNT': SkillCount}
self.SkillList.append(SkillData)
SkillCount += 1
RaceGroupInfo = self.GetClass()
Class = str(RaceGroupInfo).split('/')[0]
group = str(RaceGroupInfo).split('/')[1]
if (Class == 'Warrior'):
SkillIndex = 1
if (int(group) == 2):
SkillIndex = 16
elif (Class == 'Assassin'):
SkillIndex = 31
if (int(group) == 2):
SkillIndex = 46
elif (Class == 'Sura'):
SkillIndex = 61
if (int(group) == 2):
SkillIndex = 76
elif (Class == 'Shaman'):
SkillIndex = 91
if (int(group) == 2):
SkillIndex = 106
self.SkillIconIndex = []
Count = 0
for SkillValue in xrange(self.NewSkillsEnable()):
Skillname = skill.GetSkillName(int(SkillIndex))
SkillIndex += 1
for Skills in self.SkillList:
SkillNameList = Skills['NAME']
if (str(Skillname) == str(SkillNameList)):
Count += 1
SkillName = Skills['NAME']
SkillIcon = Skills['ICON']
SkillIndexAppend = (SkillIndex - 1)
PrivateSkillData = {'NAME': SkillName,
'ICON': SkillIcon,
'INDEX': SkillIndexAppend,
'COUNT': Count}
self.SkillIconIndex.append(PrivateSkillData)
def GetSkillIcon(self, index, mode, grade):
if (mode == 'Index'):
for Skills in self.SkillList:
if (index == int(Skills['INDEX'])):
SkillClass = self.GetSkillClass(int(Skills['INDEX']))
return ((('d:/ymir work/ui/skill/' + str(SkillClass).lower()) + '/') + str((((Skills['ICON'] + '_0') + str(grade)) + '.sub')))
elif (mode == 'Count'):
if net.IsConnect():
RaceGroupInfo = self.GetClass()
Class = str(RaceGroupInfo).split('/')[0]
for Skills in self.SkillIconIndex:
if (index == int(Skills['COUNT'])):
return ((('d:/ymir work/ui/skill/' + str(Class).lower()) + '/') + str((((Skills['ICON'] + '_0') + str(grade)) + '.sub')))
else:
return
def GetSkillLevel(self, SearchSkillIndex):
SkillIconLevel = []
for Skill in self.SkillIconIndex:
Skillgrade = player.GetSkillGrade(Skill['COUNT'])
Skilllevel = player.GetSkillLevel(Skill['COUNT'])
SkillIndex = Skill['COUNT']
SkillLevelData = {'GRADE': Skillgrade,
'LEVEL': Skilllevel,
'INDEX': SkillIndex}
SkillIconLevel.append(SkillLevelData)
for SkillData in SkillIconLevel:
SkillLevel = (int(SkillData['LEVEL']) + (int(SkillData['GRADE']) * 10))
SkillIndex = str(SkillData['INDEX'])
if (str(SkillIndex) == str(SearchSkillIndex)):
return int(SkillLevel)
def GetSkillClass(self, index):
try:
handle = app.OpenTextFile('locale/de/skilldesc.txt')
count = app.GetTextFileLineCount(handle)
except IOError:
dbg.LogBox('Load Skilldesc Error')
app.Abort()
for i in xrange(count):
line = app.GetTextFileLine(handle, i)
if (str(line).count('\t') >= 21):
SkillData = str(line).split('\t')
SkillIndex = str(SkillData[0])
SkillClass = str(SkillData[1])
if (int(SkillIndex) == index):
return str(SkillClass).lower()
def GetClass(self):
race = net.GetMainActorRace()
group = net.GetMainActorSkillGroup()
if ((race == 0) or (race == 4)):
return (('Warrior' + '/') + str(group))
elif ((race == 1) or (race == 5)):
return (('Assassin' + '/') + str(group))
elif ((race == 2) or (race == 6)):
return (('Sura' + '/') + str(group))
elif ((race == 3) or (race == 7)):
return (('Shaman' + '/') + str(group))
def NewSkillsEnable(self):
playersettingmodule = pack.Get('playersettingmodule.py')
RaceGroupInfo = self.GetClass()
Class = str(RaceGroupInfo).split('/')[0]
if ((str(playersettingmodule).find('NEW_678TH_SKILL_ENABLE = TRUE') != -1) or ((str(playersettingmodule).count('1, 2, 3, 4, 5, 6,') >= 2) or ((str(Class) == 'Shaman') or (str(Class) == 'Sura')))):
return 6
else:
return 5






