You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

1

Saturday, June 28th 2014, 10:21pm

GELÖST -> Plugin cannot be null || OFFEN -> Interwall beim ScheduleSyncRepeating ändern

Abend Leute,
ich wollte mal Fragen was hier der Fehler ist.

Code: http://pastebin.com/sEFJPNNn
Fehler:
- Formatiert (emfohlen): http://hastebin.com/ekanefoyab.avrasm
- Normal: http://pastebin.com/ta6cHF3U *GELÖST

2. Problem:
Siehe 2. Seite, roter Text

MfG Fabian

This post has been edited 1 times, last edit by "Acocoa11" (Jun 29th 2014, 9:52am)


QuesterDesura

User / Kunde

Posts: 179

  • Send private message

2

Saturday, June 28th 2014, 10:25pm

Schau dir mal die tutorials von postcrafter an da musst du nicht andauern solche fragen stellen
LG QuesterDesura

Wer Rechtschreibfehler findet bekommt einen Keks.

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

3

Saturday, June 28th 2014, 10:31pm

Entschuldigung aber wenn du mir so "blöd" antwortest solltest du es lieber seien lassen mit antworten!
Und außerdem habe ich schon bei Postcrafter geschaut, aber er macht den Scheduler ganz anders als ich.

This post has been edited 1 times, last edit by "Acocoa11" (Jun 28th 2014, 11:01pm)


DevoLabs

User / Kunde

  • "DevoLabs" is male

Posts: 378

Occupation: Developer

  • Send private message

4

Saturday, June 28th 2014, 11:06pm

Mach bitte in den OnEnable-Teil noch getServer().getPluginManager().registerEvents(this, this);

rein ;)

Und mach ein "mt" +LEERZEICHEN vor dein plugin = this;
Mit freundlichen Grüßen,
Simon | DevoLabs

Zitat

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."

-Albert Einstein

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

5

Saturday, June 28th 2014, 11:16pm

Ne leider immer noch das Problem :(

In der main class (mt.class):

Java source code

1
getServer().getPluginManager().registerEvents(new EnderBar(), this);


Und in der EnderBar.class:

Java source code

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
public class EnderBar implements Listener {

 
 
 private mt main;

 
 public void EnderBar(mt tools)

 {

 this.main = tools;

 }

 
 

 @EventHandler

 public void onJoin(PlayerJoinEvent e) {

 final Player p = e.getPlayer();

 
 
 BarAPI.setMessage(p, "Hallo §a"+p.getName(), 10);

 
 Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(main, new Runnable() {

 
 public void run() {

 
 BarAPI.setMessage(p, "Test");

 
 }

 },10*20);


 }
}

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

6

Saturday, June 28th 2014, 11:20pm

Mach bei der EnderBar Klasse das void bei public EnderBar .... weg
Und wenn du schon eine Instance von der Mainklasse machst dann kannst du die auch benutzen.
In dem Falle währe es so:

Java source code

1
DeineMainclass.getPlugin(); //Das währe das Plugin Element

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

7

Saturday, June 28th 2014, 11:22pm

Jetzt wird
getServer().getPluginManager().registerEvents(new EnderBar(), this);


EnderBar rot unterstrichen

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

8

Saturday, June 28th 2014, 11:24pm

Du musst natürlich new Enderbar(this) nehmen.

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

9

Saturday, June 28th 2014, 11:31pm

Ne leider kommen immer noch Fehlermeldungen :/

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

10

Saturday, June 28th 2014, 11:32pm

Welche? Zeig mal den Abschnitt wo der Fehler kommt.

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

11

Saturday, June 28th 2014, 11:36pm

http://pastebin.com/djGnAcSJ

**Edit:
Ich hab den Fehler gefunden.
1.) Lag es auch daran was ich oben beschrieben habe (EnderBar.class)
2.) Bei der Class "Scoreboard" hatte ich auch ein Scheduler etc und da habe ich auch etwas vergessen.

Jetzt läuft alles.
Danke euch 8o
MFG Fabian

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

12

Saturday, June 28th 2014, 11:39pm

Zeig mal deine SCOREBOARD Klasse.

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

13

Saturday, June 28th 2014, 11:41pm

Was ich aber noch für eine Frage habe.
Weißt du vielleicht wie ich den Scheduler "Neustarten" kann?
http://pastebin.com/wtGzQvwr

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

14

Saturday, June 28th 2014, 11:45pm

Was willst du mit diesem Code bezwecken?
Und was meinst du mit neustarten?

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

15

Saturday, June 28th 2014, 11:52pm

z.B.

BarAPI.setMessage("1");
WARTE 1 SEKUNDE

BarAPI.setMessage("2");
WARTE 1 SEKUNDE
BarAPI.setMessage("3");
WARTE 1 SEKUNDE

nachdem er hier ist
neu starten.
So dass der Scheduler neu gestartet wird.


BarAPI.setMessage("1");
WARTE 1 SEKUNDE

BarAPI.setMessage("2");
WARTE 1 SEKUNDE
BarAPI.setMessage("3");
WARTE 1 SEKUNDE

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

16

Saturday, June 28th 2014, 11:58pm

Wenn ich denke was du meinst dann mach es so:

Java source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Bukkit.getScheduler().scheduleSyncRepeatingTask(DeinPlugin, new Runnable() {
int counter = 0;
public void run() {
counter++;
if(counter == 1) {
//Code 1
}
if(counter == 2) {
//Code 2
}
//usw..
if(counter == 5) {
//Code 5
counter = 0; //Ganz wichtig!!
}
}, 0, 20);

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

17

Sunday, June 29th 2014, 12:05am

Ja das danke dir sehr :).
Kann ich vielleicht auch die Intervalle zwischen den einzelnen Codes individuell ändern?

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

18

Sunday, June 29th 2014, 12:09am

Du könntest eine int erstellen die du bei der Wiederholschnelligkeit eingibst.
Die int setzt du dann einfach bei jedem Code anders um.

Acocoa11

User / Kunde

  • "Acocoa11" started this thread

Posts: 593

  • Send private message

19

Sunday, June 29th 2014, 12:17am

Oke
kannst du mir vielleich erklären wie das geht?

Ich nehme mal an mit
int time = 0;

Und dann irgendwo bei

if(counter == 1) {
BarAPI.setMessage(p, "§7§oName: §6"+p.getDisplayName());
time= 1;
}

PS: ES gibt eine 2. Seite

This post has been edited 1 times, last edit by "Acocoa11" (Jun 29th 2014, 9:01am)


Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

20

Sunday, June 29th 2014, 12:22am

Fast richtig.
Die int muss außerhalb der Methode sein, am besten unter der Klassenbezeichnung.
Dann trägst du die int bei dem delay des RepeatingTask ein -> ,0 , time);
Dann kannst du in einem Code die time auf z.B. 2*20 setzen.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net

Similar threads