Visa ämne
Anrop » ArmA 3 » Editing
 Skriv ut ämne
Kolla en spelares typ?
Hur kollar jag om en spelare är en viss typ? I mission.sqm kan man se:
Kod Källa  

class Item0
            {
               position[]={325.62134,-0.23659682,7810.1084};
               azimut=-113.671;
               offsetY=17;
               id=49;
               side="WEST";
               vehicle="B_engineer_F";
               player="PLAY CDG";
               leader=1;
               rank="SERGEANT";
               skill=0.5;
               text="EchoCharlie1";
               init="this disableAI ""MOVE""; this addItem ""alive_tablet""; this addItem ""ACRE_PRC148""; this addItem ""ACRE_PRC343"";";
               description="Echo Charlie - Mekaniker";
            };

Jag vill alltså göra ett villkor som returnerar "true" om spelaren är "B_engineer_F" som står i vehicle.
Du kan använda https://community.bistudio.com/wiki/i...i/isKindOf
Jag har kollat på det men förstår inte hur det skulle funka.
Kan jag skriva:
Kod Källa  

X = "isKindOf "B_engineer_F"";

Det som X kommer användas till är att kontrollera om spelaren är av "godkänd" typ för att få göra vissa saker.
Kolla exemplen längst ner på sidan. Du måste skicka in ett objekt eller klassnamn till den för att se om den är en typ av den klassen. T.ex.
Kod Källa  

X = player isKindOf "B_engineer_F";

Här är en förklaring och raden som jag försöker få till längst ner:
Kod Källa  

/**
 * CONDITION TO ALLOW CREATION FACTORY
 *
 * (EN)
 * This variable allow to set a dynamic SQF condition to allow/deny the access to the creation factory only on specific clients.
 * The variable must be a STRING delimited by quotes and containing a valid SQF condition to evaluate during the game.
 * For example you can allow the creation factory only on few clients having a known game ID by setting the variable to :
 * "getPlayerUID player in [""76xxxxxxxxxxxxxxx"", ""76yyyyyyyyyyyyyyy"", ""76zzzzzzzzzzzzzzz""]"
 * Or based on the profile name : "profileName in [""john"", ""jack"", ""james""]"
 * Or only for the server admin : "serverCommandAvailable "#kick"""
 * Note that quotes of the strings inside the string condition must be doubled.
 * Note : if the condition depends of the aimed objects/véhicule, you can use the command cursorTarget
 * Note also that the condition is evaluted in real time, so it can use condition depending on the mission progress :
 * "alive officer && taskState task1 == ""Succeeded"""
 * To allow the creation factory to everyone, just set the condition to "true".

R3F_LOG_CFG_string_condition_allow_creation_factory_on_this_client = "player isKindOf ""B_engineer_F""";

Kan man använda isKindOf med en array? För att låta fler få tillgång till funktionen.
Alla spelare som är av typen B_engineer_F kommer den vara true för lokalt
Jag får det inte att fungera....Frown

Tänkte att förutom Engineer så ska Repair (B_soldier_repair_F) också kunna använda funktionen. Därför jag undrade om en array också.
lägg en boolsk OR-operator för eventuella andra klasser du vill stödja mer. du kan testa deras alternativa syntax med
Kod Källa  

X = vehicle player isKindOf "B_engineer_F";

Citera

ZiP skrev:

lägg en boolsk OR-operator för eventuella andra klasser du vill stödja mer. du kan testa deras alternativa syntax med
Kod Källa  

X = vehicle player isKindOf "B_engineer_F";


Eller
Kod Källa  


if (typeOf player in ["B_engineer_F", "B_yolo_F", "B_swag_f"]) then {
};


borde la funka, kanske.


EDIT:
VAR E VARGEN?????
Redigerat av xealot den 2015-03-16 14:36
The enemy cannot predict your actions if you have no idea what you're doing.