Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 24.03.2010, 01:27   #1 (permalink)
50 Beiträge
 
Registriert seit: 08.08.2004
Ort: Mainz
Beiträge: 68
Standard Zusätzliche Parameter funktionieren nicht

Hallo,

ich habe zu meinen zusätzlichen 2 bestehenden Parametern 2 zusätzliche hinzugefügt.
Leider funktionieren nur 2, nämlich nur die Parameter mit der Sichtweite und dem Gras.

description.ext:

PHP-Code:
class Params
{
      class 
PlayTime
        
{
        
//paramsArray[0]
                
title "Play Time";
                
values[] = {0,1,2,3,4,5};
                
texts[] = {"1min","45 min","90 min","2 h","4 h","24 h"};
                default = 
2;
      };
        class 
TimeScale
        
{
        
// paramsArray[1]
                
title "TimeScale:";
                
values[] = {0,1,2};
                
texts[] = {"24 Hour Day","30 min. Day","1 Hour Day"};
                default = 
1;
        };
        class 
Viewdistance
        
{
        
// paramsArray[2]
                
title "ViewDistance:";
                
values[] = {1,2,3,4,5,6};
                
texts[] = {"1500 m","2000 m","2500 m","3000 m","3500 m","4000 m"};
                default = 
5;
        };
        class 
Grass
        
{
           
//paramsArray[3        
           
title "Grass";    
              
values[]={0,1,2,3,4};
           
texts[]={"No Grass""Default MP""Default SP""More""Max"};
           default=
0;
     };    
}; 
init.sqf

PHP-Code:
//gdate = [2007,6,7,Param2,0912];
gdate = [2007,6,7,0912];
//setDate gdate;

