Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 11.06.2010, 19:35   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard Hilfe bei Randomscript

Im Streben nach möglicht viel Dynamik benutze ich oftmals Randomscripte in MP- Missionen. Nur leider habe ich keinen Plan, warum gerade dieses (eines von vielen, die immer gleich aufgebaut sind) nicht funktioniert.

Ich muß dazu sagen, das Problem bezieht sich nur auf einem Didi, lokal läuft alles problemlos.

Kann mir vielleicht einer von den scripting – Assen dabei helfen?

Kurze Beschreibung

Die Zielperson erscheint zufällig an einem von 4 Orten und eine Kontaktperson ist ebenfalls zufällig an einem bestimmten Punkt oder auch nicht. Bis hierhin klappt alles wunderbar.

Wenn man nun die Kontaktperson anspricht, wird wiederum zufällig entschieden, ob die Person Infos über einen Hinterhalt hat oder den genauen Aufenthaltsort der Zielperson kennt.

Und genau hier harkt es. Das dafür zuständige script wird zwar ausgeführt, aber läuft nicht durch…


Ich würde mich sehr freuen wenn sich jemand mal die beigefügte Beispielmission ansehen könnte.
Angehängte Dateien
Dateityp: rar Kontaktmann_Test.Chernarus.rar (9,4 KB, 42x aufgerufen)
Rettich ist offline   Mit Zitat antworten
Alt 11.06.2010, 21:24   #2 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 12.06.2006
Beiträge: 1.252
Standard

Besser wäre wenn du das Script über pastebin aufzeigen würdest:
pastebin - collaborative debugging tool

Zudem läuft nicht durch = Fehler?
RPT: arma.RPT - Bohemia Interactive Community
__________________
PvPscene
.kju ist offline   Mit Zitat antworten
Alt 11.06.2010, 22:14   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard

Die RPT zeigt keine Fehler an und das Skript habe ich mit „WinMerge“ mit einem der anderen funktionierenden Randomscripte verglichen, wobei kein Unterschied (außer natürlich in den Zufallsmöglichkeiten) auftrat.

Da das eigentlich gar nicht möglich ist und ich schon ca. 3 Std. immer wieder Änderungen vorgenommen habe um diese dann erfolglos auf dem Dedi zu testen, habe ich ja diese Thema erstellt.

Das „Sorgenkind“

hint "Anfang";
start= 999;
if (isServer) then {
start = round random 2;
publicVariable "start";
}
else {
waitUntil {start != 999};
};
hint " Mitte";
start= 1;

switch (start) do {
case 0: { KontaktmCase0und2 = true; };
case 1: { KontaktBInfo = execVM "sqf\KontaktBInfo.sqf"; };
case 2: { KontaktHInfo = execVM "sqf\KontaktHInfo.sqf"; };
};
hint " Ende";
start= 999;
if (bla)exitWith {};


Die hints sind nur zur Überprüfung, damit man sieht, wo das Skript stoppt. (Es läuft nicht bis zur Mitte)
Und das „if (bla)exitWith {};“ war nur ein Versuch, da es hätte sein können, daß sich die Skripte gegenseitig stören, wenn sie nicht beendet werden…
Rettich ist offline   Mit Zitat antworten
Alt 11.06.2010, 22:57   #4 (permalink)
Newbie
 
Registriert seit: 14.03.2008
Beiträge: 12
Standard

hallo

das skript ist soweit in ordnung.
ich vermute ein timing problem, da man nicht davon ausgehen kann,
dass dieses skript auf allen maschinen (inkl. server) exakt zum gleichen zeitpunkt verarbeitet wird.

lass den clients einfach etwas zeit, um den neuen wert für "start" zu empfangen.
mit anderen worten ... bevor der server den neuen wert an die clients verteilt, solltest du einen kleinen "sleep" einbauen.

versuch's halt mal

gruß
silola
Silola ist offline   Mit Zitat antworten
Alt 12.06.2010, 09:09   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard

Danke Silola!

Das hört sich logisch an, mich irritiert allerdings, dass 2 Randomskripte zu Begin fast gleichzeitig problemlos durchlaufen und das Problemskript in der fertigen Mission erst nach
2 – 5 Min. gestartet wird und dann eben stoppt…

zudem habe ich aber keine Ahnung, wo ich das Skript pausieren lassen könnte.
Rettich ist offline   Mit Zitat antworten
Alt 12.06.2010, 11:06   #6 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

ein sleep nach der if-then-else folge.


wer führt das script denn aus? dein script ist in ordnung, aber wie startest du es?

ich vermute einfach mal client, weil die isServer agfrage wohl false bleiben wird und du dann in den else - waitUntil bereich rutscht. und was soll deine variable denn schon von der 999 verändern wenn nicht dieses script?



mfg
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 12.06.2010, 12:07   #7 (permalink)
Newbie
 
Registriert seit: 14.03.2008
Beiträge: 12
Standard

hi

mal angenommen, du würdest den code in der init platzieren, dann könnte der erste teil vom dem code so aussehen:

Code:
waituntil{time > 1};

start= 999;

if (isServer) then
{
    sleep 1;
    start = round random 2;
    publicVariable "start";
}
else
{
    hint format["Start = %1",start];
    waitUntil {start != 999};
    hint format["Start = %1",start];
};
gruß
silola
Silola ist offline   Mit Zitat antworten
Alt 13.06.2010, 15:10   #8 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard

Danke euch allen!

Ich habe das Problem jetzt lokalisiert und behoben. Anscheinend läuft das Skript nicht durch, wenn man es über einen addAction – Eintrag öffnen will.
Ich habe jetzt einfach eine Variable über den addAction – Eintrag auf true gesetzt und diese aktiviert nun das Skript. Blöder Umweg , aber Hauptsache es läuft…
Rettich 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
hilfe bei oxygen2 :O dennisjegart Mods & Addons 1 19.05.2010 00:45
Brauch mal Hilfe HarryRulez Community 3 12.05.2010 12:21


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