Diskussionen über Memorys

04/12/2009 04:55 kknb#481
so hab die liste bisl angepasst, bei travel nimmt er baseb. maxenergie und maxleben kann man nur ausserhalb von städten auslesen, hat ewig gedauert bis ich mal darauf gekommen bin, ich hab ewig den fehler gesucht warum er keinen wert gebracht hat...
was M_CHAT macht hab ich noch net rausgefunden ;)
so gehe dann pennen.

Code:
;-Memorie Liste für update.ini
;==============================

#include "tt6.au3"
#include <Array.au3>

;-Base Pointer Health
Const $PTR_HEALTH = IniRead("update.ini", "SECTION D", "PTR_HP_E", "Not Found")

;-Base Pointer Health Offset
Const $PTR_GLOBAL_OFFSET = 0x104

;Cur & Max HP
Const $PTR_HEALTH_CUR_HP = 0x28
Const $PTR_HEALTH_MAX_HP = 0x2c

;Cur & Max Energy
Const $PTR_HEALTH_CUR_E = 0x14
Const $PTR_HEALTH_MAX_E = 0x18

;-Hero Hp offsets
Const $PTR_HEALTH_HERO1 = 0xc
Const $PTR_HEALTH_HERO2 = 0x40
Const $PTR_HEALTH_HERO3 = 0x74

;-Base Pointer A + Offset 1/2 for points
Const $PTR_BASE_A = IniRead("update.ini", "SECTION D", "PTR_BASEA", "Not Found")
Const $PTR_BASE_A_OFFSET1 = 0x18
Const $PTR_BASE_A_OFFSET2 = 0x2c

;Cur & Max Balthazar
Const $PTR_BASE_A_MAXBALTHAZAR_OS = 0x748
Const $PTR_BASE_A_CURBALTHAZAR_OS = 0x724

;-Gold @chest & @inventory
Const $PTR_BASE_A_OFFSET1_GOLD = 0x18
Const $PTR_BASE_A_OFFSET2_GOLD = 0x40
Const $PTR_BASE_A_OFFSET3_GOLD = 0xf8
Const $PTR_BASE_A_OFFSET_GOLD_SELF = 0x64

;-Travel
Const $PTR_BASE_B = IniRead("update.ini", "SECTION D", "PTR_BASEB", "Not Found")
Const $PTR_BASE_B_OFFSET1_TRAVEL = 0x18
Const $PTR_BASE_B_OFFSET2_TRAVEL = 0x44
Const $PTR_BASE_B_OFFSET_TRAVELID = 0x1bc

;-Travel
;
$1_TravelID = _MemoryRead($PTR_BASE_B, $hprocess)
$2_TravelID = _MemoryRead($1_TravelID + $PTR_BASE_B_OFFSET1_TRAVEL, $hprocess)
$3_TravelID = _MemoryRead($2_TravelID + $PTR_BASE_B_OFFSET2_TRAVEL, $hprocess)
$4_TravelID = _MemoryRead($3_TravelID + $PTR_BASE_B_OFFSET_TRAVELID, $hprocess)
$TRAVEL_ID = $4_TravelID


