Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 17.02.2009, 04:26   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard Frage [distance]

Ich habe ein problem mit der distance!

#test
?Player distance Obj1<50: goto "test1"
~1
goto "test"

#test1
[] exec "scripts\test.sqs"
~0.1
exit

Das problem ist das es zwar beim spieler der den server macht geht aber
bei den mitspielern nicht anspricht!!

Könnte da mir vielleicht jemand helfen wie ich das problem lösen könnte!

LG: Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 17.02.2009, 08:37   #2 (permalink)
50 Beiträge
 
Registriert seit: 13.01.2009
Beiträge: 60
Garstiger Hobbit eine Nachricht über Skype™ schicken
Standard

Nun das ist eine localitätsfrage, da dies ein spielerscript ist musst du es auch vom Spieler aus öffnen,sonst funktioniert das nur beim Spieler der den Server macht.

Ich weiß ja nun nicht wo bzw wann du dieses script öffnest dann könnte ich dir sagen wie du es machen kannst.
Garstiger Hobbit ist offline   Mit Zitat antworten
Alt 17.02.2009, 15:49   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Zum Beispiel, das script mit der Player distance lauft am anfang der Mission; als schleife bis sich ein spieler 50M, an das obj1 nähert dann solte
es aktivirtwerden!
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 17.02.2009, 17:40   #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

Das geht einfach im Editor mit einem Auslöser, die sind für alle Spieler aktiv:

Bedingung: Player distance Obj1 < 50
BeiAkt.: [] exec "scripts\test.sqs"
Vienna ist offline   Mit Zitat antworten
Alt 17.02.2009, 18:57   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Na Hallo Vienna, ja habe ich schon versucht geht aber leider nicht nur bei den spieler der den server machte!

Und es solte auch auf den decatserver funktionieren!

Bedingung: Player distance Obj1 < 50
BeiAkt.: obj1=true; [] exec "scripts\test.sqs"

Versucht aber leider kein erfolg!

Lg: Ghost
__________________
Ghost_AUT

Geändert von Ghost_Aut (17.02.2009 um 18:59 Uhr).
Ghost_Aut ist offline   Mit Zitat antworten
Alt 17.02.2009, 19:06   #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

Da habe ich dich falsch verstanden. Mein Vorschlag von hier sollte auch bei dir funktionieren:
Trigger an ki binden

Edit: dir genügt wahrscheinlich die Art der Bedingung

Bedingung: call{_a=false;{if(NameZielperson distance _x < 10)then{_a=true}}forEach thislist;_a}

Geändert von Vienna (17.02.2009 um 19:09 Uhr).
Vienna ist offline   Mit Zitat antworten
Alt 18.02.2009, 02:13   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Na Hallo Vienna!
Ja ich weiss schon was du meinst, ist auch ne gute not lösung mit einem auslöser durch aktivirung der seite, aber ist nicht ganz das was ich suche
leider!

Andere frage wie kann ich über ein script jeden einzelnen spieler über distance zu einen Obj ansprechen ??

LG: Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 18.02.2009, 10:02   #8 (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

Ich verstehe nicht was du da genau machen willst. Nochmal mit Auslösern:


Wenn es nur der auslösende Spieler zu wissen braucht und das Skript nur bei ihm startet, dann ist eben das die Lösung:

Bedingung: Player distance Obj1 < 50
BeiAkt.: [Player] exec "scripts\test.sqs"


Wenn es alle Spieler wissen sollen wer ausgelöst hat und bei allen Spielern das Skript startet, dann halt so:

Bedingung: call{_a=false;{if(_x distance Obj1 < 50)then{_a=true;DerAuslösendeSpieler=_x}}forEach thislist;_a}
BeiAkt.: [DerAuslösendeSpieler] exec "scripts\test.sqs"


Eine andere Lösung wenn für alle das Skript starten soll:

InDistance = false (diese Variable muss bei allen Spielern gesetzt sein)

Bedingung: Player distance Obj1 < 50 OR InDistance
BeiAkt.: InDistance = true;publicVariable "InDistance";[] exec"scripts\test.sqs"

publicVariable setzt die Variable auf allen PC in neuen Zustand. publicVariable - Bohemia Interactive Community



Es könnte auch so gehen (der Befehl ist neu musst du testen):

InDistance = false
"InDistance" addPublicVariableEventHandler {if(_this select 1)then{[] exec"scripts\test.sqs"}}

