Du bist nicht angemeldet.

Localhost

Ehemaliger Supporter

  • »Localhost« ist der Autor dieses Themas

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

1

Donnerstag, 12. April 2012, 04:38

Billard List

Vorschau



Erst werden die Funktionen gesendet, die automatisch getätigt werden, wenn man z.B. in der Nickliste einen Links- oder Rechtsklick macht:

Java-Quelltext

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
public static String updateBillardFunctions(String channel) {
    	PacketBuilder buffer = new PacketBuilder(SendOpcode.UPDATE_BILLARD_FUNCTIONS.getValue());
    	
    	buffer.writeByte(0x00);
    	buffer.writeString(channel);
    	buffer.writeByte(0x00);
    	buffer.writeString("l");
    	buffer.writeByte(0x00);
    	buffer.writeString("/billard j:"); // join
    	buffer.writeByte(0x00);
    	buffer.writeString("L");
    	buffer.writeByte(0x00);
    	buffer.writeString("/billard j:"); // join
    	buffer.writeByte(0x00);
    	buffer.writeString("r");
    	buffer.writeByte(0x00);
    	buffer.writeString("/billard i:"); // info
    	buffer.writeByte(0x00);
    	buffer.writeString("R");
    	buffer.writeByte(0x00);
    	buffer.writeString("/billard i:"); // info
    	buffer.writeByte(0x00);
    	buffer.writeString("m");
    	buffer.writeByte(0x00);
    	buffer.writeString("/billard j:"); // join

    	return buffer.toString();
	}


Usage:

Java-Quelltext

1
client.send(PacketCreator.updateBillardFunctions(channel.getName()));


Nun wird die eigentliche Liste gesendet:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static String billardList(String channel, String text) {
    	PacketBuilder buffer = new PacketBuilder(SendOpcode.BILLARD_LIST.getValue());
    	
    	buffer.writeByte(0x00);
    	buffer.writeString("u");
    	buffer.writeByte(0x00);
    	buffer.writeString(channel);
    	buffer.writeByte(0x00);
    	buffer.writeString(text); // Der Text, der in dem Button steht
    	buffer.writeByte(0x00);
    	buffer.writeString("p");
    	buffer.writeByte(0x00);
    	buffer.writeString("-");
    	buffer.writeByte(0x00);
    	buffer.writeString("-");

    	return buffer.toString();
	}


Usage:

Java-Quelltext

1
client.send(PacketCreator.billardList(channel.getName(), "+Spiel eröffnen"));


Wenn man den Channel verlässt, muss die Billard List auch wieder ausgeblendet werden:

Java-Quelltext

1
2
3
4
5
6
7
8
public static String closeBillardList(String channel) {
    	PacketBuilder buffer = new PacketBuilder(SendOpcode.CLOSE_BILLARD_LIST.getValue());
    	
    	buffer.writeByte(0x00);
    	buffer.writeString(channel);

    	return buffer.toString();
	}


Usage:

Java-Quelltext

1
client.send(PacketCreator.closeBillardList(channel.getName()));


Dann können wir noch Einträge in die Liste tätigen:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static String billardListAddNick(Channel channel, Client nick) {
    	PacketBuilder buffer = new PacketBuilder(SendOpcode.BILLARD_LIST.getValue());
    	
    	buffer.writeByte(0x00);
    	buffer.writeString("l");
    	buffer.writeByte(0x00);
    	buffer.writeString(channel.getName());
    	buffer.writeByte(0x00);
    	buffer.writeString(nick.getName());
    	buffer.writeByte(0x00);
    	buffer.writeString("p");
    	buffer.writeByte(0x00);
    	buffer.writeString(channel.getStyle().getRankColor(nick));
    	buffer.writeByte(0x00);
    	buffer.writeString("-");

    	return buffer.toString();
	}


Usage:

Java-Quelltext

1
client.send(PacketCreator.billardListAddNick(channel, client));


...und diese auch wieder löschen:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
public static String billardListRemoveNick(String channel, String nick) {
    	PacketBuilder buffer = new PacketBuilder(SendOpcode.BILLARD_LIST.getValue());
    	
    	buffer.writeByte(0x00);
    	buffer.writeString("w");
    	buffer.writeByte(0x00);
    	buffer.writeString(nick);
    	buffer.writeByte(0x00);
    	buffer.writeString(channel);

    	return buffer.toString();
	}


Usage:

Java-Quelltext

1
client.send(PacketCreator.billardListRemoveNick(channel.getName(), client.getName()));


Zum Schluss fehlen noch die Einträge in der SendOpcode Klasse im Package knuddels:

Java-Quelltext

1
2
3
CLOSE_BILLARD_LIST("9"),
	BILLARD_LIST("0"),
	UPDATE_BILLARD_FUNCTIONS("8")


# Localhost
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Localhost« (12. April 2012, 06:27)


Es haben sich bereits 5 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Diebspiel, Mentos, Steelix2011, Gangstersheep, Hammer132