Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 16.09.2010, 22:04   #1 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 37
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard Problem mit Briefing im MP

Moin zusammen,

ich hab ein kleines Problem mit meinem Briefing im MP.
Und zwar läd es wunderbar wenn jeder zum ersten mal auf die Karte connected aber sobald wer rejoint oder kurz trennt um Slot zu wechseln hat die Person kein ingame Briefing mehr.

Ich rufe die Briefing.sqf in der init.sqf auf mit

_temp = Player execVM "Briefing.sqf";

Wie kriege ich das hin das auch spieler die ReJoinen das Briefing weiterhin bekommen?

Danke!!!
Mfg
Clawhammer
__________________
Clawhammer ist offline  
Alt 17.09.2010, 09:05   #2 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von SmartGun
 
Registriert seit: 04.06.2008
Beiträge: 197
Standard

moin!

das ist doch mittlerweile gefixt worden oder?

wllt muss man ja auch komplett trennen, und nicht nur in die lobby um sein briefing wiederzubekommen?
SmartGun ist offline  
Alt 17.09.2010, 09:10   #3 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 37
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Auch das vollständige verlassen des Servers und neu connecten ob auf vorherigen Slot oder noch unbenutzten Slot bringt das Briefing nicht wieder.
__________________
Clawhammer ist offline  
Alt 17.09.2010, 09:40   #4 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
Standard

