Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 19.10.2015, 20:34   #1 (permalink)
Newbie
 
Registriert seit: 19.10.2015
Beiträge: 19
Standard Loadouts nur für bestimmte Class zeigen (RespawnInventory)

Hallo,
ich habe mich in eurem Forum angemeldet, da ich ein echtes Problem beim Scripten habe und es einfach nicht gelöst bekomme.

Ich habe 5 Soldaten (Medic, Sniper, Squad Leader, ...) im Editor platziert, die spielbar sind.
Nun nutze ich das CfgRespawnInventory in der description.ext um für jede dieser Klassen Loadouts auszugeben.
Mein Problem ist:
Ich habe z.B. 3 mögliche Loadouts für jeden Class type. Soll heißen man kann wenn man den Slot des Sniper wählt zwischen 3 Loadouts mit unterschiedlichen Sniper-Gewehren wählen. Als Medic sähe man nur 3 Assault Rifle Loadouts etc.

Wie sorge ich nun dafür, dass jede Klasse nur ihre Loadouts sieht? Ich will nicht, dass jemand der den Sani Slot nutzt z.B. ein Sniper Loadout nimmt und dann kein Medkit hat.

Wie sage ich Arma 3, dass es dem Spieler nur seine erlaubten Loadouts zeigt?

Ich habe folgenden Code in der CfgRespawnInventory class unter "show" versucht:
Code:
show = '_this isKindOf "B_medic_F"';
Aber leider funktioniert dieser Code an der Stelle nicht (was er aber in einem normalen Script schon tut).

Ich hoffe ihr könnt mir helfen. Das Loadout Problem macht meine ganze Mission unbrauchbar. Falls was nicht verstanden wurde einfach nachfragen.

Geändert von Cakestory (19.10.2015 um 20:36 Uhr).
Cakestory ist offline   Mit Zitat antworten
Alt 20.10.2015, 21:19   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

initlocalplayer.sqf

if (player iskindof "B_Medic_F") then
{
......
.....
}
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline   Mit Zitat antworten
Alt 20.10.2015, 21:36   #3 (permalink)
Newbie
 
Registriert seit: 19.10.2015
Beiträge: 19
Standard

Danke für die Antwort.
Ich habe zufällig heute Nachmittag herausgefunden, dass der Code, den du da geschrieben hast doch funktioniert.
Ich hatte es bereits damit versucht (in der init.sqf) aber ich habe nicht gewusst, dass man für JIP noch den player auf null checken muss und der Code nur auf dem Client ausgeführt werden soll.
Wusste auch gar nicht, dass es noch andere initIrgendwas.sqf gibt.

Das Problem habe ich so gelöst. Und für alle, die vielleicht mal dasselbe Problem haben, hier die benötigten Zeilen in der init.sqf:
Code:
if (!isDedicated) then { // Der Code sollte nur auf dem Client laufen
  
    waitUntil {!isNull player}; // Die entscheidende Zeile. Sonst klappt der Code nicht für JIP Spieler!
    
    // Gib dem Spieler Loadout "WEST1" falls er den Medic Slot nutzt 
    if (player isKindOf "B_medic_F") then {
        [player, "WEST1"] call BIS_fnc_addRespawnInventory;
    };

    // Gib dem Spieler Loadout "WEST2" falls er den Marksman Slot nutzt
    if (player isKindOf "B_soldier_M_F") then {
        [player, "WEST2"] call BIS_fnc_addRespawnInventory;
    };

};
P.S. Ich hatte es vergeblich mit der
Code:
show = "...";
Zeile in der CfgRespawnInventory Klasse in der description.ext versucht. Offenbar nimmt diese Zeile überhaupt keine Einfluss auf das Anzeigen des Loadouts. Ein Bug oder vielleicht veraltete/falsche Information aus einem anderen Forum?!
Cakestory ist offline   Mit Zitat antworten
Alt 21.10.2015, 09:29   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Cartman
 
Registriert seit: 07.07.2014
Ort: nähe Hamburg
Alter: 36
Beiträge: 1.149
Standard

Du könntest statt der Init.sqf auch die InitPlayerLocal.sqf verwenden

Die greift beim Start und beim JIP.

https://community.bistudio.com/wiki/Event_Scripts

Edith: Da hab ich gepennt, hat Drunken ja schon geschrieben, aber InitLocalPlayer ist doch falsch, oder?
__________________
Come for ArmA, stay for drama

Geändert von Cartman (21.10.2015 um 09:32 Uhr).
Cartman ist offline   Mit Zitat antworten
Alt 21.10.2015, 10:40   #5 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

InitPlayerlocal ist richtig. Ich hatte nen Dreher drin. (nach ner 12 Stunden Schicht darf man das )
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline   Mit Zitat antworten
Alt 21.10.2015, 11:20   #6 (permalink)
Newbie
 
Registriert seit: 19.10.2015
Beiträge: 19
Standard

Macht doch nichts. Hatte es eh vorher nochmal nachgeschlagen.

Danke für die Hilfe, Leute. Jetzt weiß ich beim nächsten JIP Problem wo es eigentlich hinkommt.
Cakestory 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
Markerreihenfolge ändern?? Drunken Judge Editing & Scripting 2 31.07.2014 21:26
F-22 Raptor Tunen 8-) Clawhammer Mods & Addons 5 26.02.2013 14:59
ARMA 2 DayZ Battleye Problem ZombieMartin DayZ 17 16.07.2012 13:56
Hilfe bei config.cpp verändern ST6_Predator Editing & Scripting 6 30.12.2010 23:14
Multiplayer PROBLEM!!! Panzagrenadier Multiplayer 15 18.06.2010 14:12


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