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

Sonntag, 4. September 2011, 14:58

/readme

Guten Tag,

war etwas verwundert, als ich nach /readme suchte und nichts fand. Veröffentliche ich meins mal:

1. Datenbank
Code als SQL-Befehl ausführen:

MySQL-Abfrage(n)

1
ALTER TABLE `accounts` ADD `readme` VARCHAR( 60 ) NULL 


2. Client.java
Suche 'private String name;' und füge darunter ein:

Java-Quelltext

1
private String readme;


Suche

Java-Quelltext

1
2
3
public String getName() {
    	return name;
	}


Darunter:

Java-Quelltext

1
2
3
4
5
6
7
public String getReadme() {
    	return readme;
	}
	
	public void setReadme(String readme) {
    	this.readme = readme;
	}


Suche 'this.name = rs.getString("name");' und füge darunter ein:

Java-Quelltext

1
readme = rs.getString("readme");


Anschließend müsst ihr der saveStats() noch das Readme zum Speichern hinzufügen. Hab ja keine Ahnung wie's bei euch aussieht. :D

3. CommandParser.java
Kommen wir zu dem wichtigsten Teil (/readme):

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
if(cmd.equals("readme")) {
if(!client.isModerator()) {
        	arg = KCodeParser.escape(arg);
}
        	arg = Server.get().parseSmileys(arg);
        	
        	if(arg.isEmpty()) {
            	client.sendButlerMessage(channel.getName(), "Bitte die Funktion folgendermaßen benutzen:#/readme TEXT oder /readme !#(TEXT ist von allen einsehbar, auf deren Friendliste du stehst oder die dein Profil anschauen. Dieser TEXT bleibt bestehen, bis du ihn mit /readme ! löschst oder einen neuen speicherst.)");
            	return;
        	}
        	
        	if(arg.equals("!")) {
            	client.sendButlerMessage(channel.getName(), "Readme gelöscht.");
            	client.setReadme(null);
            	return;
        	}
        	
        	client.sendButlerMessage(channel.getName(), String.format("%sAlle deine Freunde können nun folgenden Text in deinem Profil lesen: "%s\"", arg.length() > 60 ? "Da dein Text über 60 Zeichen enthielt, musste er gekürzt werden.#" : "", arg));
        	
        	if(arg.length() > 60) {
            	arg = arg.substring(0, 60);
        	}
        	
        	client.setReadme(arg);
}


Zum Schluss die Profile:
Suche 'whois.append(String.format("%s hat...°%5°", nickname));' und füge darüber ein:

Java-Quelltext

1
2
3
if(target.getReadme() != null) {
            	whois.append(String.format("°%%05°"%s\"°%%00°##", target.getReadme()));
        	}


Fertig! Viel Spaß damit,
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« (5. September 2011, 13:42)


2

Sonntag, 4. September 2011, 15:15

Gib es schon

gibt es schon einmal
hier Readme-Funktion