- GroupIDs sind 5 Bytes lang. In diesem Post werden sie als hexdecimale Werte angezeigt.
- $arg[1] beinhaltet die ChannelID
- $arg[2] und $arg[3] setzen Flags ob ein Channel muted ist und ob dieser mitgeloggt wird.
- Für einen Script (z.B. einen Bot) spielt es keine Rolle ob "logging" angeschaltet ist oder nicht
- Dem Server ist somit bekannt ob einer einen Channel loggt oder nicht (warum auch immer)
- 0x00 00 Not muted, not logging
- 0x01 01 Muted, not logging
- 0x00 02 Not muted, logging on
- 0x00 03 Muted, logging on
03xxxxxxxx: Guild Group * xxxxxxxx = Guild ID * (eg. 0x00171803(=1513475) for Nemesis on RK2 * http://www.anarchy-online.com/org/stats/d/2/name/1513475) 06xxxxyy00: shopping 1-50 06xxxxyy01: seeking team 1-10 06xxxxyy02: seeking team 10-20 06xxxxyy03: seeking team 20-35 06xxxxyy04: seeking team 35-50 06xxxxyy05: shopping 50-100 06xxxxyy06: seeking team 50-70 06xxxxyy07: seeking team 70-90 06xxxxyy08: seeking team 90-120 06xxxxyy09: shopping 100+ 06xxxxyy0a: seeking team 120-150 06xxxxyy0b: seeking team 150+ * xxxx = Dunno? (Usually 0x0776(=1910), it is always non-zero) * yy = Faction (0x00 = Neu., 0x01 = Clan, 0x02 = OT) 07000000yy: Newbie OOC * yy = Faction (0x00 = Neu., 0x01 = Clan, 0x02 = OT) 07xxxxyy10: OOC 07xxxxyy11: Jpn OOC * xxxx = Dunno? (Usually 0x0776(=1910), it is always non-zero) * yy = Faction (0x00 = Neu., 0x01 = Clan, 0x02 = OT) 0a00000000: All Towers 0a00000001: Org. Towers 0a00000002: Tower Battle Outcome 0c000007d0: IRRK News Wire * 000007d0 = Unknown (0x07d0 = 2000) 0c000003e8: Tour Announcements * 000003e8 = Unknown (0x03e8 = 1000)
unmuted ---args[0]------ ----"args[1]"------------ --"args[2]"-- -args[3]-- 0x06 07 6C 00 00 "Neu. shopping 1-50" "32868" 0x00 0x06 07 6C 00 01 "Neu. seeking team 1-10" "32868" 0x00 0x06 07 6C 01 00 "Clan shopping 1-50" "32868" 0x00 0x06 07 6C 01 01 "Clan seeking team 1-10" "32868" 0x00 0x06 07 6C 02 00 "OT shopping 1-50" "32868" 0x00 0x06 07 6C 02 01 "OT seeking team 1-10" "32868" 0x00 0x07 00 00 00 00 "Neu. Newbie OOC" "32868" 0x00 0x07 07 6C 00 10 "Neu. OOC" "32868" 0x00 0x07 07 6C 00 11 "Neu. Jpn OOC" "32836" 0x00 0x07 07 6C 01 10 "Clan OOC" "32868" 0x00 0x07 07 6C 01 11 "Clan Jpn OOC" "32836" 0x00 0x07 07 6C 02 10 "OT OOC" "32868" 0x00 0x07 07 6C 02 11 "OT Jpn OOC" "32836" 0x00 0x0A 00 00 00 02 "Tower Battle Outcome" "32774" 0x00 0x0C 00 00 03 E8 "Tour Announcements" "32902" 0x00 0x0C 00 00 07 D0 "IRRK News Wire" "32902" 0x00 muted ---args[0]------ ----"args[1]"------------ --"args[2]"-- -args[3]-- 0x06 07 6C 00 00 "Neu. shopping 1-50" "16875620" 0x00 0x06 07 6C 00 01 "Neu. seeking team 1-10" "16875620" 0x00 0x06 07 6C 01 00 "Clan shopping 1-50" "16875620" 0x00 0x06 07 6C 01 01 "Clan seeking team 1-10" "16875620" 0x00 0x06 07 6C 02 00 "OT shopping 1-50" "16875620" 0x00 0x06 07 6C 02 01 "OT seeking team 1-10" "16875620" 0x00 0x07 00 00 00 00 "Neu. Newbie OOC" "16875620" 0x00 0x07 07 6C 00 10 "Neu. OOC" "16875620" 0x00 0x07 07 6C 00 11 "Neu. Jpn OOC" "16875588" 0x00 0x07 07 6C 01 10 "Clan OOC" "16875620" 0x00 0x07 07 6C 01 11 "Clan Jpn OOC" "16875588" 0x00 0x07 07 6C 02 10 "OT OOC" "16875620" 0x00 0x07 07 6C 02 11 "OT Jpn OOC" "16875588" 0x00 0x0A 00 00 00 02 "Tower Battle Outcome" "16875526" 0x00 0x0C 00 00 03 E8 "Tour Announcements" "16875654" 0x00 0x0C 00 00 07 D0 "IRRK News Wire" "16875654" 0x00
Sourcecode für PHP um einen Channel zu (un-)muten.
<php> function mute_public_channel($group)
{ $gid = $this -> lookup_group($group); if(!$gid || $gid == 0xFFFFFFFF || $gid == -1) return false;
$this->send_packet(new AOChatPacket("out", 64, array($gid, 0x01010000, "\0"))); return true; } function unmute_public_channel($group) { $gid = $this -> lookup_group($group); if(!$gid || $gid == 0xFFFFFFFF || $gid == -1) return false;
$this->send_packet(new AOChatPacket("out", 64, array($gid, 0x0, "\0"))); return true; }
</php>
Notes[]
The format is GSID (D is data, but has the same format as S).
The flags: bit 0 = CantIgnore bit 1 = CantSend bit 5 = NoInternational (the client are not supposed to show "weird" international characters on this channel). bit 6 = NoVoice (the client should ignore all /voice commands on this channel) bit 7 = SendCriteria (only "voiced" people can send to this channel) bit 8 = GroupOnName (Several channels exist with this name, the client should treat them as the same).
The client can set the top 8 bits with the group_data_set (id 64, format GID) command. Currently the chatserver only reacts to the mute bit (bit 24).
Quelle[]
Hackersquest.org