Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 10.05.2009, 09:48   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon5 Frage zu random!

Hallo Leute ich habe da ein Problem mit random!
Ich würde gerne Obj erstellen die random im zielgebiet erstellt werden solten! zum beispiel!

if (! isServer) exitWith {};
sleep 1;
_pos = missionpos;

if (missionStarted) then
{
deleteVehicle EastBarracks1;
sleep 1;
Killed1=
false;
publicVariable "Killed1";
_EastBarracks1 = [_posselect 0),(_posselect 1)+ 150];
EastBarracks1 =
createVehicle ["WarfareBEastBarracks", _EastBarracks1, [], 1, "NONE"];
EastBarracks1
setDamage 0;
EastBarracks1
setdir 0;
EastBarracks1
addEventHandler ["Killed", {Killed1=true; publicVariable "Killed1"; "InfantryTeam1" setMarkertypeLocal "empty"}];
EastBarracks1
setpos_EastBarracks1;
"InfantryTeam1"
setMarkerPosgetPos EastBarracks1;
"InfantryTeam1"
setMarkerType "InfantryTeam";
"InfantryTeam1"
setMarkerText "InfantryTeam 1";
};
if (true) exitWith {};

Nur würde ich es gerne nicht unter - oder + erstellen, sondern auch random
Vielleicht könnte mir ja da jemand helfen!!

Lg. Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 10.05.2009, 14:53   #2 (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

Wenn du das so erstellst:

EastBarracks1 = createVehicle ["WarfareBEastBarracks", _pos, [], 200, "NONE"];

dann wird das Objekt in einem zufälligen Bereich von 200m um die Position _pos plaziert.
Vienna ist offline   Mit Zitat antworten
Alt 10.05.2009, 15:17   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon11

Oh danke Vienna!
sag wo kann man eigentlich über die sqf scripts Infos herbekommen ??

ich wolte noch fragen was man in die [] klammer eingeben könnte für was sie stehen??
EastBarracks1 = createVehicle ["WarfareBEastBarracks", _pos, [], 200, "NONE"];

LG. Ghost
__________________
Ghost_AUT

Geändert von Ghost_Aut (10.05.2009 um 15:23 Uhr).
Ghost_Aut ist offline   Mit Zitat antworten
Alt 10.05.2009, 16:09   #4 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 06.06.2008
Beiträge: 209
Standard

Biki
i0n0s ist offline   Mit Zitat antworten
Alt 10.05.2009, 16:42   #5 (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

In die Kammern kannst du einen oder mehrere Markernamen eingeben.

z.B. ["Marker1","Marker2"]

Als Mittelpunkt zur Plazierung des Objets wird dann zufällig die direkte oder eine Markerposition genommen.

Willst du nur die Marker verwenden, dann geht das so:

EastBarracks1 = createVehicle ["WarfareBEastBarracks", getMarkerPos "Marker1", ["Marker2"], 200, "NONE"];
Vienna ist offline   Mit Zitat antworten
Alt 10.05.2009, 19:21   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon5

Mhm Nur für die marker pos!
versuche schon stunden Lang den satz einzubinden aber ja keine change gg!!


this addEventHandler ["killed", "_this select 0 spawn {sleep 30; deleteVehicle _this}"]



_GrpOne = createGroupEAST;
_GrpOnecreateUnit ["SoldierE", _pos, [], 150, "NONE"];

hätte da jemand eine lösung dazu, den addeventHandler in die einheit einzubinden!!

Lg. Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 10.05.2009, 20:55   #7 (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

Code:
_unit = _GrpOne createUnit ["SoldierE", _pos, [], 150, "NONE"];
_unit setVehicleInit "this addEventHandler ['killed', '_this select 0 spawn {sleep 30;deleteVehicle _this}']";
processInitCommands;
Vienna ist offline   Mit Zitat antworten
Alt 11.05.2009, 18:24   #8 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon11

Na da, wehr ich nie drauf kommen, auf den code; Danke vienna also das
heist ich muss die zeile wenn ich eine group erstelle unter jeder einheit schreiben!

