|
|
#1 (permalink) |
![]() Registriert seit: 26.02.2014
Beiträge: 19
|
// temp = [Position,"Bo_GBU12_LGB",1] execVM "bombeneinschlag.sqf";
private ["_zentrum","_runden","_bombe","_sounds","_einschla g"]; _zentrum = _this select 0; //Position für das Artilleriefeuer _bombe = _this select 1; //Name der Bombe in Anführungszeichen _runde = _this select 2; // runden _sounds = ["bomb1"]; for "_i" from 1 to _runden do { sleep 3; { if (isServer)then //nur für den Server/Host { _einschlag = [(_zentrum select 1)-1+random 1*2,(_zentrum select 1)-1+random 1*2]; EinschlagsMarker setPos _einschlag; //EinschlagsMarker auf die Einschlagposition setzen }; EinschlagsMarker say [_sounds select(floor(random(count _sounds))),150]; { if (isServer)then { _bombe createVehicle _einschlag; //Bombe beim EinschlagsMarker zünden }; } } PS: Ich bin neu also bitte schlagt mich nicht ![]() Edit : Tschuldigung ich meinte Script o.O Geändert von TaNDO (01.04.2014 um 19:13 Uhr). |
|
|
|
|
#2 (permalink) |
![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ich hab einmal nur die geschweiften Klammern berichtigt. Keine Ahnung was da jetzt herauskommt.
Code:
// temp = [Position,"Bo_GBU12_LGB",1] execVM "bombeneinschlag.sqf";
private ["_zentrum","_runden","_bombe","_sounds","_einschla g"];
_zentrum = _this select 0; //Position für das Artilleriefeuer
_bombe = _this select 1; //Name der Bombe in Anführungszeichen
_runden = _this select 2; // runden
_sounds = ["bomb1"];
if (isServer)then //nur für den Server/Host
{
for "_i" from 1 to _runden do
{
sleep 3;
_einschlag = [(_zentrum select 1)-1+random 1*2,(_zentrum select 1)-1+random 1*2];
EinschlagsMarker setPos _einschlag; //EinschlagsMarker auf die Einschlagposition setzen
EinschlagsMarker say [_sounds select(floor(random(count _sounds))),150];
_bombe createVehicle _einschlag; //Bombe beim EinschlagsMarker zünden
};
};
|
|
|
|
|
#3 (permalink) |
![]() Registriert seit: 26.02.2014
Beiträge: 19
|
Ok hab alles gemacht, passiert trotzdem nichts :/
// temp = [Position,"Bo_GBU12_LGB",1] execVM "bombeneinschlag.sqf"; private ["_zentrum","_runden","_bombe","_sounds","_einschla g"]; _zentrum = _this select 0; //Position für das Artilleriefeuer _bombe = _this select 1; //Name der Bombe in Anführungszeichen _runden = _this select 2; // runden _sounds = ["bomb1"]; if (isServer)then //nur für den Server/Host { for "_i" from 1 to _runden do { sleep 3; _einschlag = _zentrum; EinschlagsMarker setPos _einschlag; //EinschlagsMarker auf die Einschlagposition setzen EinschlagsMarker say [_sounds select(floor(random(count _sounds))),150]; }; if (isServer)then { _bombe createVehicle _einschlag; //Bombe beim EinschlagsMarker zünden }; }; btw. ich hab einen script genommen und versuch ihn umzuändern |
|
|
|
|
#4 (permalink) |
![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ich habe dir gezeigt wie die "Schleife" gestaltet werden soll. Weiter prüfe ich dein Skript nicht.
Hier ein Skript als Beispiel, welches du nach deinen Wünschen abändern kannst: Code:
//ArtillerieBeschuss.sqf
//
//Aufruf: temp = [Position, Serienanzahl, Granaten je Serie, Streuung, Schussabstand, Wartezeit zum 1.Einschlag] execVM "ArtillerieBeschuss.sqf"
//
//Beispiel für einen Auslöser über 3 Serien, mit je 15 Granaten, 100m Streuung, 3 Sekunden Schussabstand, 25 Sekunden Pause:
// temp = [Position, 3, 15, 100, 3, 25] execVM "ArtillerieBeschuss.sqf";
Private ["_pos","_s","_z","_t","_a","_e","_m","_j","_i"];
//Parameter einlesen
_pos = _this select 0; // Position für den Beschuss
_s = _this select 1; // Anzahl der Artilleriebeschüsse
_z = _this select 2; // Granatenanzahl je Serie
_t = _this select 3; // Streuung in Meter
_a = _this select 4; // Granatenabstand in Sekunden (mit 33% Schwankung)
_e = _this select 5; // Wartezeit bis zum 1. Einschlag einer Serie
_m = "ARTY_Sh_122_HE"; // Granatenname
for "_j" from 1 to _s do //Schleife gemäß Artillerieanzahl _s
{
sleep _e; //Pause bis zum 1. Einschlag einer Serie
for "_i" from 1 to _z do // Schleife gemäß Granatenanzahl _z
{
// Granateneinschlag an der "gestreuten" Position
_m createVehicle [(_pos select 0) - _t + random _t*2,(_pos select 1) - _t + random _t*2];
// Pause für den Schussabstand der Granaten mit 33% Schwankung
sleep (_a*0.66 + random(_a*0.33))
}
}
z.B. erstelle einen Tank mit Namen Tank1 und rufe das Skript dann so auf: temp = [position Tank1, 3, 15, 100, 3, 25] execVM "ArtillerieBeschuss.sqf"; |
|
|
|
|
#6 (permalink) |
![]() Registriert seit: 26.02.2014
Beiträge: 19
|
Hab nochmal alles überarbeitet ! Ich weiß immernoch nicht warum es nicht geht
![]() Code:
// temp = [Position,"Bo_GBU12_LGB"] execVM "bombeneinschlag.sqf";
private ["_zentrum","_bombe","_sounds","_einschlag"];
_zentrum = _this select 0; //Position
_bombe = _this select 1; //Name der Bombe in Anführungszeichen
_posX = floor(getPos EinschlagsMarker select 0);
_sounds = ["bomb1"];
{
sleep 3;
{
_einschlag = _zentrum;
EinschlagsMarker setPos _einschlag; //EinschlagsMarker auf die Einschlagposition setzen
};
EinschlagsMarker say _sounds;//Geschoss-Sound beim EinschlagsMarker abspielen
{
"Bo_GBU12_LGB" createVehicle _zentrum; //Bombe beim EinschlagsMarker zünden
};
_posX = floor(getPos EinschlagsMarker select 0)
};
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Trigger thislist <null> | Sol.LrMartyn | Editing & Scripting | 5 | 07.01.2014 13:20 |
| Trigger Aktion deaktivieren | JeeperCreeper | Editing & Scripting | 17 | 18.11.2013 15:34 |
| Trigger aktivieren | mo0504 | Technische Fragen & Probleme | 6 | 21.09.2013 20:56 |
| Trigger aktivieren | mo0504 | Editing | 1 | 21.09.2013 20:08 |
| Deaktivierte Trigger wieder aktivieren? | TheR0cK | Editing & Scripting | 3 | 15.08.2013 17:07 |