Kolla en spelares typ?
|
Vargen |
Publicerat 2015-03-15 13:29
|
Sergeant
Inlägg: 55
Registrerad: 2014-12-20 10:38
|
Hur kollar jag om en spelare är en viss typ? I mission.sqm kan man se:
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. |
|
|
|
Dahlgren |
Publicerat 2015-03-15 14:03
|
Överste
Inlägg: 1419
Registrerad: 2006-11-01 16:28
|
Du kan använda https://community.bistudio.com/wiki/i...i/isKindOf
|
|
|
|
Vargen |
Publicerat 2015-03-15 15:01
|
Sergeant
Inlägg: 55
Registrerad: 2014-12-20 10:38
|
Jag har kollat på det men förstår inte hur det skulle funka.
Kan jag skriva:
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. |
|
|
|
Dahlgren |
Publicerat 2015-03-15 15:14
|
Överste
Inlägg: 1419
Registrerad: 2006-11-01 16:28
|
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.
X = player isKindOf "B_engineer_F";
|
|
|
|
Vargen |
Publicerat 2015-03-15 16:30
|
Sergeant
Inlägg: 55
Registrerad: 2014-12-20 10:38
|
Här är en förklaring och raden som jag försöker få till längst ner:
/**
* 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. |
|
|
|
Dahlgren |
Publicerat 2015-03-15 16:58
|
Överste
Inlägg: 1419
Registrerad: 2006-11-01 16:28
|
Alla spelare som är av typen B_engineer_F kommer den vara true för lokalt
|
|
|
|
Vargen |
Publicerat 2015-03-15 17:32
|
Sergeant
Inlägg: 55
Registrerad: 2014-12-20 10:38
|
Jag får det inte att fungera....
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å. |
|
|
|
Dahlgren |
Publicerat 2015-03-15 18:27
|
Överste
Inlägg: 1419
Registrerad: 2006-11-01 16:28
|
lägg en boolsk OR-operator för eventuella andra klasser du vill stödja mer. du kan testa deras alternativa syntax med
X = vehicle player isKindOf "B_engineer_F";
|
|
|
|
xealot |
Publicerat 2015-03-16 14:30
|
Överstelöjtnant
Inlägg: 524
Registrerad: 2007-07-10 03:18
|
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
X = vehicle player isKindOf "B_engineer_F";
Eller
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.
|
|
|