MFG Ghost!
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 11.05.2009, 20:30   #9 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon5

Na hallo hätte noch ne Frage ist es Möglich die Groupe abzufragen wenn sie tot sind! mit waitUntil ??

if (! isServer) exitWith {};
private ["_pos","_unit1","_Alpha1"];
sleep 1;
_pos = getPos EastSpawn;
_unit1 = _Alpha1;


_Alpha1 = createGroupEAST;
_Alpha1createUnit ["SquadLeaderE", _pos, [], 0, "NONE"];
_Alpha1createUnit ["SoldierEG", _pos, [], 0, "NONE"];
_Alpha1createUnit ["SquadLeaderE", _pos, [], 0, "NONE"];
_Alpha1createUnit ["SoldierEG", _pos, [], 0, "NONE"];



waitUntil
??
hint "ok";

Lg. Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 11.05.2009, 20:50   #10 (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

waitUntil {sleep 5; count units _Alpha1 == 0};
Vienna ist offline   Mit Zitat antworten
Alt 12.05.2009, 17:18   #11 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon6

Danke Vienna!
Bin wider mal durch deine hilfe etwas weiter, coole sache !!

Lg. Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 12.05.2009, 21:33   #12 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 23.10.2006
Ort: Gießen
Alter: 33
Beiträge: 107
UnXplaind eine Nachricht über ICQ schicken
Standard

zu der abfrage mit der gruppe, könnte man da auch schreiben waitUntil {!(alive Alpha1)}?
wollte nur mal wissen ob es so auch funktionieren würde

und nun habe ich noch ne Frage zum random create. Ich würde gerne eine Unit an einer von 3 verschiedenen Positionen spawnen lassen. nun habe ich einfach mal das rauskopiert was hier schon als lösung für ein objekt gegeben wurde, das ganze sieht bei mir dann so aus:

Grp1 = CreateGroup WEST;
_Leader="OfficerW" createUnit [getmarkerpos "prison1", ["prison2","prison3"], Grp1, "Grp1 = this; removeAllWeapons this",0.9,"Captain"];
Grp1 setCaptive true;



exit;


aber ich bekomme jetzt die fehlermeldung das er ein Objekt erwartet...ich bin mir auch sehr unsicher ob ich einfach nur den code von oben so einfach übernehmen und an meine verhältnisse anpassen kann.

danke für alle Infos und Hilfen!

Geändert von UnXplaind (12.05.2009 um 21:50 Uhr).
UnXplaind ist offline   Mit Zitat antworten
Alt 12.05.2009, 22:20   #13 (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

alive verlangt ein Objekt, da kannst du keine Gruppe abfragen.


createUnit hat zwei Möglichkeiten der Parameterübergabe. Die darfst du nicht vermischen.

type createUnit [ position, group, init, skill, rank]

Object = group createUnit [type, position, markers, placement, special]
Vienna ist offline   Mit Zitat antworten
Alt 12.05.2009, 22:57   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 23.10.2006
Ort: Gießen
Alter: 33
Beiträge: 107
UnXplaind eine Nachricht über ICQ schicken
Standard

wo kann ich dann hier:

Object = group createUnit [type, position, markers, placement, special]

den namen festlegen? weil die einheit soll dann in meine gruppe übergehen und das mache ich doch in dem ich dann sage das die gruppe/einheit meine gruppe joinen soll oder?

na ich habs mir jetzt mal so gedacht:

_pos = getMarkerPos prison1;

_Leader = Grp1 createUnit ["OfficerW", _pos, ["prison2","prison3"], [], "NONE"];


exit;


edit:
ich habe das jetzt so verstanden:
Object = Name des Objektes also in meinem Fall _Leader
group = Name der Gruppe also hier Grp1
createUnit = stellt eine Einheit her
type = was für ne Einheit, also hier einen Officer (West)
position = dafür soll er die position des ersten markers nehmen
markers = sind die alternativen spawnplätze
placement = radius vom marker, bei mir halt null damit er auch gleich da spawnt
special = da gibts irgendwie nur 2 mgl. "FORM" oder "NONE" (hab ich irgendwo gelesen)

nun spawnt aber nix, was mach ich denn schon wieder falsch?

Geändert von UnXplaind (12.05.2009 um 23:23 Uhr).
UnXplaind ist offline   Mit Zitat antworten
Alt 12.05.2009, 23:46   #15 (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

Die zweiten eckigen Klammern sind falsch. Da gehört ein Zahl hin.

Bei dem Link hast du alle Befehle mit Beispielen: Category:Scripting Commands ArmA - Bohemia Interactive Community
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2009, 00:09   #16 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 23.10.2006
Ort: Gießen
Alter: 33
Beiträge: 107
UnXplaind eine Nachricht über ICQ schicken
Standard

Ok Vienna, ich treibe dich mit Sicherheit in den Wahnsinn, aber es geht leider immer noch nicht. Ich habe mir jetzt das Beispiel mal rauskopiert von der Seite und umgeformt. Mein komplettes script sieht so aus:

_pos = getMarkerPos prison1;

_Grp1 = createGroup west;
_unit = Grp1 createUnit ["SoldierWB", _pos, ["prison2","prison3"], 0, "FORM"];

exit;


es spawnt aber immernoch nichts. Dabei habe ich jetzt nur die Variablen umgeändert und mich sonst an die Vorgaben gehalten.

Ich bin echt zu doof zum scripten

EDIT:
hab jetzt folgenden Code:

_pos = getMarkerPos "prison1";

_grp = createGroup west;
unit = _grp createUnit ["OfficerW", _pos, ["prison2","prison3"], 0, "FORM"];
[unit] join _grp;


damit funktioniert es jetzt auch, nun muss ich mal suchen was ich vorher anders gemacht habe, vielen dank für die Hilfe Vienna!

Geändert von UnXplaind (13.05.2009 um 00:20 Uhr).
UnXplaind ist offline   Mit Zitat antworten
Alt 13.05.2009, 01:15   #17 (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 hast bei _unit = Grp1 createUnit ["Sol.... den Unterstrich bei Grp1 vergessen (_Grp1). In dem ersten Post war nicht ersichtlich, dass das jetzt eine lokale Variable sein soll. Darum immer alle Zeilen anführen.


_grp = createGroup west;
unit = _grp createUnit ["OfficerW", _pos, ["prison2","prison3"], 0, "FORM"];
[unit] join _grp;

Hier brauchst du die letzte Zeile nicht. Die unit wurde ja in der Gruppe erstellt.

Warum hast du unit jetzt als globale Variable erstellt? Eine globale Variable ist auf deinem PC in der ganzen Mission sichtbar. Mit Unterstrich (_unit) nur in diesem Skript.
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2009, 07:44   #18 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 23.10.2006
Ort: Gießen
Alter: 33
Beiträge: 107
UnXplaind eine Nachricht über ICQ schicken
Standard

Heisst sichtbar jetzt, dass man sie sehen kann wenn ich die mission spiele oder heisst es einfach nur das sie jetzt überall verfügbar ist?

Denn ich brauche sie global weil sie nochmal in einem trigger vorkommen soll. Da die Einheit in einem von 3 camps zufällig erscheinen soll, sollen auch hier erstmal die Einheiten von dem DAC script erscheinen.
Ich lasse meinen Zonen bei DAC mit einem extra Trigger auslösen, wenn der Spieler in den Bereich des Triggers gerät. Aber ich habe festgestellt wenn schon eine Blufor-Einheit im Bereich der DAC-Zone steht und der Trigger ausgelöst wird, wird die DAC-Zone nicht aktiviert. Deswegen muss ich das bissl umständlicher machen (weil ich keine Ahnung habe wie ich das sonst lösen kann). Also habe ich mir gedacht ich lasse den Spieler einen Bereich betreten, die DAC Zonen aktivieren und dann erst die Blufor-Geisel spawnen.

