Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 06.01.2010, 20:56   #1 (permalink)
50 Beiträge
 
Registriert seit: 30.10.2009
Beiträge: 55
Standard Laienverständnis-Frage

Hallo Leute,

ich kapier´s schon wieder mal nicht......

ich habe folgenden "Versuchsaufbau":

in meiner init.sqf ist folgender Eintrag:

Code:
#include "wes_scripts\wes_funcs\wes_func_chat.sqf";
die aufgerufene Datei wes_func_chat.sqf sieht so aus:

Code:
/*
###################################################
# Function file for Armed Assault 2
# Created by: *GGH* Wesley Pipes  
# Script-Name:"wes_func_chat.sqf"  
# Version: "V 01_0"      
# Datum: "06.01.2010"                              
###################################################
*/


wes_chat_helijoin ={
    //Private ["_txt"];

    //_txt = "Test";
    
    sleep 0.32;
    HintC "Dies ist ein Test";
    sleep 10;
};
im Editor unter anderem einen Auslöser, welcher beim Auslösen über "call wes_chat_helijoin" (Eintrag INIT-Zeile) obige Funktion aufrufen soll.


Wenn ich das Ganze in der Vorschau betrachte, macht er auch was er soll.
Auslöser betätigt ----> Hint kommt.

Nur starte ich mein Spiel mit der Erweiterung "-showscripterrors" und dann ist es so, dass genau in dem MomenT wo die Funktion aufgerufen wird, eine Fehlermeldung kommt:

Zitat:

Error in expression <qf"











wes_chat_helijoin ={




sleep 0.32;
HintC "Dies ist ein Test";
s>
Error position: <sleep 0.32;
HintC "Dies ist ein Test";
s>
Error Allgemeiner Fehler in Ausdruck
File C:\Users\Wesley\Documents\ArmA 2\mpmissions\WES_M1_F2.Chernarus\wes_scripts\wes_f uncs\wes_func_chat.sqf, line 17
Suspending not allowed in this context
Error in expression <
sleep 0.32;
HintC "Dies ist ein Test";
sleep 10;
};

#line 12 "C:\Users\Wesley\>
Error position: <sleep 10;
};

#line 12 "C:\Users\Wesley\>
Error Allgemeiner Fehler in Ausdruck
File C:\Users\Wesley\Documents\ArmA 2\mpmissions\WES_M1_F2.Chernarus\wes_scripts\wes_f uncs\wes_func_chat.sqf, line 19
Creating debriefing

Kann mir jemand erklären, warum trotz "funktionierendem" Script die Fehlermeldung auftaucht?

Danke
Wesley Pipes ist offline   Mit Zitat antworten
Alt 06.01.2010, 21:07   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 47
Beiträge: 1.930
Standard

Was zur Hölle?!

Also ich hab ja schon einige Methode gesehen, eine SQF aufzurufen, aber die ist mir komplett neu! Aber man lernt nie aus...

Aaaaalsooooo... ich würde die Funktion, wenn sie mit einem Auslöser aufgerufen werden soll, wie folgt starten lassen:

- nix in der Init.sqf
- das Script:
Code:
/*
###################################################
# Function file for Armed Assault 2
# Created by: *GGH* Wesley Pipes  
# Script-Name:"wes_func_chat.sqf"  
# Version: "V 01_0"      
# Datum: "06.01.2010"                              
###################################################
*/

sleep 0.32;
HintC "Dies ist ein Test";
- "Bei Aktivierung"-szeile des Auslösers:
Code:
call{[] execVM "wes_func_chat.sqf"}
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 06.01.2010, 21:11   #3 (permalink)
50 Beiträge
 
Registriert seit: 30.10.2009
Beiträge: 55
Icon10

naja - ich übe noch.
das kommt halt dabei raus wenn jemand versucht nen Plan zu kriegen

Danke erst mal buliwyf

EDIT @Buliwyf
Aber das ist ja was ich eigentlich nicht wollte - mein Test sollte eben folgender sein:

eine Datei mit verschiedenen Funktionen wird geladen (im Beispiel halt nur eine Funktion) und bei Bedarf wird eine bestimmte Funktion aus der Datei aufgerufen

Und ich dachte ich muss die Datei ja erst mal irgendwo starten (wo - wenn nicht in der init) um auf diese Funktionen überhaupt zugreifen zu können. ----> oder ?

Gruß

Geändert von Wesley Pipes (06.01.2010 um 21:20 Uhr).
Wesley Pipes ist offline   Mit Zitat antworten
Alt 06.01.2010, 21:31   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 47
Beiträge: 1.930
Standard

Ja sach dat doch...

Also Init.sqf:
Code:
call compile preprocessFileLineNumbers "wes_func_chat.sqf";
Deine Funktionsdatei:
Code:
/*
###################################################
# Function file for Armed Assault 2
# Created by: *GGH* Wesley Pipes  
# Script-Name:"wes_func_chat.sqf"  
# Version: "V 01_0"      
# Datum: "06.01.2010"                              
###################################################
*/


