Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 06.11.2011, 12:57   #1 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard skript hilfe benötigt

Hallo,

ich bin neu hier und benötige etwas hilfe beim skripten.

1.
ich benutze ein skript (grenadefix.sqf] weil im unsung mod ein bug steckt und man dann keine granaten werfen kann. mit dem skript klappt es bis einer respawnt...ich benötige einen befehl um das skript nach einem respawn wieder zu aktivieren. hier das skript aktiviert über die init.sqf:

player removeWeapon "Throw";
player removeWeapon "uns_Throw";

sleep 0.1;

player addweapon "Throw";
player addweapon "uns_Throw";

hint "Grenades fixed";

};


PS: ich benutze kein REVIVE skript...respawn nach 60sek. an dem gleichen ort wo gestorben!

2.
ich suche ein skript, mit dem ich funk sounds auf einen funker legen kann...diese sounds sollen durchgehen laufen aber nur dann zu hören sein wenn man näher an den funker kommt. die .ogg files habe ich schon und eine möglichkeit diese sounds über einen trigger zu starten...habe mich mit dem guide von Mr-Murray beschäftigt aber nach einigen versuchen dann aufgegeben :-(

ich hoffe ihr könnt mir bei beiden dingen helfen, sonst bekomme ich meine missionen nie fertig...
showmaker ist offline  
Alt 06.11.2011, 14:02   #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

Ich nehme an es wird für die Bewaffnung nach dem Respawn ein Skript geben. An dessen Ende fügst du deine angeführten Zeilen dazu.


Den "Sound" bindest du mit diesem Befehl an den Funker: Funkername say ["Soundname",5];

http://community.bistudio.com/wiki/say


Der Sound muss in der description.ext vorhanden sein:

Code:
// Eigener Sound
class CfgSounds
{
 sounds[] = {};
  class MeinSound
  {
   // Name mit dem der Sound angesprochen wird. z.B. player say ["Soundname",5]
   name = "MeinSound";
   // Dateiname (mit Pfad), volume (muss auf 1 gestellt sein!), pitch (muss auf 1 gestellt sein!)                          
   sound[] = {"sounds\MeinSound.ogg", 1, 1};   
   titles[] = {};
  };
};
Der Sound bricht ab, wenn der Funker tot ist. Der Sound sollte sehr lang sein. Sonst müsste man ihn mit einer Routine wiederholen.
Vienna ist offline  
Alt 06.11.2011, 20:38   #3 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

Hey Vienna,

vielen Dank für die Info!
Das erste hab ich jetzt hinbekommen. Wie du gesagt hast mit einem weaponrespawn skript.

Das 2te ist eine echte Denksportaufgabe! Also wichtig ist schon, dass der sound mit einer Routine läuft und nicht unterbricht bzw. neu startet wenn der spieler respawnt. Das ding dabei ist, dass ich 31 ogg files habe. Also einzeln. Ich habe in dem guide von. Mr. Murray gelsesen, dass man diese auch shuffeln kann also per Zufall auslösen. Die ogg files habe ich in einem Ordner namens "sounds" die ogg files heißen "Radio1.ogg - Radio31.ogg"

Den Befehl für's wieder neu starten wenn gestorben müsste mit:
waitUntil {alive player};
funktionieren. So hat das mit dem ersten auch geklappt.

Ich werde natürlich weiter rumtüfteln und noch nen paar tausend Male in der Vorschau checken ob's klappt ;-). Da ich nicht so den größten Plan habe was das skripten angeht wäre es super wenn Du das etwas genauer beschreiben könntest wenn Du eine Lösung siehst. Vielen Dank!
Gruß Toby
showmaker ist offline  
Alt 06.11.2011, 21:47   #4 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
Standard

*deleted*

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.

Geändert von Xeno (03.01.2014 um 09:49 Uhr).
Xeno ist offline  
Alt 08.11.2011, 21:49   #5 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

Hey Vienna,

ich habe jetzt folgendes hier in meiner discribtion sthen:

class Radio1
{
player say ["Radio1",5]
name = "Radio1";
sound[] = {"sound\Radio1.ogg", 0.010, 1.0};
titles[] = {};
};

Und das spiel schmiert ab...denke mal das liegt and dem:

player say ["Radio1",5] ...wo liegt der Fehler?

event. klappt ja eine Routine wenn ich diesen befehlt [Wenn er dann klappt) ebenfalls in die weapon respawn kopiere...so klappt das mit den Granaten ja auch!?
showmaker ist offline  
Alt 08.11.2011, 22:00   #6 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Mal abgesehen davon, dass da ein Semikolon am Ende der Zeile fehlt, hat das NIX in der Description.ext verloren! Das gehört in ein SQF-File oder in einen Auslöser oder was auch immer...

Ich lege Dir nahe Dich zunächst mit Editing-Grundlagen zu befassen:

ARMA Editing Guide
ARMA 2 Scripting Commands

Das sollte für den Anfang reichen. Im zweiten Link gibts oben links ein Suchfeld in das Du zB description.ext eingeben könntest... da kannst Dir anschauen was man dariin unterbringen kann, bzw. wozu die Datei gut ist...

__________________
Buliwyf ist offline  
Alt 09.11.2011, 10:55   #7 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

jup...den guide von mr. murray hab ich...schau ich nochmal rein...muss ja nun nur noch diese skript sprache endlich mal raffen scheißen kompliziert...
vielen dank bis hierher...
showmaker ist offline  
Alt 09.11.2011, 21:23   #8 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

So das klappt jetzt @Xeno...Du hast geschrieben:

Soll noch Lipsync dazu kommen muss der Sound auf jeden Fall dort abgespielt werden wo das Unit lokal ist.

Ich möchte den Sound wenn möglich erst hören, wenn ich nah genug am Funker stehe...also so auf Distanz dann Funkstille. Meintest Du das mit Unit lokal? Aktuell ist so, dass wenn ich z.B. 50 Meter entfernt bin den Funksound immer noch hören kann...schon wäre so ab 10 Meter dann leiser und ab 50 Meter Ruhe... Und eine Routine bekomme ich leider auch noch nicht hin

So schaut jetzt das Skript in meiner desciption aus:

// Eigener Sound
class CfgSounds
{
sounds[] = {Radio};

class Radio
{
name = "Radio";
sound[] = {\sounds\radio.ogg, db+0, 1.0};
titles[] = {Radio};
};
};

...und starte es über die Init der Unit mit:RTO say ["Radio",5];

Wenn Ihr mir jetzt noch bei der Routine und dem Sound auf Nähe lauter bzw. Entferung leiser hörbar nen Tip geben könntet wäre KLASSE Event. 'n fade in, fade out Skript?

blessings
showmaker

Geändert von showmaker (09.11.2011 um 22:14 Uhr).
showmaker ist offline  
Alt 09.11.2011, 23:03   #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

sound[] = {\sounds\radio.ogg, 1, 1};

Nicht über 1 und ohne db. Kannst testen mit unter 1, was sich auf die Lautstärke auswirken müsste.

Das mit der abnehmenden Lautstärke bei Entfernung funktioniert leider nicht so real abfallend wie man es gerne hätte. Das war einmal besser. Da wurde wieder an einigen Rädchen zum Nachteil gedreht.

Xeno meint, dass der say-Befehl lokal ist, was bedeutet du musst dafür sorgen ihn auf den PCs aller Clients zu starten. z.B. eine globale Variablen auf True setzen und mit "publicVariable" an alle PCs übertragen, wo damit ein Auslöser den say-Befehl startet.

Man kann auch den gesamten Befehl (RTO say ["Radio",5];) mit einem "Befehl-Sender" übertragen. Ich habe das einmal hier in einem Beispiel gezeigt: 2 Fragen: bezügl. setObjectTexture u. einem AA-Script
Im Beispiel gibt es vier Befehlsempfänger: an West, Ost, den Server oder an Alle.
Vienna ist offline  
Alt 10.11.2011, 09:51   #10 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

@Vienna...ich habe den db drinnen gelassen aber auf -30 gesetzt da der sound am start echt übel laut war...und die .oog datei einige sekunden leer laufen lassen...also tonspur über goldwave 10 sek. vom start an blanko. so ist es jetzt ganz OK. wenn ich weiter weg gehe vom funker wird es eindeutig leiser :-) Ähm...Du meinst das so wie es jetzt ist nur ich den sound hören kann!? ok...über einen trigger wäre ja an und für sich nicht schlecht...da könnte ich ja wenn ich mehrere trigger platziere auch ganz klar den befehl mehrfach an verschiedenen positionen auf einer map ausführen...dann würde ich auch keine routine mehr benötigen :-) weil wenn der rto respawnt und der trigger ist auf mehrfach gesetzt sollte ja der sound erneut abgespielt werden. ich schau mir das später nach maloche nochmal genauer an...
showmaker ist offline  
Alt 10.11.2011, 14:56   #11 (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

