Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 10.11.2012, 09:54   #1 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard Count Crew von 2 Fahrzeugen

Hallo Community,

Ich versuche Ein Script zu schreiben mit dem ich die Anzahl der Insassen aus 2 Booten lese und diese mit der Anzahl der lebenden Spieler zu vergleichen. Ich will das alle aus einer Gruppe sich auf die beiden boote verteilt bevor mein eigentliches Script startet. Das hab ich bisher:

Code:
cntPl = count units group player;
crwb1 = count crew boot1;
crwb2 = count crew boot2;

while (_ende == 1) do {

  if ( ((call crwb1) + (call crwb2)) == (call cntPl) )
  then
    {

       cutText ["TEST","BLACK OUT",8];
       sleep 2;
       _ende = 1;

    };
};
Doch leider funktioniert das nicht. Da brauch ich Hilfe.

DANKE.
Q_W_E_R ist offline  
Alt 10.11.2012, 10:30   #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

Dafür sollte eigentlich diese Zeile reichen:

waitUntil {(count crew boot1)+(count crew boot2) == count units group player};
Vienna ist offline  
Alt 10.11.2012, 10:49   #3 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

DANKE DANKE DANKE.

es klappt
Q_W_E_R ist offline  
Alt 10.11.2012, 11:03   #4 (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

Sonst noch zu deiner Rountine:

Wenn du call verwenden willst, dann ist der Code in {} zu setzen:
cntPl = {count units group player};

und bei while (_ende == 1) do ... ist zuvor _ende auf 0 zu setzen: _ende = 0;

Um Fehler zu finden verwende im Code mehrere folgende Textausgaben zum Testen:
player groupChat "Test .....";
so kannst du feststellen wo z.B. in der while-Schleife der Fehler liegt. In deinem Fall wird sie vermutlich übersprungen.
Vienna ist offline  
Alt 10.11.2012, 11:16   #5 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

Ok danke werde ich demnächst so immer testen
Q_W_E_R ist offline  
Alt 10.11.2012, 12:37   #6 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

Hab noch ne frage zu count und list befehl.
Ich weis wie man eine bestimmte Seite in einem Trigger listet
Code:
east countSide list trigger1;
so aber wie mache ich das mit leeren Fahrzeugen im berecih dieses Triggers?

Danke für schnelle Antworten
Q_W_E_R ist offline  
Alt 10.11.2012, 18:03   #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

Erstelle einen "Jeder" Auslöser mit Namen A1. In seinen Bereich stelle ein leeres und ein besetztes Fahrzeuge rein.

Dann rufe zum Testen folgende Zeile auf:

Code:
{if (count crew _x == 0) then {player groupChat format["%1 ist leer!",typeOf _x]}} forEach list A1;
Daraus ist ersichtlich wie du leere Fahrzeuge heraussuchen kannst.
Vienna ist offline  
Alt 03.01.2013, 20:39   #8 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

Hmm ich melde mich nochmal wegen den Befehl counter. Ich versuche zu zählen wieviele Benzinkanister in einem bestimmt Bereich sind die kanister heißen wenn ich sie create per script "fuel_can".

das hab ich versucht:

Code:
_numfuelcan1 = "fuel_can" countType list A1;
bekomme aber da nichts raus .

hast du oder allgemein Ihr eine Idee dazu?

danke für Hilfe
Q_W_E_R ist offline  
Alt 03.01.2013, 21:36   #9 (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

Der Befehl countType ist fehlerhaft. Versuche es so:

_numfuelcan1 = {typeOf _x == "fuel_can"} count list A1;
Vienna ist offline  
Alt 03.01.2013, 21:42   #10 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

hey gut danke funktioniert
Q_W_E_R ist offline  
Alt 04.01.2013, 02:05   #11 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

hey vienna hab noch ne frage wegen "fuel_can" hab ein script das mehrere "fuel_can"`s spawnen lässt und jetzt soll der Spieler sie einsammeln wenn ich sie spawnen lasse sieht das so aus:

Code:
posfuel = "fuel_can" createVehicleLocal getMarkerPos "PosKanister";

so wenn der spieler sie aufheben soll hab ich das

Code:
deleteVehicle posfuel;
doch das funktioniert nur immer bei einem!
(gehe davon aus das es der letzte ist der createt wird.)

kann ich da irgendwie mit "nearestObject" abreiten?

Danke für Hilfe
Q_W_E_R ist offline  
Alt 04.01.2013, 10:23   #12 (permalink)
50 Beiträge
 
Benutzerbild von Q_W_E_R
 
Registriert seit: 29.09.2012
Beiträge: 56
Standard

ok befehl zurück hab es mit nearest object gemacht

Code:
_delete = nearestObject [player, "fuel_can"];
deleteVehicle _delete;
Q_W_E_R ist offline  
Alt 04.01.2013, 10:47   #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

Erstelle die Kanister mit folgendem Skript:

SkriptName.sqf
Code:
// Skript erstellt einen Kanister und lösch ihn wieder
//  wenn sich der Spieler unter 1.5 Meter dem Objekt nähert.
//
// Als Parameter wird dem Objekt seine gewünschte Position übergeben.
//
// Aufrufbeispiel: getMarkerPos "MarkerName" execVM "SiriptName.sqf"; 

private "_obj";

_obj = "fuel_can" createVehicleLocal _this;
waitUntil {player distance _obj < 1.5};
deleteVehicle _obj;
player sideChat "Kanister entfernt!"
Nähert sich der Spieler unter 1,5 Meter dem Kanister, dann wird dieser automatisch entfernt und eine Meldung ausgegeben.

Für mehrere Kanister ist dem Skript jeweils eine andere Positionen zu übergeben.

Das skript ist so nicht für den Mehrspielermodus geeignet! Dazu müsste man die Bedingung ändern und es darf nur vom Server/Host aufgerufen werden. Auch ist dann die Ausgabe der Meldung nicht mehr so einfach, weil diese nur lokal beim Rechner aufscheint auf dem das Skript läuft.
Vienna ist offline  
Alt 04.01.2013, 12:03   #14 (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

Mit nearObjects ist das natürlich auch möglich. Mit dem folgenden Auslöser ist das auch Multiplayer tauglich:

Code:
Auslöser:
Achse A und B: 0
Aktivierung  : Keiner | Einmal
Bedingung    : true
Bei Akt.     : folgenden Code reinkopieren

temp = 0 spawn
 {
 while {true} do
  {
   waitUntil {(count (position player nearObjects ["fuel_can",1.5])) > 0};
   deleteVehicle ((position player nearObjects ["fuel_can",1.5]) select 0);
   player sideChat "Kanister entfernt!";
   sleep 1
  }
 };
Wenn sich ein Spieler einem Kanister unter 1,5 Meter nähert, dann wird der Kanister entfernt und eine Meldung beim entfernenden Spieler ausgegeben.
Vienna 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
Gewicht von Fahrzeugen Tajin Editing & Scripting 12 06.06.2012 14:03
Player vom Count ausschliessen spreewälder Editing & Scripting 6 07.03.2012 09:39
Luftabwehr Radar Cyborg11 Editing & Scripting 26 07.02.2011 20:09
Hilfe bei config.cpp verändern ST6_Predator Editing & Scripting 6 31.12.2010 00:14
Keine Gunsights/Visiere bei Fahrzeugen? Bastimoo Technische Fragen & Probleme 4 21.10.2010 11:27


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