Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 21.07.2010, 18:58   #21 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Zitat von Xeno Beitrag anzeigen

*deleted*

Dass der Variablenname schlecht gewählt ist, ist mir schon bewusst, ich wollte ihm ja nur zeigen, wie er sein Problem lösen kann.

Geändert von Xeno (03.01.2014 um 09:21 Uhr).
Cyborg11 ist offline  
Alt 21.07.2010, 21:58   #22 (permalink)
Newbie
 
Registriert seit: 08.12.2006
Ort: Dresden
Beiträge: 13
Standard

Was macht denn isNil? Das ist auch ein neuer Befehl oder!?
In OFP gab es den noch nicht.
NumPad ist offline  
Alt 21.07.2010, 22:13   #23 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

isNil fragt ab, ob eine Variable existiert oder nicht
=> isNil - Bohemia Interactive Community
Cyborg11 ist offline  
Alt 21.07.2010, 22:17   #24 (permalink)
Newbie
 
Registriert seit: 08.12.2006
Ort: Dresden
Beiträge: 13
Standard

Danke Und ich dachte schon, das wäre ne "Fluss"abfrage.

IF isNIL Then better schwimm woanders
NumPad ist offline  
Alt 22.07.2010, 07:47   #25 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Code:
select = zone1_missions select _round;

hast du denn hier auch mal das select als variable ersetzt durch etwas anderes?
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 22.07.2010, 11:17   #26 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Zitat:

private ["_count", "_rand", "_round", "_del", "_i"];

if (isServer) then
{
// SELECT RANDOM MISSION =======================================

_count = (count zone1_missions) - 1;
_rand = random _count;
_round = round _rand;
m_select = zone1_missions select _round;

};

Auch so bleibt "m_select" = Wert 0, der in der init zugewiesen wird !
N939 ist offline  
Alt 22.07.2010, 11:42   #27 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Du machst die Variable ja jetzt auch nicht mehr public
Oder fragst den Variablenstand aufm Server ab? Da sollte es eigentlich den neuen Wert haben.

Steht irgendetwas in der arma2oa.rpt?
Cyborg11 ist offline  
Alt 22.07.2010, 11:53   #28 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Ich stell dir jetzt mal das Skript rein ich hab das wichtigste nochmal ordentlich hier:
Zitat:

private ["_count", "_rand", "_round", "_del", "_i"];

if (isServer) then
{

// SELECT RANDOM MISSION =======================================

_count = (count zone1_missions) - 1;
_rand = random _count;
_round = round _rand;
m_select = zone1_missions select _round;
};

if (!isServer) then
{

// REMOVE SELECTED MISSION FROM ARRAY =========================
waitUntil {!isNil "m_select"};
publicVariable "m_select";

//_i = zone1_missions find m_select:
zone1_missions set [m_select, "DEL"];
zone1_missions = zone1_missions - ["DEL"];
publicVariable "zone1_missions";

// ACTIVATE MISSION ===========================================

// MISSION 1 ==================================================

if (m_select == 0) then
{
//sleep _time;
zone1_m1_activated = true;
publicVariable "zone1_m1_activated";
[] execVM "m_brief.sqf";
};

// MISSION 2 ==================================================

if (m_select == 1) then
{
//sleep _time;
zone1_m2_activated = true;
publicVariable "zone1_m2_activated";
[] execVM "m_brief.sqf";
};

m_select ist aber irgendiwe immer 0 also wird immer die Mission 1 aktiviert !

Gruß
Max

Geändert von N939 (22.07.2010 um 11:55 Uhr).
N939 ist offline  
Alt 22.07.2010, 12:00   #29 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Warum hast du eigentlich das publicVariable im IsServer Bereich wieder gelöscht? Du musst doch die Variable m_select auf dem Server public machen und somit an alle Clients übertragen!
Außerdem fehlte das }; vom Client Bereich


Code:
private ["_count", "_rand", "_round", "_del", "_i"];

