hab ich beschlossen es nun mit euch zu teilen
In meiner Sig findet ihr ein Video, wie es Ingame aussieht..
Vorneweg:
Der 'Mod' erstellt in eurem normalem Ordner eine regen.txt,
welche ihr jedoch manuell hochladen müsst.
Die regen.txt könnt ihr euch Ingame jederzeit mit einem Command anzeigen lassen!
Was ihr braucht:
- Euren Clienten
- Editor (Hierbei empfehle ich Notepad++)
Hier mal als Zusammenfassung:
-> root.*** entpacken.
-> uichat.py öffnen.
-> Sucht nach:
PHP Code:
class ChatLine(ui.EditLine):
CHAT_MODE_NAME = { chat.CHAT_TYPE_TALKING : locale.CHAT_NORMAL,
chat.CHAT_TYPE_PARTY : locale.CHAT_PARTY,
chat.CHAT_TYPE_GUILD : locale.CHAT_GUILD,
chat.CHAT_TYPE_SHOUT : locale.CHAT_SHOUT, }
PHP Code:
## ChatLine
class ChatLine(ui.EditLine):
ENABLE_UPDATE_COMMAND = 0
REGENMOB_EDIT_MODE = 0
REGENYAXE_EDIT_MODE = 0
REGENXAXE_EDIT_MODE = 0
REGENSTIME_EDIT_MODE = 0
REGENGROUP_EDIT_MODE = 0
REGENRANDOMGROUP_EDIT_MODE = 0
CLEAR_REGEN = 0
CHAT_MODE_NAME = { chat.CHAT_TYPE_TALKING : locale.CHAT_NORMAL,
chat.CHAT_TYPE_PARTY : locale.CHAT_PARTY,
chat.CHAT_TYPE_GUILD : locale.CHAT_GUILD,
chat.CHAT_TYPE_SHOUT : locale.CHAT_SHOUT, }
-> Danach sucht nach:
PHP Code:
def __init__(self):
ui.EditLine.__init__(self)
self.SetWindowName("Chat Line")
self.lastShoutTime = 0
self.eventEscape = lambda *arg: None
self.eventReturn = lambda *arg: None
self.eventTab = None
self.chatMode = chat.CHAT_TYPE_TALKING
self.bCodePage = TRUE
self.overTextLine = ui.TextLine()
self.overTextLine.SetParent(self)
self.overTextLine.SetPosition(-1, 0)
self.overTextLine.SetFontColor(1.0, 1.0, 0.0)
self.overTextLine.SetOutline()
self.overTextLine.Hide()
self.lastSentenceStack = []
self.lastSentencePos = 0
PHP Code:
def __init__(self):
ui.EditLine.__init__(self)
self.SetWindowName("Chat Line")
self.lastShoutTime = 0
self.eventEscape = lambda *arg: None
self.eventReturn = lambda *arg: None
self.eventTab = None
self.ENABLE_UPDATE_COMMAND = None
self.REGENMOB_EDIT_MODE = None
self.REGENYAXE_EDIT_MODE = None
self.REGENXAXE_EDIT_MODE = None
self.REGENSTIME_EDIT_MODE = None
self.REGENGROUP_EDIT_MODE = None
self.REGENRANDOMGROUP_EDIT_MODE = None
self.CLEAR_REGEN = None
self.mobvnum = "101"
self.groupvnum = "101"
self.randomgroupvnum = "101"
self.yaxe = "10"
self.xaxe = "10"
self.stime = "30s"
self.chatMode = chat.CHAT_TYPE_TALKING
self.bCodePage = TRUE
self.overTextLine = ui.TextLine()
self.overTextLine.SetParent(self)
self.overTextLine.SetPosition(-1, 0)
self.overTextLine.SetFontColor(1.0, 1.0, 0.0)
self.overTextLine.SetOutline()
self.overTextLine.Hide()
self.lastSentenceStack = []
self.lastSentencePos = 0
PHP Code:
def __SendChatPacket(self, text, type):
# if text[0] == '/':
# if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE:
# pass
# else:
# return
if net.IsChatInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
else:
net.SendChatPacket(text, type)
PHP Code:
def __SendChatPacket(self, text, type):
# if text[0] == '/':
# if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE:
# pass
# else:
# return
if text == '+update enable':
self.ENABLE_UPDATE_COMMAND = 1
self.RunCloseEvent()
chat.AppendChat(chat.CHAT_TYPE_INFO, "+update Command ist nun freigeschaltet!")
elif text == '+update disable':
self.ENABLE_UPDATE_COMMAND = 0
self.RunCloseEvent()
chat.AppendChat(chat.CHAT_TYPE_INFO, "+update Command ist nun wieder deaktiviert!")
elif text == '+update help' and not self.ENABLE_UPDATE_COMMAND:
self.RunCloseEvent()
chat.AppendChat(chat.CHAT_TYPE_GUILD, "Der +update Command, ist ausschließlich für Teammember von ****!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Er erlaubt es ihnen bestimmte Dinge zu updaten....")
chat.AppendChat(chat.CHAT_TYPE_INFO, "© passy305")
elif text == '+update help' and self.ENABLE_UPDATE_COMMAND:
self.RunCloseEvent()
chat.AppendChat(chat.CHAT_TYPE_GUILD, "Derzeit gibt es folgende Commands:")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update enable -> Schaltet +update Command frei!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update disable -> Schaltet +update Command wieder aus!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update help -> Zeigt dir auch, wenn +update nicht aktiviert ist, ein Info Fenster an!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update commands help -> Zeigt dir dieses Fenster auf >D")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update showregen -> Zeigt dir die aktuelle regen.txt im Chat an!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update clearregen -> Startet die Abfrage, um die komplette regen.txt zu Cleanen!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update clearregen yes -> Bestätigt die Abfrage zum Cleanen der regen.txt!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update clearregen no -> Bricht die Abfrage zum Cleanen der regen.txt ab!")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m -> Spawnt ein Mob (regen.txt)")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen g -> Spawnt eine Gruppe (regen.txt)")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen r -> Spawnt eine Random-Gruppe (regen.txt)")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m mobvnum edit -> Ermöglicht editieren der Mobvnum!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m mobvnum edit off -> Schaltet Edit-Modus der Mobvnum aus!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen g groupvnum edit -> Ermöglicht editieren der Groupvnum!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen g groupvnum edit off -> Schaltet Edit-Modus der Groupvnum aus!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen r randomvnum edit -> Ermöglicht editieren der Random-Groupvnum!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen r randomvnum edit off -> Schaltet Edit-Modus der Random-Groupvnum aus!")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r yaxe edit -> Ermöglicht editieren der Y-Spawngröße!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r yaxe edit off -> Schaltet Edit-Modus der Y-Spawngröße aus!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r xaxe edit -> Ermöglicht editieren der X-Spawngröße!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r xaxe edit off -> Schaltet Edit-Modus der X-Spawngröße aus!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r stime edit -> Ermöglicht editieren der Spawnzeit!")
chat.AppendChat(chat.CHAT_TYPE_PARTY, "+update regen m/g/r stime edit off -> Schaltet Edit-Modus der Spawnzeit aus!")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
chat.AppendChat(chat.CHAT_TYPE_GUILD, "© passy305")
elif text == '+update showregen' and self.ENABLE_UPDATE_COMMAND:
self.__ShowRegen()
elif text == '+update clearregen' and self.ENABLE_UPDATE_COMMAND:
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Bestätige das du das wirklich tun möchtest..!")
self.CLEAR_REGEN = 1
elif text == '+update clearregen yes' and self.ENABLE_UPDATE_COMMAND and self.CLEAR_REGEN:
self.__DeleteRegen()
elif text == '+update clearregen no' and self.ENABLE_UPDATE_COMMAND and self.CLEAR_REGEN:
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Der Löschvorgang wurde abgebrochen!")
self.CLEAR_REGEN = 0
elif text == '+update regen m' and self.ENABLE_UPDATE_COMMAND:
self.__UpdateRegenMob()
elif text == '+update regen g' and self.ENABLE_UPDATE_COMMAND:
self.__UpdateRegenGroup()
elif text == '+update regen r' and self.ENABLE_UPDATE_COMMAND:
self.__UpdateRegenRandomGroup()
elif text == '+update regen m mobvnum edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENMOB_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Mobvnum EditMode ist aktiv!!!")
elif self.REGENMOB_EDIT_MODE and not text == '+update regen m mobvnum edit off' and self.ENABLE_UPDATE_COMMAND:
mobvnum = self.GetText()
self.mobvnum = mobvnum
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Mobvnum wurde erfolgreich mit " + mobvnum + " ersetzt!")
elif text == '+update regen m mobvnum edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENMOB_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Mobvnum EditMode ist nichtmehr aktiv..")
elif text == '+update regen g groupvnum edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENGROUP_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Groupvnum EditMode ist aktiv!!!")
elif self.REGENGROUP_EDIT_MODE and not text == '+update regen g groupvnum edit off' and self.ENABLE_UPDATE_COMMAND:
groupvnum = self.GetText()
self.groupvnum = groupvnum
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Groupvnum wurde erfolgreich mit " + groupvnum + " ersetzt!")
elif text == '+update regen g groupvnum edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENGROUP_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Groupvnum EditMode ist nichtmehr aktiv..")
elif text == '+update regen r randomvnum edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENRANDOMGROUP_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Random-Groupvnum EditMode ist aktiv!!!")
elif self.REGENRANDOMGROUP_EDIT_MODE and not text == '+update regen g groupvnum edit off' and self.ENABLE_UPDATE_COMMAND:
randomgroupvnum = self.GetText()
self.randomgroupvnum = randomgroupvnum
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Random-Groupvnum wurde erfolgreich mit " + randomgroupvnum + " ersetzt!")
elif text == '+update regen g groupvnum edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENRANDOMGROUP_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Random-Groupvnum EditMode ist nichtmehr aktiv..")
elif text == '+update regen m yaxe edit' or text == '+update regen g yaxe edit' or text == '+update regen r yaxe edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENYAXE_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Y-Spawngröße EditMode ist aktiv!!!")
elif self.REGENYAXE_EDIT_MODE and not text == '+update regen m yaxe edit off' and not text == '+update regen g yaxe edit off' and not text == '+update regen r yaxe edit off' and self.ENABLE_UPDATE_COMMAND:
yaxe = self.GetText()
self.yaxe = yaxe
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Y-Spawngröße wurde erfolgreich mit " + yaxe + " ersetzt!")
elif text == '+update regen m yaxe edit off' or text == '+update regen g yaxe edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENYAXE_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Y-Spawngröße EditMode ist nichtmehr aktiv..")
elif text == '+update regen m xaxe edit' or text == '+update regen g xaxe edit' or text == '+update regen r xaxe edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENXAXE_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "X-Spawngröße EditMode ist aktiv!!!")
elif self.REGENXAXE_EDIT_MODE and not text == '+update regen m xaxe edit off' and not text == '+update regen g xaxe edit off' and not text == '+update regen r xaxe edit off' and self.ENABLE_UPDATE_COMMAND:
xaxe = self.GetText()
self.xaxe = xaxe
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die X-Spawngröße wurde erfolgreich mit " + xaxe + " ersetzt!")
elif text == '+update regen m xaxe edit off' or text == '+update regen g xaxe edit off' or text == '+update regen r xaxe edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENXAXE_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "X-Spawngröße EditMode ist nichtmehr aktiv..")
elif text == '+update regen m stime edit' or text == '+update regen g stime edit' or text == '+update regen r stime edit' and self.ENABLE_UPDATE_COMMAND:
self.REGENSTIME_EDIT_MODE = 1
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Spawnzeit EditMode ist aktiv!!!")
elif self.REGENSTIME_EDIT_MODE and not text == '+update regen m stime edit off' and not text == '+update regen g stime edit off' and not text == '+update regen r stime edit off' and self.ENABLE_UPDATE_COMMAND:
stime = self.GetText()
self.stime = stime
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Spawnzeit wurde erfolgreich mit " + stime + " ersetzt!")
elif text == '+update regen m stime edit off' or text == '+update regen g stime edit off' or text == '+update regen r stime edit off' and self.ENABLE_UPDATE_COMMAND:
self.REGENSTIME_EDIT_MODE = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Spawnzeit EditMode ist nichtmehr aktiv..")
elif text[0] == '+' and self.ENABLE_UPDATE_COMMAND:
return
elif net.IsChatInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
else:
net.SendChatPacket(text, type)
PHP Code:
def __UpdateRegenMob(self):
import player
(x, y, z) = player.GetMainCharacterPosition()
mv = self.mobvnum
yaxe = self.yaxe
xaxe = self.xaxe
st = self.stime
f = open("regen.txt", "a+")
f.write ("m %d %d %s %s 0 0 %s 100 %d %s\n" % (x/100, y/100, yaxe, xaxe, st, z/10000, mv))
#f.write ("m %d %d 10 10 0 0 %d"+"s 100 1 101\n" % (x/100, y/100, z/10))
f.close()
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Das Mob wurde erfolgreich geplaced!")
def __UpdateRegenGroup(self):
import player
(x, y, z) = player.GetMainCharacterPosition()
gv = self.groupvnum
yaxe = self.yaxe
xaxe = self.xaxe
st = self.stime
f = open("regen.txt", "a+")
f.write ("g %d %d %s %s 0 0 %s 100 %d %s\n" % (x/100, y/100, yaxe, xaxe, st, z/10000, gv))
#f.write ("g %d %d 10 10 0 0 30s 100 %d " + "101" + "\n" % (x/100, y/100, z/10000))
f.close()
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Mob-Group wurde erfolgreich geplaced!")
def __UpdateRegenRandomGroup(self):
import player
(x, y, z) = player.GetMainCharacterPosition()
rgv = self.randomgroupvnum
yaxe = self.yaxe
xaxe = self.xaxe
st = self.stime
f = open("regen.txt", "a+")
f.write ("r %d %d %s %s 0 0 %s 100 %d %s\n" % (x/100, y/100, yaxe, xaxe, st, z/10000, rgv))
#f.write ("r %d %d 10 10 0 0 30s 100 %d " + "101" + "\n" % (x/100, y/100, z/10000))
f.close()
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die Random-Mob-Group wurde erfolgreich geplaced!")
def __DeleteRegen(self):
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Der Löschvorgang wurde bestätigt..!")
f = open("regen.txt", "w")
f.write ("")
f.close()
self.CLEAR_REGEN = 0
chat.AppendChat(chat.CHAT_TYPE_PARTY, "Die regen.txt wurde erfolgreich gecleaned..!")
def __ShowRegen(self):
f = open("regen.txt", "r")
regen = f.readline()
if regen == "":
chat.AppendChat(chat.CHAT_TYPE_GUILD, "Die regen.txt ist leer! ^^")
else:
chat.AppendChat(chat.CHAT_TYPE_GUILD, "Hier die aktuelle regen.txt!")
while regen:
chat.AppendChat(chat.CHAT_TYPE_PARTY, regen)
regen = f.readline()
f.close()
Solltet ihr noch die Farbe wollen so sucht nach:
PHP Code:
def __CheckChatMark(self):
self.overTextLine.Hide()
text = self.GetText()
if len(text) > 0:
if '#' == text[0]:
self.overTextLine.SetText("#")
self.overTextLine.Show()
elif '%' == text[0]:
self.overTextLine.SetText("%")
self.overTextLine.Show()
elif '!' == text[0]:
self.overTextLine.SetText("!")
self.overTextLine.Show()
PHP Code:
def __CheckChatMark(self):
self.overTextLine.Hide()
text = self.GetText()
specialtext = self.GetText()
if len(text) > 0:
if '#' == text[0]:
self.overTextLine.SetText("#")
self.overTextLine.SetFontColor(1.0, 1.0, 0.0)
self.overTextLine.Show()
elif '%' == text[0]:
self.overTextLine.SetText("%")
self.overTextLine.SetFontColor(1.0, 1.0, 0.0)
self.overTextLine.Show()
elif '!' == text[0]:
self.overTextLine.SetText("!")
self.overTextLine.SetFontColor(1.0, 1.0, 0.0)
self.overTextLine.Show()
elif str(self.GetText())[0] == "+" and self.ENABLE_UPDATE_COMMAND:
self.overTextLine.SetText(specialtext)
self.overTextLine.SetFontColor(0.45, 0.0, 0.1)
self.overTextLine.Show()
- Megaload, welcher mich auf diese Idee brachte!
Dann mal viel Spaß damit