Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 13.10.2012, 00:24   #1 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Icon5 Ladebalken Script las Text mit Prozent zahlen

Hallo community,

würde gerne eine Art Ladebalken erstellen für eine Mission doch komme einfach nicht weiter. das hab ich bisher
Code:
_proz = 1;

while {_proz => 100} do {_proz = _proz+1} do {hint format ["Status in Arbeit. %1% Abgeschlossen",_proz]} do {sleep 1};
das geht aber irgendwie nicht.

Er zeigt mir kein Hint text oben an und ich weis einfach nicht warum
Q_W_E_R ist offline   Mit Zitat antworten
Alt 13.10.2012, 02:05   #2 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 45
Beiträge: 30
Standard

Versuch's mal so:

Code:
_proz = 0;
while {_proz < 100} do {
_proz = _proz + 1;
hint format ["%1  abgeschlossen", _proz];
sleep 1;
};
_proz => 100 als Bedingung würde er ja die Anweisungen nur ao lange ausführen, wenn _proz gleich oder größer als 100 ist. Es ist aber 0 (oder in deinem Beispiel 1). Also führt er da nix aus.

Geändert von Troublemaker (13.10.2012 um 02:09 Uhr).
Troublemaker ist offline   Mit Zitat antworten
Alt 13.10.2012, 02:12   #3 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Du warst mir eine Nasenlänge vorne!

Code:
_proz = 0;
while {_proz < 100} do 
 {
   _proz = _proz + 1;
   hint format ["Status in Arbeit. %1 %2 abgeschlossen",_proz, "%"];
   sleep 1
 };
Man kann im Text nicht direkt ein % Zeichen darstellen. Ein solches wird hier über %2 eingefügt.
Vienna ist offline   Mit Zitat antworten
Alt 13.10.2012, 10:16   #4 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

Ok soweit schonmal gut, dass mit dem
Code:
while {_proz => 100}
hab ich gestern Nacht auch noch bemerkt.
Jetzt hab ich nur noch ein Problem und zwar wird mir die Hint-Anzeige einmal angezeigt und zwar so

danach passiert leider nix es steht nur der eine Prozent da aber es folgen keine weiteren Hint-Anzeigen, die Anzeige verschwindet dann einfach nach ein paar Sekunden. Hab jetzt zum Test noch das dahinder gesetzt
Code:
_pl = _this select 0
if {_proz > 100} then
 {
   _pl setdamage 1;
 }
Ich sterbe jetzt sofort sobald das Script aktiviert wird, dass heißt ich muss irgendwie zwischen den Hint-Anzeigen ne Pause einfügen aber wenn ich
sleep auf 5000 stelle fällt er trotzdem sofort um. Wie kann ich da nur ein bisschen Abstand rein bekommen?
Q_W_E_R ist offline   Mit Zitat antworten
Alt 13.10.2012, 11:21   #5 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

Ok hab das Problem gefunden warum nie meine Scripte funktionieren die ich über Trigger direkt starte, die Lösung ist ein Trigger zu erstellen der ein script auslöst und dieses wiederum das eigentliche Script auslöst .
Q_W_E_R ist offline   Mit Zitat antworten
Alt 13.10.2012, 16:58   #6 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das ist Unsinn! Sondern du hast keine Ahnung über die "Schreibweise" (Syntax) des Codes. Eine jede falsche Eingabe löst einen Fehler aus.

Diese Programmzeile von dir ist einfach nur falsch:
Code:
while {_proz => 100} do {_proz = _proz+1} do {hint format ["Status in Arbeit. %1%  Abgeschlossen",_proz]} do {sleep 1[/b]};
Diese Zeile muss so aussehen:
Code:
while {_proz >= 100} do
 {
  _proz = _proz+1;
  hint format ["Status in Arbeit. %1 Prozent abgeschlossen",_proz];
  sleep 1
 };
Unabhängig ob => die Richtige Abfrage ist, aber so >= ist die korrekte Schreibweise für "größergleich".

Dass man die einzelnen Befehle zischen den {} in eine eigene Zeile schreibt dient nur der besseren Lesbarkeit!

Die einzelnen Befehle werden durch ; getrennt. Nach dem letzten Befehl innerhalb der {} ist kein ; mehr notwendig. Auch das dient der besseren Lesbarkeit.

Dein Code:
Code:
_pl = _this select 0
if {_proz > 100} then
 {
   _pl setdamage 1;
 }
Nach _pl = _this select 0 fehlt der ; weil ein weiterer Befehl folgt.
Nach _pl setdamage 1; ist er überflüssig weil die } einen "Befehlsblock" abschließt.

Studiere dir den Inhalt dieser Links ordentlich durch:

http://community.bistudio.com/wiki/Control_Structures

http://community.bistudio.com/wiki/Operators

Die Skriptdateinen müssen die Endung .sqf haben. z.B. SkriptXY.sqf
Skripte welche mit .sqs enden haben eine andere Schreibweise.

Hier kannst du das alles nachlesen: http://community.bistudio.com/wiki/Syntax
Vienna ist offline   Mit Zitat antworten
Alt 13.10.2012, 21:53   #7 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 45
Beiträge: 30
Standard

Zitat von Q_W_E_R Beitrag anzeigen

die Lösung ist ein Trigger zu erstellen der ein script auslöst und dieses wiederum das eigentliche Script auslöst .

Das ist Unsinn!
Es liegt einfach nur daran, dass Deine Scripte krass fehlerhaft sind!

Aber macht ja nix, jeder hat mal angefangen - wird schon werden. Nur nicht entmutigen lassen, mit jedem Script, welches Du schreibst, lernst Du etwas dazu.
Troublemaker ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Beta-Patch für OpA erschienen det99 Community 1429 18.07.2014 17:51
Ammobox Script problem G36Firestorm Editing & Scripting 11 18.07.2011 16:04
marker über script erzeugen hypercop Editing & Scripting 2 28.08.2010 23:40


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116