Du bist nicht angemeldet.

1

Donnerstag, 4. August 2011, 18:23

Channel Info

Öffnet die CommandParser & sucht nach:

PHP-Quelltext

1
<?php } else if(cmd.equals("info")) { ?>


Dadrunter setzt ihr:

PHP-Quelltext

1
<?php                         String nickname = KCodeParser.escape(arg);            Client target;      if (nickname.isEmpty() || nickname.equalsIgnoreCase(client.getName())) {                target = client;            } else {                target = Server.get().getClient(nickname);                if (target == null) {                    target = new Client(null);                    target.loadStats(nickname);                }            }                Channel ch = target.getChannel();            String title = String.format("Channel: %s",ch.getName());            StringBuilder Info = new StringBuilder();                Info.append(String.format("#Der Channel %s ist ein _Systemchannel_.##",ch.getName()));                Info.append(String.format("Neben °B°_AGB_°r° & °B°_Knigge_°r° gelten folgende _Infos & Regeln_ im Channel %s:",ch.getName()));                Info.append("°-°");                Info.append(String.format("%s#", Server.get().parseSmileys(ch.getInfo())));                Info.append("°-°");                Info.append(String.format("", Server.get().parseSmileys(ch.getInfo())));            Popup popup = new Popup(title, title, Info.toString(), 575, 405);            Panel panel = new Panel();            panel.addComponent(new Button("   OK   "));                 popup.addPanel(panel);            client.send(popup.toString()); ?>


Dann geht ihr in die Channel.java
und sucht:

PHP-Quelltext

1
<?php        private String name;   ?>

dadrunter setzt ihr:

PHP-Quelltext

1
<?php     private String info; ?>


jetzt such ihr:

PHP-Quelltext

1
<?php         name = rs.getString("name"); ?>

und setzt darunter:

PHP-Quelltext

1
<?php         info = rs.getString("info"); ?>


jetzt such ihr:

PHP-Quelltext

1
<?php     public String getName() {        return name;    } ?>

und darunter:

PHP-Quelltext

1
<?php    public String getInfo() {        return info;    } ?>


nun müsst ihr noch in der datenbank die spalte info anlegen:

PHP-Quelltext

1
<?php ALTER TABLE `channels` ADD `info` text NOT NULL ?>

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »powerblue« (4. August 2011, 18:57)


2

Donnerstag, 4. August 2011, 18:40

Du weißt aber schon was eine Komponente ist? Man sollte schon die Bedeutung eines Worts kennen wenn man es benutzt.
Tschüß.

3

Freitag, 5. August 2011, 05:50

Hey powerblue,
du hast da einen kleinen Denkfehler.
Wenn man /info Channel macht, so fliegt man raus.

Ich war mal so lieb und habe es für dich ein wenig ausgebessert.
Diesen Teil:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
String nickname = KCodeParser.escape(arg);             
Client target;       
if (nickname.isEmpty() || nickname.equalsIgnoreCase(client.getName())) {
target = client;             
} else {
 target = Server.get().getClient(nickname);
 if (target == null) {                     
target = new Client(null);                     
target.loadStats(nickname);                 
}
 }                  
Channel ch = target.getChannel();


ersetzt du durch diesen:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
String channelinfo = KCodeParser.escape(arg);
Client target;
target = client;
Channel ch;
if (channelinfo.isEmpty()) {
	ch = target.getChannel();
}else{
	if (Server.get().getChannel(channelinfo) == null) {
		client.sendButlerMessage(channel.getName(), String.format("Der Channel %s existiert nicht.", channelinfo));
		return;
	}
	ch = Server.get().getChannel(channelinfo);
}


Hab auch eine kleine Zusatzfunktion eingebaut, sollte der Channel nicht existieren, so kommt die Meldung, dass der Channel nicht existiert.

lg,
ChapLin