kopiere folgendes an das ende in deiner briefing.sqf - (Ich hab den Code von missionen von Burns und Xeno ihren Breifing.sqf's)

Code:
if (isNil {player getVariable "mk_briefingEH"}) then
{
player addEventHandler ["killed",{[] spawn {waitUntil {alive player};execVM"briefing.sqf";};}];
player setVariable ["mk_briefingEH",true];
};

Moerderhoschi ist offline  
Alt 17.09.2010, 09:41   #5 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 37
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Danke!
Werd das heute abend mal versuchen
__________________
Clawhammer ist offline  
Alt 17.09.2010, 10:47   #6 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Fogu
 
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
Standard

So müsste es gehen(so ähnlich mach ich es auch immer)
init.sqf
Code:
execVM "briefing.sqf";
briefing:
Code:
// since we're working with the player object here, make sure it exists
waitUntil { !isNil {player} };
waitUntil { player == player };
  
  
switch (side player) do 
{
    
    case WEST: // BLUFOR briefing goes here
    {
        player createDiaryRecord["Diary", ["Info", "<br/>Author - Jinef<br/>Version 1.00<br/>"]];
        player createDiaryRecord["Diary", ["Enemy forces", "<br/>Enemy forces are expected to consist of lightly armed locals mixed with trained regulars of the enemy. There are regular army aviation support and defence troops stationed at the airfield however after preliminary air strikes white flags have been seen, so we expect little resistance."]];
        player createDiaryRecord["Diary", ["Friendly forces", "<br/>1st Platoon will be deployed on the north flank. 2nd Platoon will capture the high ground overlooking the airfield. 3rd platoon will conduct the assault on the airfield.<br/><br/>Due to a risk of mines the first phase of the operation will be conducted dismounted only, the AAVs will hold the beach."]];
        player createDiaryRecord["Diary", ["Mission", "<br/>1st Platoon is to secure the northen flank of the island. This will be achieved by Alpha squad securing the town of Kamenyy, with Bravo and Charlie squads provding flank cover. Alpha squad will not proceed further than the limits of advance marked on your maps. 81mm mortar support is on call, however collateral damage is to be avoided at all costs."]];
        player createDiaryRecord["Diary", ["Situation", "<br/><img image='pic.jpg'/><br/><br/>Prior to our landing on the main island of Chenarus, our marine task force will secure the airfield on the small island of Utes. Our company will be performing the assault with support from the MEU task force units. The island is expected to be defended only very lightly by enemy forces with support from an disgruntled population. The key to our success is to quickly assert control over the island while maintaining civilian infrastructure and dignity."]];


        // Secondary Objective
        tskObj3 = player createSimpleTask["Secondary: Avoid Civilian Casualties"]; 
        tskObj3 setSimpleTaskDescription["The civilians here are relying on us to restore order and let them return to a peaceful life, we can't just blast our way through.", "Avoid Civilian Casualties", "Avoid Civilian Casualties"];            
        //>---------------------------------------------------------<
        // Secondary Objective
        tskObj2 = player createSimpleTask["Secondary: Avoid Friendly Casualties"]; 
        tskObj2 setSimpleTaskDescription["Let's not take any risks. It's not worth going home in a box for this. Stay frosty!", "Avoid Friendly Casualties", "Avoid Friendly Casualties"];
        //>---------------------------------------------------------<
        // Primary Objective
        tskObj1 = player createSimpleTask["Primary: Secure The Town"]; 
        tskObj1 setSimpleTaskDescription["Your squad has just landed on the beach <marker name='BAlpha'>here</marker>. Your task is to secure <marker name='BObj1'>this</marker> town ahead of the main landing force to ensure safe passage for further combat echelons. Meanwhile Bravo and Charlie squads will secure the enemy compounds on the flank and endeavour to prevent enemy reinforcments reaching the town.", "Secure The Town", "Secure The Town"];
        player setCurrentTask tskObj1;
    };
    
    
    case EAST: // REDFOR briefing goes here
    {
        
        
    };
    
    
    case RESISTANCE: // RESISTANCE/INDEPENDENT briefing goes here
    {
        
        
    };
    
    
    case CIVILIAN: // CIVILIAN briefing goes here
    {
        
        
    };
};



// run this file again when respawning (only setup the killed EH once though)
if ( isNil{player getVariable "mk_killedEHadded"} ) then 
{
    player addEventHandler ["killed", 
    { 
        [] spawn {
            waitUntil { alive player }; // waitUntil player has respawned
            execVM "briefing.sqf"; 
        };    
    }];
    player setVariable ["mk_killedEHadded", true];
};
__________________


My Youtube Channel

"Before you diagnose yourself with depression or low self esteem,
first make sure you are not, in fact, just surrounded by assholes!"
William Gibson

Geändert von Fogu (17.09.2010 um 10:50 Uhr).
Fogu ist offline  
Alt 17.09.2010, 10:52   #7 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 37
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Das ist mal eine Vorlage!
thx!
__________________

Geändert von Clawhammer (17.09.2010 um 10:55 Uhr).
Clawhammer ist offline  
Alt 17.09.2010, 11:12   #8 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Seit wann muss man denn das Briefing nach dem Tod erneut hinzufügen?
Das war doch nur bei ArmA 2 v1.0 bis v1.03 notwendig. Danach wurde der Bug doch gefixt, dass das Briefing nach dem Tod verschwindet.
Cyborg11 ist offline  
Alt 17.09.2010, 16:32   #9 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

ja, das sind veraltete codeschnipsel aus dieser zeit (1.0-1.03), die heute keinen sinn mehr haben.

es sollte diese zeile am anfang des briefings reichen:

Code:
waitUntil {!isNil {player}};
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 17.09.2010, 17:32   #10 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Die Zeile sollte schon hin, aber wenn man diese schon postet, dann doch bitte mit der richtigen Syntax
Code:
waitUntil {!(isNil player)};
Es geht aber auch diese Überprüfung:
Code:
waitUntil {!(isNull player)};

@Fogu: Ändere mal deine Briefing.sqf auf das hier ab:
Code:
// since we're working with the player object here, make sure it exists
waitUntil {!(isNull player)};
  
  
switch (side player) do 
{
    
    case WEST: // BLUFOR briefing goes here
    {
        player createDiaryRecord["Diary", ["Info", "<br/>Author - Jinef<br/>Version 1.00<br/>"]];
        player createDiaryRecord["Diary", ["Enemy forces", "<br/>Enemy forces are expected to consist of lightly armed locals mixed with trained regulars of the enemy. There are regular army aviation support and defence troops stationed at the airfield however after preliminary air strikes white flags have been seen, so we expect little resistance."]];
        player createDiaryRecord["Diary", ["Friendly forces", "<br/>1st Platoon will be deployed on the north flank. 2nd Platoon will capture the high ground overlooking the airfield. 3rd platoon will conduct the assault on the airfield.<br/><br/>Due to a risk of mines the first phase of the operation will be conducted dismounted only, the AAVs will hold the beach."]];
        player createDiaryRecord["Diary", ["Mission", "<br/>1st Platoon is to secure the northen flank of the island. This will be achieved by Alpha squad securing the town of Kamenyy, with Bravo and Charlie squads provding flank cover. Alpha squad will not proceed further than the limits of advance marked on your maps. 81mm mortar support is on call, however collateral damage is to be avoided at all costs."]];
        player createDiaryRecord["Diary", ["Situation", "<br/><img image='pic.jpg'/><br/><br/>Prior to our landing on the main island of Chenarus, our marine task force will secure the airfield on the small island of Utes. Our company will be performing the assault with support from the MEU task force units. The island is expected to be defended only very lightly by enemy forces with support from an disgruntled population. The key to our success is to quickly assert control over the island while maintaining civilian infrastructure and dignity."]];


        // Secondary Objective
        tskObj3 = player createSimpleTask["Secondary: Avoid Civilian Casualties"]; 
        tskObj3 setSimpleTaskDescription["The civilians here are relying on us to restore order and let them return to a peaceful life, we can't just blast our way through.", "Avoid Civilian Casualties", "Avoid Civilian Casualties"];            
        //>---------------------------------------------------------<
        // Secondary Objective
        tskObj2 = player createSimpleTask["Secondary: Avoid Friendly Casualties"]; 
        tskObj2 setSimpleTaskDescription["Let's not take any risks. It's not worth going home in a box for this. Stay frosty!", "Avoid Friendly Casualties", "Avoid Friendly Casualties"];
        //>---------------------------------------------------------<
        // Primary Objective
        tskObj1 = player createSimpleTask["Primary: Secure The Town"]; 
        tskObj1 setSimpleTaskDescription["Your squad has just landed on the beach <marker name='BAlpha'>here</marker>. Your task is to secure <marker name='BObj1'>this</marker> town ahead of the main landing force to ensure safe passage for further combat echelons. Meanwhile Bravo and Charlie squads will secure the enemy compounds on the flank and endeavour to prevent enemy reinforcments reaching the town.", "Secure The Town", "Secure The Town"];
        player setCurrentTask tskObj1;
    };
    
    
    case EAST: // REDFOR briefing goes here
    {
        
        
    };
    
    
    case RESISTANCE: // RESISTANCE/INDEPENDENT briefing goes here
    {
        
        
    };
    
    
    case CIVILIAN: // CIVILIAN briefing goes here
    {
        
        
    };
};
Cyborg11 ist offline  
Alt 17.09.2010, 17:34   #11 (permalink)
50 Beiträge
 
Registriert seit: 27.04.2008
Ort: Deutschland
Beiträge: 88
Roehrenradio eine Nachricht über ICQ schicken Roehrenradio eine Nachricht über MSN schicken Roehrenradio eine Nachricht über Skype™ schicken
Standard

Also isNil-Abfrage wär mir jetzt neu, vorallem, wenn player ein Engine Befehl ist.
Zitat:

WaitUntil { player == player }

Müsste eigentlich so genügen, und das extra neu-erstellen von dem Briefing nach dem Tod wird in jetztigen Patches wirklich nicht gebraucht.

Oder bist du so bugverliebt

PS: waitUntil {not (isNil player)} wird nicht funktionieren, da isNil nach undefenierten Variablen bzw. nil-Variablen fragt!
__________________
crCTI URR 1.0
Roehrenradio ist offline  
Alt 17.09.2010, 17:38   #12 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Zitat von Roehrenradio Beitrag anzeigen

PS: waitUntil {not (isNil player)} wird nicht funktionieren, da isNil nach undefenierten Variablen bzw. nil-Variablen fragt!

Am Anfang einer Mission funktioniert es schon, da player noch nicht vorhanden ist.

Besser ist es aber, wenn man diesen Befehl benutzt:
Code:
waitUntil {!(isNull player)};
Cyborg11 ist offline  
Alt 17.09.2010, 17:38   #13 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Fogu
 
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
Standard

@Cyborg okay thx wird gemacht.

edit: lol in fast allen meiner Missionen ist es schon so Cyborg....
....aber ich glaube wir hatten das Thema ja schon einmal.
__________________


My Youtube Channel

"Before you diagnose yourself with depression or low self esteem,
first make sure you are not, in fact, just surrounded by assholes!"
William Gibson

Geändert von Fogu (17.09.2010 um 17:44 Uhr).
Fogu ist offline  
Alt 17.09.2010, 18:29   #14 (permalink)
500 Beiträge
 
Benutzerbild von Clawhammer
 
Registriert seit: 07.01.2008
Alter: 37
Beiträge: 635
Clawhammer eine Nachricht über ICQ schicken
Standard

Code:
waitUntil {!(isNull player)};
Genau das hat bei mir geholfen, besten dank!
__________________
Clawhammer 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
Problem mit BattleEye und Mauseingabe! GER_CJ-187 Technische Fragen & Probleme 2 29.08.2010 16:48
SIX Updater Problem Nepharim Technische Fragen & Probleme 5 31.07.2010 16:05
ArmA2 OA Problem Thunderbird Technische Fragen & Probleme 17 10.07.2010 19:15
description.ext (sound) problem miromanu Editing & Scripting 7 07.07.2010 16:40
Problem beim entpacken von Pbo's GER_CJ-187 Technische Fragen & Probleme 1 17.05.2010 22:03


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