Ein Trigger, der den Sound startet, kann natürlich auch durch Anwesenheit des RTO ausgelöst werden. Wenn es weitere solche Trigger gibt dann ist es möglich, dass ein noch nicht abgelaufener Sound überlagert wird.
Vienna ist offline  
Alt 10.11.2011, 15:38   #12 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

genau! habs gerade mal getestet...ich dachte ich nehm mal nen trigger, mach die achsen weg so das dieser überall aktiv ist aber das hat nicht geklappt...also nehme ich einfach mehrer trigger...

ne, ne...der sound biginnt bei mir bei betreten eines erneuten trigger von vorn...aslo nicht überlagert...

hören jetzt auch andere user diesen sound wenn ich die mission dann mal online spielen möchte? mit trigger ist das dann global?

...naja...besser wäre schon ein skript iwie das global mit respawn funktion läuft aber das wird mir jetzt zu kompliziert und so langsam will ich auch mal wieder spielen und nicht nur die ganze zeit editieren

Nochmal VIELEN DANKE für die ganzen Feedbacks!!!

PS: wenn du event. noch etwas für mich haben solltet was ich nutzen kann zu diesem thema..."also was auch die weniger guten skripter raffen" bin ich dir auf aller jeden dankbar!!!

blessington
showmaker
showmaker ist offline  
Alt 10.11.2011, 16:24   #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

