Alter, ist jetzt mal gut. Das ist eine Suchfunktion von deinem Browser und hat nichts mit dem Forum zu tun...
Und ja, Internetexplorer ist allgemein schlecht - egal welche Version...
Alter, ist jetzt mal gut. Das ist eine Suchfunktion von deinem Browser und hat nichts mit dem Forum zu tun...
Und ja, Internetexplorer ist allgemein schlecht - egal welche Version...
*KopfImmerWiederGegenDieWandHau*
Das ist eine Suchfunktion im Browser integriert und hat nichts mit Breadfish zu tun...
*angst*
Gott wie mein Ausbilder gerade geguckt hat als ich hier binnen Sekunden prustend vor dem Bildschirm saß xDDD
Screen es und kreise es mit paint oder so rot ein.
Dann wissen wir wenigstens was du meinst!
Wobei man bei einer kleineren Gruppe effektiver lernen kann.
Denn so stört vll keiner, und wenn, fliegt er eben raus...
Bei viel mehr Schülern wissen die Lehrer ja kaum wer nun stört, bzw. da stört irgendwie jeder.
Meine Erfahrung zeigt zumindest, dass kleine Kurse ein besseren Lernerfolg gewährleisten.
Zumindest dann, wenn du auch was tust und mitmachst.
Der Gegenpart dazu ist natürlich, wenn du mündlich nicht viel mitmachst, fällst du eher durch das Nichtstun auf, als in einem höher besetzten Kurs.
Zu dem was nun besser ist, mehr gebraucht wird etc. habe ich nichts hinzuzufügen.
Function IsAtRep(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,796.9246,-2102.7170,12.6823) || IsPlayerInRangeOfPoint(playerid,4.0,1196.0211,-1351.2733,13.4017) || IsPlayerInRangeOfPoint(playerid,4.0,1547.5663,-1610.0396,13.3828) || IsPlayerInRangeOfPoint(playerid,4.0,-1628.6464,652.0121,7.1875) ||IsPlayerInRangeOfPoint(playerid,4.0,1244.3359,-2042.6630,59.8744) ||IsPlayerInRangeOfPoint(playerid,4.0,2668.9263,-2639.5989,2.1344) ||IsPlayerInRangeOfPoint(playerid,4.0,975.3781,-1446.9520,13.0599))
{
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid,4.0,-1407.8838,507.2498,18.2344) || IsPlayerInRangeOfPoint(playerid,4.0,-1234.6599,473.8205,7.1875) || IsPlayerInRangeOfPoint(playerid, 4.0, 1692.5320,-1539.5343,13.5469) || IsPlayerInRangeOfPoint(playerid, 4.0, 1571.3887,-1705.3455,28.3948) || IsPlayerInRangeOfPoint(playerid, 4.0, 1007.9469,1154.9111,10.7402) ||IsPlayerInRangeOfPoint(playerid,4.0,2758.9431,-2393.5806,13.6328))
{
return 1;
}
else
{
return 0;
}
}
Mit dem else arbeiten. Sonst returnt er doch immer 0 :o
Und dein
if((playerid))
{ verstehe ich auch nicht...
Sollte dort nicht
if(IsAtRep(playerid))
{ hin?
Hallöchen,
Ich habe ein kleines Problem mit meinem Javaprogramm, ins besondere mit Swing.
Bin ein Anfänger, kann es also vielleicht nicht soo gut erklären wie ich es sollte...aber ich probiers mal.
Ich habe eine Konsolenanwendung geschrieben. Die Idee war, eine kleine Tabelle zu basteln. Wenn ich eine Zahl in einer Zelle änder, soll das Ergebnis in einer anderen Zelle automatisch aktualisiert werden. Das Programm ist fertig.
Nun muss ich aber jedes mal die Start.class editieren, wenn ich eine Zahl ändern möchte, via a.Zelle(5); z.B. Meine Objekte, z.B. j.AdditionsZelle(a, b); greift auf die Zelle a zu, mittels observer pattern wird das Ergebnis geupdatet. Der Quellcode wird am Ende hier rein gesetzt.
Da ich das aber sehr blöde finde, jedes mal das Programm zu öffnen, neu zu compilieren um eine Zahl zu ändern, möchte ich das auf Swing übertragen.
Eine kleine Tabelle, 4x4 Felder, die ersten drei Reihen sind normale Zellen wo ich Zahlen reinschreibe. Die untere Reihe greift auf verschiedene Zellen zu (immer auf zwei, im Quellcode festgelegte Zellen) und soll automatisch geupdatet werden. Vergleichbar mit Excel in Mega-Mini-Format. xP
Ich kenne mich mit Swing absolut nicht aus, und kriege es einfach nicht hin meine Zellen dort in eine Tabelle einzutragen.
Eine Tabelle erstelle ich ja mit
So werden in die Zelle einfach die Buchstaben geschrieben. Wie kann ich jetzt meine vorgefertigten Zellen dort einfügen?
Bitte um Hilfe.
Quellcode des Konsolenprogramms folgt.
Jede Klasse ist eine eigene Datei, alles im gleichen Package. So sollte das ganze auch bleiben. Nur, dass wenn ich Start ausführe, ich meine Zellen schön in einer Tabelle habe.
Ich wäre sehr dankbar, wenn mir jemand z.B. die Zellen so anfertigen könnte, mir oder zumindest sagen könnte wie ich es hinkriege.
Damit kann ich ja dann meine anderen Rechenzellen fertig machen.
public class Start
{
public static void main ( String[] args )
{
Zelle a = new Zelle("a");
Zelle b = new Zelle("b");
Zelle c = new Zelle("c");
Zelle d = new Zelle("d");
Zelle e = new Zelle("e");
Zelle f = new Zelle("f");
Zelle g = new Zelle("g");
Zelle h = new Zelle("h");
Zelle i = new Zelle("i");
Zelle j = new Zelle("j");
Zelle k = new Zelle("k");
a.setWert(1);
b.setWert(1);
c.setWert(1);
d.setWert(1);
e.setWert(1);
f.setWert(1);
g.setWert(1);
h.setWert(1);
i.setWert(1);
j.setWert(1);
k.setWert(1);
AdditionsZelle l = new AdditionsZelle(a, b, "l");
SubtraktionsZelle m = new SubtraktionsZelle(l, a, "m");
MultiplikationsZelle n = new MultiplikationsZelle(l, k, "n");
DivisionsZelle o = new DivisionsZelle(n, m,"o");
a.setWert(7);
//hier setze ich den Wert der Zelle a auf 7.
// Dann wird AdditionsZelle und SubtraktionsZelle aktualisiert, da diese auf a zugreifen.
// Die MultiplikationsZelle wird ebenfalls ausgeführt, da diese auf die AdditionsZelle l zugreift. Und immer so weiter...
}
}
Alles anzeigen
import java.util.ArrayList;
import java.util.List;
public class Zelle implements Observable
{
List<Observer>observers = new ArrayList<Observer>();
private Integer wert = 0;
private String name;
public Zelle (String name)
{
this.name = name;
}
public void registerObserver(Observer observer)
{
observers.add(observer);
}
public void removeObserver(Observer observer)
{
observers.remove(observer);
}
public void change()
{
for(Observer observer : observers)
{
observer.onChange();
}
}
public void setWert( int wert )
{
this.wert = wert;
change();
}
public int getWert()
{
return wert;
}
public String getName()
{
return name;
}
}
Alles anzeigen
public class SubtraktionsZelle extends Zelle implements Observer
{
private Zelle zelle1;
private Zelle zelle2;
private Integer result = 0;
private Integer zahl1 = 0;
private Integer zahl2 = 0;
public SubtraktionsZelle( Zelle zelle1, Zelle zelle2, String name )
{
super(name);
this.zelle1 = zelle1;
this.zelle2 = zelle2;
zelle1.registerObserver(this);
zelle2.registerObserver(this);
}
public void onChange()
{
int zahl1 = zelle1.getWert();
int zahl2 = zelle2.getWert();
int result = zahl1-zahl2;
System.out.println(zelle1.getName() + " - " + zelle2.getName() + " = " + result);
setWert(result);
}
}
Alles anzeigen
public interface Observable
{
public void registerObserver(Observer observer);
public void removeObserver(Observer observer);
public void change();
}
public class MultiplikationsZelle extends Zelle implements Observer
{
private Zelle zelle1;
private Zelle zelle2;
private Integer zahl1 = 0;
private Integer zahl2 = 0;
private Integer result = 0;
public MultiplikationsZelle( Zelle zelle1, Zelle zelle2, String name)
{
super(name);
this.zelle1 = zelle1;
this.zelle2 = zelle2;
zelle1.registerObserver(this);
zelle2.registerObserver(this);
}
public void onChange()
{
int zahl1 = zelle1.getWert();
int zahl2 = zelle2.getWert();
int result = zahl1*zahl2;
System.out.println(zelle1.getName() + " * " + zelle2.getName() + " = " + result);
setWert(result);
}
}
Alles anzeigen
public class DivisionsZelle extends Zelle implements Observer
{
private Zelle zelle1;
private Zelle zelle2;
private Integer zahl1 = 0;
private Integer zahl2 = 0;
private Integer result = 0;
public DivisionsZelle( Zelle zelle1, Zelle zelle2, String name )
{
super(name);
this.zelle1 = zelle1;
this.zelle2 = zelle2;
zelle1.registerObserver(this);
zelle2.registerObserver(this);
}
public void onChange()
{
int zahl1 = zelle1.getWert();
int zahl2 = zelle2.getWert();
int result = zahl1 / zahl2;
System.out.println(zelle1.getName() + " / " + zelle2.getName() + " = " + result);
setWert(result);
}
}
Alles anzeigen
public class AdditionsZelle extends Zelle implements Observer
{
private Zelle zelle1;
private Zelle zelle2;
private Integer zahl1 = 0;
private Integer zahl2 = 0;
private Integer result = 0;
public AdditionsZelle( Zelle zelle1, Zelle zelle2, String name )
{
super(name);
this.zelle1 = zelle1;
this.zelle2 = zelle2;
zelle1.registerObserver(this);
zelle2.registerObserver(this);
}
public void onChange()
{
int zahl1 = zelle1.getWert();
int zahl2 = zelle2.getWert();
int result = zahl1 + zahl2;
System.out.println(zelle1.getName() + " + " + zelle2.getName() + " = " + result);
setWert(result);
}
}
Alles anzeigen
Kurz die Suchfunktion verwendet:
[ FILTERSCRIPT ] I_WeaponDamage v 0.2 [ 0.3D ]
- MTA Map-Editor öffnen
- Auto einfügen und auf gerader Fläche platzieren
- Objekt (blaulicht) suchen, einfügen.
- Objekt rumschieben bis es an gewünschter Position ist
- Doppelklick aufs Auto, x+y+z Koordinaten aufschreiben.
- Doppelklick aufs Objekt, x+y+z Koordinaten aufschreiben.
- Die Koordinaten vergleichen, die Differenz ausrechnen.
- Tadaa...du hast nun genau die Werte, die du im Script einfügen musst.
Also deine Float:x+[Differenz der X-Werte], Float:y+[Differenz der Y-Werte], Float:z+[Differenz der Z-Werte]
Aufs + und - achten, je nach dem wie die Differenz ausschaut..
Setz dich doch in das Auto, speicher deine Position.
Gehe in MTA, erstelle das Auto und setz dieses auf die gespeicherte Position.
Dann nimmst du die Lichter als Objekte und setzt die an die gewünschten Stellen.
Dann schreibst du dir die Position vom Auto und von den Lichtern auf und rechnest jeweils die Differenz aus.
Tadaaaa.
Ist ein bisschen zeitaufwändig, aber damit kannste alle Positionen machen die du möchtest...
//edit: Was fürn Schwachsinn. Setz einfach direkt ein Auto auf irgendeine Position, brauchst vorher nicht zu saven xD Sorry xD
Dann eben weiter mit den nächsten Schritten wie oben beschrieben...
Eine schwere Entscheidung, die alleine Du treffen kannst, Nico.
Wie ich dir schon so oft gesagt habe....=P
Ich rate dir auch zu englisch. Französisch ist 1. nicht ganz so wichtig, 2. ein bisschen schwerer.
Nimm englisch, mach damit eine gute (vielleicht sogar leicht bessere) Note auf dem Zeugnis.
In dem Berufszweig bringt dir englisches Fachwissen wesentlich mehr als Französisches.
Liebe Grüße,
ich..
Sieht auf den ersten Blick ganz schick aus, hab mich gerade mal durchgeklickt.
Einfache und selbsterklärende Bedienung,
gefällt mir.
ZitatDaher müsste aktion genau so groß sein.
Demnach ja. Probiers aus..
Schon, aber ich verstehe den Sinn dahinter nicht.
Ich habe ja schon die gewünschte Position, eben durch diese Abstände. Meine Objekte werden ja an den richtigen, gewünschten Stellen kreiert.
Nur bleiben sie eben nicht am Fahrzeug... o.o
Trotzdem, vielen Dank.
Nein, nicht dieses Abfallen.
Die Lichter werden gar nicht erst an den Truck geheftet. Sobald ich losfahre, fallen die Lichte ab und liegen auf dem Boden. Ich kann San Andreas 50x umrunden, die Lichter bleiben auf dem Boden rumliegen...
Es sieht beim Eingeben des Befehls richtig aus, sie sind an richtiger Stelle. Doch sobald ich die Position des Trucks veränder...nunja. S.o.
Hallöle,
ich hab ein kleines Problemchen mit dem erwähnten Befehl. SuFu genutzt, auch was gefunden. Aber irgendwie hat es nicht geholfen.... o_O
Meinen Originalcode habe ich hier nicht, sorry. Bin nicht zu Hause. Aber ich schreibe mal, wie ich es gemacht habe und was passiert...
Ich weiß, das verstößt hier gegen das allgemein gewünschte Verhalten (Code posten, ....) aber ich kanns gerade nur ausführlich erklären, ich denke ihr kriegt es trotzdem hin es nach zu vollziehen.
Ausgangssituation:
Ich möchte an meinen LKW zwei Lichter an das Dach packen. Bling-bling und so. Keine Sirene, sondern wirklich Lichter. Ich habe die ''Light-Poller'' genommen, leider weiß ich nicht genau wie die richtig heißen. Hab es vielleicht ein bisschen umständlich gemacht. Habe mich in ein Roadtrain gesetzt und meine Position gesaved. Habe dann im MTA Map Editor auf dieser Position einen Truck und die Lichter erstellt. Die Lichter an die richtige Position geschoben, die Differenz der Positionen vom Truck zu den Lichtern genommen. Diese Abstände dann im CreateObject genutzt.
Die Abstände sind in dem Beispiel jetzt einfach mal
x+5, y+2, z+3
Das ganze läuft über z.B. den Befehl /mylicht
Vorgehen im Script:
- Koordinaten vom Spieler gespeichert in float:xx, float:yy und float:zz.
- Objekte erstellt.
Light1 = CreateObject(ID, xx+5,yy+2,zz+3,0,0,0); //wenn ich mich recht erinnere.
- Fahrzeug-ID des Spielers holen
vID = GetPlayerVehicleID(playerid)
- Objekte ans Fahrzeug kleben
AttachObjectToVehicle(Light1, vID, xx+5,yy+2,zz+3, 0, 0, 0)
Problem:
Ich bekomme keine Errors oder Warnings.
Beim Eingeben des Befehls ingame:
- Die Objekte werden an der richtigen Stelle erstellt. Alles läuft reibungslos.
- Wenn ich losfahre fallen die Lampen einfach ab Q_Q Sie werden nicht mit dem Fahrzeug in Verbindung gebracht. Warum? o_O
Sorry wenn ich nur zu blöd dazu bin xD
Sorry² wenns das Problem hier schon gab, SuFu hat zu diesem Problem nichts gefunden
Sorry³ wenn ihr ohne meinen richtigen Code nicht helfen könnt, aber da ich keine Errors bekomme wirds ein logischer Fehler sein. Und die Logik dahinter habe ich hier möglichst ausführlich beschrieben, sollte also genügen.
Mit freundlichen Grüßen,
Shine
Voice activation + richtige Einstellung. Dann gibts auch keine Rückkopplung usw...
ich hasse PTT...aber wenn, wäre es ne Numpadtaste.
Zu ALT: Beim Egoshooter unmöglich. Da kannste gleich auf Dauervoice schalten...
Er schickt sie in Skype, da muss er sie nicht hochladen...
Nur ob das so klug ist, oder so...vorteilhaft ist, ist eine andere Frage.
Zitatachja muusde mta neu instalieren weil ich das uppdate nich gemacht habe und nix gespeichert hatt
Er hat doch nichts mehr *__* Zumindest, wenn ich den Schrott da richtig entziffert habe...
-10/10 Fischen.
Das - bitte wirklich als 'Minus' interpretieren...
Und ja, Fischen. Der einzige der sich verhält wie im Kindergarten bist allein du.
1. Kommt einfach admingeil rüber, wer so jemanden einstellt ist selber schuld.
2. Ganz zufällig sind seine Maps gelöscht, oh nein, ..
3. Rechtschreibung? ...
Aber gut, viel Glück.