if (isServer) then
{
	// SELECT RANDOM MISSION =======================================

	_count = (count zone1_missions) - 1;
	_rand = random _count;
	_round = round _rand;
	m_select = zone1_missions select _round;
	publicVariable "m_select";
};

if (!isServer) then
{
	// REMOVE SELECTED MISSION FROM ARRAY =========================
	waitUntil {!isNil "m_select"};
	publicVariable "m_select";

	//_i = zone1_missions find m_select:
	zone1_missions set [m_select, "DEL"];
	zone1_missions = zone1_missions - ["DEL"];
	publicVariable "zone1_missions";

	// ACTIVATE MISSION ===========================================

	// MISSION 1 ==================================================
	if (m_select == 0) then
	{
		//sleep _time;
		zone1_m1_activated = true;
		publicVariable "zone1_m1_activated";
		[] execVM "m_brief.sqf";
	};

	// MISSION 2 ==================================================
	if (m_select == 1) then
	{
		//sleep _time;
		zone1_m2_activated = true;
		publicVariable "zone1_m2_activated";
		[] execVM "m_brief.sqf";
	};
};

Geändert von Cyborg11 (22.07.2010 um 12:05 Uhr).
Cyborg11 ist offline  
Alt 23.07.2010, 12:33   #30 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Ja Cyborg stimmt

jetzt gehts auch mit der Zufallszahl !
Aber next problem

Nehmen wir an es gibt 3 Missionen (zone1_missions = [0,1,2]) nun wird das skript ausgeführt und es kommt die zufallszahl 2 raus, dann wird zone1_missions = [0,1] und Missions 3 wird gestartet wird nun das skript erneut ausgeführt, um die nächste Mission zu aktivieren, dann kommt komischerweiße erneut die Zufallszahl 2 raus, obwohl das ja unmöglich sein sollte, _count = 1, da ([0,1] - 1).

Also ich glaub ich schreib das skript nochmal neu vom stundenlangen anstarren steh ich glaubich auf dem Schlauch

EDIT: Hab nochmal alle Variablen überprüft also (count, rand, round) und das komische ist, dass sogar die _rand Variable beim erneuten ausführen des scripts den genau gleichen wert hat wie beim ersten mal ausführen.
-> Da stimmt doch wieder etwas mit dem scope nicht oder ?


Gruß
Max

Geändert von N939 (23.07.2010 um 13:43 Uhr).
N939 ist offline  
Alt 26.08.2010, 11:40   #31 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
Standard

servus,

ich habe eine aehnliche frage und wollte deswegen keinen neuen thread aufmachen deswegen stell ich sie mal hier.

und zwar geht es darum fuer leute die in ein laufendes spiel einsteigen ( also JIP ) Marker und Missionsziele anzupassen damit sie beim joinen den aktuellen stand erhalten.

das ganze muss ja mit publicvariable passieren ich weiß aber nicht wie.

ich hab mir schon den Eintrag im Biwiki angeschaut bin jedoch nicht ganz schlau daraus geworden.

kann ich das nur mit einem .sqf script realisieren oder geht das auch editorintern mit trigger?

waere super wenn mir da mal jemand hilfestellung geben koennte.

meine aktuelle missionziel .sqf sieht z.Z. so aus.

Code:
If (!isServer) then exit;

tskObj2=player createSimpleTask ["Find the Informant"];
tskObj2 setSimpleTaskDescription ["Find the Informant in <marker name='target3marker'>Nango</marker> and consult him","Find the Informant","Find the Informant"];

exit

Moerderhoschi ist offline  
 


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
Mando Missile script in Xenos Domi nightbringer Editing & Scripting 2 29.11.2010 20:32
Arma2/OA - combined operations Server Anemia Multiplayer 14 24.07.2010 15:12
Mods im dedicated Server Einbinden Grütze Multiplayer Community 2 09.07.2010 10:08
Biete ArmA 2 / AO Server + TS3 luemmel Die Litfaßsäule 2 03.07.2010 18:30
[WIN] Dedicated Server Probleme Numrollen Technische Fragen & Probleme 7 02.07.2010 19:26


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 117 118 119