In diesem Thread (Sound auf "Knopfdruck"?) sind drei Beispiele betreffend Sound enthalten.

Ich bin mir jetzt nicht mehr sicher, ob mit say der Sound nur lokal beim Aufrufenden oder global auf allen PCs spielt. Probiere es einmal aus.
Vienna ist offline  
Alt 11.11.2011, 10:27   #14 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

also wenn ich den sound übern trigger auslöse ist er global...du hattest recht...dieser überlagert und das game stürzt sogar ab wenn ich den trigger mehrfach platziere und dieser erneut aktiviert wird wenn der sound noch läuft...habe jetzt 2 versch. sound.oog files und 2 sound einträge in der description [radio1 und radio2]...so gehts dann...muss die trigger dann nur abwechselnd platzieren...


auf Knopfdruck...das schaut interessant aus :-) werde ich mich am abend mal mit beschäftigen...also denne...schönen start ins wochenende!!!
showmaker ist offline  
Alt 11.11.2011, 13:36   #15 (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

Zum Absturz dürfe die Überlagerung nicht führen. Hier ein Beispiel für ein kleines Skript das unter Angabe der Unit, dem Soundnamen und der Soundlänge den Sound bis zum Tod dauernd wiederholt.

Aufrufbeispiel für den Mehrspielermodus in einem Mehrfach-Auslöser der auch nach dem Respawn den Sound bei der neuen Unit wieder startet:
Bedingung: alive Soldat1
Bei Akt.: temp = [Soldat1,"BlackAttack",80] execVM "Sound.sqf";

Sound.sqf
Code:
// Dauer-Sound an ein Objekt binden. Aufruf Lokal.       [Vienna 11.11.2011]
//
// Skript muss nach Tod/Zerstörung der Unit neu aufgerufen werden.
//
// Aufruf: [UnitName,"Soundname",Soundlänge] execVM "Sound.sqf";
//
// Aufrufbeispiel für Mehrfach-Auslöser:
// Bedingung: alive Soldat1
// Bei Akt.:  temp = [Soldat1,"BlackAttack",80] execVM "Sound.sqf";

//Lokale Variable
  private ["_unit","_sound","_dauer","_zeit"];

//Parameter übernehmen
 _unit  = _this select 0;
 _sound = _this select 1;
 _dauer = _this select 2;
 
//Schleife bis Unit tod/zerstört
  while {alive _unit} do
    {
      _unit say _sound;                        // Sound starten
      _zeit = time + _dauer;                   // Soundlaufzeit feststellen 
      waitUntil {time > _zeit or !alive _unit} // warten bis Sound abgespielt oder Unit tod/zerstört
    }
Das Sktipt-Beispiel ist aus der Mission im Anhang. Zu beachten ist dabei der eigene Pfad des Skripts und der Sounddatei und natürlich auch deren Namen sowie der Soundlänge.
Angehängte Dateien
Dateityp: zip Sound_an_Unit-utes.zip (931,9 KB, 48x aufgerufen)
Vienna ist offline  
Alt 16.11.2011, 09:35   #16 (permalink)
Newbie
 
Registriert seit: 04.11.2011
Beiträge: 13
Standard

Sehr gut...VIELEN DANK!!!
showmaker 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
Waffenkiste (Alle Waffen Skript)? Piratenschiff Editing & Scripting 4 11.10.2011 21:56
GlovePIE Skript: Mit Mausrad zoomen Cyborg11 Mods & Addons 8 09.11.2010 00:04
Neuling brauch Hilfe Joghurt Multiplayer Community 1 02.11.2010 23:42
Hilfe, Anfänger TH1984 Community 15 01.09.2010 19:21
brauche hilfe bei meiner ersten Config GER_CJ-187 Mods & Addons 21 01.07.2010 12:42


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