Guten Tag,
so langsam wird's Zeit für die /edit... Bringt ein wenig Zeit mit!
1. Datenbank
Code als SQL-Abfrage ausführen:
|
MySQL-Abfrage(n)
|
1
2
3
4
5
6
|
ALTER TABLE `accounts` ADD `realname` VARCHAR( 50 ) NOT NULL ,
ADD `stadt` VARCHAR( 50 ) NOT NULL ,
ADD `land` VARCHAR( 50 ) NOT NULL ,
ADD `hobbys` VARCHAR( 80 ) NOT NULL ,
ADD `job` VARCHAR( 50 ) NOT NULL ,
ADD `motto` VARCHAR( 400 ) NOT NULL
|
2. tools.popup.TextField.java
Die muss erweitert werden, damit man eigene Values eintragen kann.
Suche:
|
Java-Quelltext
|
1
2
3
4
5
6
|
public TextField(int width) {
foreground = new int[] { 0x00, 0x00, 0x00 };
background = new int[] { 0xFF, 0xFF, 0xFF };
text = "";
this.width = (byte) width;
}
|
Ersetze durch:
|
Java-Quelltext
|
1
2
3
4
5
6
|
public TextField(int width, String text) {
foreground = new int[] { 0x00, 0x00, 0x00 };
background = new int[] { 0xFF, 0xFF, 0xFF };
this.text = text;
this.width = (byte) width;
}
|
In der CommandParser.java müsst ihr jetzt bei /poll
|
Java-Quelltext
|
1
|
panel1.addComponent(new TextField(15));
|
durch
|
Java-Quelltext
|
1
|
panel1.addComponent(new TextField(15, ""));
|
ersetzen und überall, wo ihr noch TextFields habt.
3. ReceiveOpcode.java
Hinzufügen:
|
Java-Quelltext
|
1
|
EDIT("edit")
|
4. SessionHandler.java
Hinzufügen:
|
Java-Quelltext
|
1
2
3
|
else if (opcode.equals(ReceiveOpcode.EDIT.getValue())) {
EditHandler.handle(tokens, client);
}
|
5. EditHandler.java
Erstellt eine neue Klasse im handler-Ordner: EditHandler.
Source:
http://pastebin.com/zkbTP6zW
6. Client.java
Suche 'private String name;' und füge darunter hinzu:
|
Java-Quelltext
|
1
2
3
4
5
6
|
private String realname;
private String stadt;
private String land;
private String hobbys;
private String job;
private String motto;
|
Suche:
|
Java-Quelltext
|
1
2
3
|
public String getName() {
return name;
}
|
Darunter:
|
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
public String getRealName() {
return realname;
}
public String getStadt() {
return stadt;
}
public String getLand() {
return land;
}
public String getHobbys() {
return hobbys;
}
public String getJob() {
return job;
}
public String getMotto() {
return motto;
}
public void setRealName(String realname) {
this.realname = realname;
}
public void setStadt(String stadt) {
this.stadt = stadt;
}
public void setLand(String land) {
this.land = land;
}
public void setHobbys(String hobbys) {
this.hobbys = hobbys;
}
public void setJob(String job) {
this.job = job;
}
public void setMotto(String motto) {
this.motto = motto;
}
|
Suche 'this.name = rs.getString("name");' in der loadStats()-Methode und füge darunter:
|
Java-Quelltext
|
1
2
3
4
5
6
|
realname = rs.getString("realname");
stadt = rs.getString("stadt");
land = rs.getString("land");
hobbys = rs.getString("hobbys");
job = rs.getString("job");
motto = rs.getString("motto");
|
Nicht vergessen in der saveStats()-Methode noch die sechs Sachen hinzuzufügen zum Speichern!
7. /edit
Das Wichtigste... Füge der CommandParser.java folgendes hinzu: (Falls /e schon vorhanden ist: löschen.)
|
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
29
30
31
32
33
34
35
36
37
38
39
|
else if (cmd.equals("edit") || cmd.equals("e")) {
Popup popup = new Popup("Edit", "Edit", "", 0, 0);
Panel panel8 = new Panel();
panel8.addComponent(new Label("Real Name: "));
panel8.addComponent(new TextField(15, client.getRealName()));
popup.addPanel(panel8);
Panel panel1 = new Panel();
panel1.addComponent(new Label("Stadt: "));
panel1.addComponent(new TextField(15, client.getStadt()));
popup.addPanel(panel1);
Panel panel2 = new Panel();
panel2.addComponent(new Label("Land: "));
panel2.addComponent(new TextField(15, client.getLand()));
popup.addPanel(panel2);
Panel panel6 = new Panel();
panel6.addComponent(new Label("Hobbys: "));
panel6.addComponent(new TextField(15, client.getHobbys()));
popup.addPanel(panel6);
Panel panel5 = new Panel();
panel5.addComponent(new Label("Job: "));
panel5.addComponent(new TextField(15, client.getJob()));
popup.addPanel(panel5);
Panel panel4 = new Panel();
panel4.addComponent(new Label("Motto: "));
panel4.addComponent(new TextField(15, client.getMotto()));
popup.addPanel(panel4);
Panel panel3 = new Panel();
Button button = new Button("Speichern");
button.disableClose();
button.enableAction();
panel3.addComponent(button);
Button button2 = new Button("Abbrechen");
panel3.addComponent(button2);
popup.addPanel(panel3);
popup.setOpcode(ReceiveOpcode.EDIT.getValue(), "edit");
client.send(popup.toString());
}
|
Und zum Schluss noch in die Profile:
8. Profile
Füge foldendes hinzu (CommandParser.java):
|
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
|
if(!target.getRealName().isEmpty()) {
whois.append(String.format("_Real Name_:°%%35°%s§°%%00°#", target.getRealName()));
}
if(!target.getStadt().isEmpty()) {
whois.append(String.format("_Stadt_:°%%35°%s§°%%00°#", target.getStadt()));
}
if(!target.getLand().isEmpty()) {
whois.append(String.format("_Land_:°%%35°%s§°%%00°#", target.getLand()));
}
if(!target.getHobbys().isEmpty()) {
whois.append(String.format("_Hobbys_:°%%35°%s§°%%00°#", target.getHobbys()));
}
if(!target.getJob().isEmpty()) {
whois.append(String.format("_Job_:°%%35°%s§°%%00°#", target.getJob()));
}
if(!target.getMotto().isEmpty()) {
whois.append(String.format("_Motto_:#%s§#", target.getMotto()));
}
|
Das war's. Ich hoffe ich habe nichts vergessen,
Localhost