Skip to content

Instantly share code, notes, and snippets.

@danthedaniel
Last active February 9, 2023 13:21
Show Gist options
  • Save danthedaniel/8c20f5c5582e84f7fd6c64a9a2247423 to your computer and use it in GitHub Desktop.
Save danthedaniel/8c20f5c5582e84f7fd6c64a9a2247423 to your computer and use it in GitHub Desktop.
DayZ SA Init Script - PvP Classes
void main()
{
Hive ce = CreateHive();
if (ce)
ce.InitOffline();
Weather weather = g_Game.GetWeather();
weather.GetOvercast().SetLimits(0.0, 1.0);
weather.GetRain().SetLimits(0.0, 1.0);
weather.GetFog().SetLimits(0.0, 0.25);
weather.GetOvercast().SetForecastChangeLimits(0.0, 0.2);
weather.GetRain().SetForecastChangeLimits(0.0, 0.1);
weather.GetFog().SetForecastChangeLimits(0.15, 0.45);
weather.GetOvercast().SetForecastTimeLimits(1800, 1800);
weather.GetRain().SetForecastTimeLimits(600, 600);
weather.GetFog().SetForecastTimeLimits(1800, 1800);
weather.GetOvercast().Set(Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
weather.GetRain().Set(Math.RandomFloatInclusive(0.0, 0.2), 0, 0);
weather.GetFog().Set(Math.RandomFloatInclusive(0.0, 0.1), 0, 0);
weather.SetWindMaximumSpeed(15);
weather.SetWindFunctionParams(0.1, 0.3, 50);
}
class CustomMission: MissionServer
{
override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
{
Entity playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");
Class.CastTo(m_player, playerEnt);
GetGame().SelectPlayer(identity, m_player);
return m_player;
}
void addMags(PlayerBase player, string mag_type, int count)
{
if (count < 1)
return;
EntityAI mag;
for (int i = 0; i < count; i++) {
mag = player.GetInventory().CreateInInventory(mag_type);
}
player.SetQuickBarEntityShortcut(mag, 1, true);
}
EntityAI assaultClass(PlayerBase player)
{
EntityAI gun = player.GetHumanInventory().CreateInHands("M4A1");
gun.GetInventory().CreateAttachment("M4_RISHndgrd_Black");
gun.GetInventory().CreateAttachment("M4_MPBttstck_Black");
gun.GetInventory().CreateAttachment("ACOGOptic");
addMags(player, "Mag_STANAG_30Rnd", 3);
return gun;
}
EntityAI sniperClass(PlayerBase player)
{
EntityAI gun = player.GetHumanInventory().CreateInHands("SVD");
gun.GetInventory().CreateAttachment("PSO1Optic");
addMags(player, "Mag_SVD_10Rnd", 3);
return gun;
}
EntityAI smgClass(PlayerBase player)
{
EntityAI gun = player.GetHumanInventory().CreateInHands("UMP45");
gun.GetInventory().CreateAttachment("PistolSuppressor");
addMags(player, "Mag_UMP_25Rnd", 3);
return gun;
}
override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
player.RemoveAllItems();
player.GetInventory().CreateInInventory("TTSKOPants");
player.GetInventory().CreateInInventory("TTsKOJacket_Camo");
player.GetInventory().CreateInInventory("CombatBoots_Black");
player.GetInventory().CreateInInventory("ImprovisedBag");
player.GetInventory().CreateInInventory("SodaCan_Pipsi");
player.GetInventory().CreateInInventory("SpaghettiCan");
player.GetInventory().CreateInInventory("HuntingKnife");
ItemBase rags = player.GetInventory().CreateInInventory("Rag");
rags.SetQuantity(4);
EntityAI primary;
EntityAI axe = player.GetInventory().CreateInInventory("FirefighterAxe");
switch (Math.RandomInt(0, 3)) {
case 0: primary = assaultClass(player); break;
case 1: primary = sniperClass(player); break;
case 2: primary = smgClass(player); break;
}
player.LocalTakeEntityToHands(primary);
player.SetQuickBarEntityShortcut(primary, 0, true);
player.SetQuickBarEntityShortcut(rags, 2, true);
player.SetQuickBarEntityShortcut(axe, 3, true);
}
};
Mission CreateCustomMission(string path)
{
return new CustomMission();
}
@abrand67
Copy link

Using this init.c I spawn with all items EXCEPT the gun, no matter the class. I'm running v1.0. Like burns1972 I'm new to this as well.

Any suggestions?
Thanks,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment