PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Rauch


DirtyHarryTPC
19.04.2009, 17:31
also ich habe ein script das rauch zündet SQF.
Der Rauch kommt vor , hinter , links und rechts vom Fahrzeug runter ,klappt wunderbar , ABER zündet ein anderer spieler den rauch kommt der Rauch für alle anderen unter dem Fahrzeug raus und nicht linls , rechts dahint und davor.
Das sieht nur der der den Rauch zündet so :komisch: ,Warum ??



MFG HARRY

Xeno
19.04.2009, 17:41
Moment, wir befragen gerade unsere Kristallkugeln wie das Script aussieht, welches Du benutzt :zahn:

Xeno

DirtyHarryTPC
19.04.2009, 17:42
:D:D:D:D


_vehicle = _this select 0;


_vehicle say "smokelauncher";
Rauch1 = "Smokeshell" createVehicle position _vehicle;
Rauch1 setpos (_vehicle modelToWorld [0,10,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch2 = "Smokeshell" createVehicle position _vehicle ;
Rauch2 setpos (_vehicle modelToWorld [10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch3 = "Smokeshell" createVehicle position _vehicle;
Rauch3 setpos (_vehicle modelToWorld [-10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch4 = "Smokeshell" createVehicle position _vehicle;
Rauch4 setpos (_vehicle modelToWorld [0,-10,20]);

Xeno
19.04.2009, 18:36
Wie und wo rufst Du es auf ?

Xeno

DirtyHarryTPC
19.04.2009, 18:46
per auslöser abfrage , denn nur der Commander soll den addAction bekommen ;)

funzt ja auch wunderbar

Xeno
19.04.2009, 18:56
Dann lass Dir doch nicht alles aus der Nase ziehen :)

Wie sieht der Auslöser bzw. die Bedingung aus ?

Edit... Brauchts nicht.

Lass den Rauch auf dem Server erstellen, dann ist das Problem erledigt.

Xeno

DirtyHarryTPC
19.04.2009, 19:01
Lass den Rauch auf dem Server erstellen, dann ist das Problem erledigt.

solche antworten mag ich besonders :D ,weil ich nicht weiss was du da von mir willst. Wie lass ich was auf dem server erstellen ?

Xeno
19.04.2009, 19:07
Ok, dann bitte den genauen Auslöser, weil gehen tut des schon.

Xeno

DirtyHarryTPC
19.04.2009, 19:11
Auslöser :

Achse 0/0
Bedingung: vehicle player != player && (player == (driver (vehicle player)))
Activierung: ID = hm1 addAction ["Smoke","smoke.sqf"]
Deactivierung: hm1 removeAction ID;

hab den Fahrzeugnamen genommen weil es mit ID = Player addAction ["Smoke","smoke.sqf"] nicht ging.

Xeno
19.04.2009, 19:25
Versuch es mal so...


_vehicle = _this select 0;

_vehicle say "smokelauncher";
Rauch1 = "Smokeshell" createVehicle (_vehicle modelToWorld [0,10,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch2 = "Smokeshell" createVehicle (_vehicle modelToWorld [10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch3 = "Smokeshell" createVehicle (_vehicle modelToWorld [-10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch4 = "Smokeshell" createVehicle (_vehicle modelToWorld [0,-10,20]);


Da wird der Rauch nicht an der Position des Fahrzeugs gespawnt (drunter) sondern direkt an der richtigen Position.

Sollte Dein Problem lösen.

Xeno

DirtyHarryTPC
19.04.2009, 19:33
ok danke , werd nachher mal testen .

DirtyHarryTPC
19.04.2009, 20:11
ja super geht das :daumen:
Da ich ja auch zu blöd bin nen Zähler einzubauen frag ich gleich hier noch :D
Bräuchte da noch das man das nur 3 mal oder so kann und eventuell mit nem hint wieviel noch da is :whi:

Langer
20.04.2009, 04:03
ne public-variable (in der z.b. init initialisiert) dann pro script-aufruf variable+1, abfrage ob weniger 3(oder wie oft du willst), wenn ja dann ne mitteilung (z.B. sidechat) und script ausführen, wenn nicht dann exit; so oder ähnlich..

Mfg
Langer

DirtyHarryTPC
20.04.2009, 11:10
Genaus so ists gedacht :D
Weiss nur nich wie ? Der Zähler im Guide is eher für SQS, habe auber SQF:(

Garstiger Hobbit
20.04.2009, 11:41
Habe mal kurz was zusammen gebastelt.

läuft über Publicvariablen.
Gieb deinen Fhz namen z.B T1, dann setze in die Init.sqf variablen für die Fahrzeuge z.B T1_smoke=3;

Mach dir einen Auslöser der wie folgt aussieht.

Bedingung:vehicle player !=player && (player == (Commander (vehicle player)))
bei Act: smoke_vec=vehicle player; smoke= smoke_vec addAction ["Smoke", "Fhz_smoke.sqf",vehicle player,-1,false]
bei Deak: smoke_vec=vehicle player; smoke_vec removeAction smoke
Dann solltest du wenn du als Commander in einen Panzer einsteigst das Actionmenü bekommen und wenn du vom Commander weg gehts wird das Actionmenü gelöscht.

Das script habe ich wie folg abgeändert.


_vehicle = _this select 0;
_vec=_this select 3;
_number=0;

call compile format["_number=%1_smoke;%1_smoke=%1_smoke-1;publicVariable ""%1_smoke"";",_vec];
if(_number <= 0)exitWith{_vehicle VehicleChat "Smoke is Empty for this vehicle";};

_vehicle say "smokelauncher";

Rauch1 = "Smokeshell" createVehicle (_vehicle modelToWorld [0,10,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch2 = "Smokeshell" createVehicle (_vehicle modelToWorld [10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch3 = "Smokeshell" createVehicle (_vehicle modelToWorld [-10,0,20]);
sleep 0.2;
_vehicle say "smokelauncher";
Rauch4 = "Smokeshell" createVehicle (_vehicle modelToWorld [0,-10,20]);

if(true)exitWith{};Oben wird dann die Publicvariable bearbeitet in der Call compile zeile denke mal wenn ich alles richtig gemacht habe sollte es auch mit dem Jip klappen für die, die Später kommen.
Das script wird automatisch geschlossen wenn die variable 0 ist, dann gibt es nen Vehiclechat.

hier ist das dann noch als Download.

Langer
20.04.2009, 11:49
playerinit.sqf

Granatenwurf = 3; Wichtig aufn Dedi für jeden spieler eine Variable, sonst eine für alle

deinRauchscript.sqf

if (Granatenwurf == 0) exitwith {Player vehicleChat "Keine Rauchgranaten";};
Granatenwurf = Granatenwurf - 1;
Player vehicleChat format["Noch %1 Rauchgranaten.",Granatenwurf];

//hier dein Rauchscript-code

fertich...

hier könnte man noch einbauen, das für mehere Fahrzeuge die Menge in einem Array zwischen gespeichert wird, um beim verlassen und späterem einsteigen die richtige
Menge anzuzeigen...usw usw usw

Mfg
Langer

P.S. wegen Zeitmangel net getestet, fals kleinere SyntaxFehler drin sind, sry

PPS. da war jmd schneller :)

DirtyHarryTPC
20.04.2009, 11:57
danke jungs für die hilfe :daumen: so solls sein.
Thema is durch :D

DirtyHarryTPC
20.04.2009, 12:07
ach ja is doch noch nich durch :D

der removet den action nich nach dem aussteigen ?

DirtyHarryTPC
20.04.2009, 12:10
achja ich meine damit der Action ist von aussen am Fahrzeug noch wählbar.

Garstiger Hobbit
20.04.2009, 12:17
Nein Das Actionmenü ist nur von innen activ und auch nur wenn man auf dem Commandersitz sitzt. Das ist über den Auslöser so definiert das es so nur funzt.

Kannst im richtigen leben ja am Panzer von außen auch nicht auf nen Knopf drücken und die Nebelmittelwurfanlage löst aus.

DirtyHarryTPC
20.04.2009, 12:19
das seh ich ;)

Buliwyf
20.04.2009, 13:13
Vergiss es... war´n Gehirnfurz... :D

So jetzt aber richtig:

bei Deak: smoke_vec removeAction smoke

Das smoke_vec=vehicle player; muss da raus!! Weil Du ja aussteigst und dann "kein Panzer" mehr bist und folglich keinen Actionmenu-Eintrag mehr haben sollst.

Garstiger Hobbit
20.04.2009, 13:50
No Buddy is Perfekt.

Hätte so sein sollen ok habs nicht weiter getestet.

DirtyHarryTPC
20.04.2009, 13:53
ahso ok :blume: