Hi,
habe dieses Snippet schonmal hier gepostet, aber jetzt schöner und übersichtlicher.
Momentan geht dies nur mit je 2 Nicks, wenn ich mehr Zeit habe, schaue ich mir das mal genauer an.
Ihr müsst dies jedoch umschreiben, da ich mir ein Analysetool in C# geschrieben habe (schreiben und lesen).
Dictionary = HashMap
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public static String showPrefixIcons(String channel, Dictionary<String, List<String>> map, bool top)
{
/* map:
* Key -> Nickname
* Value -> List<String>, ein bzw. mehrere Bilder
*/
PacketWriter writer = new PacketWriter();
writer.write(':');
writer.write(0);
writer.write(0);
writer.write(96); // Server.get().getModuleTree().getIndex("SHOW_PREFIXICONS")
writer.writeString(channel, true, false); // Länge vorangestellt, no short
writer.write(11); // es folgt ein Array
foreach (KeyValuePair<String, List<String>> kvp in map)
{
writer.writeString(kvp.Key, true, false); // Nick
foreach (string str in (List<String>)kvp.Value)
{
writer.write(11);
writer.writeString(str, true, false);
}
writer.write(12);
writer.write(11);
}
writer.removeLast(); // letztes Byte im Buffer löschen
writer.write(12); // Array Ende
writer.write(12);
writer.writeBoolean(top);
return writer.toString();
}
|
Falls ihr noch Fragen haben solltet, könnt ihr fragen.
MfG