;-Points
;Max Balthazar
$1_MaxBalthazar = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_MaxBalthazar = _MemoryRead($1_MaxBalthazar + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_MaxBalthazar = _MemoryRead($2_MaxBalthazar + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_MaxBalthazar = _MemoryRead($3_MaxBalthazar + $PTR_BASE_A_MAXBALTHAZAR_OS, $hprocess, 'int')
$MAX_BALTHAZAR = $4_MaxBalthazar

;Cur Balthazar
$1_CurBalthazar = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_CurBalthazar = _MemoryRead($1_CurBalthazar + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_CurBalthazar = _MemoryRead($2_CurBalthazar + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_CurBalthazar = _MemoryRead($3_CurBalthazar + $PTR_BASE_A_CURBALTHAZAR_OS, $hprocess, 'int')
$CUR_BALTHAZAR = $4_CurBalthazar

;Gold
;-Gold in inventory
$1_InventoryGold = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_InventoryGold = _MemoryRead($1_InventoryGold + $PTR_BASE_A_OFFSET1_GOLD, $hprocess, 'dword')
$3_InventoryGold = _MemoryRead($2_InventoryGold + $PTR_BASE_A_OFFSET2_GOLD, $hprocess, 'dword')
$4_InventoryGold = _MemoryRead($3_InventoryGold + $PTR_BASE_A_OFFSET3_GOLD, $hprocess, 'dword')
$5_InventoryGold = _MemoryRead($4_InventoryGold + $PTR_BASE_A_OFFSET_GOLD_SELF, $hprocess, 'int')
$INVENTORY_GOLD = $5_InventoryGold

;-PlayerSelf
;-Current Energystack
$1_OwnEnergy = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_OwnEnergy = _MemoryRead($1_OwnEnergy + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_OwnEnergy = _MemoryRead($2_OwnEnergy + $PTR_HEALTH_CUR_E, $hprocess, 'float')

;-Max Energystack
$1_OwnEnergyMAX = _MemoryRead($PTR_HEALTH, $hprocess)
$2_OwnEnergyMAX = _MemoryRead($1_OwnEnergyMAX + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnEnergyMAX = _MemoryRead($2_OwnEnergyMAX + $PTR_HEALTH_MAX_E, $hprocess)
$MAX_E = $3_OwnEnergyMAX ;kann man nur ausserhalb von städten auslesen

;-Healthstack
$1_OwnHealth = _MemoryRead($PTR_HEALTH, $hprocess)
$2_OwnHealth = _MemoryRead($1_OwnHealth + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnHealth = _MemoryRead($2_OwnHealth + $PTR_HEALTH_CUR_HP, $hprocess,"float")

;-Max Healthstack
$1_OwnHealthMAX = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_OwnHealthMAX = _MemoryRead($1_OwnHealth + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnHealthMAX = _MemoryRead($2_OwnHealth + $PTR_HEALTH_MAX_HP, $hprocess)
$MAX_HP = $3_OwnHealthMAX ;kann man nur ausserhalb von städten auslesen

;-Hero1 Healthstack
$1_Hero1Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero1Health = _MemoryRead($1_Hero1Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero1Health = _MemoryRead($2_Hero1Health - $PTR_HEALTH_HERO1, $hprocess, 'float')
$CUR_HP_HERO1 = $3_Hero1Health

;-Hero2 Healthstack
$1_Hero2Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero2Health = _MemoryRead($1_Hero2Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero2Health = _MemoryRead($2_Hero2Health - $PTR_HEALTH_HERO2, $hprocess, 'float')
$CUR_HP_HERO2 = $3_Hero2Health

;-Hero3 Healthstack
$1_Hero3Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero3Health = _MemoryRead($1_Hero3Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero3Health = _MemoryRead($2_Hero3Health - $PTR_HEALTH_HERO3, $hprocess, 'float')
$CUR_HP_HERO3 = $3_Hero3Health

;-=============================================

MsgBox(0x40, "ID", "Travel ID: " & $4_MaxBalthazar)
das script von oben mit dem memwrite funzt trotzdem net bei mir^^
04/12/2009 12:16 buFFy!#482
Alles klar..die TravelID ist verdammt riskant.. bissel damit rumgespielt auf einmal wars
4 VS 5 in zufallsarenen xD
04/12/2009 12:18 kknb#483
hehe auch net schlecht^^ ich hatte vorhin nen ip bann, ich denke mal das kam vom rumspielen mitn travel.
04/12/2009 12:24 NBA#484
Dieses Travel scheint ja potenziall zu haben...
Wie waers mit 8 vs. 8 Random :o
Oder evtl. auswahl der Gegner (dann koennte man balthi pk farmen...mit bots...)
04/12/2009 12:25 buFFy!#485
Naja ich hab mir aus der TravelID erfhofft verschiedene ID's für die einzelnen Arenen zu haben.. Das wäre dann super für nen RABot..

Edit: Read auf TravelID ist gleich dem Read auf AreaID.

Edit²: Update Liste fertig.

Code:
;-Memorie Liste für update.ini
;==============================

#include "tt6.au3"
#include-once

;-Base Pointer Health
Const $PTR_HEALTH = IniRead("update.ini", "SECTION D", "PTR_HP_E", "Not Found")

;-Base Pointer Health Offset
Const $PTR_GLOBAL_OFFSET = 0x104

;Cur & Max HP
Const $PTR_HEALTH_CUR_HP = 0x28
Const $PTR_HEALTH_MAX_HP = 0x2c

;Cur & Max Energy
Const $PTR_HEALTH_CUR_E = 0x14
Const $PTR_HEALTH_MAX_E = 0x18

;-Hero Hp offsets
Const $PTR_HEALTH_HERO1 = 0xc
Const $PTR_HEALTH_HERO2 = 0x40
Const $PTR_HEALTH_HERO3 = 0x74

;-Base Pointer A + Offset 1/2 for points
Const $PTR_BASE_A = IniRead("update.ini", "SECTION D", "PTR_BASEA", "Not Found")
Const $PTR_BASE_A_OFFSET1 = 0x18
Const $PTR_BASE_A_OFFSET2 = 0x2c

;Cur & Max Balthazar
Const $PTR_BASE_A_MAXBALTHAZAR_OS = 0x748
Const $PTR_BASE_A_CURBALTHAZAR_OS = 0x724

;Cur & Max Kurzick
Const $PTR_BASE_A_MAXKURZICK_OS = 0x740
Const $PTR_BASE_A_CURKURZICK_OS = 0x6e4

;Cur & Max Luxon
Const $PTR_BASE_A_MAXLUXON_OS = 0x744
Const $PTR_BASE_A_CURLUXON_OS = 0x6f4

;Cur Experience
Const $PTR_BASE_A_CUREXP_OS = 0x6dc

;-Gold @chest & @inventory
Const $PTR_BASE_A_OFFSET1_GOLD = 0x18
Const $PTR_BASE_A_OFFSET2_GOLD = 0x40
Const $PTR_BASE_A_OFFSET3_GOLD = 0xf8
Const $PTR_BASE_A_OFFSET_GOLD_SELF = 0x64
Const $PTR_BASE_A_OFFSET_GOLD_CHEST = 0x4

;-Travel
Const $PTR_BASE_B = IniRead("update.ini", "SECTION D", "PTR_BASEB", "Not Found")
Const $PTR_BASE_B_OFFSET1_TRAVEL = 0x18
Const $PTR_BASE_B_OFFSET2_TRAVEL = 0x44
Const $PTR_BASE_B_OFFSET_TRAVELID = 0x1bc

;-StartTravel===========================================================================================

;-Travel
;
$1_TravelID = _MemoryRead($PTR_BASE_B, $hprocess)
$2_TravelID = _MemoryRead($1_TravelID + $PTR_BASE_B_OFFSET1_TRAVEL, $hprocess)
$3_TravelID = _MemoryRead($2_TravelID + $PTR_BASE_B_OFFSET2_TRAVEL, $hprocess)
$4_TravelID = _MemoryRead($3_TravelID + $PTR_BASE_B_OFFSET_TRAVELID, $hprocess)
$TRAVEL_ID = $4_TravelID
;-EndeTravel=============================================================================================

;-Start_Points===========================================================================================
;Cur Experience
$1_Exp = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_Exp = _MemoryRead($1_Exp + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_Exp = _MemoryRead($2_Exp + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_Exp = _MemoryRead($3_Exp + $PTR_BASE_A_CUREXP_OS, $hprocess, 'int')
$CUR_EXP = $4_Exp

;Max Balthazar
$1_MaxBalthazar = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_MaxBalthazar = _MemoryRead($1_MaxBalthazar + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_MaxBalthazar = _MemoryRead($2_MaxBalthazar + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_MaxBalthazar = _MemoryRead($3_MaxBalthazar + $PTR_BASE_A_MAXBALTHAZAR_OS, $hprocess, 'int')
$MAX_BALTHAZAR = $4_MaxBalthazar

;Cur Balthazar
$1_CurBalthazar = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_CurBalthazar = _MemoryRead($1_CurBalthazar + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_CurBalthazar = _MemoryRead($2_CurBalthazar + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_CurBalthazar = _MemoryRead($3_CurBalthazar + $PTR_BASE_A_CURBALTHAZAR_OS, $hprocess, 'int')
$CUR_BALTHAZAR = $4_CurBalthazar

;Max Kurzick Points
$1_MaxKurzick = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_MaxKurzick = _MemoryRead($1_MaxKurzick + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_MaxKurzick = _MemoryRead($2_MaxKurzick + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_MaxKurzick = _MemoryRead($3_MaxKurzick + $PTR_BASE_A_MAXKURZICK_OS, $hprocess, 'int')
$MAX_KURZICK = $4_MaxKurzick

;Cur Kurzick Points
$1_CurKurzick = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_CurKurzick = _MemoryRead($1_CurKurzick + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_CurKurzick = _MemoryRead($2_CurKurzick + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_CurKurzick = _MemoryRead($3_CurKurzick + $PTR_BASE_A_CURKURZICK_OS, $hprocess, 'int')
$CUR_KURZICK = $4_CurKurzick

;Max Luxon Points
$1_MaxLuxon = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_MaxLuxon = _MemoryRead($1_MaxLuxon + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_MaxLuxon = _MemoryRead($2_MaxLuxon + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_MaxLuxon = _MemoryRead($3_MaxLuxon + $PTR_BASE_A_MAXLUXON_OS, $hprocess, 'int')
$MAX_LUXON = $4_MaxLuxon

;Cur Luxon Points
$1_CurLuxon = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_CurLuxon = _MemoryRead($1_CurLuxon + $PTR_BASE_A_OFFSET1, $hprocess, 'dword')
$3_CurLuxon = _MemoryRead($2_CurLuxon + $PTR_BASE_A_OFFSET2, $hprocess, 'dword')
$4_CurLuxon = _MemoryRead($3_CurLuxon + $PTR_BASE_A_CURLUXON_OS, $hprocess, 'int')
$CUR_LUXON = $4_CurLuxon
;-Ende_Points============================================================================================

;StartGold===============================================================================================
;-Gold in inventory
$1_InventoryGold = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_InventoryGold = _MemoryRead($1_InventoryGold + $PTR_BASE_A_OFFSET1_GOLD, $hprocess, 'dword')
$3_InventoryGold = _MemoryRead($2_InventoryGold + $PTR_BASE_A_OFFSET2_GOLD, $hprocess, 'dword')
$4_InventoryGold = _MemoryRead($3_InventoryGold + $PTR_BASE_A_OFFSET3_GOLD, $hprocess, 'dword')
$5_InventoryGold = _MemoryRead($4_InventoryGold + $PTR_BASE_A_OFFSET_GOLD_SELF, $hprocess, 'int')
$INVENTORY_GOLD = $5_InventoryGold

;-Gold in Chest
$1_ChestGold = _MemoryRead($PTR_BASE_A, $hprocess, 'dword')
$2_ChestGold = _MemoryRead($1_ChestGold + $PTR_BASE_A_OFFSET1_GOLD, $hprocess, 'dword')
$3_ChestGold = _MemoryRead($2_ChestGold + $PTR_BASE_A_OFFSET2_GOLD, $hprocess, 'dword')
$4_ChestGold = _MemoryRead($3_ChestGold + $PTR_BASE_A_OFFSET3_GOLD, $hprocess, 'dword')
$5_ChestGold = _MemoryRead($4_ChestGold + $PTR_BASE_A_OFFSET_GOLD_CHEST, $hprocess, 'int')
$CHEST_GOLD = $5_ChestGold
;-EndeGold===============================================================================================

;-StartPlayerSelf========================================================================================
;-Current Energystack
$1_OwnEnergy = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_OwnEnergy = _MemoryRead($1_OwnEnergy + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_OwnEnergy = _MemoryRead($2_OwnEnergy + $PTR_HEALTH_CUR_E, $hprocess, 'float')

;-Max Energystack
$1_OwnEnergyMAX = _MemoryRead($PTR_HEALTH, $hprocess)
$2_OwnEnergyMAX = _MemoryRead($1_OwnEnergyMAX + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnEnergyMAX = _MemoryRead($2_OwnEnergyMAX + $PTR_HEALTH_MAX_E, $hprocess)
$MAX_E = $3_OwnEnergyMAX ;kann man nur ausserhalb von städten auslesen

;-Healthstack
$1_OwnHealth = _MemoryRead($PTR_HEALTH, $hprocess)
$2_OwnHealth = _MemoryRead($1_OwnHealth + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnHealth = _MemoryRead($2_OwnHealth + $PTR_HEALTH_CUR_HP, $hprocess,"float")

;-Max Healthstack
$1_OwnHealthMAX = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_OwnHealthMAX = _MemoryRead($1_OwnHealth + $PTR_GLOBAL_OFFSET, $hprocess)
$3_OwnHealthMAX = _MemoryRead($2_OwnHealth + $PTR_HEALTH_MAX_HP, $hprocess)
$MAX_HP = $3_OwnHealthMAX ;kann man nur ausserhalb von städten auslesen
;-EndePlayerSelf========================================================================================

;-StartHeroHealths======================================================================================
;-Hero1 Healthstack
$1_Hero1Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero1Health = _MemoryRead($1_Hero1Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero1Health = _MemoryRead($2_Hero1Health - $PTR_HEALTH_HERO1, $hprocess, 'float')
$CUR_HP_HERO1 = $3_Hero1Health

;-Hero2 Healthstack
$1_Hero2Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero2Health = _MemoryRead($1_Hero2Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero2Health = _MemoryRead($2_Hero2Health - $PTR_HEALTH_HERO2, $hprocess, 'float')
$CUR_HP_HERO2 = $3_Hero2Health

;-Hero3 Healthstack
$1_Hero3Health = _MemoryRead($PTR_HEALTH, $hprocess, 'dword')
$2_Hero3Health = _MemoryRead($1_Hero3Health + $PTR_GLOBAL_OFFSET, $hprocess, 'dword')
$3_Hero3Health = _MemoryRead($2_Hero3Health - $PTR_HEALTH_HERO3, $hprocess, 'float')
$CUR_HP_HERO3 = $3_Hero3Health
;-EndeHeroHealths=======================================================================================
;-=============================================
Edit³: Chest Gold hat bei mir nen komischen Rückgabewert.. als float oder double is n 'e' drin.. also kanns das nich sein xD
Aber ich hab 12p auf der truhe und krieg ne verdammt lange zahl.. die keine 1 oder 2 drin hat^^
04/12/2009 13:17 darkgogeta#486
der download link im ertsen post ist down hat wer einen reupp?
04/12/2009 13:22 buFFy!#487
[Only registered and activated users can see links. Click Here To Register...]
04/12/2009 13:38 illuminati™#488
net schelcht 4 vs 5 im ra XD

wie ahst du des geschafft??
04/12/2009 13:41 buFFy!#489
Ich war selbst in RA als ich die ID ausgelesen hab um zu testen wie die Id's in den verschiedenen Arenen arbeiten.
So und als meine gruppe grad am verrecken war hab ichs dann getestet, vorher unten memwrite draufgetan.
Als meine gruppe verloren hatte wurde ich nich nach Random Arena /outpost geportet sondern in diese komische Luxonarena .. nebenbei hatte ich dieses komische ding da drauf das du kein PvP machen kannst weil ich 'geleavt' bin.

E: Dazu muss ich sagen das ich weder in der Gruppenleiste angezeigt wurde, noch Punkte bekommen habe.
04/12/2009 13:43 illuminati™#490
krass da würd ich aber aufpassen siehst ja die ham ihm glei ip bann gegeben ^^
04/12/2009 13:46 buFFy!#491
Das war ja nichtmal mit absicht xD
04/12/2009 13:48 kknb#492
öh mit dem gold in truhe ist wirklich komisch, ich bin mir nicht sicher ob die offsets stimmen, der wert ändert sich nie wenn ich was in die truhe packe bzw rausnehme. habe eigentlich auch alle ausgabetypen durchprobiert. hast du schon rausgefunden was chat macht^^?

naja ip bann is ja net so wild router reset und weiter gehts.
04/12/2009 13:50 buFFy!#493
Hab mich mit dem Chat nicht beschäftigt.
Edit: Ja hab ich: Sinnlose Zahlen wiedergeben!

Code:
Const $memChat = 0xa00878
Const $memChat_OS = 0x2a8
;-Test
$1_memChat = _MemoryRead($memChat, $hprocess, 'dword')
$2_memChat = _MemoryRead($1_memChat + $memChat_OS, $hprocess, 'dword')
$CHAT = $2_memChat
MsgBox("", "", $CHAT)
Vielleicht kann man mit der Addresse den Moderator Chat lesen, aber mit dem normalen Chat hat sie nichts zu tun :p

Komische zahl.. iwas mit 41..bla
dword = 41.blalblala
int = negative zahl beginnend mit 1
float = negativ mit e (enthält 6)
double = negativ mit e (enthält 3)
04/12/2009 14:02 _revo#494
Code:
Const $memChat = 0xa00878
Const $memChat_OS = 0x2a8
;-Test
$1_memChat = _MemoryRead($memChat, $hprocess, 'dword')
$2_memChat = _MemoryRead($1_memChat + $memChat_OS, $hprocess, '[COLOR="Red"]wchar[100][/COLOR]')
$CHAT = $2_memChat
MsgBox("", "", $CHAT)
gibt aus, was du selber in den chat geschrieben hast ;)
100 = Zahl der Buchstaben
04/12/2009 14:09 NBA#495
Gibts dafuer einen Offset?

Koennte fuer einen RA-Bot gut gehen, damit man erkennt wenn die Gruppenmitglieder resignen...