Nhắc đến trò chơi đá gà trực tuyến, không thể không nhắc đến Đá Gà Thomo - một trong những trang cá cược hàng đầu cho những ai đam mê gà chọi. Và giờ đây, với sự hợp tác của nhà cái MCW, sẽ đem lại cho bạn trải nghiệm đá gà trực tuyến tại Thomo trở nên thú vị hơn bao giờ hết
Đá Gà Thomo không chỉ nổi tiếng với sự hấp dẫn của các trận đấu đá gà, mà còn được biết đến với sự đa dạng và phong phú về các trò chơi cờ bạc trực tuyến khác. Với sự kết hợp của công nghệ hiện đại và sự chuyên nghiệp trong phục vụ, đá gà Thomo mang lại cho người chơi trải nghiệm đỉnh cao và không thể quên.
Nhà cái MCW, với uy tín và kinh nghiệm lâu năm trong lĩnh vực cá cược trực tuyến, đã hợp tác cùng đá gà Thomo để mang đến cho người chơi một sân chơi đẳng cấp và an toàn nhất. Với sự đảm bảo về công bằng và minh bạch, MCW đem lại cho người chơi niềm tin tuyệt đối khi tham gia cá cược.
Việc hợp tác giữa Đá Gà Thomo và nhà cái MCW cũng mang lại nhiều lợi ích hấp dẫn cho người chơi. Không chỉ dễ dàng truy cập vào các trận đấu đá gà hàng ngày mà còn có cơ hội nhận các khuyến mãi và ưu đãi đặc biệt từ cả hai địa chỉ này.
Những người chơi tại nhà cái MCW có thể tham gia vào các trận đấu đá gà trực tuyến của Thomo một cách dễ dàng qua giao diện thân thiện và đơn giản. Không cần phải di chuyển đến các sàn đấu truyền thống, bạn có thể thưởng thức các trận đấu hấp dẫn ngay tại nhà mình chỉ với một chiếc điện thoại hoặc máy tính.
Đá Gà Thomo tại nhà cái MCW không chỉ là nơi để thể hiện khả năng dự đoán và may mắn, mà còn là nơi để tận hưởng niềm vui và sự thư giãn sau những giờ làm việc căng thẳng. Hãy tham gia ngay để trải nghiệm và khám phá những điều bất ngờ mà trò chơi này mang lại.
Trên đây là những điều đặc biệt và hấp dẫn khi kết hợp giữa Đá Gà Thomo và nhà cái MCW. Chắc chắn rằng, việc tham gia vào trò chơi này sẽ mang lại cho bạn những trải nghiệm đáng nhớ và không thể quên. Hãy đăng ký tài khoản ngay hôm nay để không bỏ lỡ cơ hội tham gia vào cuộc chơi và nhận các ưu đãi hấp dẫn!
Spot on it's working good now, thank you for your help! I will post some of it below for anyone who wants to take it and run with it, or make it more efficient as I take the painstaking brute force approach lol. Right now its 3x seperate functions. I think its a very lightweight and effective way to basically make your own "faction" with what Arma 3 gives you plus working in hidden textures. I have never been fully satisfied with vanilla A3 factions especially with the FIA, who in my mind should be scaled down akin to armed civilians, and I wanted some randomness. So Arma 3 being the best platform ever and with the help of the community I have it. You guys rock!
init.sqf
// detect and change all editor placed units
private _mapUnits = allUnits select {!isPlayer _x && _x isKindOf "CAManBase"};
{[_x] call CB_fnc_factionConfig;} forEach _mapUnits;
// add MEH to catch anything spawned
CB_MEH_factions = addMissionEventHandler ["EntityCreated", {
params ["_entity"];
if (_entity IsKindof 'CAManBase') then {[_entity] spawn CB_fnc_factionConfig};
}];
CB_fnc_factionConfig - directs the units to their assigned loadout function with a if/then. As many or as little as you need. Next I will post my FIA example
/*
Name: factionConfig
Author: Raider
Description: Removes AI equipment when spawned/detected and assigns a pre-defined loadout function based on faction. Used pieces of code from Beerkan / Larrow / pierremgi / Bohemia fourms
------> https://forums.bohemia.net/forums/topic/180646-list-of-all-hidden-texture-inits/
------> https://forums.bohemia.net/forums/topic/182390-how-to-turn-init-code-in-to-a-script/?tab=comments#comment-3528029
Known issues: Nothing for vehicles/aircraft. Naked units on the battlefield is your debug
Factions can be one of the following
West: "BLU_F" (NATO), "BLU_T_F" (NATO Pacific), "BLU_W_F" (NATO Woodland), "BLU_G_F" (FIA), "BLU_CTRG_F" (CTRG), BLU_GEN_F (BLUFOR Police)
East: "OPF_F" (CSAT), "OPF_G_F" (FIA), "OPF_T_F" (CSAT Tanoa), "OPF_R_F" (Spetznaz), "OPF_GEN_F" (OPFOR Police)
Guer: "IND_F" (AAF), "IND_E_F", (LDF) "IND_G_F" (FIA), "IND_C_F" (SYNDIKAT Tanoa), "IND_L_F" (Looters)
Civ: "CIV_F" (Civilians), "CIV_IDAP_F" (IDAP)
helpful -> if (faction _unit isEqualTo "FACTION AS A STRING" && _unit IsKindof 'CAManBase') then {YOUR SCRIPT/FUNCTION GOES HERE};
*/
// handles
private _unit = _this select 0;
if (isPlayer _unit) exitWith {};
//ignore special units with this variable
// factions to re-paint
if (faction _unit isEqualTo "BLU_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_BLUFORnato}; // standard NATO
if (faction _unit isEqualTo "BLU_CTRG_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_BLUFORspecops}; // CTRG
if (faction _unit isEqualTo "BLU_G_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_BLUFORion}; // FIA as IoN security
if (faction _unit isEqualTo "OPF_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_OPFORcsat}; // standard CSAT
if (faction _unit isEqualTo "OPF_R_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_OPFORspecops}; // Spetznaz as Viper guys
if (faction _unit isEqualTo "IND_G_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_INDFORfia}; // standard FIA
if (faction _unit isEqualTo "IND_C_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_INDFORspecops}; // Syndikat as common criminals
if (faction _unit isEqualTo "CIV_F" && _unit IsKindof 'CAManBase') then {[_unit] spawn CB_fnc_loadout_CIV}; // standard civ's
CB_fnc_loaddout_INDFORfia - Inside one of the loadouts, defined arrays and other miscellanious commands you can tweak or change. The end is the switch/case to get detailed control over individual classnames. Its ugly and painstaking but, it works!
/*
Name: INDFORfia
Author: Raider
Description: Custom loadout function
Known issues: Nothing for vehicles/aircraft
Helpful code:
selectRandomWeighted ["STRING", #, "STRING", #, "STRING", #]
bluforUnit linkItem "NVGoggles"
opforUnit linkItem "NVGoggles_OPFOR"
independentUnit linkItem "NVGoggles_INDEP"
addPrimaryWeaponItem "weapon attachment"
addHandgunItem "weapon attachment"
"acc_flashlight"
"acc_pointer_IR"
"acc_flashlight_pistol"
*/
// debug
// systemChat "FIA function worked";
// handles
private _unit = _this select 0;
private _side = side _unit;
private _unitType = typeOf _unit;
/* not used for FIA
// skills
_unit allowfleeing 0; // 0 = will never run away
_unit setskill ['aimingAccuracy',(0.3 + random 0.3)];
_unit setskill ['aimingShake',(0.3 + random 0.3)];
_unit setskill ['aimingSpeed',(0.3 + random 0.3)];
_unit setskill ['commanding',(0.3 + random 0.3)];
_unit setskill ['courage',1]; // 1 = John Wick (I was gonna say John Wayne but thats too old)
_unit setskill ['general',(0.3 + random 0.4)];
_unit setskill ['reloadSpeed',(0.3 + random 0.3)];
_unit setskill ['spotDistance',(0.2 + random 0.3)];
_unit setskill ['spotTime',(0.2 + random 0.3)];
// modifiers
_unit setUnitTrait ["audibleCoef", 0]; // 0 = silent ninja
_unit setUnitTrait ["camouflageCoef", 0]; // 0 = ghost assassin
_unit setUnitTrait ["loadCoef", 0]; // 0 = super human
*/
// all get naked
removeAllWeapons _unit;
removeAllItems _unit;
removeAllAssignedItems _unit;
removeUniform _unit;
removeVest _unit;
removeBackpack _unit;
removeHeadgear _unit;
removeGoggles _unit;
_unit unlinkItem hmd _unit;
sleep 0.1;
/* if you want to change ethnicity (European CSAT or Tanoan LDF for example), or give recon units camo faces
_faces = selectRandom
[
"WhiteHead_01",
"WhiteHead_05",
"WhiteHead_04",
"WhiteHead_06",
"WhiteHead_07",
"WhiteHead_08",
"AfricanHead_02",
"AsianHead_A3_02",
"AfricanHead_03",
"WhiteHead_09",
"WhiteHead_16",
"WhiteHead_11",
"WhiteHead_14",
"WhiteHead_15",
"AfricanHead_01",
"TanoanHead_A3_02",
"TanoanHead_A3_01",
"LivonianHead_5",
"WhiteHead_27",
"LivonianHead_3",
"WhiteHead_32"
];
_unit setFace _faces;
_reconFaces = selectRandom
[
"WhiteHead_22_a",
"WhiteHead_22_l",
"WhiteHead_22_sa",
"PersianHead_A3_04_sa",
"GreekHead_A3_10_l",
"GreekHead_A3_10_sa"
];
*/
_uniforms = selectRandomWeighted
[
"U_I_L_Uniform_01_tshirt_black_F", .5,
"U_I_L_Uniform_01_tshirt_olive_F", .5,
"U_I_L_Uniform_01_tshirt_skull_F", .5,
"U_I_L_Uniform_01_tshirt_sport_F", .5,
"U_C_Mechanic_01_F", .5,
"U_C_Poor_1", .5,
"U_IG_Guerilla1_1", .45,
"U_IG_Guerilla1_2_F", .45,
"U_C_Uniform_Farmer_01_F", .45,
"U_I_C_Soldier_Bandit_2_F", .4,
"U_I_C_Soldier_Bandit_5_F", .4,
"U_C_Man_casual_4_F", .35,
"U_C_Poloshirt_tricolour", .35,
"U_C_E_LooterJacket_01_F", .35
];
_unit forceAddUniform _uniforms;
//hidden textures
_fiaFatigues = selectRandom
[
"\a3\characters_f_gamma\Civil\Data\c_cloth1_black.paa",
"A3\Characters_F\Civil\Data\c_cloth1_kabeiroi_co.paa",
"A3\Characters_F\Civil\Data\c_cloth1_bandit_co.paa",
"A3\Characters_F\Civil\Data\poor_co.paa",
"A3\Characters_F\Civil\Data\poor_v2_co.paa"
];
// chance to be cool
_coolGuy = [1, 10] call BIS_fnc_randomInt;
if ((uniform _unit) == "U_IG_Guerilla1_1" && _coolGuy > 5) then
{_unit setObjectTextureGlobal [0, _fiaFatigues]; _unit setobjectTextureGlobal [1, "#(argb,8,8,3)color(0.33,0.31,0.24,0.3)"];
if (random 1 > 0.5) then
{
_unit setobjectTextureGlobal [1, "#(argb,8,8,3)color(0.33,0.31,0.24,0.3)"]; //Olive pants and boots
};
if (random 1 < 0.5) then
{
_unit setobjectTextureGlobal [1, "#(argb,8,8,3)color(0.1,0.1,0.1,0.3)"]; //Black pants and boots
};
};
//hidden textures
_farmerSlacks = selectRandom
[
"A3\Characters_F\Civil\Data\c_cloth1_bandit_co.paa",
"A3\Characters_F\Civil\Data\c_cloth1_co.paa",
"A3\Characters_F\Civil\Data\c_cloth1_kabeiroi_co.paa"
];
if ((uniform _unit) == "U_C_Uniform_Farmer_01_F") then {_unit setObjectTextureGlobal [0, _farmerSlacks]};
sleep 0.5;
_vests = selectRandom
[
"V_LegStrapBag_olive_F",
"V_LegStrapBag_coyote_F",
"V_LegStrapBag_black_F",
"V_Pocketed_black_F",
"V_Pocketed_coyote_F",
"V_Pocketed_olive_F",
"V_HarnessO_brn",
"V_HarnessO_gry",
"V_HarnessO_ghex_F"
];
_unit addVest _vests;
_leaderVest = selectRandom
[
"V_TacVest_camo",
"V_TacVest_blk",
"V_TacVest_brn"
];
_headgear = selectRandom
[
"H_Beret_blk",
"H_Bandanna_gry",
"H_Bandanna_blu",
"H_Bandanna_cbr",
"H_Booniehat_taiga",
"H_Booniehat_wdl",
"H_Booniehat_dgtl",
"H_Cap_blk",
"H_Cap_blu",
"H_Cap_red",
"H_Cap_tan",
"H_Cap_blk_Raven",
"H_Bandanna_camo"
];
_unit addHeadGear _headgear;
// chance for no headgear
_bald = [1, 10] call BIS_fnc_randomInt;
if (_bald > 5) then {removeHeadgear _unit};
//Leader gets sniper bait
if ((leader group _unit) isEqualto _unit) then {_unit addHeadGear "H_Bandanna_khk_hs";};
_mask = selectRandomWeighted
[
"G_Balaclava_oli",.5,
"G_Bandanna_shades",.5,
"G_Bandanna_blk",.5,
"G_Balaclava_Flecktarn",.5,
"G_Balaclava_Tropentarn",.5,
"G_Bandanna_tan",.5,
"G_Balaclava_BlueStrips",.45,
"G_Bandanna_sport",.45,
"G_Bandanna_khk",.45,
"G_Balaclava_blk",.45,
"G_Bandanna_beast",.45,
"G_Bandanna_shades",.45,
"G_Bandanna_BlueFlame1",.4,
"G_Bandanna_Syndikat1",.4,
"G_Bandanna_BlueFlame2",.4,
"G_Bandanna_oli",.4,
"G_Bandanna_OrangeFlame1",.4,
"G_Bandanna_RedFlame1",.4,
"G_Bandanna_Skull1",.4,
"G_Bandanna_Skull2",.4
];
_unit addGoggles _mask;
// chance for no facewear
_lame = [1, 10] call BIS_fnc_randomInt;
if (_lame < 5) then {removeGoggles _unit};
_authorizedEyePro = selectRandom ["G_Shades_Black", "G_Shades_Red"];
_authorizedSmallBag = selectRandom ["B_AssaultPack_dgtl", "B_Messenger_Black_F", "B_Messenger_Coyote_F"];
_authorizedMediumBag = selectRandom ["B_Kitbag_sgg", "B_TacticalPack_ocamo"];
_authorizedLargeBag = selectRandom ["B_Carryall_cbr", "B_Carryall_taiga_F"];
sleep 0.5;
// equipment common to all
_unit linkItem "ItemWatch";
_unit addItemToUniform "FirstAidKit";
/* nvgs not used for FIA
// _giveNVGs = sunOrMoon;
// if (_giveNVGs < 1) then {_unit linkItem "NVGoggles_OPFOR";};
// if (_giveNVGs > 1) then {_unit addGoggles _authorizedEyePro};
// _unit assignItem 'acc_flashlight';
*/
// basic weapons
_Gweapon = selectRandom
[
"arifle_AKM_F",
"arifle_AKS_F",
"arifle_AK12U_F",
"arifle_CTAR_blk_F"
];
_Gbeltfed = selectRandom
[
"LMG_03_F",
"arifle_RPK12_F"
];
/*
test with a small team first to get a feel for the vibe
I_G_Soldier_F - rifle
I_G_Soldier_TL_F - team lead
I_G_Soldier_AR_F - auto
I_G_Soldier_A_F - ammo bearer
I_G_Soldier_GL_F - grenadier
I_G_Soldier_SL_F - squad leader
*/
// second chance for clothes
if ((uniform _unit) == "") then {_unit forceAddUniform _uniforms};
sleep 0.5;
// class specific
switch _side do {
case independent: {
switch _unitType do {
case "I_G_Soldier_F": {
[_unit, _Gweapon , 6] call BIS_fnc_addWeapon;
_unit addItemToVest "HandGrenade";
};
case "I_G_Soldier_TL_F": {
[_unit, _Gweapon , 4] call BIS_fnc_addWeapon;
_unit linkItem "ItemRadio";
_unit addItemToVest "HandGrenade";
_unit addItemToVest "SmokeShellYellow";
};
case "I_G_Soldier_AR_F": {
[_unit, _Gbeltfed, 5] call BIS_fnc_addWeapon;
_unit addBackPack _authorizedSmallBag;
_unit addItemToVest "HandGrenade";
};
case "I_G_Soldier_A_F": {
[_unit, _Gweapon , 4] call BIS_fnc_addWeapon;
_unit addBackPack _authorizedLargeBag;
_unit addItemToVest "HandGrenade";
_unit addItemToBackpack "SmokeShellYellow";
for "_i" from 1 to 2 do {_unit addItemToBackpack "Chemlight_yellow";};
for "_i" from 1 to 2 do {_unit addItemToBackpack "HandGrenade";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "30Rnd_762x39_Mag_F";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "30Rnd_762x39_Mag_Green_F";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "75Rnd_762x39_Mag_F";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "75Rnd_762x39_Mag_Tracer_F";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "200Rnd_556x45_Box_F";};
for "_i" from 1 to 3 do {_unit addItemToBackpack "30Rnd_580x42_Mag_Tracer_F";};
};
case "I_G_Soldier_SL_F": {
_unit forceAddUniform "U_IG_leader";
_unit addVest _leaderVest;
_unit addWeapon "Binocular";
_unit linkItem "ItemMap";
_unit linkItem "ItemRadio";
_unit addItemToVest "HandGrenade";
_unit addItemToVest "SmokeShellYellow";
[_unit, _Gweapon , 4] call BIS_fnc_addWeapon;
};
case "I_G_Soldier_GL_F": {
_40mm = selectRandom
[
"V_HarnessOGL_gry",
"V_HarnessOGL_brn",
"V_HarnessOGL_ghex_F"
];
_unit addVest _40mm;
[_unit, "arifle_CTAR_GL_blk_F", 4] call BIS_fnc_addWeapon;
_unit addPrimaryWeaponItem "1Rnd_HE_Grenade_shell";
for "_i" from 1 to 6 do {_unit addItemToVest "1Rnd_HE_Grenade_shell";};
};
case "SOMECLASS": {
};
case "SOMECLASS": {
};
case "SOMECLASS": {
};
default {};
};
};
};
/* you could add weapon lights at night
_giveLights = sunOrMoon;
if (_giveLights < 1) then {_unit addPrimaryWeaponItem "acc_flashlight"; removeGoggles _unit};
*/