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

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

1

Saturday, July 13th 2013, 7:22pm

The Hive RedStoneBlock-Plattformen PLUGIN FERTIG | Per PN melden

Hi,
ich bin gerade dabei ein Lobby Plugin zu programmieren was enthält z.B. das alle unsichtbar sind usw. Jetzt wollte ich noch hinzufügen das wenn man über so welche Redstone-Blöcke läuft wie bei Hive nach vorne und leicht nach oben geschossen wird. Nur leider weiß ich nicht wie ich das machen soll. (Anfänger)
Also das hier: nur halt das ich dann nach vorne und oben geschossen werde ;)

Source code

1
2
3
4
5
@EventHandler
public void onMove(PlayerMoveEvent e) {
    Location l = e.getPlayer().getLocation();
    World w = l.getWorld();
    if(w.getBlockAt(l.getBlockX(), l.getBlockY() - 1, l.getBlockZ()).getType().equals(Material. SPONGE) {

Mfg

This post has been edited 1 times, last edit by "Zwoerni2000" (Aug 6th 2013, 8:37am)


TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

2

Saturday, July 13th 2013, 8:36pm

Du musst den Player abfangen (e.getPlayer ()) und dann kannst du mit player.getVelocity().getDirection() an seinen Bewerbungen rumschrauben :)

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

3

Saturday, July 13th 2013, 8:45pm

Meinst du ich soll das so mache oder soll ich @EventHandler public void onMove(PlayerMoveEvent e){ und dann das oder so:?

Source code

1
2
3
4
5
6
7
@EventHandler
	public void onMove(PlayerMoveEvent e) {
		Location l = e.getPlayer().getLocation();
		World w = l.getWorld();
		e.getPlayer().getVelocity().getDirection()	
		if(w.getBlockAt(l.getBlockX(), l.getBlockY() - 1, l.getBlockZ()).getType().equals(Material.REDSTONE_BLOCK));
	}

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

4

Saturday, July 13th 2013, 8:48pm

Vector move = player.getVelocity ().getDirection ().multiple (1);
move.setY(move.getY () + 1);
player.setVelocity (move);

Bin gerade nur mobil online, aber so, oder so ähnlich, sollte das gehen ;)

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

5

Saturday, July 13th 2013, 8:59pm

Ich kann getDirection() durch Vector nicht einsetzen

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

6

Saturday, July 13th 2013, 9:24pm

Kann mir einer Helfen Ich bin Anfänger :D

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

7

Saturday, July 13th 2013, 9:26pm

Vector move = player.getDirection ().multiple (1)

So ist es richtig ;)

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

8

Saturday, July 13th 2013, 9:32pm

multiple() gibt aber meines Wissens keinen Vektor zurück, sondern ist ne Methode die garnix zurück gibt (void).
Standard Standart eines Flamingos ist einbeinig.

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

9

Saturday, July 13th 2013, 9:41pm

Hab meinen PC gerade nicht zur Hand, aber das hat gestern ziemlich sicher funktioniert.

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

10

Saturday, July 13th 2013, 9:51pm

Sorry das hört sich doof an aber dann unterreicht sich player

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

11

Saturday, July 13th 2013, 9:53pm

Habit grad mal in den Javadocs nachgeschaut:
Ich kann die Methode getDirection() werder bei Player, noch der Vektorklasse finden?
Naja, so würde ich es machen:

Java source code

1
2
3
4
Vektor v = player.getVelocity();
v.multiply(4); //je nachdem wie stark du's haben willst
v.setY(v.getY() + 0.5); // Auch je nachdem wie stark du's willst
player.setVelocity(v);
Standard Standart eines Flamingos ist einbeinig.

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

12

Saturday, July 13th 2013, 9:57pm

Ah, Sorry :D Vor getDirection() muss noch getLocation(). Die Javadoc wird hier im Browser nicht richtig angezeigt

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

13

Saturday, July 13th 2013, 10:32pm

Source code

1
2
3
4
5
6
	@EventHandler (priority = EventPriority.NORMAL)
	public void onMove(PlayerMoveEvent event){
	Vector v = player.getVelocity();
	v.multiply(4); 
	v.setY(v.getY() + 1.0); 
	player.setVelocity(v);


Habe das jetzt so gemacht Aber es unterstreicht sich IMMER wieder player

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

14

Saturday, July 13th 2013, 10:33pm

Habit grad mal in den Javadocs nachgeschaut:
Ich kann die Methode getDirection() werder bei Player, noch der Vektorklasse finden?
Naja, so würde ich es machen:

Java source code

1
2
3
4
Vektor v = player.getVelocity();
v.multiply(4); //je nachdem wie stark du's haben willst
v.setY(v.getY() + 0.5); // Auch je nachdem wie stark du's willst
player.setVelocity(v);

Genau so nur halt so:

Source code

1
2
3
4
5
6
	@EventHandler (priority = EventPriority.NORMAL)
	public void onMove(PlayerMoveEvent event){
	Vector v = player.getVelocity();
	v.multiply(4); 
	v.setY(v.getY() + 1.0); 
	player.setVelocity(v);


doch es unterstreicht sich immer wieder player.
Sorry aber ich bin Anfänger

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

15

Saturday, July 13th 2013, 10:40pm

Player player = event.getPlayer ();
RTFM!

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

16

Saturday, July 13th 2013, 10:56pm

Jetzt ist alles Fehlerfrei und es sieht so aus :

Source code

1
2
3
4
5
6
7
	@EventHandler (priority = EventPriority.NORMAL)
	public void onMove(PlayerMoveEvent event){
		Player player = event.getPlayer ();
		Vector v = player.getVelocity();
		v.multiply(4); 
		v.setY(v.getY() + 1.0); 
		player.setVelocity(v);


Nur wie mache ich dass so das wenn ich über einen Block laufe das passiert

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

18

Saturday, July 13th 2013, 11:07pm

PLS Hilfe

YourSky

User / Kunde

Posts: 1,430

Occupation: HTML3 Hacker

Thanks: 5

  • Send private message

19

Saturday, July 13th 2013, 11:11pm

Hast du das Event registriert?

//EDIT
Oder meinst du das so das etwas passiert wenn man über einen bestimmten Block läuft? Falls ja, hast du doch oben schon richtig gemacht oder nicht?!

PHP Source code

1
2
3
if(w.getBlockAt(l.getBlockX(), l.getBlockY() - 1l.getBlockZ()).getType().equals(Material.SPONGE)) {
//dein code
}
Mit freundlichen Grüßen,
Yonas


Zwoerni2000

User / Kunde

  • "Zwoerni2000" is male
  • "Zwoerni2000" started this thread

Posts: 104

Location: Halle (Saale)

Occupation: Entwickler

Thanks: 3

  • Send private message

20

Saturday, July 13th 2013, 11:24pm

Welchen Code denn? Hier sind zu viele :D

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