Bedingung: Player distance Obj1 < 50
BeiAkt.: InDistance = true
Vienna ist offline   Mit Zitat antworten
Alt 18.02.2009, 12:53   #9 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Das Könnte gehn muss ich mal versuch, zum glück hab ich einen 2PC das ich es testen kann!


Bedingung: Player distance Obj1 < 50 OR InDistance
BeiAkt.: InDistance = true;publicVariable "InDistance";[] exec"scripts\test.sqs"


Ich möchte mich auf jeden fall mal bedanken für deine Mühe und Tipps Vienna und dein LaserAirstrike_V102 script ist echt Gut gemacht! Hoffe es
stört dich nicht wenn ich es mit einbaue mit dem GeschossCam Script!!

LG: Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 18.02.2009, 13:39   #10 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard

Na Hallo Vienna !

ich dachte ich mach mal kurz ein Beispiel script das du dir ein bild machen kannst was ich genau meine, wennst lust und liebe hast kannst du es dir ja mal gerne anschauen ob ich so in der richtung richtig liege wehr echt nett Thx!

LG: Ghost
Angehängte Dateien
Dateityp: zip Control.zip (848 Bytes, 35x aufgerufen)
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 18.02.2009, 14:19   #11 (permalink)
500 Beiträge
 
Benutzerbild von Mr-Murray
 
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Mr-Murray eine Nachricht über ICQ schicken Mr-Murray eine Nachricht über Skype™ schicken
Standard

Bitte die threads themenbezogen benennen ! ! !
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
Mr-Murray ist offline   Mit Zitat antworten
Alt 18.02.2009, 15:22   #12 (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 verwendest in deinem Skript Objektnamen als Variable, das geht nicht!!!!!

Dann vermeide nach Möglichkeit Goto Sprünge. Das ist unübersichtlich und verwirrt nur.

Ich gehe davon aus, dass du den zweiten Skriptaufruf erst machen willst, nachdem der erste Aufruf erfolgt ist.


Zu Beginn solltest du deine Variablen initialisieren. z.B.

Next1=true
Next2=false
Next3=false
Ende=false


Dann die Schleife:

#Loop

if (Next1 AND player distance Objekt1 < 5000) then {Next1=false;publicVariable "Next1";Next2=true;publicVariable "Next2";[] exec "scripts\heli1.sqs"}

if (Next2 AND player distance Objekt1 < 4000) then {Next2=false;publicVariable "Next2";Next3=true;publicVariable "Next3";[] exec "scripts\heli2.sqs"}

if (Next3 AND (player distance Objekt2 < 2000 OR !alive Objekt2)) then {Ende=true;publicVariable "Ende";}

if (Ende) then {[] exec "scripts\konvoi.sqs"; exit}

~1
goto "Loop"


Das ersetzt jetzt nicht dein Skript, sondern soll dir nur zeigen wie du es programmieren sollst.

Bei den Skripts ist zu überpfüfen, ob wie wirklich von allen Spielern aktiviert werden sollen. Wenn darin z.B. 10 Einheiten erstellt werden, dann erstellt jeder Spieler diese Einheiten. Bei zwei spielern hättest du z.B. 20 und bei fünf Spielern 50 Einheiten.
Vienna ist offline   Mit Zitat antworten
Alt 18.02.2009, 19:22   #13 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 29.07.2008
Ort: Wien
Alter: 48
Beiträge: 189
Ghost_Aut eine Nachricht über MSN schicken
Standard Danke Vienna

Na Hallo Vienna!

Super möchte mich mal bedanken bei dir Vienna, hast mir sehr geholfen wenn das so klappt, ich versuche schon 6 Monate herum zu Bastelln mit der distance!

Naja kenn mich ja auch nicht wirklich mit scripts aus leider!
aber du gerne hobimessieg herum experimentieren so zu sagen danke noch mal!!

LG: Ghost
__________________
Ghost_AUT
Ghost_Aut ist offline   Mit Zitat antworten
Alt 18.02.2009, 21:45   #14 (permalink)
Gelöschter Benutzer
Gast
 
Beiträge: n/a
Standard

Zitat von Mr-Murray Beitrag anzeigen

Bitte die threads themenbezogen benennen ! ! !

Jup, habs mal geändert.
  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
view distance DirtyHarryTPC Editing 4 17.11.2008 22:05
distance Befehl pspsps91 Editing 16 29.06.2006 12:35


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