├── .gitattributes ├── .gitignore ├── CREDITS.md ├── Jenkinsfile ├── LICENSE.md ├── README.md ├── Server_Install_Pack ├── @epochhive │ ├── EpochServer.dll │ ├── EpochServer.ini │ ├── EpochServer_x64.dll │ ├── README.md │ ├── addons │ │ ├── Epoch_server_RyanZ_Spawner.pbo │ │ ├── epoch_server.pbo │ │ ├── epoch_server_core.pbo │ │ ├── epoch_server_debris_event.pbo │ │ ├── epoch_server_events.pbo │ │ ├── epoch_server_settings.pbo │ │ └── epoch_server_vip_event.pbo │ ├── epochah.hpp │ ├── epochconfig.hpp │ ├── epochserver.so │ └── epochserver_x64.so ├── DB │ ├── README.md │ ├── Redis-License.txt │ ├── redis-example.conf │ ├── redis-server.exe │ ├── redis.conf │ └── start-redis.cmd ├── INSTALL.txt ├── LICENSE.txt ├── README.txt ├── Tools │ └── log-rotator.cmd ├── epoch_linux_startscript.sh ├── mpmissions │ ├── epoch.Altis.pbo │ ├── epoch.Australia.pbo │ ├── epoch.Bootcamp_ACR.pbo │ ├── epoch.Bornholm.pbo │ ├── epoch.Chernarus.pbo │ ├── epoch.ChernarusRedux.pbo │ ├── epoch.Chernarus_Summer.pbo │ ├── epoch.Desert_E.pbo │ ├── epoch.Enoch.pbo │ ├── epoch.Esseker.pbo │ ├── epoch.IslaDuala3.pbo │ ├── epoch.Kapaulio.pbo │ ├── epoch.Malden.pbo │ ├── epoch.Mountains_ACR.pbo │ ├── epoch.Napf.pbo │ ├── epoch.Panthera3.pbo │ ├── epoch.Porto.pbo │ ├── epoch.ProvingGrounds_PMC.pbo │ ├── epoch.Sara.pbo │ ├── epoch.SaraLite.pbo │ ├── epoch.Sara_dbe1.pbo │ ├── epoch.Shapur_BAF.pbo │ ├── epoch.Stratis.pbo │ ├── epoch.Takistan.pbo │ ├── epoch.Tanoa.pbo │ ├── epoch.VR.pbo │ ├── epoch.Winthera3.pbo │ ├── epoch.Woodland_ACR.pbo │ ├── epoch.Zargabad.pbo │ ├── epoch._ChangeMe.pbo │ ├── epoch.abramia.pbo │ ├── epoch.dingor.pbo │ ├── epoch.lingor3.pbo │ ├── epoch.utes.pbo │ └── epoch_RyanZed.Tanoa.pbo ├── restartserver_x64-example.bat ├── sc │ ├── basic-example.cfg │ ├── battleye │ │ ├── addbackpackcargo.txt │ │ ├── addmagazinecargo.txt │ │ ├── addweaponcargo.txt │ │ ├── attachto.txt │ │ ├── createvehicle.txt │ │ ├── deleteVehicle.txt │ │ ├── example-beserver.cfg │ │ ├── example-beserver_x64.cfg │ │ ├── mpeventhandler.txt │ │ ├── publicvariable.txt │ │ ├── publicvariableval.txt │ │ ├── remotecontrol.txt │ │ ├── remoteexec.txt │ │ ├── scripts.txt │ │ ├── selectplayer.txt │ │ ├── setdamage.txt │ │ ├── setpos.txt │ │ ├── setvariable.txt │ │ ├── setvariableval.txt │ │ ├── teamswitch.txt │ │ ├── waypointcondition.txt │ │ └── waypointstatement.txt │ ├── server-example.cfg │ └── users │ │ └── sc │ │ └── sc.arma3profile ├── servermonitor-example.bat └── start-A3-cmd-line-example.txt ├── Sources ├── Epoch_server_RyanZ_Spawner │ ├── $PREFIX$ │ ├── PboPrefix.txt │ ├── ZedSpawner │ │ ├── Epoch_ZombieSpawn.sqf │ │ └── Epoch_ZombieSpawnConfig.hpp │ ├── config.cpp │ └── fn_init.sqf ├── description.ext ├── epoch_code │ ├── System │ │ ├── EPOCH_zombie_brain.fsm │ │ ├── EPOCH_zombie_walking.fsm │ │ ├── dummy.sqf │ │ ├── player_login.fsm │ │ └── task_control.fsm │ ├── compile │ │ ├── EPOCH_AutoRun.sqf │ │ ├── EPOCH_AutoRun_Check.sqf │ │ ├── EPOCH_CamUse.sqf │ │ ├── EPOCH_DefibrillatorUse.sqf │ │ ├── EPOCH_DefuseBomb.sqf │ │ ├── EPOCH_EnterBuilding.sqf │ │ ├── EPOCH_LootIT.sqf │ │ ├── EPOCH_PlayerStatsDialog.sqf │ │ ├── EPOCH_PutHandler.sqf │ │ ├── EPOCH_QuickTakeAll.sqf │ │ ├── EPOCH_QuickTakeLoad.sqf │ │ ├── EPOCH_ServerStatsDialog.sqf │ │ ├── EPOCH_SpawnTraderMiltia.sqf │ │ ├── EPOCH_UnisexCheck.sqf │ │ ├── EPOCH_callSapperMigration.sqf │ │ ├── EPOCH_chopWood.sqf │ │ ├── EPOCH_consumeItem.sqf │ │ ├── EPOCH_effectCrypto.sqf │ │ ├── EPOCH_fish.sqf │ │ ├── EPOCH_handleServerMessage.sqf │ │ ├── EPOCH_interact.sqf │ │ ├── EPOCH_localCleanup.sqf │ │ ├── EPOCH_lootTrash.sqf │ │ ├── EPOCH_makeMarker.sqf │ │ ├── EPOCH_mineRocks.sqf │ │ ├── EPOCH_niteLight.sqf │ │ ├── EPOCH_onEachFrame.sqf │ │ ├── EPOCH_removeMarker.sqf │ │ ├── EPOCH_supportCopter.sqf │ │ ├── EPOCH_unitSpawn.sqf │ │ ├── EPOCH_unitSpawnDecrease.sqf │ │ ├── EPOCH_unitSpawnIncrease.sqf │ │ ├── EPOCH_unit_onKilledEH.sqf │ │ ├── EPOCH_updateLoadingScreen.sqf │ │ ├── EPOCH_zombieSpawn.sqf │ │ ├── bis_functions │ │ │ └── returnVector.sqf │ │ ├── both │ │ │ ├── EPOCH_compiler.sqf │ │ │ ├── EPOCH_isAny.sqf │ │ │ ├── EPOCH_itemDisplayName.sqf │ │ │ └── EPOCH_weightedArray.sqf │ │ ├── building │ │ │ ├── EPOCH_changeWallState.sqf │ │ │ ├── EPOCH_checkBuild.sqf │ │ │ ├── EPOCH_countdown.sqf │ │ │ ├── EPOCH_fnc_SelectTargetBuild.sqf │ │ │ ├── EPOCH_isBuildAllowed.sqf │ │ │ ├── EPOCH_lockCheck.sqf │ │ │ ├── EPOCH_maintainIT.sqf │ │ │ ├── EPOCH_removeBUILD.sqf │ │ │ ├── EPOCH_simulSwap.sqf │ │ │ ├── EPOCH_staticMove.sqf │ │ │ └── EPOCH_upgradeBUILD.sqf │ │ ├── environment │ │ │ ├── EPOCH_client_bitePlayer.sqf │ │ │ ├── EPOCH_client_earthQuake.sqf │ │ │ └── EPOCH_client_loadAnimalBrain.sqf │ │ ├── event_handlers │ │ │ ├── EPOCH_HandleDamage.sqf │ │ │ ├── EPOCH_InventoryClosed.sqf │ │ │ ├── EPOCH_InventoryOpened.sqf │ │ │ ├── EPOCH_getInMan.sqf │ │ │ └── EPOCH_getOutMan.sqf │ │ ├── functions │ │ │ ├── EPOCH_client_updatePlayerStat.sqf │ │ │ ├── EPOCH_colorRange.sqf │ │ │ ├── EPOCH_convertTemp.sqf │ │ │ ├── EPOCH_fn_returnConfigEntryV2.sqf │ │ │ ├── EPOCH_fnc_AnimateScheduled.sqf │ │ │ ├── EPOCH_fnc_SetFinalDir.sqf │ │ │ ├── EPOCH_fnc_addItemOverflow.sqf │ │ │ ├── EPOCH_fnc_addMagazineOverflow.sqf │ │ │ ├── EPOCH_fnc_arrayStringToBool.sqf │ │ │ ├── EPOCH_fnc_arrayToLogic.sqf │ │ │ ├── EPOCH_fnc_createLocalMarkerSet.sqf │ │ │ ├── EPOCH_fnc_cursorTarget.sqf │ │ │ ├── EPOCH_fnc_deleteLocalMarkerSet.sqf │ │ │ ├── EPOCH_fnc_dirToFuzzy.sqf │ │ │ ├── EPOCH_fnc_dynamicFSM.sqf │ │ │ ├── EPOCH_fnc_findRandomPosBehind.sqf │ │ │ ├── EPOCH_fnc_findSafePos.sqf │ │ │ ├── EPOCH_fnc_findSapperStalkLocation.sqf │ │ │ ├── EPOCH_fnc_getHitPointsDamageAverage.sqf │ │ │ ├── EPOCH_fnc_isInsideBuilding.sqf │ │ │ ├── EPOCH_fnc_playerAttachToAntagonist.sqf │ │ │ ├── EPOCH_fnc_playerDeath.sqf │ │ │ ├── EPOCH_fnc_playerDeathDetonate.sqf │ │ │ ├── EPOCH_fnc_playerDeathMorph.sqf │ │ │ ├── EPOCH_fnc_playerFired.sqf │ │ │ ├── EPOCH_fnc_playerSetVariable.sqf │ │ │ ├── EPOCH_fnc_returnHudVar.sqf │ │ │ ├── EPOCH_fnc_setVariableLimited.sqf │ │ │ ├── EPOCH_fnc_spawnEffects.sqf │ │ │ ├── EPOCH_fnc_stringLeft.sqf │ │ │ ├── EPOCH_fnc_triggerAntagonist.sqf │ │ │ ├── EPOCH_fnc_vectorDivide.sqf │ │ │ ├── EPOCH_giveAttributes.sqf │ │ │ ├── EPOCH_itemData.sqf │ │ │ ├── EPOCH_itemDisplayName.sqf │ │ │ ├── EPOCH_itemPicture.sqf │ │ │ ├── EPOCH_returnConfig.sqf │ │ │ ├── EPOCH_returnConfigV2.sqf │ │ │ ├── EPOCH_worldObjectType.sqf │ │ │ └── Epoch_SortArrayByDistance.sqf │ │ ├── interface_event_handlers │ │ │ ├── EPOCH_KeyDown.sqf │ │ │ ├── EPOCH_KeyUp.sqf │ │ │ ├── EPOCH_handleUIActions.sqf │ │ │ └── EPOCH_onChar.sqf │ │ ├── inventory │ │ │ ├── EPOCH_CryptoButtons.sqf │ │ │ ├── EPOCH_ReloadLoadout.sqf │ │ │ ├── EPOCH_SetUnitLoadout.sqf │ │ │ ├── EPOCH_equip.sqf │ │ │ ├── EPOCH_factorArmor.sqf │ │ │ ├── EPOCH_gearArmorCalc.sqf │ │ │ ├── EPOCH_initUI.sqf │ │ │ ├── EPOCH_itemInteractClick.sqf │ │ │ ├── EPOCH_itemInteractDblClick.sqf │ │ │ ├── EPOCH_itemTypeSlot.sqf │ │ │ ├── EPOCH_maxArmorInit.sqf │ │ │ ├── EPOCH_refeshUI.sqf │ │ │ ├── EPOCH_selectInventoryItem.sqf │ │ │ ├── EPOCH_uniformArmorCalc.sqf │ │ │ └── EPOCH_usedItemRepack.sqf │ │ ├── missions │ │ │ ├── EPOCH_mission_accept.sqf │ │ │ ├── EPOCH_mission_cage_sapper.sqf │ │ │ ├── EPOCH_mission_returnObj.sqf │ │ │ ├── EPOCH_spawn_construct.sqf │ │ │ ├── EPOCH_spawn_looters.sqf │ │ │ └── tasks │ │ │ │ ├── mission_spawnUAV.sqf │ │ │ │ ├── traderDebug_resetMissions.sqf │ │ │ │ ├── traderDiag_name.sqf │ │ │ │ ├── traderDiag_nearPlayers.sqf │ │ │ │ ├── traderDiag_nearVehicles.sqf │ │ │ │ ├── traderDiag_news.sqf │ │ │ │ ├── traderDiag_timePlease.sqf │ │ │ │ └── traderDiag_triggerAirDrop.sqf │ │ ├── p2p_trading │ │ │ ├── EPOCH_TradeLoop.sqf │ │ │ ├── EPOCH_makep2pTrade.sqf │ │ │ ├── EPOCH_startTRADEREQ.sqf │ │ │ ├── EPOCH_startTrade.sqf │ │ │ └── EPOCH_tradeRequest.sqf │ │ ├── servicepoint │ │ │ ├── EPOCH_SP_Check.sqf │ │ │ ├── EPOCH_SP_Rearm.sqf │ │ │ ├── EPOCH_SP_Refuel.sqf │ │ │ ├── EPOCH_SP_Repair.sqf │ │ │ └── EPOCH_SP_Start.sqf │ │ ├── setup │ │ │ ├── EPOCH_clientInit.sqf │ │ │ ├── EPOCH_clientKeyMap.sqf │ │ │ ├── EPOCH_clientRespawn.sqf │ │ │ ├── EPOCH_clientRevive.sqf │ │ │ ├── EPOCH_client_rejectPlayer.sqf │ │ │ ├── EPOCH_masterLoop.sqf │ │ │ └── masterLoop │ │ │ │ ├── Event0.sqf │ │ │ │ ├── Event1.sqf │ │ │ │ ├── Event2.sqf │ │ │ │ ├── Event3.sqf │ │ │ │ ├── Event4.sqf │ │ │ │ ├── Event5.sqf │ │ │ │ ├── Event6.sqf │ │ │ │ ├── Event7.sqf │ │ │ │ ├── Event8.sqf │ │ │ │ ├── Event9.sqf │ │ │ │ └── init.sqf │ │ ├── traders │ │ │ ├── EPOCH_NPCTraderMenuFilter.sqf │ │ │ ├── EPOCH_NpcTrade_return.sqf │ │ │ ├── EPOCH_calcDamageCost.sqf │ │ │ ├── EPOCH_npcTraderAdd.sqf │ │ │ ├── EPOCH_npcTraderAdd2.sqf │ │ │ ├── EPOCH_npcTraderAdd3.sqf │ │ │ ├── EPOCH_startBankTransfer.sqf │ │ │ ├── EPOCH_startInteract.sqf │ │ │ ├── EPOCH_startInteractNPC.sqf │ │ │ ├── EPOCH_startNPCTraderMenu.sqf │ │ │ ├── EPOCH_startNpcTrade.sqf │ │ │ └── EPOCH_takeCrypto.sqf │ │ └── vehicles │ │ │ ├── EPOCH_client_VehicleMaintananceCheck.sqf │ │ │ ├── EPOCH_client_VehicleMaintananceDo.sqf │ │ │ ├── EPOCH_client_fillVehicle.sqf │ │ │ ├── EPOCH_client_gearVehicle.sqf │ │ │ ├── EPOCH_client_lockVehicle.sqf │ │ │ ├── EPOCH_client_repairVehicle.sqf │ │ │ ├── EPOCH_client_upgradeVehicle.sqf │ │ │ ├── EPOCH_client_upgradeVehicleCheck.sqf │ │ │ ├── EPOCH_vehicle_ChangeLicensePlate.sqf │ │ │ ├── EPOCH_vehicle_Paintgarage.sqf │ │ │ ├── EPOCH_vehicle_checkTurretAmmo.sqf │ │ │ └── EPOCH_vehicle_removeTurretAmmo.sqf │ ├── customs │ │ ├── EPOCH_custom_EH_FiredMan.sqf │ │ ├── EPOCH_custom_EH_FiredNear.sqf │ │ ├── EPOCH_custom_EH_GetInMan.sqf │ │ ├── EPOCH_custom_EH_GetOutMan.sqf │ │ ├── EPOCH_custom_EH_HandleDamage.sqf │ │ ├── EPOCH_custom_EH_Hit.sqf │ │ ├── EPOCH_custom_EH_InventoryClosed.sqf │ │ ├── EPOCH_custom_EH_InventoryOpened.sqf │ │ ├── EPOCH_custom_EH_KeyDown.sqf │ │ ├── EPOCH_custom_EH_KeyUp.sqf │ │ ├── EPOCH_custom_EH_Killed.sqf │ │ ├── EPOCH_custom_EH_Put.sqf │ │ ├── EPOCH_custom_EH_SeatSwitchedMan.sqf │ │ ├── EPOCH_custom_EH_Take.sqf │ │ ├── EPOCH_custom_KeyMap.sqf │ │ ├── EPOCH_custom_OnEachFrame.sqf │ │ ├── EPOCH_custom_radioActions.sqf │ │ └── E_Pad │ │ │ ├── BlockedAreas.sqf │ │ │ ├── ServerContacts.html │ │ │ ├── ServerInfos.html │ │ │ ├── ServerRules.html │ │ │ ├── ServerSettings.html │ │ │ ├── traderDiag_nearPlayers.sqf │ │ │ ├── traderDiag_nearVehicles.sqf │ │ │ ├── traderDiag_news.sqf │ │ │ └── web.sqf │ ├── gui │ │ └── scripts │ │ │ ├── EPOCH_InterruptConfig.sqf │ │ │ ├── EPOCH_InterruptConfigActions.sqf │ │ │ ├── Epoch_3DctrlPitchYaw.sqf │ │ │ ├── Epoch_3DctrlSpin.sqf │ │ │ ├── Epoch_3DctrlYaw.sqf │ │ │ ├── Epoch_genderSelection.sqf │ │ │ ├── Epoch_getColorScheme.sqf │ │ │ ├── Epoch_getIDC.sqf │ │ │ ├── Epoch_guiObjHP.sqf │ │ │ ├── Epoch_onPause.sqf │ │ │ ├── Epoch_secureStorageHandler.sqf │ │ │ ├── Epoch_showStats.sqf │ │ │ ├── animations │ │ │ ├── Epoch_2DCtrlHeartbeat.sqf │ │ │ └── Epoch_2DCtrlShake.sqf │ │ │ ├── config │ │ │ └── Epoch_config_keymap.sqf │ │ │ ├── craftingv2 │ │ │ ├── EPOCH_crafting_LB_click.sqf │ │ │ ├── EPOCH_crafting_LB_defaults.sqf │ │ │ ├── EPOCH_crafting_LB_doubleClick.sqf │ │ │ ├── EPOCH_crafting_animate.sqf │ │ │ ├── EPOCH_crafting_checkGear.sqf │ │ │ ├── EPOCH_crafting_checkNearby.sqf │ │ │ ├── EPOCH_crafting_checkResources.sqf │ │ │ ├── EPOCH_crafting_colorScheme.sqf │ │ │ ├── EPOCH_crafting_craft.sqf │ │ │ ├── EPOCH_crafting_ctrl_collector.sqf │ │ │ ├── EPOCH_crafting_dev_toggle.sqf │ │ │ ├── EPOCH_crafting_getConfig.sqf │ │ │ ├── EPOCH_crafting_load.sqf │ │ │ ├── EPOCH_crafting_progress.sqf │ │ │ └── EPOCH_crafting_unload.sqf │ │ │ ├── dynamenu │ │ │ ├── Epoch_dynamicMenu.sqf │ │ │ ├── Epoch_dynamicMenuCleanup.sqf │ │ │ └── Epoch_dynamicMenuPopulate.sqf │ │ │ ├── dynamicHUD │ │ │ ├── epoch_dynamicHUD_adjust.sqf │ │ │ ├── epoch_dynamicHUD_loadSave.sqf │ │ │ ├── epoch_dynamicHUD_start.sqf │ │ │ └── epoch_getHUDCtrl.sqf │ │ │ ├── e_pad │ │ │ ├── EPOCH_EPad_Reset.sqf │ │ │ ├── EPOCH_EPad_clearscreen.sqf │ │ │ ├── EPOCH_EPad_dialog.sqf │ │ │ └── EPOCH_SaveVarsToProfile.sqf │ │ │ ├── epoch_dragControl.sqf │ │ │ ├── favBar │ │ │ ├── epoch_favBar_action.sqf │ │ │ ├── epoch_favBar_draw.sqf │ │ │ ├── epoch_favBar_drawCurrent.sqf │ │ │ ├── epoch_favBar_getGearItem.sqf │ │ │ ├── epoch_favBar_getItemByIDC.sqf │ │ │ ├── epoch_favBar_inventory.sqf │ │ │ ├── epoch_favBar_modifier.sqf │ │ │ └── epoch_favBar_refresh.sqf │ │ │ ├── geiger │ │ │ ├── epoch_geiger_animate.sqf │ │ │ ├── epoch_geiger_show_hide.sqf │ │ │ └── epoch_geiger_simulate.sqf │ │ │ ├── group │ │ │ ├── EPOCH_Group_BtnInvite.sqf │ │ │ ├── EPOCH_Group_BtnKick.sqf │ │ │ ├── EPOCH_Group_BtnLeave.sqf │ │ │ ├── EPOCH_Group_BtnMod.sqf │ │ │ ├── EPOCH_Group_Combo.sqf │ │ │ ├── EPOCH_Group_List.sqf │ │ │ ├── EPOCH_Group_invitePlayer.sqf │ │ │ ├── EPOCH_Group_onLoad.sqf │ │ │ ├── EPOCH_Group_update.sqf │ │ │ ├── EPOCH_cGroup_BtnCreate.sqf │ │ │ ├── EPOCH_cGroup_groupText.sqf │ │ │ ├── EPOCH_cGroup_onLoad.sqf │ │ │ ├── EPOCH_iGroup_acceptInvite.sqf │ │ │ ├── EPOCH_iGroup_onLoad.sqf │ │ │ └── EPOCH_iGroup_refresh.sqf │ │ │ ├── groupTemp │ │ │ ├── EPOCH_cTempGroup_BtnCreate.sqf │ │ │ ├── EPOCH_cTempGroup_onLoad.sqf │ │ │ ├── EPOCH_iTempGroup_acceptInvite.sqf │ │ │ ├── EPOCH_iTempGroup_onLoad.sqf │ │ │ ├── EPOCH_iTempGroup_refresh.sqf │ │ │ ├── EPOCH_tempGroup_BtnInvite.sqf │ │ │ ├── EPOCH_tempGroup_BtnKick.sqf │ │ │ ├── EPOCH_tempGroup_BtnLeave.sqf │ │ │ ├── EPOCH_tempGroup_BtnMod.sqf │ │ │ ├── EPOCH_tempGroup_Combo.sqf │ │ │ ├── EPOCH_tempGroup_List.sqf │ │ │ ├── EPOCH_tempGroup_invitePlayer.sqf │ │ │ ├── EPOCH_tempGroup_onLoad.sqf │ │ │ └── EPOCH_tempGroup_update.sqf │ │ │ ├── inventory │ │ │ ├── EPOCH_Inventory_Group.sqf │ │ │ ├── EPOCH_Inventory_iGroup.sqf │ │ │ ├── EPOCH_Inventory_itempGroup.sqf │ │ │ └── EPOCH_Inventory_tempGroup.sqf │ │ │ ├── messaging │ │ │ ├── Epoch_message.sqf │ │ │ ├── Epoch_message_old1.sqf │ │ │ ├── Epoch_message_old2.sqf │ │ │ └── Epoch_message_stack.sqf │ │ │ ├── missions │ │ │ ├── EPOCH_mission_description.sqf │ │ │ └── EPOCH_mission_refresh.sqf │ │ │ ├── post_process │ │ │ ├── EPOCH_postprocessAdjust.sqf │ │ │ ├── EPOCH_postprocessCreate.sqf │ │ │ ├── EPOCH_postprocessDestroy.sqf │ │ │ ├── Epoch_setDrunk.sqf │ │ │ └── Epoch_setRadiation.sqf │ │ │ └── worldToScreen │ │ │ ├── Epoch_gui3DCooldown.sqf │ │ │ ├── Epoch_gui3DCooldownEH.sqf │ │ │ ├── Epoch_gui3DModelPos.sqf │ │ │ ├── Epoch_gui3DModelPosEH.sqf │ │ │ ├── Epoch_gui3DWorldPos.sqf │ │ │ └── Epoch_gui3DWorldPosEH.sqf │ ├── init │ │ ├── both_init.sqf │ │ ├── client_init.sqf │ │ ├── fn_init.sqf │ │ └── fn_postinit.sqf │ └── license.txt ├── epoch_config │ ├── Configs │ │ ├── CfgActionMenu │ │ │ ├── CfgActionMenu_core.hpp │ │ │ ├── CfgActionMenu_map.hpp │ │ │ ├── CfgActionMenu_self.hpp │ │ │ ├── CfgActionMenu_target.hpp │ │ │ └── EXAMPLE.hpp │ │ ├── CfgBaseBuilding.hpp │ │ ├── CfgBlackMarket.hpp │ │ ├── CfgBuildingLootPos.hpp │ │ ├── CfgClientFunctions.hpp │ │ ├── CfgCrafting.hpp │ │ ├── CfgDisabledCommands.hpp │ │ ├── CfgDynamicHUD.hpp │ │ ├── CfgEPad.hpp │ │ ├── CfgEpochClient.hpp │ │ ├── CfgEpochClient │ │ │ ├── Altis.hpp │ │ │ ├── Bornholm.hpp │ │ │ ├── Chernarus.hpp │ │ │ ├── ChernarusRedux.hpp │ │ │ ├── Chernarus_Summer.hpp │ │ │ ├── Enoch.hpp │ │ │ ├── Esseker.hpp │ │ │ ├── Malden.hpp │ │ │ ├── ProvingGrounds_PMC.hpp │ │ │ ├── Sara.hpp │ │ │ ├── SaraLite.hpp │ │ │ ├── Sara_dbe1.hpp │ │ │ ├── Stratis.hpp │ │ │ ├── Tanoa.hpp │ │ │ ├── WorldInteractions.hpp │ │ │ ├── Zargabad.hpp │ │ │ ├── australia.hpp │ │ │ ├── takistan.hpp │ │ │ ├── utes.hpp │ │ │ └── vr.hpp │ │ ├── CfgEpochConfiguration.hpp │ │ ├── CfgFunctions.hpp │ │ ├── CfgItemInteractions.hpp │ │ ├── CfgItemSort.hpp │ │ ├── CfgMarkerSets.hpp │ │ ├── CfgMasterLoop.hpp │ │ ├── CfgMissions.hpp │ │ ├── CfgMissions │ │ │ ├── CfgDocCheck.hpp │ │ │ ├── CfgExample.hpp │ │ │ ├── CfgTraderDiags.hpp │ │ │ ├── CfgmissionDelivery.hpp │ │ │ ├── CfgmissionFish.hpp │ │ │ ├── CfgmissionMilitary.hpp │ │ │ ├── CfgmissionMonster.hpp │ │ │ └── CfgmissionUav.hpp │ │ ├── CfgMissionsTasks.hpp │ │ ├── CfgObjectInteractions.hpp │ │ ├── CfgPainting.hpp │ │ ├── CfgPricing.hpp │ │ ├── CfgReadingDocuments.hpp │ │ ├── CfgRemoteExec.hpp │ │ ├── CfgSay3Dhandler.hpp │ │ ├── CfgServicePoint.hpp │ │ ├── CfgSnapChecks.hpp │ │ ├── CfgSwitchMovehandler.hpp │ │ ├── CfgTraderMissions.hpp │ │ └── CfgVehicleUpgrades.hpp │ ├── build.hpp │ ├── license.txt │ └── sandbox_config.hpp ├── epoch_server │ ├── $PREFIX$ │ ├── build.hpp │ ├── compile │ │ ├── epoch_antagonists │ │ │ ├── EPOCH_server_handle_sapperObjs.sqf │ │ │ ├── EPOCH_server_handle_say3D.sqf │ │ │ ├── EPOCH_server_handle_switchMove.sqf │ │ │ ├── EPOCH_server_triggerAntagonist.sqf │ │ │ └── EPOCH_server_triggerEvent.sqf │ │ ├── epoch_bases │ │ │ ├── EPOCH_saveBuilding.sqf │ │ │ ├── EPOCH_server_changeOwner.sqf │ │ │ ├── EPOCH_server_loadBuildings.sqf │ │ │ ├── EPOCH_server_maintBUILD.sqf │ │ │ ├── EPOCH_server_paintBUILD.sqf │ │ │ ├── EPOCH_server_removeBUILD.sqf │ │ │ ├── EPOCH_server_saveBuilding.sqf │ │ │ ├── EPOCH_server_simToStatic.sqf │ │ │ ├── EPOCH_server_simulSwap.sqf │ │ │ ├── EPOCH_server_unsuppported.sqf │ │ │ ├── EPOCH_server_upgradeBUILD.sqf │ │ │ └── EPOCH_swapBuilding.sqf │ │ ├── epoch_group │ │ │ ├── EPOCH_server_createGroup.sqf │ │ │ ├── EPOCH_server_deleteGroup.sqf │ │ │ ├── EPOCH_server_invitePlayer.sqf │ │ │ ├── EPOCH_server_updatePlayerGroup.sqf │ │ │ └── EPOCH_server_upgradeGroup.sqf │ │ ├── epoch_grouptemp │ │ │ ├── EPOCH_server_createTempGroup.sqf │ │ │ ├── EPOCH_server_deleteTempGroup.sqf │ │ │ ├── EPOCH_server_invitePlayerTempGroup.sqf │ │ │ ├── EPOCH_server_updatePlayerTempGroup.sqf │ │ │ └── EPOCH_server_upgradeTempGroup.sqf │ │ ├── epoch_looting │ │ │ ├── EPOCH_server_destroyTrash.sqf │ │ │ ├── EPOCH_server_knockDownTree.sqf │ │ │ ├── EPOCH_server_lootAnimal.sqf │ │ │ ├── EPOCH_server_lootContainer.sqf │ │ │ ├── EPOCH_server_mineRocks.sqf │ │ │ ├── EPOCH_server_spawnBoatLoot.sqf │ │ │ └── EPOCH_server_spawnLoot.sqf │ │ ├── epoch_missions │ │ │ ├── EPOCH_Server_airDropCrate.sqf │ │ │ ├── EPOCH_Server_createAirDrop.sqf │ │ │ ├── EPOCH_Server_createObject.sqf │ │ │ ├── EPOCH_Server_fillContainer.sqf │ │ │ └── EPOCH_Server_missionComms.sqf │ │ ├── epoch_player │ │ │ ├── EPOCH_fnc_addItemToX.sqf │ │ │ ├── EPOCH_fnc_savePlayer.sqf │ │ │ ├── EPOCH_fnc_updatePlayerStats.sqf │ │ │ ├── EPOCH_server_PayCrypto.sqf │ │ │ ├── EPOCH_server_SetFinalPlayerPos.sqf │ │ │ ├── EPOCH_server_SetUnitLoadout.sqf │ │ │ ├── EPOCH_server_checkPlayer.sqf │ │ │ ├── EPOCH_server_deadPlayer.sqf │ │ │ ├── EPOCH_server_deadPlayerDetonate.sqf │ │ │ ├── EPOCH_server_equippedItem.sqf │ │ │ ├── EPOCH_server_loadPlayer.sqf │ │ │ ├── EPOCH_server_makeSP.sqf │ │ │ ├── EPOCH_server_onPlayerDisconnect.sqf │ │ │ ├── EPOCH_server_playerSetVariable.sqf │ │ │ ├── EPOCH_server_respawnPlayer.sqf │ │ │ ├── EPOCH_server_revivePlayer.sqf │ │ │ ├── EPOCH_server_savePlayer.sqf │ │ │ ├── EPOCH_server_storeCrypto.sqf │ │ │ ├── EPOCH_server_unpackBackpack.sqf │ │ │ └── EPOCH_server_updatePlayerStats.sqf │ │ ├── epoch_server │ │ │ ├── EPOCH_localCleanup.sqf │ │ │ ├── EPOCH_precisionPos.sqf │ │ │ ├── EPOCH_returnConfig.sqf │ │ │ ├── EPOCH_serverCommand.sqf │ │ │ ├── EPOCH_serverLootObject.sqf │ │ │ ├── EPOCH_server_DefuseBomb.sqf │ │ │ ├── EPOCH_server_PutCrypto.sqf │ │ │ ├── EPOCH_server_UpdateTopStats.sqf │ │ │ ├── EPOCH_server_buildingInit.sqf │ │ │ ├── EPOCH_server_createGlobalMarkerSet.sqf │ │ │ ├── EPOCH_server_createTeleport.sqf │ │ │ ├── EPOCH_server_deleteGlobalMarkerSet.sqf │ │ │ ├── EPOCH_server_getRealTime.sqf │ │ │ ├── EPOCH_server_isNearChecks.sqf │ │ │ ├── EPOCH_server_makeMarker.sqf │ │ │ ├── EPOCH_server_removeMarker.sqf │ │ │ ├── EPOCH_server_storageInit.sqf │ │ │ ├── EPOCH_server_teleportPlayer.sqf │ │ │ ├── EPOCH_server_traderKilled.sqf │ │ │ └── EPOCH_server_vehicleInit.sqf │ │ ├── epoch_traders │ │ │ ├── EPOCH_server_loadTraders.sqf │ │ │ └── EPOCH_server_spawnTraders.sqf │ │ ├── epoch_trading │ │ │ ├── EPOCH_server_effectCrypto.sqf │ │ │ ├── EPOCH_server_makeNPCTrade.sqf │ │ │ ├── EPOCH_server_makeTrade.sqf │ │ │ ├── EPOCH_server_takeCrypto.sqf │ │ │ └── EPOCH_server_tradeRequest.sqf │ │ └── epoch_vehicle │ │ │ ├── EPOCH_fill_inventory.sqf │ │ │ ├── EPOCH_load_storage.sqf │ │ │ ├── EPOCH_load_vehicles.sqf │ │ │ ├── EPOCH_server_CargoFill.sqf │ │ │ ├── EPOCH_server_CargoSave.sqf │ │ │ ├── EPOCH_server_PaintVehicle.sqf │ │ │ ├── EPOCH_server_RemoveMagOrItemCargo.sqf │ │ │ ├── EPOCH_server_fillVehicle.sqf │ │ │ ├── EPOCH_server_lockStorage.sqf │ │ │ ├── EPOCH_server_lockVehicle.sqf │ │ │ ├── EPOCH_server_packJack.sqf │ │ │ ├── EPOCH_server_packStorage.sqf │ │ │ ├── EPOCH_server_repairVehicle.sqf │ │ │ ├── EPOCH_server_save_killedBuilding.sqf │ │ │ ├── EPOCH_server_save_killedStorage.sqf │ │ │ ├── EPOCH_server_save_killedVehicle.sqf │ │ │ ├── EPOCH_server_save_storage.sqf │ │ │ ├── EPOCH_server_save_vehicle.sqf │ │ │ ├── EPOCH_server_save_vehicles.sqf │ │ │ ├── EPOCH_server_upgrade_vehicle.sqf │ │ │ ├── EPOCH_spawn_vehicle.sqf │ │ │ └── EPOCH_spawn_vehicles.sqf │ ├── config.cpp │ ├── init │ │ ├── server_init.sqf │ │ ├── server_securityfunctions.sqf │ │ └── server_variables.sqf │ ├── license.txt │ ├── system │ │ ├── Trader_brain.fsm │ │ ├── mission_control.fsm │ │ └── server_monitor.fsm │ └── treeView.txt ├── epoch_server_core │ ├── $PREFIX$ │ ├── README.md │ ├── build.hpp │ ├── compile │ │ └── epoch_hive │ │ │ ├── README.md │ │ │ ├── fn_server_hiveDEL.sqf │ │ │ ├── fn_server_hiveEXPIRE.sqf │ │ │ ├── fn_server_hiveGET.sqf │ │ │ ├── fn_server_hiveGETBIT.sqf │ │ │ ├── fn_server_hiveGETRANGE.sqf │ │ │ ├── fn_server_hiveGETTTL.sqf │ │ │ ├── fn_server_hiveLog.sqf │ │ │ ├── fn_server_hiveMD5.sqf │ │ │ ├── fn_server_hiveSET.sqf │ │ │ ├── fn_server_hiveSETBIT.sqf │ │ │ ├── fn_server_hiveSETEX.sqf │ │ │ └── fn_server_hiveUnitTest.sqf │ ├── config.cpp │ ├── license.txt │ └── treeView.txt ├── epoch_server_debris_event │ ├── $PREFIX$ │ ├── EpochEvents │ │ └── DynamicDebris.sqf │ ├── build.hpp │ ├── config.cpp │ ├── license.txt │ └── treeView.txt ├── epoch_server_events │ ├── $PREFIX$ │ ├── EpochEvents │ │ ├── AirDrop.sqf │ │ ├── CarnivalSpawner.sqf │ │ ├── ChangeWeather.sqf │ │ ├── ContainerSpawner.sqf │ │ ├── EarthQuake.sqf │ │ ├── FastNights.sqf │ │ ├── GardenManager.sqf │ │ ├── HeliCrash.sqf │ │ ├── MessageServer.sqf │ │ ├── MoneyDrop.sqf │ │ ├── PaydayEvent.sqf │ │ ├── PlantSpawner.sqf │ │ ├── Satellite.sqf │ │ └── SolarChargerManager.sqf │ ├── build.hpp │ ├── config.cpp │ ├── license.txt │ └── treeView.txt ├── epoch_server_settings │ ├── $PREFIX$ │ ├── build.hpp │ ├── config.cpp │ ├── configs │ │ ├── CfgEpochVehicles.h │ │ ├── CfgLootTable.h │ │ ├── CfgLootTable_CUP.h │ │ ├── CfgLootTable_MAD.h │ │ ├── CfgLootTable_MADCUP.h │ │ ├── CfgMainTable.h │ │ ├── maps │ │ │ ├── Bootcamp_ACR.h │ │ │ ├── Desert_E.h │ │ │ ├── Enoch.h │ │ │ ├── IslaDuala3.h │ │ │ ├── Kapaulio.h │ │ │ ├── Malden.h │ │ │ ├── Mountains_ACR.h │ │ │ ├── Napf.h │ │ │ ├── Panthera3.h │ │ │ ├── Porto.h │ │ │ ├── ProvingGrounds_PMC.h │ │ │ ├── Sara.h │ │ │ ├── SaraLite.h │ │ │ ├── Sara_dbe1.h │ │ │ ├── Shapur_BAF.h │ │ │ ├── Utes.h │ │ │ ├── Winthera3.h │ │ │ ├── Woodland_ACR.h │ │ │ ├── abramia.h │ │ │ ├── altis.h │ │ │ ├── australia.h │ │ │ ├── bornholm.h │ │ │ ├── chernarus.h │ │ │ ├── chernarus_summer.h │ │ │ ├── chernarusredux.h │ │ │ ├── dingor.h │ │ │ ├── esseker.h │ │ │ ├── lingor3.h │ │ │ ├── lythium.h │ │ │ ├── stratis.h │ │ │ ├── takistan.h │ │ │ ├── tanoa.h │ │ │ ├── vr.h │ │ │ └── zargabad.h │ │ ├── security │ │ │ ├── data │ │ │ │ └── custom_vars.h │ │ │ └── security_checks.h │ │ └── templates │ │ │ └── CfgPropTemplate.h │ ├── license.txt │ └── treeView.txt ├── epoch_server_vip_event │ ├── $PREFIX$ │ ├── EpochEvents │ │ └── event1.sqf │ ├── build.hpp │ ├── config.cpp │ ├── license.txt │ └── treeView.txt └── mpmissions │ ├── epoch.Altis │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Australia │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Bootcamp_ACR │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Bornholm │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Chernarus │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.ChernarusRedux │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Chernarus_Summer │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Desert_E │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Enoch │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Esseker │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.IslaDuala3 │ └── mission.sqm │ ├── epoch.Kapaulio │ └── mission.sqm │ ├── epoch.Malden │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Mountains_ACR │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Napf │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Panthera3 │ └── mission.sqm │ ├── epoch.Porto │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.ProvingGrounds_PMC │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Sara │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.SaraLite │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Sara_dbe1 │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Shapur_BAF │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Stratis │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Takistan │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Tanoa │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.VR │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Winthera3 │ └── mission.sqm │ ├── epoch.Woodland_ACR │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.Zargabad │ ├── mission.sqm │ └── treeView.txt │ ├── epoch._ChangeMe │ ├── mission.sqm │ └── treeView.txt │ ├── epoch.abramia │ └── mission.sqm │ ├── epoch.dingor │ └── mission.sqm │ ├── epoch.lingor3 │ └── mission.sqm │ ├── epoch.utes │ ├── mission.sqm │ └── treeView.txt │ └── epoch_RyanZed.Tanoa │ ├── mission.sqm │ └── treeView.txt ├── Tools ├── .gitignore ├── BAT │ ├── paa2png.bat │ └── paa2tga.bat ├── Build │ ├── BuildExperimental.cmd │ ├── ClientReleaseTest.cmd │ ├── ServerReleaseTest.cmd │ └── Stable │ │ ├── ClientReleaseStable.cmd │ │ └── ServerReleaseStable.cmd ├── DevFrameWork │ ├── @EpochDevTools │ │ ├── Addons │ │ │ ├── rmx_init.pbo │ │ │ └── rmx_sandbox.pbo │ │ ├── mod.cpp │ │ └── mod.paa │ ├── README.md │ └── x │ │ └── addons │ │ ├── include.txt │ │ ├── pack.bat │ │ ├── rmx_init │ │ ├── $PBOPREFIX$ │ │ ├── BIS_AddonInfo.hpp │ │ ├── CfgGUI │ │ │ ├── atmosFEAR.hpp │ │ │ ├── console.hpp │ │ │ ├── console2.hpp │ │ │ ├── editor.hpp │ │ │ ├── gui_dependencies.hpp │ │ │ ├── ppEffects.hpp │ │ │ ├── quickFunction.hpp │ │ │ ├── watcher.hpp │ │ │ └── watcher2.hpp │ │ ├── config.cpp │ │ ├── data │ │ │ ├── critical.paa │ │ │ ├── info.paa │ │ │ ├── retardedPinDown.paa │ │ │ ├── retardedPinUp.paa │ │ │ ├── w_error.paa │ │ │ ├── w_off.paa │ │ │ ├── w_on.paa │ │ │ └── warning.paa │ │ ├── defines.inc │ │ ├── fn_recompile.sqf │ │ ├── functions.sqf │ │ ├── functions │ │ │ ├── atmosFear.sqf │ │ │ ├── atmosFearActions.sqf │ │ │ ├── atmosFearUpdate.sqf │ │ │ ├── buffer.sqf │ │ │ ├── codeEditor.sqf │ │ │ ├── codeEditorActions.sqf │ │ │ ├── console.sqf │ │ │ ├── consoleFilters.sqf │ │ │ ├── consoleUpdate.sqf │ │ │ ├── dialogVars.sqf │ │ │ ├── epoch.sqf │ │ │ ├── eventHandlers.sqf │ │ │ ├── getColorScheme.sqf │ │ │ ├── keyDown.sqf │ │ │ ├── keyUp.sqf │ │ │ ├── output.sqf │ │ │ ├── ppViewer.sqf │ │ │ ├── ppViewerEffects.sqf │ │ │ ├── ppViewerGetSet.sqf │ │ │ ├── ppViewerUpdate.sqf │ │ │ ├── quickFnc.sqf │ │ │ ├── watcher.sqf │ │ │ ├── watcherActions.sqf │ │ │ ├── watcherAddRemove.sqf │ │ │ └── watcherRunner.sqf │ │ └── texHeaders.bin │ │ └── rmx_sandbox │ │ ├── $PBOPREFIX$ │ │ ├── config.cpp │ │ ├── epoch │ │ ├── CfgPricing.hpp │ │ ├── Epoch_GUI_rmx.hpp │ │ ├── Epoch_tradeLoad.sqf │ │ ├── Epoch_tradeMainLoop.sqf │ │ ├── Epoch_tradeMouseEvents.sqf │ │ ├── Epoch_tradePopulateLB.sqf │ │ ├── Epoch_tradeRefresh.sqf │ │ ├── Epoch_tradeUnLoad.sqf │ │ ├── epoch_configs.hpp │ │ └── trader_menu_v2 │ │ │ ├── trade_placeholder.paa │ │ │ └── tradebg.paa │ │ ├── sandbox.sqf │ │ └── variables.sqf ├── Install │ ├── InstallArma.cmd │ ├── InstallBornholm.cmd │ ├── InstallCUPAll.cmd │ ├── InstallCUPTerrainPack.cmd │ ├── InstallEpoch.cmd │ ├── InstallEpochExperimentalClient.cmd │ ├── InstallEpochExperimentalServer.cmd │ ├── InstallEsseker.cmd │ ├── InstallMadArma.cmd │ ├── InstallNapf.cmd │ └── InstallRyanZombies.cmd ├── PHP │ ├── ConvertMission2dto3d.php │ ├── FindPlayerUIDByName.php │ ├── GetOnlinePlayers.php │ └── GetOnlinePlayersWPos.php ├── PowerShell │ └── PBO_packaging_tool_GUI.ps1 └── SQF │ ├── arraytoLootConfig.sqf │ ├── getBuildingsNotSetupYet.sqf │ ├── getCfgPatches.sqf │ ├── getMaleUniforms.sqf │ ├── getTreesAndTrash.sqf │ ├── memoryPointsToConfig.sqf │ ├── saveBuildingPosVector.sqf │ ├── saveLootPositionsVector.sqf │ ├── saveLootPositions_v2 │ ├── Instruction.txt │ ├── saveLootPositions_v2_Codes.sqf │ └── saveLootPositions_v2_ExportConfig.sqf │ ├── saveTraderCityTemplate.sqf │ ├── saveVehiclesWhitelistPos.sqf │ ├── scratch.sqf │ ├── snapPointsGenV2.sqf │ └── snapPointsGenV3.sqf └── changelog.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Server_Install_Pack/DB/dump.rdb -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | pipeline { 2 | agent { 3 | node { 4 | label 'testing' 5 | } 6 | 7 | } 8 | stages { 9 | stage('Release') { 10 | steps { 11 | bat 'C:/GITTEMP/release.cmd' 12 | } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | [Epoch Mod](http://epochmod.com) for [Arma 3](http://arma3.com) by [Epoch Mod Team](https://github.com/EpochModTeam/Epoch) 2 | 3 | The contents of this github are under the following license: 4 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 5 | -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/EpochServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/EpochServer.dll -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/EpochServer.ini: -------------------------------------------------------------------------------- 1 | [EpochServer] 2 | BattlEyePath = C:\BattlEye 3 | InstanceID = NA123 4 | LogAbuse = 1 5 | LogLimit = 999 6 | IP = 127.0.0.1 7 | Port = 2307 8 | Password = changemen0w 9 | 10 | [Redis] 11 | IP = 127.0.0.1 12 | Port = 6379 13 | DB = 0 14 | Password = Changeme9832 15 | 16 | [SteamAPI] 17 | Logging = 0 18 | Key = 19 | VACBanned = 0 20 | VACMinimumNumberOfBans = 0 21 | VACMaximumDaysSinceLastBan = 0 22 | PlayerAllowOlderThan = 0 23 | -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/EpochServer_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/EpochServer_x64.dll -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/Epoch_server_RyanZ_Spawner.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/Epoch_server_RyanZ_Spawner.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server_debris_event.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server_debris_event.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/epochserver.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/epochserver.so -------------------------------------------------------------------------------- /Server_Install_Pack/@epochhive/epochserver_x64.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/@epochhive/epochserver_x64.so -------------------------------------------------------------------------------- /Server_Install_Pack/DB/README.md: -------------------------------------------------------------------------------- 1 | Redis Server for Windows 2.8.2400 2 | 3 | Source: 4 | https://github.com/MSOpenTech/Redis 5 | 6 | -------------------------------------------------------------------------------- /Server_Install_Pack/DB/redis-server.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/DB/redis-server.exe -------------------------------------------------------------------------------- /Server_Install_Pack/DB/redis.conf: -------------------------------------------------------------------------------- 1 | bind 127.0.0.1 2 | port 6379 3 | maxmemory 1gb 4 | save 900 1 5 | save 300 10 6 | save 60 1000 7 | requirepass Changeme9832 -------------------------------------------------------------------------------- /Server_Install_Pack/DB/start-redis.cmd: -------------------------------------------------------------------------------- 1 | START redis-server.exe redis.conf -------------------------------------------------------------------------------- /Server_Install_Pack/LICENSE.txt: -------------------------------------------------------------------------------- 1 | [Epoch Mod](http://epochmod.com) for [Arma 3](http://arma3.com) by [Epoch Mod Team](https://github.com/EpochModTeam/Epoch) 2 | 3 | The contents of this github are under the following license: 4 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 5 | -------------------------------------------------------------------------------- /Server_Install_Pack/README.txt: -------------------------------------------------------------------------------- 1 | Epoch Survival Gamemode for Arma 3 2 | ===== 3 | 4 | http://epochmod.com 5 | 6 | This github is for the latest server files, public bug reports, and feedback related to the Epoch Survival gamemode for Arma 3. 7 | 8 | Lastest Stable Server Files: 9 | https://github.com/EpochModTeam/Epoch/releases 10 | 11 | License: 12 | ===== 13 | Arma Public License Share Alike (APL-SA). 14 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 15 | 16 | Credits: 17 | ===== 18 | https://github.com/EpochModTeam/Epoch/blob/release/CREDITS.md 19 | -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Altis.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Altis.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Australia.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Australia.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Bornholm.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Chernarus.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.ChernarusRedux.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.ChernarusRedux.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Desert_E.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Enoch.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Enoch.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Esseker.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Esseker.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.IslaDuala3.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.IslaDuala3.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Kapaulio.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Kapaulio.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Malden.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Malden.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Napf.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Napf.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Panthera3.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Panthera3.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Porto.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Porto.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Sara.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Sara.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.SaraLite.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Stratis.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Stratis.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Takistan.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Takistan.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Tanoa.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.VR.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.VR.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Winthera3.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Winthera3.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.Zargabad.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch._ChangeMe.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch._ChangeMe.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.abramia.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.abramia.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.dingor.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.dingor.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.lingor3.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.lingor3.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch.utes.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch.utes.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/mpmissions/epoch_RyanZed.Tanoa.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Server_Install_Pack/mpmissions/epoch_RyanZed.Tanoa.pbo -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/addbackpackcargo.txt: -------------------------------------------------------------------------------- 1 | 5 "" !"B_Parachute" !"B_AssaultPack_(cbr|dgtl|khk|mcamo|ocamo|rgr|sgg|blk)" !"B_Carryall_(cbr|khk|mcamo|ocamo|oli|oucamo|hex|ghex)" !"B_FieldPack_(blk|cbr|khk|ocamo|oli|oucamo|ghex_F)" !"B_Kitbag_(cbr|mcamo|rgr|sgg)" !"B_TacticalPack_(blk|mcamo|ocamo|oli|rgr)" !"smallbackpack_(red|green|teal|pink|)_epoch" !"(O|I|B)_UAV_01_backpack_F" !"B_Bergen_(mcamo|dgtl|hex|tna)_F" !"B_Viper(Light|)Harness_(blk|ghex|hex|khk|oli)_F" !"(Assault_Pack|Patrol_Pack|TK_RPG_Backpack|CZ_VestPouch|civil_assault_pack|S_Gunbag|ALICE_Pack|US_Backpack|CZ_Backpack|L_Gunbag)_Epoch" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/addmagazinecargo.txt: -------------------------------------------------------------------------------- 1 | 1 "" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/attachto.txt: -------------------------------------------------------------------------------- 1 | 5 "" !"Jack_SIM_EPOCH" !"Land_Cages_F" !"Epoch_Sapper_F" !"[A-Z]_(G_)?(Offroad|Quadbike|Hatchback|SUV|Rubberboat|Van|Boat_Civil|SDV|MRAP|Truck)_([0-9]+_)?((box|transport|covered|mover|police|rescue|armed)_)?EPOCH" !"([A-Z]_)?[A-Z]+_(Boat|Scooter|Offroad|LSV)_((Transport)_)?[0-9]+_((unarmed|light)_)?F" !"K0(1|2|3|4)" !"CUP_" !"_Ghost_EPOCH" !"Shot" !"WeaponHolderSimulated" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/deleteVehicle.txt: -------------------------------------------------------------------------------- 1 | 5 "" !" GroundWeaponHolder$" !" WeaponHolderSimulated$" !" Epoch_(Sapper|Sapper(B|G)|Cloak|Female_CamoRed)_F$" !" EPOCH_RyanZombie_[1-5](|_(C|Sp|B|W|M|P))$" !" (Sheep|Goat|Snake|Snake2|Hen|Cock|Fin|Alsatian)_random_EPOCH$" !" (Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf)_EPOCH$" !" (ToolRack|Shoebox|Bunk|Cabinet|Freezer|Tarp|toilet|KitchenSink)_EPOCH$" !" I_(Soldier[1-3]|Soldier)_EPOCH$" !" I_(helipilot|helicrew)_F$" !" I_UAV_01_F$" !" (I|B|O)_UAV_AI$" !" I_Boat_Armed_01_minigun_F" !" Land_Cages_F$" !"(Bobber|Rabbit)_EPOCH$" !"_(SIM|Ghost)_EPOCH$" !"(B_Heli_Transport_01|GreatWhite)_F" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/example-beserver.cfg: -------------------------------------------------------------------------------- 1 | RConPort 2307 2 | RConPassword changemen0w 3 | MaxPing 350 4 | 5 | MaxCreateVehiclePerInterval 72 1 6 | MaxSetPosPerInterval 2 1 7 | MaxSetDamagePerInterval 36 1 8 | MaxAddBackpackCargoPerInterval 12 1 9 | MaxAddMagazineCargoPerInterval 96 1 10 | MaxAddWeaponCargoPerInterval 24 1 11 | MaxDeleteVehiclePerInterval 48 1 12 | MaxAttachToPerInterval 4 1 13 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/example-beserver_x64.cfg: -------------------------------------------------------------------------------- 1 | RConPort 2307 2 | RConPassword changemen0w 3 | MaxPing 350 4 | 5 | MaxCreateVehiclePerInterval 72 1 6 | MaxSetPosPerInterval 2 1 7 | MaxSetDamagePerInterval 36 1 8 | MaxAddBackpackCargoPerInterval 12 1 9 | MaxAddMagazineCargoPerInterval 96 1 10 | MaxAddWeaponCargoPerInterval 24 1 11 | MaxDeleteVehiclePerInterval 48 1 12 | MaxAttachToPerInterval 4 1 13 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/mpeventhandler.txt: -------------------------------------------------------------------------------- 1 | 5 "" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/publicvariable.txt: -------------------------------------------------------------------------------- 1 | 5 "" !="EPAH_[a-z]{5,10}" !="BIS_fnc_objectVar_obj2_[0-9]{1,10}" !="bis_fnc_sharedObjectives_serverUpdate" !="PLAYER_REJECT_ServerVersion" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/publicvariableval.txt: -------------------------------------------------------------------------------- 1 | 5 "call" !="[a-z]{5,40}" 2 | 5 "compile" 3 | 5 "spawn" 4 | 5 "exec" !="[a-z]{5,40}" 5 | 5 "loadFile" 6 | 5 "preprocessFile" 7 | 5 "tostring" 8 | 5 "\.sqf" 9 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/remotecontrol.txt: -------------------------------------------------------------------------------- 1 | 5 "" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/remoteexec.txt: -------------------------------------------------------------------------------- 1 | 5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_(checkplayer|save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player) \[.+\]" !="epoch_server_((upgrade|updateplayer|inviteplayer|create|delete)(Temp|)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms|make(marker|SP)|removemarker) \[.+\]" !="epoch_server_(upgrade_vehicle|knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(paycrypto|tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer|serverlootobject|fnc_updateplayerstats|zedspawner) \[.+\]" !="cup_fnc_handletow \[.+\]" !="bis_fnc_reviveinitaddplayer \[.+\]" !="epoch_server_(setfinalplayerpos|defusebomb|putcrypto|paintvehicle|spawnLoot) \[.+\]" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/selectplayer.txt: -------------------------------------------------------------------------------- 1 | 5 "" !"Epoch_(Male|Female)_F" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/setdamage.txt: -------------------------------------------------------------------------------- 1 | 5 "" !"0.700000" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/setpos.txt: -------------------------------------------------------------------------------- 1 | 5 "" !="Epoch_(Male|Female)_F" !="(Bed|locker|Filing|Chair|ChairRed|wardrobe|cooker|Couch|Table|Pelican|Fridge|Shelf)_EPOCH" !="(ToolRack|Rabbit|Cabinet|toilet|KitchenSink)_EPOCH" !="(Sheep|Goat|Snake|Hen|Cock|Fin|Alsatian)_random_EPOCH" !="Foundation_EPOCH" !="WoodFoundation_EPOCH" !=".+_(SIM|Ghost)_EPOCH" !="(FirePlace|FirePlaceOn)_EPOCH" !"K(01|02|03|04)" !"ebike" !"Quadbike" !"hoverboard_epoch" !"C_Kart_" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/setvariable.txt: -------------------------------------------------------------------------------- 1 | 5 "" !=(traderName|Offer|Accept|BUILD_SLOT|TRADE_ACTIVE|last_targeter|epoch_(antagobj|antagBomb)) !="bis_fnc_objectvar_var" !="bis_fnc_selectrespawntemplate_respawned" !="#(rev_enabled|var)" !="cup_tow_towedveh" 2 | -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/setvariableval.txt: -------------------------------------------------------------------------------- 1 | 5 "call" 2 | 5 "compile" 3 | 5 "spawn" 4 | 5 "exec" 5 | 5 "loadFile" 6 | 5 "preprocessFile" 7 | 5 ".sqf" 8 | 5 "tostring" 9 | 5 "[+;{(&%]" !"e\+00" !"[0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3} \(.+\)" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/teamswitch.txt: -------------------------------------------------------------------------------- 1 | 5 "" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/waypointcondition.txt: -------------------------------------------------------------------------------- 1 | 5 "" -------------------------------------------------------------------------------- /Server_Install_Pack/sc/battleye/waypointstatement.txt: -------------------------------------------------------------------------------- 1 | 5 "" -------------------------------------------------------------------------------- /Server_Install_Pack/start-A3-cmd-line-example.txt: -------------------------------------------------------------------------------- 1 | -mod=@Epoch; -serverMod=@EpochHive; -config=C:\arma3server\SC\server.cfg -ip=192.168.71.234 -port=2302 -profiles=SC -cfg=C:\arma3server\SC\basic.cfg -name=SC 2 | -------------------------------------------------------------------------------- /Sources/Epoch_server_RyanZ_Spawner/$PREFIX$: -------------------------------------------------------------------------------- 1 | Epoch_RyanZ_Spawner -------------------------------------------------------------------------------- /Sources/Epoch_server_RyanZ_Spawner/PboPrefix.txt: -------------------------------------------------------------------------------- 1 | Epoch_RyanZ_Spawner -------------------------------------------------------------------------------- /Sources/Epoch_server_RyanZ_Spawner/config.cpp: -------------------------------------------------------------------------------- 1 | class CfgPatches 2 | { 3 | class Epoch_RyanZ_Spawner 4 | { 5 | requiredVersion = 0.1; 6 | requiredAddons[] = {}; 7 | units[] = {}; 8 | weapons[] = {}; 9 | magazines[] = {}; 10 | ammo[] = {}; 11 | author[]= {"He-Man"}; 12 | }; 13 | }; 14 | 15 | class CfgFunctions 16 | { 17 | class Epoch_RyanZ_Spawner 18 | { 19 | class main { 20 | file = "Epoch_RyanZ_Spawner"; 21 | class init { 22 | preInit = 1; 23 | }; 24 | }; 25 | }; 26 | }; 27 | 28 | #include "ZedSpawner\Epoch_ZombieSpawnConfig.hpp" 29 | -------------------------------------------------------------------------------- /Sources/description.ext: -------------------------------------------------------------------------------- 1 | // Epoch Survival Gamemode 2 | #include "epoch_config\sandbox_config.hpp" 3 | -------------------------------------------------------------------------------- /Sources/epoch_code/System/dummy.sqf: -------------------------------------------------------------------------------- 1 | Epoch_loadFailed = true; 2 | publicVariableServer "Epoch_loadFailed"; 3 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch request teleport 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf 14 | */ 15 | if !(isNull _this) then{ 16 | if (!isnil "HALV_senddeftele") exitwith { 17 | if (isnull (finddisplay 7777)) then { 18 | [] execVM "addons\halv_spawn\opendialog.sqf"; 19 | }; 20 | }; 21 | [player,_this,Epoch_personalToken] remoteExec ["EPOCH_server_teleportPlayer",2]; 22 | }; 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_LootIT.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Request loot event 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_LootIT.sqf 14 | */ 15 | if (!isNull _this) then { 16 | [_this,player,Epoch_personalToken] remoteExec ["EPOCH_server_lootContainer",2]; 17 | }; 18 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_PutHandler.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Tells server when a radio is equpped for use with custom radio channels 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_PutHandler.sqf 14 | */ 15 | params ["_unit", "_container", "_class"]; 16 | //Radio Check 17 | if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _class)) == "ItemRadio") then { 18 | if !(_class in(assignedItems player)) then { 19 | EPOCH_equippedItem_PVS = [_class,false,player]; 20 | }; 21 | }; 22 | 23 | if (_class in ["EnergyPack","EnergyPackLg"] && (typeof _container) in ["SolarCharger_EPOCH","SolarChargerXL_EPOCH"]) then { 24 | ["Charging ...",5,[[0,1,0,0.2],[1,1,1,1]]] call Epoch_Message; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_effectCrypto.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch display kyrpto changes 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_effectCrypto.sqf 14 | */ 15 | if (_this isEqualType 0) then { 16 | EPOCH_playerCrypto = _this; 17 | 9992 cutRsc["EpochGameUI2", "PLAIN", 2, false]; 18 | ((uiNamespace getVariable "EPOCH_EpochGameUI2") displayCtrl 21208) ctrlSetText format["%1", EPOCH_playerCrypto]; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch handle localized message function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_handleServerMessage.sqf 14 | 15 | Example: 16 | [_this select 1, _this select 2] remoteExec ['EPOCH_handleServerMessage',_x]; 17 | 18 | */ 19 | params [["_str",""],["_input",""]]; 20 | if (isLocalized _str) then{ 21 | [format["%1", format[localize _str, _input]], 5] call Epoch_message; 22 | }; 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_interact.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | store all interacted vehicles for update 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_interact.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_storSlot","_vehSlot","_buildSlot"]; 17 | //[[[end]]] 18 | 0 call EPOCH_refeshUI; 19 | if (!isNull _this) then { 20 | _vehSlot = _this getVariable ["VEHICLE_SLOT", "ABORT"]; 21 | if !(_vehSlot isEqualTo "ABORT") then { 22 | EPOCH_arr_interactedObjs pushBackUnique _this; 23 | }; 24 | _storSlot = _this getVariable["STORAGE_SLOT", "ABORT"]; 25 | if !(_storSlot isEqualTo "ABORT") then { 26 | EPOCH_arr_interactedObjs pushBackUnique _this; 27 | }; 28 | _buildSlot = _this getVariable["BUILD_SLOT", "ABORT"]; 29 | if !(_buildSlot isEqualTo "ABORT") then { 30 | EPOCH_arr_interactedObjs pushBackUnique _this; 31 | }; 32 | }; 33 | true 34 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_localCleanup.sqf: -------------------------------------------------------------------------------- 1 | // left empty on purpose 2 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_removeMarker.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Create a local marker, with options. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_removeMarker.sqf 14 | 15 | Example: 16 | ["markerName"] call EPOCH_removeMarker 17 | 18 | Parameter(s): 19 | _this select 0: STRING - Marker Name 20 | 21 | Returns: 22 | 23 | */ 24 | params [["_mName",""]]; 25 | diag_log format["Epoch: ADMIN: Removing marker %1.", _mName]; 26 | 27 | if(_mName == "")exitWith{}; 28 | deleteMarkerLocal _mName; 29 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Antagonist spawn chance decrease function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawnDecrease.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_index","_playerSpawnArray","_playerSpawnArrayKeyFinal"]; 17 | //[[[end]]] 18 | params ["_spawnName", ["_decrease",1]]; 19 | _index = EPOCH_spawnIndex find _spawnName; 20 | if (_index != -1) then{ 21 | _playerSpawnArrayKeyFinal = "EPOCH_playerSpawnArray"; 22 | if !(isNil "_playerSpawnArrayKey") then {_playerSpawnArrayKeyFinal = _playerSpawnArrayKey}; 23 | _playerSpawnArray = missionNamespace getVariable [_playerSpawnArrayKeyFinal,[]]; 24 | _playerSpawnArray set[_index, ((_playerSpawnArray select _index) - _decrease) max 0]; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Antagonist spawn chance increase function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawnIncrease.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_index","_playerSpawnArray","_playerSpawnArrayKeyFinal"]; 17 | //[[[end]]] 18 | params ["_spawnName", ["_increase",1]]; 19 | _index = EPOCH_spawnIndex find _spawnName; 20 | if (_index != -1) then{ 21 | _playerSpawnArrayKeyFinal = "EPOCH_playerSpawnArray"; 22 | if !(isNil "_playerSpawnArrayKey") then {_playerSpawnArrayKeyFinal = _playerSpawnArrayKey}; 23 | _playerSpawnArray = missionNamespace getVariable [_playerSpawnArrayKeyFinal,[]]; 24 | _playerSpawnArray set[_index, ((_playerSpawnArray select _index) + _increase) min (EPOCH_spawnLimits select _index)]; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Update loading screen message 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_updateLoadingScreen.sqf 14 | */ 15 | disableSerialization; 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_display"]; 18 | //[[[end]]] 19 | _display = uiNameSpace getVariable ["EPOCH_loadingScreen",displayNull]; 20 | if (!isNull _display) then { 21 | (_display displayCtrl 50) ctrlSetText _this; 22 | }; 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/bis_functions/returnVector.sqf: -------------------------------------------------------------------------------- 1 | // BIS function 2 | //[[[cog import generate_private_arrays ]]] 3 | private ["_d","_v","_x","_y"]; 4 | //[[[end]]] 5 | _v = +(_this select 0); 6 | _d = _this select 1; 7 | 8 | _x = _v select 0; 9 | _y = _v select 1; 10 | 11 | _v set [0, (cos _d)*_x - (sin _d)*_y]; 12 | _v set [1, (sin _d)*_x + (cos _d)*_y]; 13 | 14 | _v 15 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/both/EPOCH_isAny.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Config compare function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/both/EPOCH_isAny.sqf 14 | 15 | Example: 16 | _return = [_item, "CfgVehicles"] call EPOCH_fnc_isAny; 17 | 18 | Parameter(s): 19 | _this select 0: STRING - Item Class 20 | _this select 1: STRING - Parent Class 21 | 22 | Returns: 23 | BOOL 24 | */ 25 | params ["_item","_type"]; 26 | (str(configFile >> _type >> _item) != "") 27 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/event_handlers/EPOCH_InventoryClosed.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | A3 Epoch InventoryClosed Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/event_handlers/EPOCH_InventoryClosed.sqf 14 | */ 15 | params ["_unit","_container"]; 16 | if !(EPOCH_arr_interactedObjs isEqualTo[]) then { 17 | [EPOCH_arr_interactedObjs] remoteExec['EPOCH_server_save_vehicles', 2]; 18 | EPOCH_arr_interactedObjs = []; 19 | }; 20 | if !(player == Vehicle Player) then { 21 | call EPOCH_ReloadLoadout; 22 | }; -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_convertTemp.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Converts numbers between fahrenheit and celsius 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_convertTemp.sqf 14 | 15 | Example: 16 | _celsius = [75,true] call EPOCH_convertTemp; // 24 17 | _fahrenheit = [0,false] call EPOCH_convertTemp; // 32 18 | 19 | Parameter(s): 20 | _this select 0: NUMBER - Temp 21 | _this select 1: BOOL - False to convert from C to F 22 | Returns: 23 | MIXED 24 | */ 25 | params [["_data",0,[0]],["_convertToC",true]]; 26 | if (_convertToC) then { 27 | // F to C 28 | round (((_data - 32) * 5) / 9) 29 | } else { 30 | // C to F 31 | round (((_data * 9)/ 5 ) + 32) 32 | } 33 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_SetFinalDir.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Author: He-Man - EpochMod.com 4 | 5 | Contributors: 6 | 7 | Description: 8 | Workaround for delayed positioning for Server side placed items 9 | 10 | Licence: 11 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 12 | 13 | Github: 14 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fnc_SetFinalDir.sqf 15 | 16 | usage: 17 | _array = []; 18 | { 19 | _array pushback [_x,[vectordir _x, VectorUp _x]]; 20 | } foreach _objs; 21 | _array remoteExec ["EPOCH_fnc_SetFinalDir",_player]; 22 | */ 23 | 24 | uisleep 1; // Give some time for init Server Side 25 | { 26 | _x params ["_obj","_dir"]; 27 | if (_dir isEqualType []) then { 28 | _obj setVectorDirAndUp _dir; 29 | } 30 | else { 31 | _obj setdir _dir; 32 | }; 33 | } foreach _this; 34 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_arrayStringToBool.sqf: -------------------------------------------------------------------------------- 1 | // fix strings to bool 2 | _this apply {if (_x isEqualType "true") then {_x isEqualTo "true"} else {_x}} 3 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_arrayToLogic.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Converts array to boolean logic checks 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fnc_arrayToLogic.sqf 14 | 15 | Example: 16 | [1,">=",0] call EPOCH_fnc_arrayToLogic; // returns: true 17 | 18 | Parameter(s): 19 | _this select 0: NUMBER - First value 20 | _this select 1: STRING - compare operator 21 | _this select 2: NUMBER - Second value 22 | 23 | Returns: 24 | BOOL 25 | */ 26 | params [["_v",""],["_t",""],["_d",""]]; 27 | switch (_t) do { 28 | case ">=": {_v >= _d}; 29 | case "<=": {_v <= _d}; 30 | case "<": {_v < _d}; 31 | case ">": {_v > _d}; 32 | case "!=": {!(_v isEqualTo _d)}; 33 | default {_v isEqualTo _d}; 34 | } 35 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_dynamicFSM.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Dynamically call an FSM and return handle. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_dynamicFSM.sqf 14 | 15 | Example: 16 | _handle = [] call EPOCH_fnc_dynamicFSM.; 17 | 18 | Parameter(s): 19 | _this select 0: STRING - FSM Name (without the .fsm) 20 | _this select 1: STRING - FSM Path e.g. epoch_code\system 21 | _this select 2: ARRAY - Vars to pass to FSM 22 | 23 | Returns: 24 | HANDLE 25 | */ 26 | params ["_file","_path",["_vars",[]],["_ret",-1]]; 27 | call compile format[" 28 | _ret = _vars execFSM ""%1\%2.fsm""; 29 | ",_path,_file]; 30 | _ret 31 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Function to check if player is in a building. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_fnc_isInsideBuilding.sqf 14 | 15 | Example: 16 | _inBuilding = call EPOCH_fnc_isInsideBuilding; 17 | 18 | Parameter(s): 19 | NONE 20 | 21 | Returns: 22 | BOOL 23 | */ 24 | //[[[cog import generate_private_arrays ]]] 25 | private ["_abovePlayerPosASL","_inBuilding","_playerPosASL"]; 26 | //[[[end]]] 27 | _playerPosASL = visiblePositionASL player; 28 | _abovePlayerPosASL = [_playerPosASL select 0,_playerPosASL select 1,(_playerPosASL select 2) + 10]; 29 | //Return: 30 | lineIntersects[_playerPosASL, _abovePlayerPosASL, player] 31 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_setVariableLimited.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Sets GVAR value within min/max limits. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_setVariableLimited.sqf 14 | 15 | Example: 16 | ["TEST",-30,100,0] call EPOCH_fnc_setVariableLimited; // removes 30 and keeps number within 0-100 range. 17 | 18 | Parameter(s): 19 | _this select 0: STRING - GVar variable key 20 | _this select 1: NUMBER - Change variable 21 | _this select 2: NUMBER - max Value 22 | _this select 3: NUMBER - min Value 23 | Returns: 24 | NUMBER 25 | */ 26 | params [["_key","",[""]],["_change",0],["_max",100],["_min",0]]; 27 | private _result = (((missionNamespace getVariable [_key, 0]) + _change) min _max) max _min; 28 | missionNamespace setVariable [_key, _result]; 29 | _result 30 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_fnc_vectorDivide.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Divide a Vector (Average Position / Vector). 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/functions/EPOCH_fnc_vectorDivide.sqf 14 | 15 | Example: 16 | _averageVector = [[15,15,3],3] call EPOCH_fnc_vectorDivide; 17 | 18 | Parameter(s): 19 | _this select 0: ARRAY - Vector / Position 20 | _this select 1: INT - Divide by 21 | 22 | Returns: 23 | ARRAY - Averag Vector 24 | */ 25 | params ["_vec","_div",["_doZ",true],["_out",[0,0,0]]]; 26 | _out set [0,_vec select 0 / _div]; 27 | _out set [1,_vec select 1 / _div]; 28 | _out set [2,0]; 29 | if(_doZ)then{_out set [2,_vec select 2 / _div];}; 30 | _out 31 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Returns the DisplayName of a Vehicle, Weapon, or Magazine. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_itemDisplayName.sqf 14 | 15 | Example: 16 | _displayName = _part call EPOCH_itemDisplayName; 17 | 18 | Parameter(s): 19 | _this: STRING - Vehicle, Weapon, or Magazine config class name 20 | 21 | Returns: 22 | STRING 23 | */ 24 | // Changed function name for usage Server and Client side 25 | 26 | _this call EPOCH_fnc_itemDisplayName; 27 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Returns missionConfigFile if exists otherwise uses configFile 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf 14 | 15 | Example: 16 | _config = 'CfgCrafting' call EPOCH_returnConfig; 17 | 18 | Parameter(s): 19 | _this: STRING - Config class name 20 | 21 | Returns: 22 | CONFIG 23 | */ 24 | //[[[cog import generate_private_arrays ]]] 25 | private ["_config","_return"]; 26 | //[[[end]]] 27 | _return = (configfile >> _this); 28 | _config = (getMissionConfig _this); 29 | if (isClass _config) then{ 30 | _return = _config; 31 | }; 32 | _return 33 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/functions/EPOCH_returnConfigV2.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Returns missionConfigFile if exists otherwise uses configFile 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_returnConfig.sqf 14 | 15 | Example: 16 | [['CfgCrafting', 'item1']] call EPOCH_returnConfigV2; 17 | 18 | Parameter(s): 19 | _this: ARRAY of STRING/s - Config class name Array 20 | 21 | Returns: 22 | CONFIG 23 | */ 24 | //[[[cog import generate_private_arrays ]]] 25 | private ["_missionconfig","_return"]; 26 | //[[[end]]] 27 | _return = configfile; 28 | _missionconfig = missionConfigFile; 29 | { 30 | _return = (_return >> _x); 31 | _missionconfig = (_missionconfig >> _x); 32 | } forEach _this; 33 | if (isClass _missionconfig) then{ 34 | _return = _missionconfig; 35 | }; 36 | _return 37 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/inventory/EPOCH_ReloadLoadout.sqf: -------------------------------------------------------------------------------- 1 | [player,GetUnitLoadout Player,missionNamespace getVariable [_playerRandomVarKey, -1]] call (missionnamespace getvariable ["Epoch_SetUnitLoadout",{}]); -------------------------------------------------------------------------------- /Sources/epoch_code/compile/inventory/EPOCH_factorArmor.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Gear Armor factor for passThrough calculation with support for A3 1.54+. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/inventory/EPOCH_factorArmor.sqf 14 | 15 | Example: 16 | _gearArmor = ([_passThrough,_armor] call EPOCH_factorArmor); 17 | 18 | Parameter(s): 19 | _this select 0: NUMBER - passThrough 20 | _this select 1: NUMBER - armor 21 | 22 | Returns: 23 | NUMBER 24 | */ 25 | params ["_passThrough","_armor"]; 26 | ((_armor - (_armor*_passThrough))/2 + _armor) 27 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/inventory/EPOCH_itemInteractDblClick.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: Raimonds Virtoss 5 | 6 | Description: 7 | Epoch Item Interact when double clicked 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/inventory/EPOCH_itemInteractDblClick.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_config","_data"]; 17 | //[[[end]]] 18 | _this call EPOCH_selectInventoryItem; 19 | _data = EPOCH_InteractedItem select 1; 20 | _config = 'CfgCrafting' call EPOCH_returnConfig; 21 | if (isClass (_config >> _data)) then { 22 | (EPOCH_InteractedItem select 0) call EPOCH_crafting_load; 23 | } else { 24 | //TODO: eat, drink, build ... etc 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/EPOCH_mission_returnObj.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Mission accept 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/missions/EPOCH_mission_returnObj.sqf 14 | */ 15 | axeMissionObj = _this; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/EPOCH_spawn_construct.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | TBA construct (unused) 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/missions/EPOCH_spawn_construct.sqf 14 | */ 15 | private _unit = createAgent ["Construct_F", getPos player, [], 520, "FORM"]; 16 | {_unit disableAI _x}forEach["TARGET","AUTOTARGET","FSM"]; 17 | [_unit] execFSM "\x\addons\a3_epoch_code\System\Construct_Brain.fsm"; 18 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/mission_spawnUAV.sqf: -------------------------------------------------------------------------------- 1 | params [["_trgt",player],"_targetPos","_unit","_grp","_driver"]; 2 | _targetPos = getPosATL _trgt; 3 | _targetPos = [_targetPos, 600, 1200, 5, 0, 400, 0] call BIS_fnc_findSafePos; 4 | _targetPos set[2, 600]; 5 | _unit = createVehicle["I_UAV_01_F", _targetPos, [], 0, "FLY"]; 6 | _unit disableTIEquipment true; 7 | addToRemainsCollector[_unit]; 8 | _unit flyInHeight 600; 9 | _grp = createGroup [RESISTANCE, true]; 10 | _driver = _grp createUnit["I_UAV_AI", position _unit, [], 0, "CAN_COLLIDE"]; 11 | _driver moveInAny _unit; 12 | [_unit, _trgt] execFSM "\x\addons\a3_epoch_code\System\Copter_brain.fsm"; 13 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDebug_resetMissions.sqf: -------------------------------------------------------------------------------- 1 | missionNamespace setVariable ["EPOCH_playerMissionArray",[]]; 2 | ["Missions Reset - Re-open Trader Menu.", 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 3 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDiag_nearPlayers.sqf: -------------------------------------------------------------------------------- 1 | //[[[cog import generate_private_arrays ]]] 2 | private ["_plyr","_plyrs","_trdrMsg"]; 3 | //[[[end]]] 4 | _trdrMsg = "Do I look like the local Neighbourhood Watch..? No, I do not !"; 5 | _plyrs = []; 6 | _plyrs = player nearEntities [["Epoch_Man_base_F","Epoch_Female_base_F"], 250]; 7 | if (count _plyrs < 2) then { 8 | _trdrMsg = format["Apart from you %1. %2",name player, selectRandom ["I haven't seen any round these parts for a long while.","It has been very quiet around here,","There is not much to report !"]]; 9 | } else { 10 | _plyrs deleteAt 0; 11 | _plyr = selectRandom _plyrs; 12 | _trdrMsg = format["%2 %1.",name _plyr, selectRandom ["The last person picked up by the UAV was","I did spot someone earlier, their name was","I heard there was somebody new in the area, "]]; 13 | }; 14 | [_trdrMsg, 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 15 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDiag_nearVehicles.sqf: -------------------------------------------------------------------------------- 1 | //[[[cog import generate_private_arrays ]]] 2 | private ["_dist","_plyr","_trdrMsg","_veh","_vehs"]; 3 | //[[[end]]] 4 | _trdrMsg = "Hey, there is a garage down the road.. Well, there used to be."; 5 | _vehs = []; 6 | _plyr = player; 7 | _vehs = nearestObjects [_plyr, ["CAR","AIR"], 1000]; 8 | if (count _vehs < 1) then { 9 | _trdrMsg = format["%2 %1.",name _plyr,selectRandom["I haven't seen anything lately, why not buy one","There is nothing around here","The last time the UAV went out it found nothing"]]; 10 | } else { 11 | _veh = _vehs select (floor (random count _vehs)); 12 | _dist = _veh distance _plyr; 13 | _trdrMsg = format["I know of at least one vehicle within %1m of my current location. It looks like a %2.",_dist, typeof _veh]; 14 | }; 15 | [_trdrMsg, 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDiag_news.sqf: -------------------------------------------------------------------------------- 1 | private _newsArr = ["My dog was shot. That made me sad.","Business has been quiet since word got out that sappers are in the area.","Looters are expecting too much crypto for all the junk they bring in.","What do I look like ? A newspaper vendor. Go Away.","The sun came up again this morning.. That's good news I suppose.","Keep your dog fed with raw or cooked carcasses.","Sappers are known to be good for their pelts. Just don't get too close to one","Some very strange rumours that a Construct was seen in the mountains. Those things are just bedtime stories to scare kids with.","UAVs are a good source of components.","Some say the nearby town is haunted by malevolent spirits.","I hear the military are helping survivors with air drops. Your loot is always welcome here if you find one.","Dogs can help you find pelts and animal carcasses","I heard that a new vehicle has been seen, some kind of board that you stand on. I personally don't believe the rumours."]; 2 | 3 | [selectRandom _newsArr, 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 4 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDiag_timePlease.sqf: -------------------------------------------------------------------------------- 1 | //[[[cog import generate_private_arrays ]]] 2 | private ["_hour","_min"]; 3 | //[[[end]]] 4 | _hour = str(date select 3); 5 | _min = str(date select 4); 6 | 7 | if(count _hour < 2)then{ 8 | _hour = "0" + _hour; 9 | }; 10 | 11 | if(count _min < 2)then{ 12 | _min = "0" + _min; 13 | }; 14 | 15 | [format ["The time is %1:%2.",_hour, _min], 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/missions/tasks/traderDiag_triggerAirDrop.sqf: -------------------------------------------------------------------------------- 1 | if((random 100) < 6)then{ 2 | [] execFSM "\x\addons\a3_epoch_code\System\Event_Air_Drop.fsm"; 3 | ["Air Drop Incoming !", 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 4 | }else{ 5 | ["Sorry, None Available!", 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 6 | }; -------------------------------------------------------------------------------- /Sources/epoch_code/compile/p2p_trading/EPOCH_makep2pTrade.sqf: -------------------------------------------------------------------------------- 1 | // get trade items 2 | player setVariable ["Accept", true, true]; 3 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | P2P trade request 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_distance"]; 17 | //[[[end]]] 18 | params ["_otherPlyr"]; 19 | if (!isNull _otherPlyr) then { 20 | _distance = player distance _otherPlyr; 21 | if (_distance < 10) then { 22 | if (vehicle player == player && vehicle _otherPlyr == _otherPlyr) then { 23 | _this remoteExec ["EPOCH_server_tradeRequest",2]; 24 | EPOCH_p2ptradeTarget = _otherPlyr; 25 | call EPOCH_startTrade; 26 | }; 27 | }; 28 | }; 29 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/p2p_trading/EPOCH_tradeRequest.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | P2P trade request received 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/p2p_trading/EPOCH_tradeRequest.sqf 14 | */ 15 | if !(isNull _this) then { 16 | // ignore request if either player is in a vehicle 17 | if (vehicle player == player && vehicle _this == _this) then { 18 | [format ["Trade request received, Hold (%1)",EPOCH_keysAction call BIS_fnc_keyCode], 5] call Epoch_message; 19 | EPOCH_pendingP2ptradeTarget = _this; 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/EPOCH_clientRespawn.sqf: -------------------------------------------------------------------------------- 1 | // force player back to lobby as this should only happen if player did not tap out 2 | (findDisplay 46) closeDisplay 0; 3 | 4 | true 5 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Reject players own connection 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/setup/EPOCH_client_rejectPlayer.sqf 14 | 15 | Example: 16 | true remoteExec ['EPOCH_client_rejectPlayer',_player]; 17 | 18 | Parameter(s): 19 | _this: BOOL - true = set bad publicVariable to server forces kick 20 | 21 | Returns: 22 | NOTHING 23 | */ 24 | if (_this) then { 25 | PLAYER_BADHIVE = true; 26 | publicVariableServer "PLAYER_BADHIVE"; 27 | }; 28 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event3.sqf: -------------------------------------------------------------------------------- 1 | // runs every 15 seconds 2 | if !(_prevEquippedItem isEqualTo EPOCH_equippedItem_PVS) then { 3 | _prevEquippedItem = EPOCH_equippedItem_PVS; 4 | EPOCH_equippedItem_PVS remoteExec ["EPOCH_server_equippedItem",2]; 5 | }; 6 | // force update 7 | if (_forceUpdate || EPOCH_forceUpdate) then { 8 | _forceUpdate = false; 9 | EPOCH_forceUpdate = false; 10 | EPOCH_forceUpdateNow = false; 11 | call _fnc_forceUpdate; 12 | }; 13 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event4.sqf: -------------------------------------------------------------------------------- 1 | _nearByBobbersLocal = (player nearEntities[["Bobber_EPOCH"], 12]) select {local _x}; 2 | if !(_nearByBobbersLocal isEqualTo []) then { 3 | if ((random 100) < 50) then { 4 | _bobber = selectRandom _nearByBobbersLocal; 5 | _bobber setVelocity [0,-1,-10]; 6 | _bobber setVariable ["EPOCH_fishOnLine" , diag_tickTime]; 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event6.sqf: -------------------------------------------------------------------------------- 1 | _playerNuisance = missionNamespace getVariable [_playerNuisanceKey, _playerNuisanceDefault]; 2 | _playerSoiled = missionNamespace getVariable [_playerSoiledKey, _playerSoiledDefault]; 3 | _spawnChance = ((_playerNuisance + _playerSoiled)/2) max 1; 4 | // add more antagonist spawn chances 5 | if (random _antagonistRndChance < _spawnChance) then { 6 | // selectRandomWeighted arma 1.76 or higher 7 | (selectRandomWeighted _antagonistChances) call EPOCH_unitSpawnIncrease; 8 | }; 9 | 10 | 11 | _spawnUnits = []; 12 | { 13 | if (_x > 0) then{ 14 | _spawnUnits pushBack(EPOCH_spawnIndex select _forEachIndex); 15 | }; 16 | } forEach (missionNamespace getVariable [_playerSpawnArrayKey, _playerSpawnArrayDefault]); 17 | 18 | diag_log format["DEBUG: _spawnUnits %1",_spawnUnits]; 19 | 20 | // test spawning one antagonist every 10 minutes select one unit at random to spawn 21 | if !(_spawnUnits isEqualTo[]) then{ 22 | (selectRandom _spawnUnits) call EPOCH_unitSpawn; 23 | }; 24 | _UpdateTopStats = true; -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event7.sqf: -------------------------------------------------------------------------------- 1 | // runs every 10 minutes 2 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event8.sqf: -------------------------------------------------------------------------------- 1 | //Updates favorites bar 2 | call epoch_favBar_refresh; 3 | 4 | // process loot 5 | call _lootBubble; 6 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/setup/masterLoop/Event9.sqf: -------------------------------------------------------------------------------- 1 | if ('ItemGeigerCounter_EPOCH' in assignedItems player) then { 2 | if (!EPOCH_geiger_mute_counter || !EPOCH_geiger_mute_warning || EPOCH_geiger_shown) then { //only run if geiger activated 3 | _radiatedObjMaxRange call epoch_geiger_simulate; 4 | }; 5 | } else { 6 | if (EPOCH_geiger_shown) then { 7 | call epoch_geiger_show_hide; 8 | }; 9 | }; -------------------------------------------------------------------------------- /Sources/epoch_code/compile/traders/EPOCH_startInteract.sqf: -------------------------------------------------------------------------------- 1 | // TODO remove unused file 2 | //[[[cog import generate_private_arrays ]]] 3 | private ["_dialog","_forceGear","_handled","_target","_targets","_vehicle"]; 4 | //[[[end]]] 5 | closeDialog 0; 6 | _dialog = ""; 7 | _handled = false; 8 | _forceGear = false; 9 | _target = objNull; 10 | 11 | // params ["_ctrl"]; 12 | 13 | _vehicle = vehicle player; 14 | if (_vehicle != player) exitWith {false}; 15 | if (!isNull cursorTarget) then { 16 | if ((player distance cursorTarget) < 6) then { 17 | _target = cursorTarget; 18 | }; 19 | }; 20 | if (isNull _target) then { 21 | _targets = nearestObjects [player, ["WeaponHolder", "WeaponHolderSimulated"], 3]; 22 | if !(_targets isEqualTo []) then { 23 | _target = _targets select 0; 24 | _forceGear = true; 25 | }; 26 | }; 27 | 28 | if (!isNull _target) then { 29 | if (_forceGear) then { 30 | player action ["Gear", _target]; 31 | _handled = true; 32 | } else { 33 | if (_dialog != "") then { 34 | _handled = createdialog _dialog; 35 | setMousePosition [0.5, 0.5]; 36 | }; 37 | }; 38 | }; 39 | _handled 40 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/traders/EPOCH_startInteractNPC.sqf: -------------------------------------------------------------------------------- 1 | //[[[cog import generate_private_arrays ]]] 2 | private ["_ok"]; 3 | //[[[end]]] 4 | if (isNull _this) exitWith {}; 5 | if !(alive _this) exitWith {}; 6 | _ok = createdialog "MissionSelect"; 7 | if (!_ok) exitWith {}; 8 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/traders/EPOCH_takeCrypto.sqf: -------------------------------------------------------------------------------- 1 | //[[[cog import generate_private_arrays ]]] 2 | private ["_nearCrypto","_CryptoItems","_getCrypto","_addmoney"]; 3 | //[[[end]]] 4 | if !(isNil "EPOCH_takeCryptoLock") exitWith {}; 5 | EPOCH_takeCryptoLock = true; 6 | _nearCrypto = (nearestobjects [player,[],5]) select {(_x getvariable ["Crypto",0]) > 0}; 7 | _CryptoItems = []; 8 | _getCrypto = 0; 9 | { 10 | _addmoney = (_x getvariable ['Crypto',0]); 11 | if (_addmoney > 0) then { 12 | _CryptoItems pushback _x; 13 | }; 14 | _getCrypto = _getCrypto + _addmoney; 15 | } foreach _nearCrypto; 16 | 17 | if (_getCrypto > 0) then { 18 | [player, Epoch_personalToken, _CryptoItems] remoteExec ["EPOCH_server_takeCrypto",2]; 19 | [format['You found %1 Crypto', _getCrypto], 5] call Epoch_message; 20 | } 21 | else { 22 | ['No Crypto found', 5] call Epoch_message; 23 | }; 24 | 25 | [] spawn{ 26 | uiSleep 2; 27 | EPOCH_takeCryptoLock = nil; 28 | }; 29 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | sets Fuel on local vehicle 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/vehicles/EPOCH_client_fillVehicle.sqf 14 | */ 15 | params ["_vehicle","_value"]; 16 | if (local _vehicle) then { 17 | _vehicle setFuel _value; 18 | }; 19 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Open gear on cursorTarget function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/vehicles/EPOCH_client_gearVehicle.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_vehicles"]; 17 | //[[[end]]] 18 | closeDialog 0; 19 | if (!isNull cursorTarget) then { 20 | _vehicles = player nearEntities[["LandVehicle", "Ship", "Air", "Tank"], 30]; 21 | if (cursorTarget in _vehicles) then { 22 | player action["Gear", cursorTarget]; 23 | }; 24 | }; 25 | -------------------------------------------------------------------------------- /Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | lock local object 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/vehicles/EPOCH_client_lockVehicle.sqf 14 | */ 15 | params ["_vehicle","_value"]; 16 | if (local _vehicle) then { 17 | _vehicle lock _value; 18 | }; 19 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_FiredMan.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch FiredMan Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_FiredMan.sqf 14 | */ 15 | params ["_unit","_weapon","_muzzle","_mode","_ammo","_magazine","_projectile"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_FiredNear.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: He-Man - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Custom A3 Epoch FiredNear Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_FiredNear.sqf 14 | */ 15 | params ["_unit", "_firer", "_distance", "_weapon", "_muzzle", "_mode", "_ammo", "_gunner"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_GetInMan.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch GetInMan Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_GetInMan.sqf 14 | */ 15 | params ["_unit","_position","_vehicle"]; 16 | 17 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_GetOutMan.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch GetOutMan Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_GetOutMan.sqf 14 | */ 15 | params ["_unit","_position","_vehicle"]; 16 | 17 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_HandleDamage.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: He-Man - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Custom A3 Epoch HandleDamage Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_HandleDamage.sqf 14 | */ 15 | params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; 16 | 17 | 18 | 19 | 20 | 21 | _damage 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_Hit.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: He-Man - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Custom A3 Epoch Hit Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_Hit.sqf 14 | */ 15 | params ["_unit", "_source", "_damage", "_instigator"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_InventoryClosed.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch InventoryClosed Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_Take.sqf 14 | */ 15 | params ["_unit","_container"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_InventoryOpened.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch InventoryOpened Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_InventoryOpened.sqf 14 | */ 15 | params ["_unit","_container","_sec"]; 16 | // Start Custom Code 17 | 18 | 19 | 20 | // End Custom Code 21 | false 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_KeyDown.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch KeyUp Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_KeyDown.sqf 14 | */ 15 | params ["_display","_dikCode","_shift","_ctrl","_alt"]; 16 | _handled = false; 17 | 18 | 19 | _handled 20 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_KeyUp.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch KeyUp Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_KeyUp.sqf 14 | */ 15 | params ["_display","_dikCode","_shift","_ctrl","_alt"]; 16 | _handled = false; 17 | 18 | 19 | _handled 20 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_Killed.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch Killed Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_Killed.sqf 14 | */ 15 | params [["_unit",objNull,[objNull]],["_killer",objNull,[objNull]] ]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_Put.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch Put Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_Put.sqf 14 | */ 15 | params ["_unit","_container","_itemclass"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_SeatSwitchedMan.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: He-Man - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Custom A3 Epoch SeatSwitchedMan Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_SeatSwitchedMan.sqf 14 | */ 15 | params ["_unit1", "_unit2", "_vehicle"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_EH_Take.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch Take Eventhandler 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_EH_Take.sqf 14 | */ 15 | params ["_unit","_container","_itemclass"]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_OnEachFrame.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: [Ignatz] He-Man 5 | 6 | Description: 7 | Custom A3 Epoch OnEachFrame 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/custom/EPOCH_custom_OnEachFrame.sqf 14 | */ 15 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/EPOCH_custom_radioActions.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: Activates code block within switch when certain radio is used from Favorites bar 7 | 8 | Licence: 9 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 10 | 11 | Github: 12 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_3DctrlSpin.sqf 13 | 14 | Usage: None by default, create your own actions here if you want 15 | */ 16 | 17 | switch _this do { 18 | case "EpochRadio0":{}; 19 | case "EpochRadio1":{}; 20 | case "EpochRadio2":{}; 21 | case "EpochRadio3":{}; 22 | case "EpochRadio4":{}; 23 | case "EpochRadio5":{}; 24 | case "EpochRadio6":{}; 25 | case "EpochRadio7":{}; 26 | case "EpochRadio8":{}; 27 | case "EpochRadio9":{}; 28 | default {}; 29 | }; 30 | 31 | true -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/BlockedAreas.sqf: -------------------------------------------------------------------------------- 1 | _config = 'CfgEpochClient' call EPOCH_returnConfig; 2 | _blacklist = (getArray(_config >> worldname >> 'blockedArea')); 3 | if (isnil "Epoch_BlockedMarkeron") then { 4 | Epoch_BlockedMarkeron = false; 5 | }; 6 | if (Epoch_BlockedMarkeron) then { 7 | { 8 | _x params ["_mPos","_size"]; 9 | _mName = format ["blockedmarker_%1",_mPos]; 10 | deleteMarkerlocal _mName; 11 | } foreach _blacklist; 12 | ["Blocked Areas are now removed from your Map",5] call Epoch_Message; 13 | } 14 | else { 15 | _mShape = 'ELLIPSE'; 16 | _mColor = 'ColorRed'; 17 | _mBrush = 'Grid'; 18 | _mAlpha = 0.8; 19 | { 20 | _x params ["_mPos","_size"]; 21 | _msize = [_size,_size]; 22 | _mName = format ["blockedmarker_%1",_mPos]; 23 | _mrkr = createMarkerLocal [_mName, _mPos]; 24 | _mName setMarkerShapeLocal _mShape; 25 | _mName setMarkerSizeLocal _mSize; 26 | _mName setMarkerColorLocal _mColor; 27 | _mName setMarkerBrushLocal _mBrush; 28 | _mName setMarkerAlphaLocal _mAlpha; 29 | } forEach _blacklist; 30 | ["Blocked Areas are now shown on your Map",5] call Epoch_Message; 31 | }; 32 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/ServerContacts.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | E_Pad 6 | 7 | 27 | 28 | 29 |

30 | Server Contacts:
31 | Homepage: EpochMod.com
32 | Discord: EpochMod Discord
33 | FaceBook: https://www.facebook.com/EpochMod/
34 |

35 | 36 | 37 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/ServerInfos.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | E_Pad 6 | 7 | 27 | 28 | 29 |

30 | Server Infos:
31 | Homepage: EpochMod.com
32 | Discord: EpochMod Discord
33 | FaceBook: https://www.facebook.com/EpochMod/
34 |

35 | 36 | 37 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/ServerRules.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | E_Pad 6 | 7 | 27 | 28 | 29 |

30 | Server Rules
31 | - Play fair!
32 |    - Do not glitch
33 |    - Do not use bugs
34 |    - Do not flame other players
35 |

36 | 37 | 38 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/ServerSettings.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | E_Pad 6 | 7 | 27 | 28 | 29 |

30 | Server Settings:
31 | Ask an Admin to change this file:
32 | epoch_code\customs\E_Pad\ServerSettings.html
33 |

34 | 35 | 36 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/traderDiag_news.sqf: -------------------------------------------------------------------------------- 1 | private _newsArr = [ 2 | "My dog was shot. That made me sad.", 3 | "Business has been quiet since word got out that sappers are in the area.", 4 | "Looters are expecting too much crypto for all the junk they bring in.", 5 | "What do I look like ? A newspaper vendor. Go Away.", 6 | "The sun came up again this morning.. That's good news I suppose.", 7 | "Keep your dog fed with raw or cooked carcasses.", 8 | "Sappers are known to be good for their pelts. Just don't get too close to one", 9 | "Some strange rumours that a Construct was seen in the mountains. Those are just bedtime stories to scare kids with.", 10 | "UAVs are a good source of components.", 11 | "Some say the nearby town is haunted by malevolent spirits.", 12 | "I hear the military are helping survivors with air drops. Your loot is always welcome here if you find one.", 13 | "Dogs can help you find pelts and animal carcasses", 14 | "I heard that a new vehicle has been seen, some kind of board that you stand on. I personally don't believe it." 15 | ]; 16 | 17 | [selectRandom _newsArr, 5,[[0,0,0,0.5],[1,0.5,0,1]]] call Epoch_message; 18 | -------------------------------------------------------------------------------- /Sources/epoch_code/customs/E_Pad/web.sqf: -------------------------------------------------------------------------------- 1 | disableserialization; 2 | _display = finddisplay 9898; 3 | call EPOCH_EPad_clearscreen; 4 | _htmlctrl = (_display displayctrl 1901); 5 | _htmlctrl ctrlshow true; 6 | _html = "epoch_code\gui\scripts\e_pad\Apps\E_Pad.html"; 7 | _htmlctrl htmlLoad _html; -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_3DctrlSpin.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Spins a 3D dialog 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_3DctrlSpin.sqf 14 | 15 | Usage: 16 | [control] call epoch_3DctrlSpin; 17 | */ 18 | 19 | _this spawn { 20 | disableSerialization; 21 | params ["_ctrl3D"]; 22 | rmx_var_3dCtrlSpin = true; 23 | 24 | _ctrlPos = ctrlPosition _ctrl3D; 25 | 26 | if (isNil "rmx_var_3dCtrlSpin_Vector") then {rmx_var_3dCtrlSpin_Vector = 0;}; 27 | 28 | while {rmx_var_3dCtrlSpin} do { 29 | for "_i" from 0 to 360 do { 30 | 31 | _vector = (360 - _i) - 360; 32 | _ctrl3D ctrlSetModelDirAndUp [[-(sin _vector),cos _vector,0],[cos _vector * rmx_var_3dCtrlSpin_Vector,sin _vector * rmx_var_3dCtrlSpin_Vector,1]]; 33 | if !(rmx_var_3dCtrlSpin) exitWith{}; 34 | uiSleep 0.01; 35 | }; 36 | }; 37 | }; 38 | true 39 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_3DctrlYaw.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | Spins 3D dialog along Z axis following mouse input 8 | Requires source control to read coords from and destination 3D control 9 | Can be applied to 3D control itself, but not recommended, pref use transparent rscPicture (enable it). 10 | 11 | Licence: 12 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 13 | 14 | Github: 15 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_3DctrlYaw.sqf 16 | 17 | Usage: 18 | _ctrl ctrlSetEventHandler ["MouseMoving", "[_this,control3D] call Epoch_3DctrlPitchYaw"]; 19 | */ 20 | //[[[cog import generate_private_arrays ]]] 21 | private ["_inX","_inY"]; 22 | //[[[end]]] 23 | params ["_arr","_ctrl3D"]; 24 | 25 | disableSerialization; 26 | 27 | _inX = (_arr select 2) * 180; 28 | _inY = (_arr select 1) * 180; 29 | 30 | _ctrl3D ctrlSetModelDirAndUp [[-(cos _inX * sin _inY),cos _inX * cos _inY,0],[0,0,1]]; 31 | 32 | true 33 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_getColorScheme.sqf: -------------------------------------------------------------------------------- 1 | [ 2 | profileNamespace getVariable "gui_bcg_rgb_r", 3 | profileNamespace getVariable "gui_bcg_rgb_g", 4 | profileNamespace getVariable "gui_bcg_rgb_b", 5 | profileNamespace getVariable "gui_bcg_rgb_a" 6 | ] -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | Used to register and unregister IDC used in dynamic menus. 8 | Pass the control to unregister or just call fnc to get a unique IDC 9 | 10 | Licence: 11 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 12 | 13 | Github: 14 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_getIDC.sqf 15 | */ 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_find","_in","_list","_out"]; 18 | //[[[end]]] 19 | _in = [_this, 0, controlNull, [controlNull]] call BIS_fnc_param; 20 | 21 | _list = missionNamespace getVariable ["rmx_var_uniqueIDC",[]]; 22 | 23 | if (ctrlIDC _in isEqualTo -1) then { 24 | _out = -90000 - (count _list); 25 | _list pushBack _out; 26 | } else { 27 | _find = _list find (ctrlIDC _in); 28 | _list deleteAt _find; 29 | _out = true; 30 | }; 31 | missionNamespace setVariable ["rmx_var_uniqueIDC",_list]; 32 | 33 | _out 34 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_guiObjHP.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_guiObjHP.sqf 14 | */ 15 | private ["_dmg","_hitPoints"]; 16 | params [["_obj",objNull, [objNull]],["_mode",0, [0]]]; 17 | 18 | if (_obj isEqualTo objNull) exitWith {}; 19 | 20 | _hitPoints = getAllHitPointsDamage _obj; 21 | 22 | { 23 | _dmg = _hitPoints select 2 select _forEachIndex; 24 | if ((_mode isEqualTo 1) || ((_mode isEqualTo 0) && !(_dmg isEqualTo 0))) then { 25 | [ 26 | _obj, 27 | 10, 28 | format ["x\addons\a3_epoch_code\Data\UI\health_parts\%1.paa", floor (_dmg * 10)], 29 | format ["%1%2",100 - (round (_dmg * 100)),"%"], 30 | (_obj selectionPosition _x), 31 | 10 32 | ] call epoch_gui3dModelPos; 33 | }; 34 | } forEach (_hitPoints select 1); 35 | 36 | true 37 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_out"]; 17 | //[[[end]]] 18 | params [["_in",false]]; 19 | _out = switch (typeName _in) do { 20 | case "STRING": 21 | { 22 | if !(isNull dyna_cursorTarget) then { 23 | dyna_cursorTarget getVariable ["EPOCH_Locked",false] 24 | }; 25 | }; 26 | case "OBJECT": 27 | { 28 | [_in,(_in getVariable ["EPOCH_Locked",false]),player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2]; 29 | true 30 | }; 31 | default {false}; 32 | }; 33 | _out 34 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/Epoch_showStats.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark 3 | 4 | Contributors: 5 | 6 | Description: 7 | Displays Crypto and Energy stats on screen 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_showStats.sqf 14 | */ 15 | disableSerialization; 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_display","_display3"]; 18 | //[[[end]]] 19 | 9992 cutRsc["EpochGameUI2", "PLAIN", 2, false]; 20 | _display = uiNamespace getVariable "EPOCH_EpochGameUI2"; 21 | (_display displayCtrl 21208) ctrlSetText format["%1", EPOCH_playerCrypto]; 22 | 23 | 9993 cutRsc["EpochGameUI3", "PLAIN", 2, false]; 24 | _display3 = uiNamespace getVariable "EPOCH_EpochGameUI3"; 25 | (_display3 displayCtrl 21210) ctrlSetText format["%1/%2", round(EPOCH_playerEnergy), EPOCH_playerEnergyMax]; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/craftingv2/EPOCH_crafting_LB_doubleClick.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/craftingv2/EPOCH_crafting_LB_doubleClick.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_idx","_txt"]; 17 | //[[[end]]] 18 | 19 | _idx = lbCurSel (rmx_var_crafting_ctrl_main select 1); 20 | _txt = (rmx_var_crafting_ctrl_main select 1) lbData _idx; 21 | (rmx_var_crafting_ctrl_Interact select 4) ctrlSetText _txt; 22 | 23 | true 24 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/craftingv2/EPOCH_crafting_animate.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/craftingv2/EPOCH_crafting_animate.sqf 14 | */ 15 | params ["_ctrl","_first","_second",["_speed",0.5]]; 16 | 17 | _ctrl ctrlSetPosition _first; 18 | _ctrl ctrlCommit 0; 19 | _ctrl ctrlSetPosition _second; 20 | _ctrl ctrlCommit _speed; 21 | 22 | true 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/dynamicHUD/epoch_dynamicHUD_loadSave.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | 8 | Licence: 9 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 10 | 11 | Github: 12 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/dynamicHUD/Epoch_loadSave.sqf 13 | */ -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/dynamicHUD/epoch_getHUDCtrl.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Returns Control from Dynamic HUD to be manipulated externally. See CfgDynamicHUD.hpp on how to create your own HUD groups. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/dynamicHUD/Epoch_getHUDCtrl.sqf 14 | 15 | Usage: 16 | [_configName, _index] call epoch_getHUDCtrl; 17 | ["myHudName", 2] call epoch_getHUDCtrl; 18 | */ 19 | //[[[cog import generate_private_arrays ]]] 20 | private ["_gIdx"]; 21 | //[[[end]]] 22 | if !(_this isEqualTypeArray ["",0]) exitWith {controlNull}; 23 | params ["_gName","_cIdx"]; 24 | _gIdx = -1; 25 | { 26 | if ((_x select 0) isEqualTo _gName) exitWith {_gIdx = _forEachIndex}; 27 | } forEach rmx_var_dynamicHUD_groupCTRL; 28 | if (_gIdx == -1) exitWith {controlNull}; 29 | 30 | ((rmx_var_dynamicHUD_groupCTRL select _gIdx) param [_cIdx,controlNull]) 31 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/e_pad/EPOCH_EPad_Reset.sqf: -------------------------------------------------------------------------------- 1 | _cfg = "e_pad_config" call EPOCH_returnConfig; 2 | _startvars = getarray (_cfg >> "LoadVarsFromProfile"); 3 | { 4 | _x params ["_varname",["_default","false",[""]]]; 5 | if (_varname isequaltype "" && !(_varname isequalto "")) then { 6 | _value = if ((tolower _default) isequalto "true") then {true} else {false}; 7 | missionnamespace setvariable [_varname,_value]; 8 | }; 9 | } foreach _startvars; 10 | profilenamespace setvariable ["Epoch_ToggleVars",nil]; 11 | saveprofilenamespace; 12 | hintsilent ""; 13 | ["E-Pad settings resetted",5] call epoch_message; 14 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/e_pad/EPOCH_EPad_clearscreen.sqf: -------------------------------------------------------------------------------- 1 | disableSerialization; 2 | _display = finddisplay 9898; 3 | { 4 | (_display displayctrl _x) ctrlshow false; 5 | } foreach [1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1814,1900,1902,1903]; 6 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/e_pad/EPOCH_SaveVarsToProfile.sqf: -------------------------------------------------------------------------------- 1 | params ["_type","_var","_value"]; 2 | _arr = profilenamespace getvariable [_type,[[],[]]]; 3 | _find = (_arr select 0) find _var; 4 | if (_find > -1) then { 5 | (_arr select 1) set [_find, _value]; 6 | } 7 | else { 8 | (_arr select 0) pushback _var; 9 | (_arr select 1) pushback _value; 10 | }; 11 | profilenamespace setvariable [_type,_arr]; 12 | saveprofilenamespace; 13 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/epoch_dragControl.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Gives ability to move active controls like RscActivePicture (see Epoch_GUI_rmx.hpp for an example). 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/Epoch_dragControl.sqf 14 | 15 | Usage: 16 | No direct usage, simply create your control in configs following example in HPP mentioned in description 17 | */ 18 | //[[[cog import generate_private_arrays ]]] 19 | private ["_ctrl","_curr","_mpos"]; 20 | //[[[end]]] 21 | _ctrl = param [0]; 22 | _curr = ctrlPosition _Ctrl; 23 | _mpos = getmousePosition; 24 | 25 | if (rmx_var_drag_MouseDown) then { 26 | _ctrl ctrlSetPosition [(_mpos select 0) - (_curr select 2) / 2, (_mpos select 1) - (_curr select 3) / 2 ]; 27 | _ctrl ctrlCommit 0; 28 | }; 29 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/favBar/epoch_favBar_drawCurrent.sqf: -------------------------------------------------------------------------------- 1 | for "_i" from 0 to 4 do { 2 | _c = (["fav_pic", _i+1] call epoch_getHUDCtrl); 3 | _c ctrlSetText ((rmx_var_favBar_current select _i) call EPOCH_itemPicture); 4 | }; 5 | true -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/favBar/epoch_favBar_getGearItem.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: no use outside favbar probably. Weapons return display names only, so this hack allows getting their className 7 | 8 | Licence: 9 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 10 | 11 | Github: 12 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/favBar/epoch_favBar_getGearItem.sqf 13 | 14 | Usage: none 15 | 16 | RETURNS: classname for item in inventory 17 | */ 18 | private ["_return","_dispName","_idx","_className"]; 19 | (_this select 1 select 0) params ["_dispName","_idx","_className"]; 20 | _return = ""; 21 | 22 | if (_className isEqualTo "") then { //do itemsWithMagazines instead 23 | 24 | { 25 | _txt = getText (configFile >> "CfgWeapons" >> _x >> "displayName"); 26 | if (_txt isEqualTo _dispName) exitWith {_return = _x}; 27 | } forEach (items player); 28 | 29 | } else { 30 | _return = _className; 31 | }; 32 | 33 | _return -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/favBar/epoch_favBar_modifier.sqf: -------------------------------------------------------------------------------- 1 | switch EPOCH_modKeys do { 2 | case [true,false,false]:{rmx_var_favBar_current = rmx_var_favBar_MShift;}; 3 | case [false,true,false]:{rmx_var_favBar_current = rmx_var_favBar_MCtrl;}; 4 | case [false,false,true]:{rmx_var_favBar_current = rmx_var_favBar_MAlt;}; 5 | default {rmx_var_favBar_current = rmx_var_favBar_MNone;}; 6 | }; 7 | call epoch_favBar_drawCurrent; 8 | call epoch_favBar_refresh; 9 | true -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_Group_invitePlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_Group_invitePlayer.sqf 14 | */ 15 | if !(_this in Epoch_invited_GroupUIDs) then { 16 | Epoch_invited_GroupUIDs pushBack _this; 17 | ["Group request received", 5] call Epoch_message; 18 | }; 19 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_Group_update.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_Group_update.sqf 14 | */ 15 | if (!isNull (findDisplay -1300)) then { 16 | (findDisplay -1300) closeDisplay 0; 17 | uisleep 0.2; 18 | createDialog "Epoch_myGroup"; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_cGroup_onLoad.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_cGroup_onLoad.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_textCtrl"]; 17 | //[[[end]]] 18 | if (Epoch_my_GroupUID != "") exitWith {(findDisplay -1200) closeDisplay 0}; 19 | disableSerialization; 20 | _textCtrl = (findDisplay -1200) displayCtrl 22; 21 | if (EPOCH_playerCrypto < parseNumber(EPOCH_group_upgrade_lvl select 1)) then { 22 | _textCtrl CtrlSetText format ["Need %1 Crypto to create your own group",EPOCH_group_upgrade_lvl select 1]; 23 | } else { 24 | _textCtrl CtrlSetText format["Cost to create group %1 Crypto", EPOCH_group_upgrade_lvl select 1]; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_acceptInvite.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_iGroup_acceptInvite.sqf 14 | */ 15 | if (Epoch_invited_GroupUID != "") then { 16 | if !(Epoch_my_GroupUID == "") exitwith { 17 | ["Leave your current Group first...",5] call Epoch_Message; 18 | }; 19 | [Epoch_invited_GroupUID,getPlayerUID player,true,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerGroup",2]; 20 | }; 21 | (findDisplay -1500) closeDisplay 0; 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_onLoad.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_iGroup_onLoad.sqf 14 | */ 15 | disableSerialization; 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_display","_text"]; 18 | //[[[end]]] 19 | _display = findDisplay -1400; 20 | if (Epoch_invited_GroupUID == "" || Epoch_invited_GroupName == "") exitWith { _display closeDisplay 0}; 21 | _text = _display displayCtrl 21; 22 | _text ctrlSetText format ["Join the group called %1?",Epoch_invited_GroupName]; 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_refresh.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_iGroup_refresh.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_index"]; 17 | //[[[end]]] 18 | if !(Epoch_invited_GroupUIDs isEqualTo []) then { 19 | Epoch_invited_GroupUIDsPrev = Epoch_invited_GroupUIDs; 20 | lbClear 1500; 21 | { 22 | _index = lbAdd[1500, _x select 1]; 23 | lbSetData[1500, _index, _x select 0]; 24 | } forEach Epoch_invited_GroupUIDs; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_cTempGroup_onLoad.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/groupTemp/EPOCH_cTempGroup_onLoad.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_textCtrl"]; 17 | //[[[end]]] 18 | if!(Epoch_my_tempGroup isEqualTo [])exitWith {(findDisplay -1200) closeDisplay 0}; 19 | disableSerialization; 20 | _textCtrl = (findDisplay -1200) displayCtrl 22; 21 | _textCtrl CtrlSetText format ["%1, Temp Groups are free forever",name player]; 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_iTempGroup_acceptInvite.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/groupTemp/EPOCH_itempGroup_acceptInvite.sqf 14 | */ 15 | if (Epoch_invited_tempGroupUID != "") then { 16 | if !(Epoch_my_tempGroupUID == "") exitwith { 17 | ["Leave your current Group first...",5] call Epoch_Message; 18 | }; 19 | [Epoch_invited_tempGroupUID,getPlayerUID player,true,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerTempGroup",2]; 20 | }; 21 | (findDisplay -1500) closeDisplay 0; 22 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_iTempGroup_onLoad.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/groupTemp/EPOCH_iTempGroup_onLoad.sqf 14 | */ 15 | disableSerialization; 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_display","_text"]; 18 | //[[[end]]] 19 | _display = findDisplay -1400; 20 | if (Epoch_invited_tempGroupUID == "" || Epoch_invited_tempGroupName == "") exitWith { _display closeDisplay 0}; 21 | _text = _display displayCtrl 21; 22 | _text ctrlSetText format ["Join the temp group called %1?",Epoch_invited_tempGroupName]; 23 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_iTempGroup_refresh.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/groupTemp/EPOCH_iTempGroup_refresh.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_index"]; 17 | //[[[end]]] 18 | if !(Epoch_invited_tempGroupUIDs isEqualTo []) then { 19 | Epoch_invited_tempGroupUIDsPrev = Epoch_invited_tempGroupUIDs; 20 | lbClear 1500; 21 | { 22 | _index = lbAdd[1500, _x select 1]; 23 | lbSetData[1500, _index, _x select 0]; 24 | } forEach Epoch_invited_tempGroupUIDs; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_tempGroup_invitePlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/group/EPOCH_Group_invitePlayer.sqf 14 | */ 15 | if !(_this in Epoch_invited_tempGroupUIDs) then { 16 | Epoch_invited_tempGroupUIDs pushBack _this; 17 | ["Temp Group request received", 5] call Epoch_message; 18 | }; 19 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/groupTemp/EPOCH_tempGroup_update.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/groupTemp/EPOCH_tempGroup_update.sqf 14 | */ 15 | if (!isNull (findDisplay -1300)) then { 16 | (findDisplay -1300) closeDisplay 0; 17 | uisleep 0.2; 18 | createDialog "Epoch_myTempGroup"; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/inventory/EPOCH_Inventory_Group.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/inventory/EPOCH_Inventory_Group.sqf 14 | */ 15 | disableSerialization; 16 | (findDisplay 602) closeDisplay 0; 17 | createDialog (if ((Epoch_my_GroupUID == "") && (Epoch_my_Group isEqualTo [])) then {"EPOCH_createGrp"} else {"Epoch_myGroup"}); 18 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/inventory/EPOCH_Inventory_iGroup.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/inventory/EPOCH_Inventory_iGroup.sqf 14 | */ 15 | disableSerialization; 16 | (findDisplay 602) closeDisplay 0; 17 | if !(Epoch_invited_GroupUIDs isEqualTo[]) exitWith { 18 | createDialog "GroupRequests"; 19 | }; 20 | ["No pending requests", 5] call Epoch_message; 21 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/inventory/EPOCH_Inventory_itempGroup.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/inventory/EPOCH_Inventory_itempGroup.sqf 14 | */ 15 | disableSerialization; 16 | (findDisplay 602) closeDisplay 0; 17 | if !(Epoch_invited_tempGroupUIDs isEqualTo[]) exitWith { 18 | createDialog "tempGroupRequests"; 19 | }; 20 | ["No pending requests", 5] call Epoch_message; 21 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/inventory/EPOCH_Inventory_tempGroup.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Niklas Wagner - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | TODO: DESC-TBA 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/inventory/EPOCH_Inventory_tempGroup.sqf 14 | */ 15 | disableSerialization; 16 | (findDisplay 602) closeDisplay 0; 17 | createDialog (if ((Epoch_my_tempGroupUID == "") && (Epoch_my_tempGroup isEqualTo [])) then {"EPOCH_createTempGrp"} else {"Epoch_myTempGroup"}); 18 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Destroys single or multiple post process effects 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/blob/release/Sources/epoch_code/gui/scripts/post_process/EPOCH_postprocessDestroy.sqf 14 | 15 | 16 | 17 | Params: single handle or array of handles 18 | 19 | Usage: _handle call epoch_postprocessDestroy; //single 20 | [_handle] call epoch_postprocessDestroy; //array of handles 21 | [_hndl_1,_hndl_2,_hndl_3,_hndl_4] call epoch_postprocessDestroy; //array of singles 22 | */ 23 | 24 | if !(_this isEqualType []) then { 25 | _this = [_this] 26 | }; 27 | ppEffectDestroy _this; 28 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DCooldownEH.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | TODO: Description 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DCooldownEH.sqf 14 | */ 15 | private ["_pos2","_scale"]; 16 | params ["_ctrlGrp","_loc","_pos","_dst"]; 17 | _pos2 = worldToScreen _loc; 18 | if (_pos2 isEqualTo []) then {_pos2 = [-2,-2]}; 19 | _pos set [0, (_pos2 select 0)-((_pos select 2)/2)]; 20 | _pos set [1, (_pos2 select 1)-((_pos select 3)/2)]; 21 | _ctrlGrp ctrlSetPosition _pos; 22 | _scale = linearConversion [0, _dst, player distance _loc, 0, 1, false]; 23 | _ctrlGrp ctrlSetFade _scale; 24 | _ctrlGrp ctrlCommit 0; 25 | true 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DModelPosEH.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | TODO: Description 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DModelPosEH.sqf 14 | */ 15 | private ["_pos2","_m2w","_scale"]; 16 | params ["_ctrl", "_obj", "_loc","_pos","_dst"]; 17 | _m2w = _obj modelToWorld _loc; 18 | _pos2 = worldToScreen _m2w; 19 | if (_pos2 isEqualTo []) then {_pos2 = [-2,-2]}; 20 | _pos set [0, (_pos2 select 0)-((_pos select 2)/2)]; 21 | _pos set [1, (_pos2 select 1)-((_pos select 3)/2)]; 22 | _ctrl ctrlSetPosition _pos; 23 | _scale = linearConversion [0, _dst, player distance _m2w, 0, 1, false]; 24 | _ctrl ctrlSetFade _scale; 25 | _ctrl ctrlCommit 0; 26 | true 27 | -------------------------------------------------------------------------------- /Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DWorldPosEH.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Raimonds Virtoss - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | TODO: Description 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/gui/scripts/worldToScreen/Epoch_gui3DWorldPosEH.sqf 14 | */ 15 | private ["_pos2","_scale"]; 16 | params ["_ctrl","_loc","_pos","_dst"]; 17 | _pos2 = worldToScreen _loc; 18 | if (_pos2 isEqualTo []) then {_pos2 = [-2,-2]}; 19 | _pos set [0, (_pos2 select 0)-((_pos select 2)/2)]; 20 | _pos set [1, (_pos2 select 1)-((_pos select 3)/2)]; 21 | _ctrl ctrlSetPosition _pos; 22 | _scale = linearConversion [0, _dst, player distance _loc, 0, 1, false]; 23 | _ctrl ctrlSetFade _scale; 24 | _ctrl ctrlCommit 0; 25 | true 26 | -------------------------------------------------------------------------------- /Sources/epoch_code/init/fn_postinit.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Initalize Player 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/init/fn_postinit.sqf 14 | */ 15 | if (isDedicated) then { 16 | // dedicated server 17 | call compile preprocessFileLineNumbers "\epoch_server\init\server_init.sqf"; 18 | } else { 19 | if (hasInterface) then { 20 | 21 | if (isMultiplayer) then { 22 | // start multiplayer game 23 | call compile preprocessFileLineNumbers "epoch_code\init\client_init.sqf"; 24 | }; 25 | 26 | if (isServer) then { 27 | // listen server host 28 | 29 | } else { 30 | // all players 31 | 32 | 33 | }; 34 | } else { 35 | // Headless Clients 36 | 37 | }; 38 | }; 39 | true 40 | -------------------------------------------------------------------------------- /Sources/epoch_code/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Altis 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp 14 | */ 15 | 16 | class Altis { 17 | blockedArea[] = { //[POS],radius 18 | { { 16085, 16997, 0 }, 250 }, //South Telos 19 | { { 12844, 16714, 0 }, 120 }, //Soldner Base 20 | { { 3085, 13184, 0 }, 300 }, //Kavalar Carstel 21 | { { 13493, 12013, 0 }, 450 }, //Makrynisi (Island) 22 | { { 17439, 13165, 0 }, 165 }, //Pyrgorsk Military 23 | { { 20084, 6728, 0 }, 55 }, //West of Selakano 24 | { { 25303, 21807, 0 }, 100 } //Sofia 25 | }; 26 | // Trash config 27 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 28 | }; 29 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Enoch.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Altis 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Altis.hpp 14 | */ 15 | 16 | class Enoch { 17 | blockedArea[] = { //[POS],radius 18 | }; 19 | // Trash config 20 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 21 | }; 22 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Malden.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Malden 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Malden.hpp 14 | */ 15 | class Malden { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for ProvingGrounds_PMC 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/ProvingGrounds_PMC.hpp 14 | */ 15 | class ProvingGrounds_PMC { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Sahrani 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp 14 | */ 15 | class Sara { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/SaraLite.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Sahrani Lite 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp 14 | */ 15 | class SaraLite { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Sara_dbe1.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Sahrani 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Sara.hpp 14 | */ 15 | class Sara_dbe1 { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Stratis 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Stratis.hpp 14 | */ 15 | class Stratis { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Tanoa.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Zargabad 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Tanoa.hpp 14 | */ 15 | class Tanoa { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/Zargabad.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Zargabad 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Zargabad.hpp 14 | */ 15 | class Zargabad { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/takistan.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for Takistan 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/Takistan.hpp 14 | */ 15 | class Takistan { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/utes.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for utes 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/utes.hpp 14 | */ 15 | class utes { 16 | Water[] = { 17 | "misc_wellpump.p3d" 18 | }; 19 | // main config 20 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 21 | }; 22 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgEpochClient/vr.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch gamemode config for VR 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient/vr.hpp 14 | */ 15 | class vr { 16 | blockedArea[] = {}; 17 | // main config 18 | TrashClasses[] = { "Trash", "TrashSmall", "TrashVehicle", "PumpkinPatch", "TrashFood", "HempFiber" }; 19 | }; 20 | -------------------------------------------------------------------------------- /Sources/epoch_config/Configs/CfgSwitchMovehandler.hpp: -------------------------------------------------------------------------------- 1 | /*[[[cog from arma_config_tools import *; json_to_arma()]]]*/ 2 | /* 3 | @author = "Aaron Clark - https://EpochMod.com"; 4 | @contributors[] = {}; 5 | @description = "Custom Epoch config for animation broadcasting to nearby players."; 6 | @licence = "Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike"; 7 | @github = "https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgSwitchMovehandler.hpp"; 8 | */ 9 | class CfgSwitchMovehandler 10 | { 11 | class AovrPercMrunSrasWrflDf 12 | { 13 | distance = 1000; 14 | }; 15 | class epoch_unarmed_jump 16 | { 17 | distance = 1000; 18 | }; 19 | class AwopPercMstpSgthWnonDnon_throw 20 | { 21 | distance = 1000; 22 | }; 23 | class AmovPercMstpSnonWnonDnon_SaluteOut 24 | { 25 | distance = 1000; 26 | }; 27 | }; 28 | 29 | /*[[[end]]]*/ 30 | -------------------------------------------------------------------------------- /Sources/epoch_config/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_config/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server -------------------------------------------------------------------------------- /Sources/epoch_server/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_bases/EPOCH_server_changeOwner.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Change owner of NPC 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_bases/EPOCH_server_changeOwner.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_newOwner","_result"]; 17 | //[[[end]]] 18 | params ["_object","_newOwnerObj"]; 19 | _newOwner = owner _newOwnerObj; 20 | _result = false; 21 | if (!isNull _object) then { 22 | if (local _object) then { 23 | if ((owner _object) != _newOwner) then { 24 | _result = _object setOwner _newOwner; 25 | diag_log format["DEBUG CHANGEOWNER: %1 OWNER: %2 PLAYER: %3 RESULT: %4", _object,owner(_object),_newOwner,_result]; 26 | }; 27 | }; 28 | }; 29 | _result 30 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_group/EPOCH_server_invitePlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Invite Player 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_group/EPOCH_server_invitePlayer.sqf 14 | */ 15 | params ["_playerUID","_var1","_var2","_player",["_token","",[""]]]; 16 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 17 | private _targets = allPlayers select {getPlayerUID _x == _playerUID}; 18 | if !(_targets isEqualTo []) then { 19 | [_var1, _var2] remoteExec ['EPOCH_Group_invitePlayer',_targets]; 20 | }; 21 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_grouptemp/EPOCH_server_invitePlayerTempGroup.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Invite Player 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_grouptemp/EPOCH_server_invitePlayerTempGroup.sqf 14 | */ 15 | params ["_playerUID","_var1","_var2","_player",["_token","",[""]]]; 16 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 17 | private _targets = allPlayers select {getPlayerUID _x == _playerUID}; 18 | if !(_targets isEqualTo []) then { 19 | [_var1, _var2] remoteExec ['EPOCH_tempGroup_invitePlayer',_targets]; 20 | }; 21 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_player/EPOCH_fnc_savePlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Save player with token check for use with RemoteExec 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_fnc_savePlayer.sqf 14 | */ 15 | params ["_player","",["_token","",[""]],["_stats",[]],["_UpdateTopStats",false]]; 16 | if([_player,_token] call EPOCH_server_getPToken)then{ 17 | { 18 | _x params ["_statType","_adjust","_isTotal"]; 19 | [_player, _statType, _adjust, false,_isTotal] call Epoch_server_updatePlayerStats; 20 | } foreach _stats; 21 | if (_UpdateTopStats) then { 22 | [_player, _player getVariable["COMMUNITY_STATS", []] ] call EPOCH_server_UpdateTopStats; 23 | }; 24 | _this call EPOCH_server_savePlayer; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_player/EPOCH_fnc_updatePlayerStats.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: DirtySanchez - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Save player with token check for use with RemoteExec 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_player/EPOCH_fnc_updatePlayerStats.sqf 14 | */ 15 | params ["_player",["_killer",ObjNull],["_statType",""],["_adjust",0],["_toClient",false],["_token","",[""]],["_isTotal",false]]; 16 | 17 | if(isNull _player)exitWith{ 18 | diag_log "EPOCHDebug: fnc_updatePlayerStats -1a- player is Null"; 19 | }; 20 | if(!isplayer _player)exitWith{ 21 | diag_log "EPOCHDebug: fnc_updatePlayerStats -1b- is not a player"; 22 | }; 23 | 24 | if([_player,_token] call EPOCH_server_getPToken)then{ 25 | if (!isnull _killer) then { 26 | _player = _killer; 27 | }; 28 | [_player, _statType, _adjust, _toClient, _isTotal] call EPOCH_server_updatePlayerStats; 29 | }; -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_player/EPOCH_server_PayCrypto.sqf: -------------------------------------------------------------------------------- 1 | params [["_player",objNull,[objNull]],["_crypto",0,[0]],["_token","",[""]] ]; 2 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 3 | if (_crypto > 0) exitwith { // This is only for pay Crypto, not for give Crypto ;) 4 | diag_log format ['Player %1 (%2) killed for Code hack',name _player, getplayeruid _player]; 5 | _player setdamage 1 6 | }; 7 | _this call EPOCH_server_effectCrypto; 8 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_player/EPOCH_server_deadPlayerDetonate.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: Aaron Clark 5 | 6 | Description: 7 | Detonate a boss sapper bomb at player position. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_playerDeathOptions.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_bomb","_pos"]; 17 | //[[[end]]] 18 | params ["_player", "_token"]; 19 | diag_log format["Epoch: ADMIN: Attempting player detonate on %1.", getPlayerUID _player]; 20 | if !([_player,_token]call EPOCH_server_getPToken)exitWith{}; 21 | 22 | _pos = getPosATL _player; 23 | _bomb = createVehicle["Sapper_Charge_Ammo", _pos, [], 0, "CAN_COLLIDE"]; 24 | _bomb setDamage 1; 25 | hideObjectGlobal _player; 26 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_player/EPOCH_server_playerSetVariable.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Andrew Gregory - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Call setVariable on specific client. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_playerSetVariable.sqf 14 | */ 15 | params ["_player","_token","_obj", "_var", "_value", "_local"]; 16 | if !([_player,_token]call EPOCH_server_getPToken)exitWith{}; 17 | diag_log format["Epoch: ADMIN: Attempting Set variable [%2,%3,%4] on %1.", _obj, _var, _value,_local]; 18 | [_obj, _var,_value,_local] remoteExec ['EPOCH_fnc_playerSetVariable', _obj]; 19 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_precisionPos.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Splits a position into two arrays: Whole number array and decimal array. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_precisionPos.sqf 14 | */ 15 | private["_low"]; 16 | _low = _this apply {_x - (_x % 1)}; 17 | [_low, _this vectorDiff _low] 18 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_returnConfig.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Simple misson config override function 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_returnConfig.sqf 14 | */ 15 | private["_return", "_config"]; 16 | _return = (configfile >> _this); 17 | _config = (getMissionConfig _this); 18 | if (isClass _config) then{ 19 | _return = _config; 20 | }; 21 | _return 22 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_server_buildingInit.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Adds killed handler to base building. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_server_buildingInit.sqf 14 | */ 15 | _this addMPEventHandler["MPKilled", { _this call EPOCH_server_save_killedBuilding; }]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_server_deleteGlobalMarkerSet.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: DirtySanchez - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Delete Marker Set 8 | 9 | License: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_server_deleteGlobalMarkerSet.sqf 14 | 15 | usage: 16 | [_markerArray] call EPOCH_server_deleteGlobalMarkerSet; 17 | 18 | _markerArray - 1 or more in game marker names 19 | */ 20 | private["_mName"]; 21 | 22 | params [ ["_markerArray",[]], ["_data",[]] ]; 23 | 24 | if(_markerArray isEqualTo []) exitWith { 25 | diag_log "EPOCHDebug: deleteGlobalMarkerSet -1- empty markerArray, nothing to delete"; 26 | }; 27 | 28 | { 29 | _mName = _x; 30 | deleteMarker _mName; 31 | }forEach _markerArray; 32 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_server_getRealTime.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Returns Real Time in HH:MM string format 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_server_getRealTime.sqf 14 | */ 15 | // make call to get real time 16 | (parseSimpleArray ('epochserver' callExtension '510')) params ["","","",["_hour",0],["_min",0]]; 17 | // fix 0 prefix if lower than 10 18 | if (_min < 10) then {_min = '0'+str _min}; 19 | if (_hour < 10) then {_hour = '0'+str _hour}; 20 | // output HH:MM format 21 | format ['%1:%2',_hour,_min] 22 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_server_storageInit.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Adds killed handler to storage object. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_server_storageInit.sqf 14 | */ 15 | _this addMPEventHandler["MPKilled", { _this call EPOCH_server_save_killedStorage }]; 16 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_server/EPOCH_server_teleportPlayer.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Adds killed handler to storage object. 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_server/EPOCH_server_teleportPlayer.sqf 14 | */ 15 | private ["_tp"]; 16 | params ["_player","_teleporter",["_token","",[""]]]; 17 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 18 | if (isNull _teleporter) exitWith{}; 19 | if (_player distance _teleporter > 20) exitWith{}; 20 | 21 | _tp = _teleporter getVariable["ParentBuilding", []]; 22 | if !(_tp isEqualTo []) then { 23 | _player setPosATL _tp; 24 | }; 25 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_trading/EPOCH_server_tradeRequest.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch Mod - Server side take crypto 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_trading/EPOCH_server_tradeRequest.sqf 14 | */ 15 | //[[[cog import generate_private_arrays ]]] 16 | private ["_tradeKey"]; 17 | //[[[end]]] 18 | params ["_target","_source",["_token","",[""]] ]; 19 | 20 | if !([_source, _token] call EPOCH_server_getPToken) exitWith{}; 21 | if (isNull _target) exitWith{}; 22 | if (_source distance _target > 10) exitWith{}; 23 | 24 | // Generate Unique Key good for only this trade request between these two players. 25 | _tradeKey = floor(diag_tickTime + random 9999); 26 | _source setVariable["currentTradeKey", _tradeKey]; 27 | _target setVariable["currentTradeKey", _tradeKey]; 28 | 29 | // send to player 30 | _source remoteExec ['EPOCH_tradeRequest',_target]; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_vehicle/EPOCH_fill_inventory.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Fill vehicle inventory 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_fill_inventory.sqf 14 | */ 15 | params ["_vehicle","_type","_class","_qty"]; 16 | if (!isNull _vehicle) then { 17 | switch (_type) do { 18 | case 0: { _vehicle addWeaponCargoGlobal[_class, _qty] }; 19 | case 1: { _vehicle addBackpackCargoGlobal[_class, _qty] }; 20 | case 2: { _vehicle addMagazineCargoGlobal[_class, _qty] }; 21 | case 3: { _vehicle addItemCargoGlobal[_class, _qty] }; 22 | }; 23 | }; 24 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_fillVehicle.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Refuel Vehicles 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_fillVehicle.sqf 14 | */ 15 | params ["_vehicle","_value","_player",["_token","",[""]]]; 16 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 17 | if (_player distance _vehicle > 20) exitWith{}; 18 | if (!isNull _vehicle) then { 19 | if (local _vehicle) then { 20 | _vehicle setFuel _value; 21 | } else { 22 | [_vehicle, _value] remoteExec ['EPOCH_client_fillVehicle',_vehicle]; 23 | }; 24 | }; 25 | -------------------------------------------------------------------------------- /Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_packJack.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Pack object into magazine item 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_packJack.sqf 14 | */ 15 | params ["_unit","_player",["_token","",[""]]]; 16 | if !([_player, _token] call EPOCH_server_getPToken) exitWith{}; 17 | if (isNull _unit) exitWith{}; 18 | if (_player distance _unit > 20) exitWith{}; 19 | 20 | // TODO configize 21 | if (typeOf _unit == "Jack_SIM_EPOCH") then { 22 | deleteVehicle _unit; 23 | // TODO handle overflow 24 | _player addMagazine["JackKit", 1]; 25 | }; 26 | -------------------------------------------------------------------------------- /Sources/epoch_server/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server/treeView.txt -------------------------------------------------------------------------------- /Sources/epoch_server_core/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server_core -------------------------------------------------------------------------------- /Sources/epoch_server_core/README.md: -------------------------------------------------------------------------------- 1 | **Epoch Mod** 2 | ================ 3 | 4 | Arma 3 Epoch Mod 5 | Server Framework Core 6 | http://epochmod.com/ 7 | 8 | -------------------------- 9 | Developers 10 | -------------------------- 11 | * Aaron Clark - [VB]AWOL - Game Design, Code 12 | * Florian Kinder - Fank - DLL Code 13 | * Denis Erygin - devd - Linux DLL Support 14 | 15 | --------------------------- 16 | Install Notes 17 | --------------------------- 18 | Hive DLL requires vs2013 redist: http://www.microsoft.com/en-us/download/details.aspx?id=40784 19 | 20 | --------------------------- 21 | Resources 22 | --------------------------- 23 | * MSOpenTech - https://github.com/MSOpenTech/Redis 24 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Hive Delete by Key 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveDEL.sqf 14 | */ 15 | params ["_prefix","_key"]; 16 | "epochserver" callExtension format["400|%1:%2", _prefix, _key]; 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Hive Expire 130 sync, 131 async 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveEXPIRE.sqf 14 | */ 15 | params ["_prefix","_key","_expires"]; 16 | "epochserver" callExtension format ["%1|%2:%3|%4", 131, _prefix, _key, _expires]; 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Hive Get Getbit 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveGETBIT.sqf 14 | */ 15 | 16 | //[[[cog import generate_private_arrays ]]] 17 | private ["_hiveMessage","_hiveResponse"]; 18 | //[[[end]]] 19 | params ["_prefix","_key","_bit"]; 20 | _hiveMessage = false; 21 | _hiveResponse = "epochserver" callExtension format["240|%1:%2|%3", _prefix, _key, _bit]; 22 | if !(_hiveResponse isEqualTo "") then { 23 | _hiveResponse = parseSimpleArray _hiveResponse; 24 | _hiveResponse params [ 25 | ["_status", 0], 26 | ["_data", "0"] 27 | ]; 28 | if (_status == 1) then { 29 | _hiveMessage = (_data isEqualTo "1"); 30 | }; 31 | }; 32 | _hiveMessage 33 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Hive Log 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveLog.sqf 14 | */ 15 | params ["_prefix","_val"]; 16 | "epochserver" callExtension ([701, _prefix, _val] joinString "|") 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: Florian Kinder 5 | 6 | Description: 7 | Hive SET 110 sync, 111 async 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSET.sqf 14 | */ 15 | params ["_prefix","_key","_value"]; 16 | "epochserver" callExtension ([111,([_prefix,_key] joinString ":"),"",_value] joinString "|") 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Hive SETBit 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETBIT.sqf 14 | */ 15 | params ["_prefix","_key","_bitIndex","_value"]; 16 | "epochserver" callExtension format["141|%1:%2|%3|%4", _prefix, _key, _bitIndex, _value]; 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: Florian Kinder 5 | 6 | Description: 7 | Hive SETEX 120 sync, 121 async 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_core/compile/epoch_hive/fn_server_hiveSETEX.sqf 14 | */ 15 | params ["_prefix","_key","_expires","_value"]; 16 | "epochserver" callExtension ([121,([_prefix,_key] joinString ":"),_expires,"",_value] joinString "|") 17 | -------------------------------------------------------------------------------- /Sources/epoch_server_core/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server_core/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server_core/treeView.txt -------------------------------------------------------------------------------- /Sources/epoch_server_debris_event/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server_debris_event -------------------------------------------------------------------------------- /Sources/epoch_server_debris_event/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server_debris_event/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server_debris_event/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server_debris_event/treeView.txt -------------------------------------------------------------------------------- /Sources/epoch_server_events/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server_events -------------------------------------------------------------------------------- /Sources/epoch_server_events/EpochEvents/AirDrop.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Trigger Air drop client side via randomly selected player. 3 | by Aaron Clark - EpochMod.com 4 | 5 | Improvements and or bugfixes and other contributions are welcome via the github: 6 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_settings/EpochEvents/AirDrop.sqf 7 | */ 8 | // 50% chance every 45 minutes by default 9 | //[[[cog import generate_private_arrays ]]] 10 | private ["_chance","_player","_players"]; 11 | //[[[end]]] 12 | _chance = 50; 13 | if (random 100 < _chance) then { 14 | 15 | // get all alive players 16 | _players = allPlayers select {alive _x}; 17 | 18 | // continue if players found alive 19 | if !(_players isEqualTo []) then { 20 | 21 | // select random player 22 | _player = selectRandom _players; 23 | 24 | // Trigger air drop via player 25 | ["B_Heli_Transport_01_F", _player, true] remoteExec ['EPOCH_unitSpawn',_player]; 26 | 27 | diag_log format["Epoch: Air Drop Triggered on %1", _player]; 28 | }; 29 | }; 30 | -------------------------------------------------------------------------------- /Sources/epoch_server_events/EpochEvents/FastNights.sqf: -------------------------------------------------------------------------------- 1 | params [["_nightmulti",48],["_daymulti",4]]; 2 | if (sunOrMoon < 0.99) then { // adjust this lower to change sooner. Note: "0.99 value, the twilight is still quite dark" https://community.bistudio.com/wiki/sunOrMoon 3 | setTimeMultiplier _nightmulti // [0.1 ... 120] adjust this value for slower or faster night cycle ( 24 hours will take 0.5 hours ) 4 | } else { 5 | setTimeMultiplier _daymulti // adjust this value for slower or faster day cycle ( 24 hours will take 6 hours ) 6 | }; 7 | -------------------------------------------------------------------------------- /Sources/epoch_server_events/EpochEvents/MessageServer.sqf: -------------------------------------------------------------------------------- 1 | // Random Messages 2 | /* 3 | _messages = [ 4 | "Message 1", 5 | "Message 2", 6 | "Message 3", 7 | "Message 4", 8 | ]; 9 | ["message", _messages param [floor(random (count _messages))]] call EPOCH_serverCommand; 10 | */ 11 | 12 | // Restart time 13 | private _restartIn = round((EPOCH_forceRestartTime-diag_tickTime)/60); 14 | ["message", format["Welcome to Epoch Mod, server wlll restart in %1 minutes",_restartIn]] call EPOCH_serverCommand; 15 | -------------------------------------------------------------------------------- /Sources/epoch_server_events/EpochEvents/PaydayEvent.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Give everyone alive on the server 100 Crypto. 3 | by Aaron Clark - EpochMod.com 4 | 5 | Improvements and or bugfixes and other contributions are welcome via the github: 6 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_settings/EpochEvents/PaydayEvent.sqf 7 | */ 8 | 9 | {[_x,100] call EPOCH_server_effectCrypto;} forEach (allPlayers select {alive _x}); 10 | 11 | // Add on screen notification large crypto symbol and maybe audio clip CHA-CHING, configurable option for hosts 12 | -------------------------------------------------------------------------------- /Sources/epoch_server_events/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server_events/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server_events/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server_events/treeView.txt -------------------------------------------------------------------------------- /Sources/epoch_server_settings/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server_settings -------------------------------------------------------------------------------- /Sources/epoch_server_settings/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/IslaDuala3.h: -------------------------------------------------------------------------------- 1 | class IslaDuala3 : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/Kapaulio.h: -------------------------------------------------------------------------------- 1 | class Kapaulio : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/Panthera3.h: -------------------------------------------------------------------------------- 1 | class Panthera3 : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/Winthera3.h: -------------------------------------------------------------------------------- 1 | class Winthera3 : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/abramia.h: -------------------------------------------------------------------------------- 1 | class abramia : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/dingor.h: -------------------------------------------------------------------------------- 1 | class dingor : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/maps/lingor3.h: -------------------------------------------------------------------------------- 1 | class lingor3 : Default 2 | { 3 | worldSize = 0; // 0 = default to worldSize command 4 | plantLimit = 5; 5 | vehicleSpawnTypes[] = { 6 | {"FlatAreaCity",1}, 7 | {"FlatAreaCitySmall",1}, 8 | {"NameCity",2}, 9 | {"NameVillage",1}, 10 | {"NameCityCapital",4}, 11 | {"Airport",5}, 12 | {"NameLocal",2}, 13 | {"StrongpointArea",1}, 14 | {"VegetationBroadleaf",1}, 15 | {"VegetationFir",1}, 16 | {"ViewPoint",1} 17 | }; 18 | shipwreckLootEnabled = 0; 19 | telePos[] = { 20 | // N [-0.286865,8.17383,-10.3098, 0] 21 | // S [-0.415527,-7.05298,-10.3098, 180] 22 | // E [13.5127,0.410156,-10.3098, 90] 23 | // W [-14.4316,0.112793,-10.3098, -90] 24 | { "TP_Booth_c_EPOCH", { 13.5127, 0.410156, -10.3098, 90}, "", "center" } // temp for now 25 | }; 26 | propsPos[] = { 27 | }; 28 | staticNpcPos[] = { 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/configs/security/data/custom_vars.h: -------------------------------------------------------------------------------- 1 | /* 2 | Author: Aaron Clark - EpochMod.com 3 | 4 | Contributors: 5 | 6 | Description: 7 | Epoch AH config for whistlisted gvars 8 | 9 | Licence: 10 | Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike 11 | 12 | Github: 13 | https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server_settngs/configs/securty/data/custom_vars.h 14 | */ 15 | 16 | // all var names must be lowercase 17 | custom[] = {}; 18 | bis[] = {}; 19 | epoch[] = {}; 20 | -------------------------------------------------------------------------------- /Sources/epoch_server_settings/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server_settings/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server_settings/treeView.txt -------------------------------------------------------------------------------- /Sources/epoch_server_vip_event/$PREFIX$: -------------------------------------------------------------------------------- 1 | epoch_server_vip_event -------------------------------------------------------------------------------- /Sources/epoch_server_vip_event/build.hpp: -------------------------------------------------------------------------------- 1 | build=826; 2 | -------------------------------------------------------------------------------- /Sources/epoch_server_vip_event/license.txt: -------------------------------------------------------------------------------- 1 | Epoch Mod for Arma 3 2 | http://epochmod.com 3 | by Epoch Mod Team 4 | https://github.com/EpochModTeam/Epoch 5 | 6 | The contents of this pbo are under the following license: 7 | http://www.bistudio.com/community/licenses/arma-public-license-share-alike 8 | 9 | Keep this file and file headers with attribution intact for proper use. -------------------------------------------------------------------------------- /Sources/epoch_server_vip_event/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/epoch_server_vip_event/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Altis/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Altis/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Australia/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Australia/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Bornholm/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Bornholm/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Chernarus/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Chernarus/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.ChernarusRedux/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.ChernarusRedux/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Desert_E/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Desert_E/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Enoch/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Enoch/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Esseker/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Esseker/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Malden/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Malden/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Mountains_ACR/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Mountains_ACR/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Napf/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Napf/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Porto/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Porto/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Sara/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Sara/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.SaraLite/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.SaraLite/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Sara_dbe1/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Sara_dbe1/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Shapur_BAF/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Shapur_BAF/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Stratis/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Stratis/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Takistan/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Takistan/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Tanoa/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Tanoa/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.VR/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.VR/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Woodland_ACR/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Woodland_ACR/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.Zargabad/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.Zargabad/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch._ChangeMe/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch._ChangeMe/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch.utes/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch.utes/treeView.txt -------------------------------------------------------------------------------- /Sources/mpmissions/epoch_RyanZed.Tanoa/treeView.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Sources/mpmissions/epoch_RyanZed.Tanoa/treeView.txt -------------------------------------------------------------------------------- /Tools/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe -------------------------------------------------------------------------------- /Tools/BAT/paa2png.bat: -------------------------------------------------------------------------------- 1 | rem Adjust path to Pal2PacE.exe below 2 | rem Put this batch inside the same folder as your .paa textures, handy for mass extracting data if you have unRapped your game into P:\ drive 3 | for %%f in (*.paa) do ( "D:\SteamLibrary\steamapps\common\Arma 3 Tools\TexView2\Pal2PacE.exe" "%%~nf.paa" "%%~nf.png" ) -------------------------------------------------------------------------------- /Tools/BAT/paa2tga.bat: -------------------------------------------------------------------------------- 1 | for %%f in (*.paa) do ( "D:\SteamLibrary\steamapps\common\Arma 3 Tools\TexView2\Pal2PacE.exe" "%%~nf.paa" "%%~nf.tga" ) -------------------------------------------------------------------------------- /Tools/Build/ClientReleaseTest.cmd: -------------------------------------------------------------------------------- 1 | ::@ECHO OFF 2 | SET TOOLSPATH=F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools 3 | SET WORKSHOPPATH=G:\SteamLibrary\steamapps\common\Arma 3\@epoch 4 | SET CHANGELOG="See Changelogs: https://github.com/EpochModTeam/Epoch/tree/experimental/Changelogs" 5 | 6 | :: Workshop IDs: 7 | :: EpochExperimental = 1399517607 8 | :: Normal Epoch = 421839251 9 | SET WORKSHOPID=1399517607 10 | 11 | START "" /WAIT "%TOOLSPATH%\Publisher\PublisherCmd.exe" update /id:%WORKSHOPID% /changeNote:%CHANGELOG% /path:"%WORKSHOPPATH%" 12 | -------------------------------------------------------------------------------- /Tools/Build/ServerReleaseTest.cmd: -------------------------------------------------------------------------------- 1 | ::@ECHO OFF 2 | 3 | SET SOURCEPATH="F:\GitHub Personal\Epoch\Server_Install_Pack" 4 | SET WORKSHOPPATH="F:\GitHub Personal\Epoch-HiveTest\@epochhive" 5 | 6 | :: Workshop IDs: 7 | :: EpochExperimental = 1399517607 8 | :: Normal Epoch = 421839251 9 | 10 | :: copy mod from steamcmd cache to server 11 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\mpmissions" "F:\GitHub Personal\Epoch-HiveTest\@epochhive\mpmissions" 12 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\@epochhive\addons" "F:\GitHub Personal\Epoch-HiveTest\@epochhive\addons" 13 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\sc\battleye" "F:\GitHub Personal\Epoch-HiveTest\@epochhive\sc\battleye" 14 | 15 | 16 | START "" /WAIT "F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\Publisher\PublisherCmd.exe" update /id:1399533789 /changeNote:"See Changelogs: https://github.com/EpochModTeam/Epoch/tree/experimental/Changelogs" /path:%WORKSHOPPATH% 17 | -------------------------------------------------------------------------------- /Tools/Build/Stable/ClientReleaseStable.cmd: -------------------------------------------------------------------------------- 1 | ::@ECHO OFF 2 | 3 | SET WORKSHOPPATH="G:\SteamLibrary\steamapps\common\Arma 3\@epoch" 4 | 5 | :: Workshop IDs: 6 | :: EpochExperimental = 1399517607 7 | :: Normal Epoch = 421839251 8 | 9 | START "" /WAIT "F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\Publisher\PublisherCmd.exe" update /id:421839251 /changeNote:"See Changelogs: https://github.com/EpochModTeam/Epoch/tree/release/Changelogs" /path:%WORKSHOPPATH% 10 | -------------------------------------------------------------------------------- /Tools/Build/Stable/ServerReleaseStable.cmd: -------------------------------------------------------------------------------- 1 | ::@ECHO OFF 2 | 3 | SET SOURCEPATH="F:\GitHub Personal\Epoch\Server_Install_Pack" 4 | SET WORKSHOPPATH="F:\GitHub Personal\Epoch-HiveStable\@epochhive" 5 | 6 | :: copy mod from steamcmd cache to server 7 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\mpmissions" "F:\GitHub Personal\Epoch-HiveStable\@epochhive\mpmissions" 8 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\@epochhive\addons" "F:\GitHub Personal\Epoch-HiveStable\@epochhive\addons" 9 | xcopy /s/e/y/q/i "F:\GitHub Personal\Epoch\Server_Install_Pack\sc\battleye" "F:\GitHub Personal\Epoch-HiveStable\@epochhive\sc\battleye" 10 | 11 | 12 | START "" /WAIT "F:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\Publisher\PublisherCmd.exe" update /id:601772725 /changeNote:"See Changelogs: https://github.com/EpochModTeam/Epoch/tree/release/Changelogs" /path:%WORKSHOPPATH% 13 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/@EpochDevTools/Addons/rmx_init.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/@EpochDevTools/Addons/rmx_init.pbo -------------------------------------------------------------------------------- /Tools/DevFrameWork/@EpochDevTools/Addons/rmx_sandbox.pbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/@EpochDevTools/Addons/rmx_sandbox.pbo -------------------------------------------------------------------------------- /Tools/DevFrameWork/@EpochDevTools/mod.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/@EpochDevTools/mod.cpp -------------------------------------------------------------------------------- /Tools/DevFrameWork/@EpochDevTools/mod.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/@EpochDevTools/mod.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/include.txt: -------------------------------------------------------------------------------- 1 | *.xml;*.pac;*.paa;*.sqf;*.sqs;*.bikb;*.fsm;*.wss;*.ogg;*.wav;*.fxy;*.csv;*.html;*.lip;*.txt;*.wrp;*.bisurf;*.rvmat;*.sqm;*.ext;*.rtm;*.p3d;*.cfg; -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/$PBOPREFIX$: -------------------------------------------------------------------------------- 1 | x\addons\rmx_init -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/BIS_AddonInfo.hpp: -------------------------------------------------------------------------------- 1 | class BIS_AddonInfo 2 | { 3 | author=""; 4 | timepacked="1468263040"; 5 | }; 6 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/console2.hpp: -------------------------------------------------------------------------------- 1 | class dUI_console2: dUI_console 2 | { 3 | duration = 1e+1000; 4 | fadein = 0.5; 5 | fadeout = 0.5; 6 | onLoad = "uiNamespace setVariable ['rmx_var_console2',_this select 0]"; 7 | }; -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/watcher2.hpp: -------------------------------------------------------------------------------- 1 | class dUI_watcher2: dUI_watcher 2 | { 3 | duration = 1e+1000; 4 | fadein = 0.5; 5 | fadeout = 0.5; 6 | onLoad = "uiNamespace setVariable ['rmx_var_watcher2',_this select 0]"; 7 | }; -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/critical.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/critical.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/info.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/info.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinDown.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinDown.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinUp.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinUp.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/w_error.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/w_error.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/w_off.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/w_off.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/w_on.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/w_on.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/data/warning.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/data/warning.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/defines.inc: -------------------------------------------------------------------------------- 1 | #define info call _sendInfo 2 | #define warning call _sendWarning 3 | #define critical call _sendCritical 4 | 5 | #define ST_SIZE18 "size='1.8'" 6 | #define ST_SIZE2 "size='2'" 7 | #define ST_SKYBLUE "color='#00D0DF'" 8 | #define ST_GREEN "color='#A5FD6B'" 9 | #define ST_ORANGE "color='#FEA834'" 10 | #define ST_RED "color='#ff0000'" 11 | #define ST_WHITE "color='#FFFFFF'" 12 | #define ST_TAHOMAB "font='TahomaB'" 13 | #define ST_PURISTAMEDIUM "font='PuristaMedium'" 14 | #define ST_SHADOW1 "shadow='1' shadowColor='#000000'" 15 | #define ST_SHADOW2 "shadow='2'" 16 | #define ST_INFO "" 17 | #define ST_WARNING "" 18 | #define ST_CRITICAL "" -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/fn_recompile.sqf: -------------------------------------------------------------------------------- 1 | //todo use param 2 | private ["_fnc"]; 3 | _fnc = gettext (configfile >> "devFunctions" >> "init"); 4 | if (_fnc != "") then { 5 | if (typeName _this isEqualTo typeName "") then { 6 | _this call compile preprocessfilelinenumbers _fnc; 7 | } else { 8 | call compile preprocessfilelinenumbers _fnc; 9 | }; 10 | true 11 | } else { 12 | diag_log "Init param not found, check config pbo"; 13 | false 14 | }; 15 | 16 | 17 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/codeEditor.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Function Name: rmx_fnc_codeEditor 3 | Author: Raimonds Virtoss | Raymix 4 | Description: Display custom in-game code Editor with tabs saved to HDD 5 | Usage: Press ENTER to toggle menu on or off 6 | 7 | License: --- 8 | */ 9 | #include <\x\Addons\rmx_init\defines.inc> 10 | private ["_display"]; 11 | disableSerialization; 12 | 13 | if (rmx_var_editorControl) exitWith { 14 | findDisplay 7100 closeDisplay 1; 15 | rmx_var_editorControl = false; 16 | }; 17 | 18 | rmx_var_editorControl = true; 19 | 20 | findDisplay 46 createDisplay "dUI_editor"; 21 | _display = findDisplay 7100; 22 | _display displayAddEventHandler ["keyDown", "_this call rmx_fnc_keyDown;"]; 23 | 24 | rmx_var_ctrl_editorMain = [_display displayCtrl 7200, _display displayCtrl 7300]; 25 | rmx_var_ctrl_editorItems = []; 26 | 27 | for "_i" from 7200 to 7216 do { 28 | rmx_var_ctrl_editorItems set [count rmx_var_ctrl_editorItems,_display displayCtrl _i]; 29 | }; 30 | 31 | true 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/consoleUpdate.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Function Name: rmx_fnc_consoleUpdate 3 | Author: Raimonds Virtoss | Raymix 4 | Description: Writes to console 5 | Can be called to refresh/update console 6 | License: --- 7 | */ 8 | disableSerialization; 9 | 10 | if (!rmx_var_consoleEnabled) exitWith {true}; //required: _ctrl only works when dialog exists 11 | 12 | { 13 | _ctrl = rmx_var_ctrl_console select _forEachIndex; 14 | _ctrl ctrlSetStructuredText _x; 15 | _ctrl ctrlCommit 0; 16 | } forEach rmx_var_console_list; 17 | 18 | true 19 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/epoch.sqf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/functions/epoch.sqf -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/eventHandlers.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Function Name: rmx_fnc_eventHandlers 3 | Author: Raimonds Virtoss | Raymix 4 | Description: Bunch of EHs 5 | 6 | License: --- 7 | */ 8 | 9 | [] spawn { 10 | if !(isServer) then { 11 | waitUntil { uiSleep 0.1; (!isNull (findDisplay 46) && (!isNil "EPOCH_loadingScreenDone")) }; 12 | }; 13 | uiSleep 2; //increase if EH is not getting applied 14 | (findDisplay 46) displayAddEventHandler ["KeyDown","_this call rmx_fnc_keyDown"]; 15 | //(findDisplay 46) displayAddEventHandler ["KeyUp","_this call rmx_fnc_keyUp"]; 16 | }; 17 | 18 | true 19 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/getColorScheme.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | More at profile vars, unrap first 3 | gui_bcg_rgb_preset 4 | gui_titletext_rgb_preset 5 | gui_bcg_rgb_g 6 | igui_bcg_rgb_b 7 | PresetRColive 8 | */ 9 | [ 10 | profileNamespace getVariable "gui_bcg_rgb_r", 11 | profileNamespace getVariable "gui_bcg_rgb_g", 12 | profileNamespace getVariable "gui_bcg_rgb_b", 13 | profileNamespace getVariable "gui_bcg_rgb_a" 14 | ] -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/keyUp.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Function Name: rmx_fnc_keyUp 3 | Author: Raimonds Virtoss | Raymix 4 | Description: This file detects keystrokes released and calls a function 5 | 6 | List of all keys: 7 | https://community.bistudio.com/wiki/ListOfKeyCodes 8 | 9 | License: --- 10 | */ 11 | private ["_handled","_key","_dev"]; 12 | 13 | _key = _this select 1; 14 | _handled = false; 15 | 16 | switch (_this select 1) do 17 | { 18 | default {_handled = true;}; 19 | }; 20 | 21 | //uncomment to find keys on the go 22 | //hint format ["Key [%1] released", (_this select 1)]; 23 | _handled; -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/functions/output.sqf: -------------------------------------------------------------------------------- 1 | /* 2 | Function Name: rmx_dev_output 3 | Author: Raimonds Virtoss | Raymix 4 | Description: outputs params from quick function 5 | 6 | Usage: ["hint","Test"] call d_dev_output; 7 | "Test" call d_dev_output; 8 | 9 | License: --- 10 | */ 11 | #include <\x\Addons\rmx_init\defines.inc> 12 | 13 | if (typeName _this != typeName []) then {_this = [_this];}; 14 | if (typeName (_this select 0) == "CONTROL") then {_this = ["No params"]}; 15 | 16 | switch (_this select 0) do { 17 | default { 18 | diag_log str _this; 19 | }; 20 | case "hint": 21 | { 22 | hint str (_this select 1); 23 | }; 24 | case "hintSilent": 25 | { 26 | hintSilent str (_this select 1); 27 | }; 28 | case "diag_log": 29 | { 30 | diag_log str (_this select 1); 31 | }; 32 | case "systemChat": 33 | { 34 | systemChat str (_this select 1); 35 | }; 36 | case "info": 37 | { 38 | (_this select 1) info; 39 | }; 40 | case "warning": 41 | { 42 | (_this select 1) warning; 43 | }; 44 | case "critical": 45 | { 46 | (_this select 1) critical; 47 | }; 48 | }; -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_init/texHeaders.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_init/texHeaders.bin -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/$PBOPREFIX$: -------------------------------------------------------------------------------- 1 | x\addons\rmx_sandbox -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_tradeMainLoop.sqf: -------------------------------------------------------------------------------- 1 | _tempPos = true; 2 | 3 | while {rmx_var_traderMenuActive} do { 4 | 5 | _mpos = getMousePosition; 6 | _onLeft = if ((_mpos select 0) < 0.5) then {true} else {false}; 7 | 8 | if !(_tempPos isEqualTo _onLeft) then { 9 | _tempPos = _onLeft; 10 | 11 | if _onLeft then { 12 | ['left','enter'] call Epoch_tradeMouseEvents; 13 | ['right','exit'] call Epoch_tradeMouseEvents; 14 | } else { 15 | ['left','exit'] call Epoch_tradeMouseEvents; 16 | ['right','enter'] call Epoch_tradeMouseEvents; 17 | }; 18 | }; 19 | }; 20 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_tradeRefresh.sqf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_tradeRefresh.sqf -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_tradeUnLoad.sqf: -------------------------------------------------------------------------------- 1 | //unregister dynamic IDCs 2 | 3 | rmx_var_traderMenuActive = false; 4 | 5 | (rmx_var_traderGroupCTRLs select 0) call epoch_getIDC; 6 | (rmx_var_traderGroupCTRLs select 1) call epoch_getIDC; 7 | 8 | { 9 | { 10 | _x call epoch_getIDC; 11 | } forEach _x; 12 | }forEach rmx_var_traderLeftMenuCTRLs; 13 | 14 | { 15 | { 16 | _x call epoch_getIDC; 17 | } forEach _x; 18 | }forEach rmx_var_traderRightMenuCTRLs; 19 | 20 | -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/trader_menu_v2/trade_placeholder.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/trader_menu_v2/trade_placeholder.paa -------------------------------------------------------------------------------- /Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/trader_menu_v2/tradebg.paa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EpochModTeam/Epoch/711ed60d02c41a420aa5dd416af52f13d6f547c4/Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/trader_menu_v2/tradebg.paa -------------------------------------------------------------------------------- /Tools/Install/InstallArma.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | 6 | ::(Full client\server package) 7 | SET ARMAAPPID=107410 8 | 9 | ::(Dedicated server package) 10 | ::SET ARMAAPPID=233780 11 | 12 | ::(Development version) 13 | ::SET ARMAAPPID=107410 -beta development 14 | 15 | :: more info https://community.bistudio.com/wiki/Arma_3_Dedicated_Server 16 | 17 | :: steamcmd.exe +login %STEAMUN% %STEAMPW% +force_install_dir "%ARMASVRPATH%" "+app_update %ARMAAPPID% validate" +quit 18 | steamcmd.exe +login %STEAMUN% %STEAMPW% +force_install_dir "%ARMASVRPATH%" "+app_update %ARMAAPPID%" +quit 19 | -------------------------------------------------------------------------------- /Tools/Install/InstallBornholm.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Use -mod line with quotes to support spaces in folder 8 | :: Example: -mod=@Epoch;@bornholm; 9 | 10 | :: Install Bornholm 11 | 12 | SET MODFOLDER=@bornholm 13 | SET ARMAWORKSHOPID=428181330 14 | 15 | :: remove old folder 16 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 17 | 18 | :: update workshop mod 19 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% +quit 20 | 21 | :: copy files back to server 22 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 23 | -------------------------------------------------------------------------------- /Tools/Install/InstallEpoch.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Workshop IDs: 8 | :: EpochExperimental = 1399517607 9 | :: Normal Epoch = 421839251 10 | SET ARMAWORKSHOPID=421839251 11 | 12 | :: remove mod folder 13 | rd /s/q "%ARMASVRPATH%\@Epoch" 14 | 15 | :: update workshop mod 16 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit 17 | 18 | :: copy mod from steamcmd cache to server 19 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\@Epoch" 20 | -------------------------------------------------------------------------------- /Tools/Install/InstallEpochExperimentalClient.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=changeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | SET MODFOLDER=@Epoch 7 | :: Workshop IDs: EpochExperimental = 1399517607 Normal Epoch = 421839251 8 | SET ARMAWORKSHOPID=1399517607 9 | :: remove old folder 10 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 11 | :: update workshop mod 12 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit 13 | :: copy files back to server 14 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 15 | del "%ARMASVRPATH%\Keys\epoch*.bikey" 16 | xcopy /s/e/y/q/i "%ARMASVRPATH%\%MODFOLDER%\Keys" "%ARMASVRPATH%\Keys" 17 | -------------------------------------------------------------------------------- /Tools/Install/InstallEpochExperimentalServer.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=changeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | SET ARMAWORKSHOPID=1399533789 7 | :: update workshop mod 8 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit 9 | :: copy files back to server 10 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\@EpochHive" 11 | :: copy battleye files to live 12 | xcopy /s/e/y/q/i "%ARMASVRPATH%\@EpochHive\sc\BattlEye" "%ARMASVRPATH%\SC\BattlEye" 13 | :: update mission files 14 | xcopy /s/e/y/q/i "%ARMASVRPATH%\@EpochHive\MPMissions" "%ARMASVRPATH%\MPMissions" 15 | -------------------------------------------------------------------------------- /Tools/Install/InstallEsseker.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Requires CUP CORE and MAPS! 8 | :: Use -mod line with quotes to support spaces in folder 9 | :: Example: -mod="@Epoch;@CUP Terrains - Core;@CUP Terrains - Maps;@esseker" 10 | 11 | :: Install Esseker 12 | 13 | SET MODFOLDER=@esseker 14 | SET ARMAWORKSHOPID=498101407 15 | 16 | :: remove old folder 17 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 18 | 19 | :: update workshop mod 20 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% +quit 21 | 22 | :: copy files back to server 23 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 24 | -------------------------------------------------------------------------------- /Tools/Install/InstallMadArma.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Use -mod line with quotes to support spaces in folder 8 | :: Example: -mod="@Epoch;@madarma;" 9 | 10 | :: Install Mad Arma http://steamcommunity.com/sharedfiles/filedetails/?id=815962700 11 | 12 | SET MODFOLDER=@madarma 13 | SET ARMAWORKSHOPID=815962700 14 | 15 | :: remove old folder 16 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 17 | 18 | :: update workshop mod 19 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit 20 | 21 | :: copy files back to server 22 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 23 | 24 | :: remove old bikey key 25 | del "%ARMASVRPATH%\Keys\MadArmA*.bikey" 26 | 27 | :: copy latest bikey to server 28 | xcopy /s/e/y/q/i "%ARMASVRPATH%\%MODFOLDER%\Keys" "%ARMASVRPATH%\Keys" 29 | -------------------------------------------------------------------------------- /Tools/Install/InstallNapf.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Requires CUP CORE and MAPS! 8 | :: Use -mod line with quotes to support spaces in folder 9 | :: Example: -mod="@Epoch;@CUP Terrains - Core;@CUP Terrains - Maps;@Napf Island A3;" 10 | 11 | :: Install Esseker 12 | 13 | SET MODFOLDER=@Napf Island A3 14 | SET ARMAWORKSHOPID=635780806 15 | 16 | :: remove old folder 17 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 18 | 19 | :: update workshop mod 20 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% +quit 21 | 22 | :: copy files back to server 23 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 24 | -------------------------------------------------------------------------------- /Tools/Install/InstallRyanZombies.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET STEAMUN=admin@youremail.net 3 | SET STEAMPW=chamgeme 4 | SET ARMASVRPATH=C:\Arma3Server 5 | SET ARMAAPPID=107410 6 | 7 | :: Use -mod line with quotes to support spaces in folder 8 | :: Example: -mod="@Epoch;@Zombies and Demons;" 9 | 10 | :: Install Ryans Zombies and Demons 11 | 12 | SET MODFOLDER=@Zombies and Demons 13 | SET ARMAWORKSHOPID=501966277 14 | 15 | :: remove old folder 16 | rd /s/q "%ARMASVRPATH%\%MODFOLDER%" 17 | 18 | :: update workshop mod 19 | START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% +quit 20 | 21 | :: copy files back to server 22 | xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%" 23 | 24 | :: remove old bikey key 25 | del "%ARMASVRPATH%\Keys\RyanD.bikey" 26 | 27 | :: copy latest bikey to server 28 | xcopy /s/e/y/q/i "%ARMASVRPATH%\%MODFOLDER%\Keys" "%ARMASVRPATH%\Keys" 29 | -------------------------------------------------------------------------------- /Tools/PHP/FindPlayerUIDByName.php: -------------------------------------------------------------------------------- 1 | pconnect(127.0.0.1, 6379, 2.5, "Server1"); 15 | $redis->auth("yourlongasspasswordhere"); 16 | 17 | // get all players names in database 18 | $playerNames = $redis->keys('PlayerData:*'); 19 | 20 | // print all UID's matching player name 21 | foreach ($playerNames as $key => $value) { 22 | $data = $redis->get($value); 23 | if (stripos($data, $search) !== false) { 24 | $UID_raw = explode(":", $value); 25 | echo "

" . $UID_raw[1] . "

" ; 26 | break; // comment out this line if you want all matches and not just the first. 27 | } 28 | } 29 | 30 | ?> 31 | -------------------------------------------------------------------------------- /Tools/PHP/GetOnlinePlayers.php: -------------------------------------------------------------------------------- 1 | pconnect(127.0.0.1, 6379, 2.5, "Server1"); 15 | $redis->auth("yourlongasspasswordhere"); 16 | 17 | // get online players UID array 18 | $data = $redis->get('PLAYERS:' . $instance); 19 | $onlineUIDs = json_decode($data); 20 | 21 | // loop though online player UID's 22 | foreach ($onlineUIDs as $key => $UID) { 23 | 24 | // get player name 25 | $dataRaw = $redis->get('PlayerData:' . $UID); 26 | $data = json_decode($dataRaw); 27 | 28 | // print player name 29 | echo '

'. $data[0].'

'; 30 | } 31 | 32 | ?> 33 | -------------------------------------------------------------------------------- /Tools/SQF/getBuildingsNotSetupYet.sqf: -------------------------------------------------------------------------------- 1 | 2 | EP_notSetup = []; 3 | EP_setup = []; 4 | 5 | _all = nearestTerrainObjects [player, [], 40000, false]; 6 | { 7 | _typeOf = typeof _x; 8 | if !(isClass(getMissionConfig "CfgBuildingLootPos" >> _typeOf)) then { 9 | if !(_typeOf in EP_notSetup) then { 10 | EP_notSetup pushBack _typeOf; 11 | }; 12 | } else { 13 | if !(_typeOf in EP_notSetup) then { 14 | EP_setup pushBack _typeOf; 15 | }; 16 | } 17 | 18 | } foreach _all; -------------------------------------------------------------------------------- /Tools/SQF/memoryPointsToConfig.sqf: -------------------------------------------------------------------------------- 1 | EPOCH_dbg_replaceBrackets = { 2 | _return = []; 3 | { 4 | _string = _x; 5 | if (_string == 93) then { 6 | _string = 125; 7 | }; 8 | if (_string == 91) then { 9 | _string = 123; 10 | }; 11 | _return pushBack _string; 12 | } forEach toArray(format['%1',_this]); 13 | _return = toString _return; 14 | _return 15 | }; 16 | 17 | 18 | _memoryPoints = []; 19 | _points = ["NF2","SF2","EF2","WF2","C","CB","CinN","CinE","CinS","CinW","N","E","S","W","NE","NW","SE","SW","NF","SF","EF","WF"]; 20 | { 21 | _memoryPos = cursorObject selectionPosition [_x,"Memory"]; 22 | if !(_memoryPos isEqualTo [0,0,0]) then { 23 | _memoryPoints pushBack [_x,_memoryPos]; 24 | }; 25 | } forEach _points; 26 | 27 | 28 | _configStr = "// snap points for " + typeOf cursorObject + " 29 | "; 30 | { 31 | _configStr = _configStr + format['%1[] = %2; 32 | ',_x select 0,(_x select 1) call EPOCH_dbg_replaceBrackets]; 33 | } forEach _memoryPoints; 34 | 35 | 36 | copyToClipboard _configStr; 37 | -------------------------------------------------------------------------------- /Tools/SQF/scratch.sqf: -------------------------------------------------------------------------------- 1 | _dynamicEvents = _missionNamespace getVariable ["EPOCH_dynamicEvents", []]; 2 | missionNamespace setVariable ["EPOCH_dynamicEvents", _dynamicEvents + [ 3 | [ 4 | 2700, // SECOND 5 | [[123,"mockpayload"] "call", "EPOCH_mockServerFunction"], // EVENT for execVM or [ payload, ("call" or "spawn"), name of already compiled missionNamespace function] 6 | 0, // INIT 1 = run script at startup or 0 normal delay 7 | 1, // PREPOSTFIX 1 = use pre/postfix path (inside epoch settings pbo) 0 = use full file path (Ignored if not using execVM) 8 | -1, // RUNNUMTIMES -1 infinite 9 | [], // execVM payload (Ignored if not using execVM) 10 | [] // disallowed worlds 11 | ], 12 | [ 13 | 300, 14 | [[456,"mockpayload2"] "spawn", "EPOCH_mockServerFunction2"], 15 | 0, 16 | 1, 17 | -1, 18 | [], 19 | [] 20 | ], 21 | 22 | ]]; 23 | --------------------------------------------------------------------------------