Danke dir für die Erklärung! So weiss ich jetzt wenigstens mal wie ich eine globale oder public variable bekomme.
UnXplaind ist offline   Mit Zitat antworten
Alt 13.05.2009, 10:51   #19 (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

Eine lokale Variable (_VarName) ist nur im Skript sichtbar. Es kann die gleichenamige Variable in mehren Skripten vorkommen und unterschiedliche Werte enthalten, die sich gegenseitig nicht beeinflussen.

Global sind die Variablen welche ohne Unterstich beginnen (VarName). Sie sind in der gesamten Mission (Mission.sqm und allen Skripten) mit dem gleichen Wert "sichtbar", haben also überallen den gleichen Wert auf dem jeweiligen Spieler-PC. Der Wert ist auch überall in der Mission änderbar. Der Wert kann aber auf jedem PC der Spieler unterschiedlich sein.

Eine publice Variable ist eine globale Variable, welche auf allen Spieler-PCs "sichtbar" ist und den gleichen Wert hat. Der Wert kann auf jedem PC geändert werden, muss aber danach mit dem Befehl publicVariable "VarName" zu den anderen PCs übertragen werden.


Anstelle einer Triggerzone kann auch der Abstand zu einer bestimmten Position als Auslösung dienen. Dazu verwendet man den Befehl distance.

z.B. in der Bedingung eines Triggers: unit1 distance getMarkerPos "Marker1" < 100
Vienna ist offline   Mit Zitat antworten
Alt 13.05.2009, 21:18   #20 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 43
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Icon5

Ich Hätte da noch mal eine Frage!
und zwar wie offt könnte ich das Script.sqf" neu starten lassen ohne Probleme!

if (! isServer) exitWith {};
private ["_pos","_Bravo","_lead"];
sleep 1;
_pos = missionpos;

if (missionStarted) then
{
deleteVehicle EastBarracks1;
deleteVehicle EastTurm3;
deleteVehicle EastTurm4;
sleep 1;
Killed1=
false;
publicVariable "Killed1";
EastBarracks1 =
createVehicle ["WarfareBEastBarracks", getMarkerPos "MarkerUps2", ["MarkerUps4"], 190, "NONE"];
EastBarracks1
setDamage 0;
EastBarracks1
doWatch_pos;
EastBarracks1
addEventHandler ["Killed", {Killed1=true; publicVariable "Killed1"; "InfantryTeam1" setMarkertypeLocal "empty"}];
"InfantryTeam1"
setMarkerPosgetPos EastBarracks1;
"InfantryTeam1"
setMarkerType "InfantryTeam";
"InfantryTeam1"
setMarkerText "InfantryTeam 1";
sleep 2;
EastTurm3 =
createVehicle ["DSHKM", EastBarracks1, [], 60, "NONE"];
EastTurm3
setDamage 0;
sleep 2;
EastTurm4 =
createVehicle ["Stinger_Pod_East", EastBarracks1, [], 80, "NONE"];
EastTurm4
setDamage 0;
sleep 2;
_Bravo = createGroupEAST;
"SoldierECrew"
createUnit [_pos, _Bravo,"this moveingunner EastTurm3; this addWeapon 'NVGoggles'; this addeventhandler ['killed', '_this select 0 spawn {sleep 15;deleteVehicle _this}']", 1,""];
"SoldierECrew"
createUnit [_pos, _Bravo,"this moveingunner EastTurm4; this addWeapon 'NVGoggles'; this addeventhandler ['killed', '_this select 0 spawn {sleep 15;deleteVehicle _this}']", 1,""];
_lead = leader_Bravo;
_nul=[_lead,"Markerups6","nowait"]execVM "ups.sqf";
};
if (true) exitWith {};

Lg Ghost
__________________
Ghost_AUT
Ghost_Aut 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
Frage zu Grafikeinstellungen Max€M Technische Fragen & Probleme 5 09.12.2006 21:38


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