playtimeparam paramsArray select 0;
if (
playtimeparam == 0then {estimatedTimeLeft 60};
if (
playtimeparam == 1then {estimatedTimeLeft 2700};
if (
playtimeparam == 2then {estimatedTimeLeft 5400};
if (
playtimeparam == 3then {estimatedTimeLeft 7200};
if (
playtimeparam == 4then {estimatedTimeLeft 1400};
if (
playtimeparam == 5then {estimatedTimeLeft 86400};

timescaleparam paramsArray select 1;
if (
timescaleparam == 0then {setDate gdate};
if (
timescaleparam == 1then {setDate gdate};
if (
timescaleparam == 2then {setDate gdate};

viewparam paramsArray select 2;
if (
viewparam == 0then {setviewdistance 1500};
if (
viewparam == 1then {setviewdistance 2000};
if (
viewparam == 2then {setviewdistance 2500};
if (
viewparam == 3then {setviewdistance 3000};
if (
viewparam == 4then {setviewdistance 3500};
if (
viewparam == 5then {setviewdistance 4000};

grassparam paramsArray select 3;
if (
grassparam == 0then {setTerrainGrid 50};
if (
grassparam == 1then {setTerrainGrid 25};
if (
grassparam == 2then {setTerrainGrid 12.5};
if (
grassparam == 3then {setTerrainGrid 6.25};
if (
grassparam == 4then {setTerrainGrid 3.125};

// respawn dialog

// You can remove this loop entirely and simply use "Base deployment..." action instead.
player execVM "scripts\respawn_player.sqf"// infinite loop, controls respawning
//player addeventhandler ["Killed", {_this execVM "scripts\respawn_player.sqf"}]; // would rather use event handler

// ==================================================================================== 
Und hier ein Auszug aus der arma.rpt

Creating debriefing
Error in expression < gdate};
if (timescaleparam == 1) then {setDate gdate};
if (timescaleparam == 2)>
Error position: <setDate gdate};
if (timescaleparam == 2)>
Error 4 Elemente angegeben, 5 erwartet
File C:\Documents and Settings\Administrator\My Documents\ArmA 2 Other Profiles\[W-R]Hannibal\mpmissions\[C&H]V01.Chernarus\init.sqf, line 15
Creating debriefing
__________________

stolzes member der Freaky Fraggers

Geändert von Hannibal (24.03.2010 um 01:30 Uhr).
Hannibal ist offline   Mit Zitat antworten
Alt 24.03.2010, 01:48   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von TeRp
 
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
Standard

Also warum der "timescaleparam" nicht funktioniert steht doch ausdrücklich in der .rpt, die du eigenes mit angegeben hat:
4 Elemente angegeben, 5 erwartet

Was erwartest du von dem anderen Parameter?
Dieser setzt nur einen reinen Informationswert, er beendet die Mission nicht nach der angegebenen Zeit!
Wenn ein Zeitlimit gewünscht ist, reicht ein Trigger mit Bedingung
Code:
time > SpieldauerInSekunden
und bei Typ "Ende x" oder ggf. "Verlieren".
__________________

TeRp ist offline   Mit Zitat antworten
Alt 24.03.2010, 02:05   #3 (permalink)
50 Beiträge
 
Registriert seit: 08.08.2004
Ort: Mainz
Beiträge: 68
Standard

genau das mit den 4 Elemente angegeben, 5 erwartet kann ich nicht nachvollziehen
ich sehe nämlich in der description keinen fehler

vorher hatte ich das mit der missionszeit so gelöst gehabt was auch funktionierte

init.sqf

estimatedTimeLeft Param1;


description.ext

titleParam1 = "Play Time";
valuesParam1[] = {60,2700,5400,7200,14400,86400};
defValueParam1 = 5400;
textsParam1[] = {"1min","45 min","90 min","2 h","4 h","24 h"};
__________________

stolzes member der Freaky Fraggers
Hannibal ist offline   Mit Zitat antworten
Alt 24.03.2010, 07:31   #4 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 12.06.2006
Beiträge: 1.252
Standard

//gdate = [2007,6,7,Param2,0912]; <-5
gdate = [2007,6,7,0912]; <-4
__________________
PvPscene
.kju ist offline   Mit Zitat antworten
Alt 24.03.2010, 08:03   #5 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

gdate = [2007, 6, 7, 9, 12] <- 5
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 26.03.2010, 00:42   #6 (permalink)
50 Beiträge
 
Registriert seit: 08.08.2004
Ort: Mainz
Beiträge: 68
Standard

Die Mission wird über diese trigger beendet.

1.Trigger: Mission Ende
Bedingung: (param1<10000) && (time >= param1) && (local host)
Bei Akt: this exec”missionsende.sqf”

2.Trigger: Zeit Anzeigen
Bedingung: this
Bei Akt.: hint format ["Spielzeit :%1",(param1-time)/60-((param1-time)/60%1)];


3,Trigger: noch 2min
Bedingung: ((Param1<10000) && (Param1>=120) && ((Param1-time)<=120)) or ZeitAnzeige==2
Bei Akt.: Hint “Noch 2 Minuten”;


Param1 habe ich durch paramsArray select 0 ersetzt
Oder wie muesste ich die Trigger umschreiben?

Description.ext

class Params
{
class PlayTime
{
//paramsArray[0]
title = "Play Time";
values[] = {0,1,2,3,4,5};
texts[] = {"1min","45 min","90 min","2 h","4 h","24 h"};
default = 2;
};


init.sqf:

playtimeparam = paramsArray select 0;
if (playtimeparam == 0) then {estimatedTimeLeft 60};
if (playtimeparam == 1) then {estimatedTimeLeft 2700};
if (playtimeparam == 2) then {estimatedTimeLeft 5400};
if (playtimeparam == 3) then {estimatedTimeLeft 7200};
if (playtimeparam == 4) then {estimatedTimeLeft 1400};
if (playtimeparam == 5) then {estimatedTimeLeft 86400};

Ist meine Description.ext und meine init.sqf so richtig?
__________________

stolzes member der Freaky Fraggers
Hannibal ist offline   Mit Zitat antworten
Alt 26.03.2010, 13:46   #7 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.725
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

1. funktioniert das so nicht
Zitat:

Bei Akt: this exec”missionsende.sqf”

sqf wird so aufgerufen:
Code:
_psy = [] execVM "missionsende.sqf"

2. deine parameterdefinition ist viel zu umständlich. so wie es erst war war es besser. schreibe in der description.ext das mal so:
Code:
class PlayTime 
        { 
        //paramsArray[0] 
                title = "Play Time"; 
                values[] = {60,2700,5400,7200,10000}; 
                texts[] = {"1min","45 min","90 min","2 h","NO LIMIT"};  
                default = 2; 
      };
erstmal hast du so die sekunden direkt definiert und kannst dir diese ganze if then zuweiserei in der init sparen. und 2. hast du da schon 2 zeiten drinnen gehabt die einen wert in sekunden jennseits der 10000 haben, die ja in deiner weiterführenden definition als unendliche spielzeit geführt wurden. also ebenfalls überflüssig.


3. kommen wir zu deiner init.sqf:
das wird gelöscht und nienie, ich wiederhole NIEwieder benutzt:
Code:
playtimeparam = paramsArray select 0; 
if (playtimeparam == 0) then {estimatedTimeLeft 60}; 
if (playtimeparam == 1) then {estimatedTimeLeft 2700}; 
if (playtimeparam == 2) then {estimatedTimeLeft 5400}; 
if (playtimeparam == 3) then {estimatedTimeLeft 7200}; 
if (playtimeparam == 4) then {estimatedTimeLeft 1400}; 
if (playtimeparam == 5) then {estimatedTimeLeft 86400};
...stattdessen schreibst du:
Code:
playtime = paramsArray select 0;
if (isNil "playtime") then {playtime = 5400;};
das wars!


4. dein auslöser zum beenden nach der eingestellter spielzeit:
Bedingung: (playtime<10000) && (time >= playtime)
bei aktivierung: psy = [] execVM "missionsende.sqf"


da die anderen beiden auslöser nur eine visualisierende wirkung verfolgen überlasse ich es dir selbst diese umzuschreiben. ich habe übrigens das gefühl das du nicht verstehst wie das ganze zusammenwirkt und arbeitet. vielmehr wirst du es zusammengeschnipselt haben über copy&paste aus anderen missionen. im mr.murray editing guide ist ein komplettes beispiel für so einen zeitauslöser enthalten. einfach mal reinlesen und verstehen.


mfg
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 26.03.2010, 17:30   #8 (permalink)
50 Beiträge
 
Registriert seit: 08.08.2004
Ort: Mainz
Beiträge: 68
Standard

Danke, es hat funktioniert.
Die missionsende.sqf ist in Wahrheit eine sqs, habe mich nur verschrieben. Aber deine annahme das ich es zusammengeschnipselt habe muss ich zu meinem bedauern bestätigen.^^

ICh werde mir den Guide wohl noch mal genauer angucken
__________________

stolzes member der Freaky Fraggers
Hannibal 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
Parameter ! Funktionieren nicht! Spawn15 Editing & Scripting 4 27.10.2009 15:15
Eigene Custome Faces, funktionieren im MP nicht?! ArmA Typ Multiplayer Community 3 22.05.2008 21:18
Voice over net/ PTT funktionieren nicht Letzfezz Technische Fragen & Probleme 0 23.03.2008 20:12
Slider in Dialogen funktionieren nicht mehr? Fewo Editing 0 28.12.2006 12:30
Animationen funktionieren nicht mehr MarcusErgalla Editing 11 02.08.2005 15:11


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