06.11.2011, 12:57 | #1 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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... |
06.11.2011, 14:02 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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[] = {}; }; }; |
06.11.2011, 20:38 | #3 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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 |
08.11.2011, 21:49 | #5 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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!? |
08.11.2011, 22:00 | #6 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
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... |
09.11.2011, 21:23 | #8 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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). |
09.11.2011, 23:03 | #9 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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. |
10.11.2011, 09:51 | #10 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
@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...
|
10.11.2011, 14:56 | #11 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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.
|
10.11.2011, 15:38 | #12 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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 |
10.11.2011, 16:24 | #13 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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. |
11.11.2011, 10:27 | #14 (permalink) |
Registriert seit: 04.11.2011
Beiträge: 13
|
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!!! |
11.11.2011, 13:36 | #15 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
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 } |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ä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 |