wes_chat_helijoin ={
    //Private ["_txt"];

    //_txt = "Test";
    
    sleep 0.32;
    HintC "Dies ist ein Test";
    sleep 10;
};
...wobei sich mir die Sinnhaftigkeit von sleep 10; am Ende immer noch nicht erschließt...

Und dann noch der Auslöser:
Code:
call wes_chat_helijoin;
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 06.01.2010, 21:45   #5 (permalink)
50 Beiträge
 
Registriert seit: 30.10.2009
Beiträge: 55
Standard

Danke - ich versuch´s gleich mal.

Die Sinnhaftigkeit von dem sleep ist genau die selbe wie von dem HintC ---> laienhafte Tests

normalerweise hat meine Datei mehr Funktionen und die aufgerufene Funktion ist schon etwas anders.
Mir ist halt der Fehler aufgefallen und deshalb habe ich das "funktion-File" nur auf diese Laien-Test-Funktion begrenzt.... verstehste

Gruß

EDIT:
ich hab´die init jetzt mal nach Deinem Vorschlag geändert.
Die Fehlermeldung taucht (inkl dem Hint) trotzdem auf sobald ausgelöst wird

Geändert von Wesley Pipes (06.01.2010 um 21:58 Uhr).
Wesley Pipes ist offline   Mit Zitat antworten
Alt 07.01.2010, 00:55   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 06.06.2008
Beiträge: 209
Standard

Also:
Code:
call compile preprocessFileLineNumbers
ist der bessere Code. Das #include ist hier eigentlich unnötig, weil du eine globale Variable definierst.

Aber jetzt zu deinem Problem:
Zitat:

Suspending not allowed in this context

Innerhalb von Triggern darf kein sleep ausgeführt werden.
Du müsstest dein Script so starten:
Code:
[] spawn wes_chat_helijoin;
__________________
#include "signatur.h"
"I'm not slacking of. My addon is 'pboing'!"
i0n0s ist offline   Mit Zitat antworten
Alt 07.01.2010, 10:35   #7 (permalink)
50 Beiträge
 
Registriert seit: 30.10.2009
Beiträge: 55
Standard

@i0n0s

danke schön - ich glaube das war´s.

Wie Du gesagt hast der sleep beim Auslöser.

Und ich glaube, bei meinen Tests ist Arma2 auch mit dem HintC in Verbindung mit Sleep in´s Schleudern gekommen - kann das sein?
Ich habe beim Testen die Funktion nämlich auch mal über nen WP-"Auslöser" aufgerufen und da scheint ein sleep generell kein Problem zu sein - nur wenn vorher ein HintC angegeben wurde.

Zunindest würde ein sleep nach dem hintC ja wenig Sinn machen, da der Hint ja eh solange bleibt bis man ihn weggeklickt hat.

Los sagt einem Anfänger, dass er´s begriffen hat

Thx nochmal an Buliwyf und i0n0s

Gruß

Geändert von Wesley Pipes (07.01.2010 um 10:50 Uhr).
Wesley Pipes ist offline   Mit Zitat antworten
Alt 07.01.2010, 11:20   #8 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 47
Beiträge: 1.930
Standard

Also wenn nach dem HintC nichts weiter passieren soll, das Script/die Funktion also zueende ist, dann hast es Du es begriffen...

Als Anfänger solltest Du Dir, falls Du es noch nicht hast, den Editing Guide von MrMurray durchlesen... das ist in der Regel schonmal eine gute Anfangslektüre. Der ist zwar für ArmA gemacht und kann hier und da nicht ganz optimal fü ArmA2 sein, aber die Version für ArmA2 ist in der Mache...

__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 07.01.2010, 13:16   #9 (permalink)
50 Beiträge
 
Registriert seit: 30.10.2009
Beiträge: 55
Standard

Also bitte!!! - der Editing-Guide ist ja wohl mal PFLICHTLEKTÜRE!
Ich hab mich parallel auch in diverse andere Hilfs-Foren und Guides durchgelesen.
Ich finde aber am Besten lernt man durch try&error.
Ich habe auf diesem Weg schon so einige Erkenntnisse gesammelt.

Beim 1-er-Guide (möge der 2-er bald kommen...) kann man schon einiges anwenden. Aber gerade das Scripting-Thema ist da noch sehr auf SQS gehalten. Und mir hat mal jemand in nem Forum geraten, gleich mit SQF einzusteigen.

Also probiere ich, lese Fehlermeldungen, wälze Guides und Foren, schreibe script-Zeilen in der unmöglichsten Syntax zusammen, teste wieder und dann wieder von Vorne....
Und wenn garnix mehr geht - gibt´s ja zum Glück noch Euch

Gruß
da Wes

Geändert von Wesley Pipes (07.01.2010 um 13:20 Uhr). Grund: tja Rechtschreibfehler fallen einem immer erst später auf...
Wesley Pipes 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
HDD-Frage Hammadi Technische Fragen & Probleme 18 23.10.2009 15:26
Frage Scoline Community 3 24.08.2009 02:15
Frage zum Mp rakdos Multiplayer 3 16.06.2009 17:56
opf frage Firetank Hilfe 2 19.08.2005 11:04


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