Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 29.10.2014, 14:12   #1 (permalink)
50 Beiträge
 
Registriert seit: 09.12.2006
Beiträge: 84
Standard Fahrername oder Uid auslesen.

Hallo,

kann mir jemand sagen wie ich es bewerkstellige den Namen oder die Uid eines Fahres auszulesen ?
Ich möchte ein Script schreiben das nur bestimmte Personen als Fahrer oder Piloten zulässt, einsteigen als Beifahrer usw. soll möglich bleiben…
Gruß

Togo
__________________
__Wir suchen Mitspieler__
Tactical-Ops-Germany
Togo ist offline   Mit Zitat antworten
Alt 29.10.2014, 18:38   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Ich würde die figuren die es dürfen mal als p1 p2 p3 benennen und in einen Array stecken
. Danach eine Abfrage ob die Person im Array ist
Code:
private ["_pilotenarray", "_dv", "_abfrage"];
_abfrage = false;
_pilotenarray = [p1,p2,p3];
_dv = driver fahrzeugnahme;
//testzeile
hint format ["%1", _dv]; //sollte dann eigentlich p1 etc pp ausgeben
_abfrage = _dv in _pilotenarray;
if (! _abfrage) then {_dv leaveVehicle fahrzeugname};
Das ist ungetestet
Ich habe es über den Type des Spielers gelöst. Also nur gewissen Eineiten (z.B. B_Pilot_F) kann fliegen.

Denke daran, in ArmA 3 kann man als Co-Pilot die Stuerung übernehmen.
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (29.10.2014 um 18:43 Uhr).
Drunken Officer ist offline   Mit Zitat antworten
Alt 29.10.2014, 19:18   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.929
Standard

getPlayerUID

Damit lässt sich was machen...
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 30.10.2014, 09:54   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

So ich habe es jetzt einmal getestet.

Es funktioniert wenn du die Figuren die einsteigen können mit P1 P2 P3 P4 usw. benennst.
Dann muß der Array so aussehen
_pilotenarray = [p1,p2,p3,p4]

Du kannst aber auch die Spielernamen nehmen. Dann muss der Array so aussehen
_pilotenarray = ["Drunken Officer", "Broda", "Bosch"];

Wenn du mit Namen arbeitest, musst du das rot markierte nutzen.

Jetzt ist es an dir, wie das Script starten soll. Es macht wenig Sinn, es permanent in einer Schleife laufen zulassen, oder es mit waitunitl zu stoppen.
Das ganze sollte ja eigentlich nur auslösen, wenn man einsteigt. Ich habe es über einen Eventhandler gemacht.

Folgenden Code habe ich an einem Hunter genutzt.
Code:
this addEventHandler ["getin",
{
if (!local player) exitWith {};
hint format ["%1", (_this select 2)];
private ["_pilotenarray", "_dv", "_abfrage"];
_abfrage = false;
_pilotenarray = ["Drunken Officer", "Broda", "Bosch"];
_dv = driver (_this select 0);
_abfrage = (name _dv) in _pilotenarray;
if (!_abfrage) then { player action ["getout", (vehicle player)]; player sidechat format ["%1, du gehörst nicht zum auserwählten Kreis Derer, die das dürfen.", (name _dv)];  };
}]
Genauso könntest du auch die UID auslesen und mit dem Array abgleichen. Dann aber OHNE Namenscheck
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline   Mit Zitat antworten
Alt 30.10.2014, 11:04   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Tajin
 
Registriert seit: 17.01.2008
Beiträge: 267
Standard

Denkt daran das der "GetIn" Eventhandler nicht ausgelöst wird, wenn jemand der schon im Fahrzeug ist den Sitzplatz wechselt!
__________________
Tajin ist offline   Mit Zitat antworten
Alt 30.10.2014, 12:05   #6 (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

Vielleicht hilft das hier: Einzelne Player als Driver ausschließen


Beispiel-Aufruf des Skripts für Helikopter und Panzer (Arma2):

[
["Helicopter",["USMC_Soldier_Officer", "USMC_Soldier_Pilot"]],
["Tank", ["USMC_Soldier_Officer", "USMC_Soldier_Crew" ]]
] execVM "Driver_Verbot.sqf";


Beim Aufrufen des Skripts sind die Klassen-Namen von Arma3 zu nehmen!
Vienna ist offline   Mit Zitat antworten
Alt 30.10.2014, 23:07   #7 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Zitat von Tajin Beitrag anzeigen

Denkt daran das der "GetIn" Eventhandler nicht ausgelöst wird, wenn jemand der schon im Fahrzeug ist den Sitzplatz wechselt!

Das ist richtig. Deswegen gab ich den Hinweis, dass man Sitzplätze wechseln kann.
Handelt es sich um Luftfahrzeuge, so kann man auch den Co-Piloten blocken. Ich kenne kein LFZ, wo man vom Passagier zum (Co)Piloten wechseln kann.
__________________
Bewegende Momente bei ArmA 3
Drunken Officer 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
Land_ATM auslesen Nokman Editing & Scripting 6 26.06.2014 23:09
Foreach _x auslesen Nokman Editing & Scripting 4 31.05.2014 11:52
Einheit "name" auslesen PriestleyMS Editing 1 07.02.2013 18:44
Map Coordinaten auslesen Skywalker077 Editing & Scripting 3 17.01.2011 23:27
buildingpos auslesen hypercop Editing & Scripting 17 19.07.2010 20:00


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