Jump to content

VEMF - Vampire's Epoch Mission Framework


TheVampire

Recommended Posts

It was designed that way so someone couldn't "steal" your mission, but configurable is always better.

I agree. There is nothing worse than spending the better half of an hour or two strategically killing AI, and to finally complete the mission, only to have some "opportunist" steal the loot while you're getting back to the crate.

Link to comment
Share on other sites

VEMF working okay (Mission wise) damn those AI are hard.......   However,  I am equipped with radio, and system chat (6) is enabled in my files, but no announcement,

 

I get 21:56:02 [VEMF]: Running Dynamic Town Invasion Mission. in RPT then have to teleport all over the map to find them.

Link to comment
Share on other sites

how long on average does the missions take to spawn?   VEMF is working as I see it on my rpt stream, but we have been in server for 45 minutes and nothing as of yet.....       (does SEM interfere?)

 

In the config the default is 5-20 minutes.

If it seems to be working fine, but you aren't getting any messages make sure the disabled channels in your description.ext doesn't have a 6, and that your clientside.rpt doesn't have any errors.

Link to comment
Share on other sites

I was looking at your radio code, and it looks like it is using a PVEH on each client to receive the message from the server, then put it on the player's screen.

 

If this is the case, the '6' in the descriptions.ext does not need to be altered.  Local types of chat always show up locally, so as long as you are not trying to transmit a message on the server and have it show up on the client, the channel can remain inactive in the ext file.

 

I am using a similar mechanism to notify players when they enter an encounter vehicle. (So they know it is temporary!)

Link to comment
Share on other sites

As missions spawn all the time and if you miss the message, or don't have a radio or just join the server...would it be possible for players to get re-notified...

 

i.e:

 

14:31 - Mission spawns & notifies players.

 

14:36 - new player joins the server

 

14:41 - Server/Mission notifies player base that the AI are still attacking Town A

 

Having people avoid the new mission system as they don't know where it is and don't want to loot towns incase they are solo looting and get a face full of AI load...

 

Also how can I increase the loot crate items as guys are complaining lot of work for not very much gear.

Link to comment
Share on other sites

As missions spawn all the time and if you miss the message, or don't have a radio or just join the server...would it be possible for players to get re-notified...

 

i.e:

 

14:31 - Mission spawns & notifies players.

 

14:36 - new player joins the server

 

14:41 - Server/Mission notifies player base that the AI are still attacking Town A

 

Having people avoid the new mission system as they don't know where it is and don't want to loot towns incase they are solo looting and get a face full of AI load...

 

Also how can I increase the loot crate items as guys are complaining lot of work for not very much gear.

 

The mission should respawn every 15mins if a player doesn't get near it. It also doesn't spawn at a town with people nearby.

 

You can change this number in VFunctions for more items in the crate.

// Load Random Loot Amount
	for "_i" from 1 to ((floor(random 10)) + 10) do {

Change the 10's to your liking.

Link to comment
Share on other sites

Hi Guys i posted before as the mission system was not working on Chernarus. The missions would start but would not name the town, this was being caused by an issue with the AIA pack. 

I have now tested this on Bornholm and must say WOW Vampire you have excelled yourself again, so cant wait till you have added some more mission variants.

 

Quick Question has any one else had an error for missing files (AIA Config 3) when running the latest AIA Pack, i so want to add these on my Chernarus Server.

Link to comment
Share on other sites

Re-installed VEMF and its still running okay, but NO notices.  I have a Radio (Quartz) and system chat is on (6 deleted) is there anything else that could be stopping the announcements? 

description.ext below.  does the channels need a comma after the 2???

 

 

author = "Epoch Mod Team";


class Header
{
gameType = Sandbox;
minPlayers = 1;
maxPlayers = 100;
};
respawn = "BASE";
respawnDelay = 600;
respawnDialog = 0;

onLoadMission= "Epoch";
OnLoadIntro = "Welcome to Epoch Mod";
loadScreen = "\x\addons\a3_epoch_assets\pictures\loadScreen_ca.paa";
OnLoadIntroTime = False;
OnLoadMissionTime = False;
onLoadName = "Epoch Mod";
disabledAI = true;
scriptedPlayer = 1;
disableChannels[]={0,1,2};
enableItemsDropping = 0;
briefing = 0;
debriefing = 0;
enableDebugConsole = 0;
joinUnassigned = 0;
respawnOnStart = 0;
forceRotorLibSimulation = 1;

corpseManagerMode = 1;
corpseLimit = 10;
corpseRemovalMinTime = 1200;
corpseRemovalMaxTime = 3600;

wreckManagerMode = 1;
wreckLimit = 2;
wreckRemovalMinTime = 60;
wreckRemovalMaxTime = 360;

class CfgRemoteExecCommands {};
class RscTitles
{

#include "dialog\statusBar.hpp"
};

Link to comment
Share on other sites

Re-installed VEMF and its still running okay, but NO notices.  I have a Radio (Quartz) and system chat is on (6 deleted) is there anything else that could be stopping the announcements? 

description.ext below.  does the channels need a comma after the 2???

 

Can you post a clientside rpt?

It's in %AppData%/Local/Arma3

Link to comment
Share on other sites

Init.sqf

 


if(isDedicated)exitWith{}; //Everything below this line is only executed on the client (player or local host)

//Wait until these variables are broadcasted to the client (usually happens before the init gets executed)
waitUntil{!isNil {SEM_AIdropGearChance}};
waitUntil{!isNil {SEM_removeWeaponsFromDeadAI}};
waitUntil{!isNil {SEM_removeMagazinesFromDeadAI}};
//diag_log format["#SEM DEBUG: variables received: Weapons %1 - Magazines %2", SEM_removeWeaponsFromDeadAI, SEM_removeMagazinesFromDeadAI];

SEM_client_createMissionMarker = { private["_create","_markerPos","_markerName","_marker"];
_create = _this select 0;

if(!_create)then[{ //delete marker
if (getMarkerColor "MissionMarker" != "")then{ //Only delete existing Marker
deleteMarkerLocal "MissionMarker";
};
},{ //else create marker
_markerPos = _this select 1;
_markerName = _this select 2;

_marker = createMarkerLocal ["MissionMarker", _markerPos];
_marker setMarkerPosLocal _markerPos;
_marker setMarkerTypeLocal "hd_destroy";
_marker setMarkerTextLocal format["%1",_markerName];
_marker setMarkerColorLocal "ColorRed";
_marker setMarkerDirLocal -37;
_marker setMarkerSizeLocal [0.8,0.8];
}];
};

SEM_client_removeGear = {
removeVest _this;
//removeHeadgear _this;
removeGoggles _this;
removeAllItems _this;
removeAllWeapons _this;
removeBackpackGlobal _this;
{_this removeMagazine _x}count magazines _this;
};

SEM_client_AIfiredEH = {
if(isPlayer _this || !local _this)exitWith{systemChat "NEIN!"};

call compile format["
_this addEventHandler ['Fired',{
if(_this select 2 in %1)then{
_this select 0 addMagazines [_this select 5, 1];
};
}];
", ["launch_RPG32_F","launch_NLAW_F","launch_Titan_short_F","launch_Titan_F"]];
};

SEM_client_AIaddKilledEH = {
if(isPlayer _this || !local _this)exitWith{systemChat "NEIN!"};

/* Remove Weapons when killed */
call compile format["
_this addEventHandler ['Killed',{ private ['_unit','_z','_ran'];
_unit = _this select 0;
{_unit removeWeaponGlobal _x}count (%1 + ['EpochRadio0','ItemMap','ItemRadio','ItemWatch','ItemCompass','ItemGPS']);
{if(_x in (magazines _unit))then{_unit removeMagazines _x}}count %2;

if(SEM_AIdropGearChance < ceil(random 100))then{
_unit call SEM_client_removeGear;
{deleteVehicle _x}forEach nearestObjects [(getPosATL _unit), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 1];
};

_unit spawn{
sleep .1;
{_z = _x;
if(_x in (getweaponcargo _z))exitWith{deleteVehicle _z}count %1;
if(_x in (getmagazinecargo _z))exitWith{deleteVehicle _z}count %2;
}forEach nearestObjects [(getPos _this), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 12];
};
}];
", SEM_removeWeaponsFromDeadAI, SEM_removeMagazinesFromDeadAI];

/* AI run over by vehicle */
_this addEventHandler ["killed", { private["_u","_k","_vk","_s"];
_u = _this select 0;
_k = _this select 1;
_vk = vehicle _k;

if(_vk isKindOf "Car")then{
if(abs speed _vk > 0)then{
if(_vk distance _u < 10)then{
if(isEngineOn _vk || !isNull (driver _vk))then{
_u call SEM_client_removeGear;
{deleteVehicle _x}forEach nearestObjects [(getPosATL _u), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 3];

if({alive _x}count units group _u < 1)then[{
"R_PG32V_F" createVehicle (position _u);
},{
//_vk setVelocity [(velocity _vk select 0)*.25, (velocity _vk select 1)*.25, 2];
_s = [ "wheel_1_1_steering","wheel_2_1_steering","wheel_1_2_steering","wheel_2_2_steering",
"wheel_1_3_steering","wheel_2_3_steering","wheel_1_4_steering","wheel_2_4_steering",
"MOTOR","glass1","glass2","glass3","door1","door2","door3","door4"];
{_vk setHit [_x,(_vk getHit _x)+(.3+(random .2))]}count _s;
}];
}}}};
}];
};

/* DO NOT CALL "fn_animateAI" because the sleep commands will cause errors when used in a non-scheduled environment */
SEM_client_animateAI = { private["_group","_pos","_checkPos","_firstLoop","_nearThreads","_doMove","_dir","_dist","_posX","_posY","_oldPos","_newPos","_z"];
_group = _this select 0;
_pos = _this select 1;
_checkPos = _pos; _checkPos set [2,3];

waitUntil{{owner _x == owner player}forEach units _group}; //Wait until the server gives You the ownership of the AI
diag_log format["#SEM: Client taking over AI ownership at Pos %1, Distance %2, Units: (%3/%4)", _pos, (vehicle player) distance _pos, {alive _x}count units _group, count units _group];

{
_x call SEM_client_AIfiredEH;
_x call SEM_client_AIaddKilledEH;
_x enableAI "AUTOTARGET";
//_x enableAI "TARGET";
_x enableAI "MOVE";
_x enableAI "ANIM";
_x enableAI "FSM";
_x stop false;
_x setUnitPos "Middle"; //"Auto"
}count units _group;
_group setCombatMode "YELLOW";
_group setBehaviour "COMBAT"; //"AWARE";

//waitUntil{{alive _x}count units _group < 1 || ({owner _x != owner player}forEach units _group)};

while{{alive _x}count units _group > 0 && ({owner _x == owner player}forEach units _group)}do{
_nearThreads = _pos nearEntities [["Epoch_Man_base_F","Epoch_Female_base_F","Helicopter","Car","Motorcycle"], 1200]; //"Epoch_Man_base_F","Epoch_Female_base_F"

{if(alive _x && isPlayer _x)then{ _z = _x;
{if !(lineIntersects [eyePos _x, eyePos _z, (vehicle _x), (vehicle _z)] || terrainIntersectASL [eyePos _x, eyePos _z])then{
_group reveal [_z,4];
if((secondaryWeapon _x) == "")then[{
_x doWatch _z; _x doTarget _z;
_x commandFire _z; _x suppressFor 3;
},{
if !(_z isKindOf "Epoch_Man_base_F" || _z isKindOf "Epoch_Female_base_F")then{
_x doWatch _z; _x doTarget _z; _x commandFire _z;
};
}];
}}forEach units _group;
UIsleep (3+(random 2));
}}forEach _nearThreads;
UIsleep 3;
};

diag_log format["#SEM: AI ownership lost - Remaining AIs: (%1/%2)", {alive _x}count units _group, count units _group];
};

"SEM_globalHint" addPublicVariableEventHandler { private "_sound";
_sound = (_this select 1) select 0;
switch(_sound)do{
case 0:{playSound "UAV_05"}; //Mission start
case 1:{playSound "UAV_01"}; //Mission fail (object destroyed)
case 2:{playSound "UAV_04"}; //Mission fail (time out)
case 3:{playsound "UAV_03"}; //Mission success
};
hint parseText format["%1", (_this select 1) select 1]
};

if(!isNil "SEM_globalMissionMarker")then{SEM_globalMissionMarker call SEM_client_createMissionMarker};
"SEM_globalMissionMarker" addPublicVariableEventHandler {_this select 1 call SEM_client_createMissionMarker};

if(!isNil "SEM_takeAIownership")then{SEM_takeAIownership call SEM_client_animateAI};
"SEM_takeAIownership" addPublicVariableEventHandler {_this select 1 spawn SEM_client_animateAI}; //DO NOT CALL!


[] spawn { /* This is the advertisement. If You don't like it, remove it */
waitUntil{vehicle player == player && time > 5};
systemChat format["Welcome to EPOCH %1 survivor %2", str(toUpper worldName), name player];
systemChat format["This server is running %1 v0.7", str "Simple Epoch Missions"];
}; /* End of advertisement */

if(toLower worldName in ["chernarus","chernarus_summer"])then{
([4654.62,9593.63,0] nearestObject 145259) setDamage 1;
([4654.62,9593.63,0] nearestObject 145260) setDamage 1;
}; //Fix for something, find out ;)
//Statusbar (dialogue and scripts in altis.pbo)
[] execVM "scripts\fn_statusBar.sqf";
// igiload
[] execVM "IgiLoad\IgiLoadInit.sqf";
//server message
[] execVM "txt.sqf";
// Custom Loadout

if (!isServer) then {
waitUntil {!isNull player};
waitUntil {player == player};

while {true} do {
_player = player;
player addEventHandler ["Respawn", {
if (getPlayerUID player in ["76561198069584454"]) then {
player addWeapon "srifle_EBR_F";
player addWeapon "hgun_Pistol_heavy_01_F";
player addMagazine "20Rnd_762x51_Mag";
player addMagazine "11Rnd_45ACP_Mag";
player addWeapon "NVG_EPOCH";
player addWeapon "EpochRadio0";
player addWeapon "ItemMap";
EPOCH_playerCrypto = 300;
} else {
player addWeapon "EpochRadio0";
player addWeapon "NVG_EPOCH";
player addWeapon "ItemMap";
player addWeapon "hgun_Pistol_heavy_01_F";
player addMagazine "11Rnd_45ACP_Mag";
EPOCH_playerCrypto = 100;
};
}];
waitUntil {_player != player};
};
};
// VEMF
"VEMFChatMsg" addPublicVariableEventHandler {
systemChat (_this select 1);
if (isClass(configFile >> "CfgSounds" >> "tune")) then {
playSound ["tune",true];
} else {
playSound ["hint",true];
};
VEMFChatMsg = nil;
};

 

 

VEMF is running, it comes up on RPT,    no messages so have to teleport via every city to find it.

Link to comment
Share on other sites

Init.sqf

 

if(isDedicated)exitWith{}; //Everything below this line is only executed on the client (player or local host)

//Wait until these variables are broadcasted to the client (usually happens before the init gets executed)

waitUntil{!isNil {SEM_AIdropGearChance}};

waitUntil{!isNil {SEM_removeWeaponsFromDeadAI}};

waitUntil{!isNil {SEM_removeMagazinesFromDeadAI}};

//diag_log format["#SEM DEBUG: variables received: Weapons %1 - Magazines %2", SEM_removeWeaponsFromDeadAI, SEM_removeMagazinesFromDeadAI];

SEM_client_createMissionMarker = { private["_create","_markerPos","_markerName","_marker"];

_create = _this select 0;

if(!_create)then[{ //delete marker

if (getMarkerColor "MissionMarker" != "")then{ //Only delete existing Marker

deleteMarkerLocal "MissionMarker";

};

},{ //else create marker

_markerPos = _this select 1;

_markerName = _this select 2;

_marker = createMarkerLocal ["MissionMarker", _markerPos];

_marker setMarkerPosLocal _markerPos;

_marker setMarkerTypeLocal "hd_destroy";

_marker setMarkerTextLocal format["%1",_markerName];

_marker setMarkerColorLocal "ColorRed";

_marker setMarkerDirLocal -37;

_marker setMarkerSizeLocal [0.8,0.8];

}];

};

SEM_client_removeGear = {

removeVest _this;

//removeHeadgear _this;

removeGoggles _this;

removeAllItems _this;

removeAllWeapons _this;

removeBackpackGlobal _this;

{_this removeMagazine _x}count magazines _this;

};

SEM_client_AIfiredEH = {

if(isPlayer _this || !local _this)exitWith{systemChat "NEIN!"};

call compile format["

_this addEventHandler ['Fired',{

if(_this select 2 in %1)then{

_this select 0 addMagazines [_this select 5, 1];

};

}];

", ["launch_RPG32_F","launch_NLAW_F","launch_Titan_short_F","launch_Titan_F"]];

};

SEM_client_AIaddKilledEH = {

if(isPlayer _this || !local _this)exitWith{systemChat "NEIN!"};

/* Remove Weapons when killed */

call compile format["

_this addEventHandler ['Killed',{ private ['_unit','_z','_ran'];

_unit = _this select 0;

{_unit removeWeaponGlobal _x}count (%1 + ['EpochRadio0','ItemMap','ItemRadio','ItemWatch','ItemCompass','ItemGPS']);

{if(_x in (magazines _unit))then{_unit removeMagazines _x}}count %2;

if(SEM_AIdropGearChance < ceil(random 100))then{

_unit call SEM_client_removeGear;

{deleteVehicle _x}forEach nearestObjects [(getPosATL _unit), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 1];

};

_unit spawn{

sleep .1;

{_z = _x;

if(_x in (getweaponcargo _z))exitWith{deleteVehicle _z}count %1;

if(_x in (getmagazinecargo _z))exitWith{deleteVehicle _z}count %2;

}forEach nearestObjects [(getPos _this), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 12];

};

}];

", SEM_removeWeaponsFromDeadAI, SEM_removeMagazinesFromDeadAI];

/* AI run over by vehicle */

_this addEventHandler ["killed", { private["_u","_k","_vk","_s"];

_u = _this select 0;

_k = _this select 1;

_vk = vehicle _k;

if(_vk isKindOf "Car")then{

if(abs speed _vk > 0)then{

if(_vk distance _u < 10)then{

if(isEngineOn _vk || !isNull (driver _vk))then{

_u call SEM_client_removeGear;

{deleteVehicle _x}forEach nearestObjects [(getPosATL _u), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 3];

if({alive _x}count units group _u < 1)then[{

"R_PG32V_F" createVehicle (position _u);

},{

//_vk setVelocity [(velocity _vk select 0)*.25, (velocity _vk select 1)*.25, 2];

_s = [ "wheel_1_1_steering","wheel_2_1_steering","wheel_1_2_steering","wheel_2_2_steering",

"wheel_1_3_steering","wheel_2_3_steering","wheel_1_4_steering","wheel_2_4_steering",

"MOTOR","glass1","glass2","glass3","door1","door2","door3","door4"];

{_vk setHit [_x,(_vk getHit _x)+(.3+(random .2))]}count _s;

}];

}}}};

}];

};

/* DO NOT CALL "fn_animateAI" because the sleep commands will cause errors when used in a non-scheduled environment */

SEM_client_animateAI = { private["_group","_pos","_checkPos","_firstLoop","_nearThreads","_doMove","_dir","_dist","_posX","_posY","_oldPos","_newPos","_z"];

_group = _this select 0;

_pos = _this select 1;

_checkPos = _pos; _checkPos set [2,3];

waitUntil{{owner _x == owner player}forEach units _group}; //Wait until the server gives You the ownership of the AI

diag_log format["#SEM: Client taking over AI ownership at Pos %1, Distance %2, Units: (%3/%4)", _pos, (vehicle player) distance _pos, {alive _x}count units _group, count units _group];

{

_x call SEM_client_AIfiredEH;

_x call SEM_client_AIaddKilledEH;

_x enableAI "AUTOTARGET";

//_x enableAI "TARGET";

_x enableAI "MOVE";

_x enableAI "ANIM";

_x enableAI "FSM";

_x stop false;

_x setUnitPos "Middle"; //"Auto"

}count units _group;

_group setCombatMode "YELLOW";

_group setBehaviour "COMBAT"; //"AWARE";

//waitUntil{{alive _x}count units _group < 1 || ({owner _x != owner player}forEach units _group)};

while{{alive _x}count units _group > 0 && ({owner _x == owner player}forEach units _group)}do{

_nearThreads = _pos nearEntities [["Epoch_Man_base_F","Epoch_Female_base_F","Helicopter","Car","Motorcycle"], 1200]; //"Epoch_Man_base_F","Epoch_Female_base_F"

{if(alive _x && isPlayer _x)then{ _z = _x;

{if !(lineIntersects [eyePos _x, eyePos _z, (vehicle _x), (vehicle _z)] || terrainIntersectASL [eyePos _x, eyePos _z])then{

_group reveal [_z,4];

if((secondaryWeapon _x) == "")then[{

_x doWatch _z; _x doTarget _z;

_x commandFire _z; _x suppressFor 3;

},{

if !(_z isKindOf "Epoch_Man_base_F" || _z isKindOf "Epoch_Female_base_F")then{

_x doWatch _z; _x doTarget _z; _x commandFire _z;

};

}];

}}forEach units _group;

UIsleep (3+(random 2));

}}forEach _nearThreads;

UIsleep 3;

};

diag_log format["#SEM: AI ownership lost - Remaining AIs: (%1/%2)", {alive _x}count units _group, count units _group];

};

"SEM_globalHint" addPublicVariableEventHandler { private "_sound";

_sound = (_this select 1) select 0;

switch(_sound)do{

case 0:{playSound "UAV_05"}; //Mission start

case 1:{playSound "UAV_01"}; //Mission fail (object destroyed)

case 2:{playSound "UAV_04"}; //Mission fail (time out)

case 3:{playsound "UAV_03"}; //Mission success

};

hint parseText format["%1", (_this select 1) select 1]

};

if(!isNil "SEM_globalMissionMarker")then{SEM_globalMissionMarker call SEM_client_createMissionMarker};

"SEM_globalMissionMarker" addPublicVariableEventHandler {_this select 1 call SEM_client_createMissionMarker};

if(!isNil "SEM_takeAIownership")then{SEM_takeAIownership call SEM_client_animateAI};

"SEM_takeAIownership" addPublicVariableEventHandler {_this select 1 spawn SEM_client_animateAI}; //DO NOT CALL!

[] spawn { /* This is the advertisement. If You don't like it, remove it */

waitUntil{vehicle player == player && time > 5};

systemChat format["Welcome to EPOCH %1 survivor %2", str(toUpper worldName), name player];

systemChat format["This server is running %1 v0.7", str "Simple Epoch Missions"];

}; /* End of advertisement */

if(toLower worldName in ["chernarus","chernarus_summer"])then{

([4654.62,9593.63,0] nearestObject 145259) setDamage 1;

([4654.62,9593.63,0] nearestObject 145260) setDamage 1;

}; //Fix for something, find out ;)

//Statusbar (dialogue and scripts in altis.pbo)

[] execVM "scripts\fn_statusBar.sqf";

// igiload

[] execVM "IgiLoad\IgiLoadInit.sqf";

//server message

[] execVM "txt.sqf";

// Custom Loadout

if (!isServer) then {

waitUntil {!isNull player};

waitUntil {player == player};

while {true} do {

_player = player;

player addEventHandler ["Respawn", {

if (getPlayerUID player in ["76561198069584454"]) then {

player addWeapon "srifle_EBR_F";

player addWeapon "hgun_Pistol_heavy_01_F";

player addMagazine "20Rnd_762x51_Mag";

player addMagazine "11Rnd_45ACP_Mag";

player addWeapon "NVG_EPOCH";

player addWeapon "EpochRadio0";

player addWeapon "ItemMap";

EPOCH_playerCrypto = 300;

} else {

player addWeapon "EpochRadio0";

player addWeapon "NVG_EPOCH";

player addWeapon "ItemMap";

player addWeapon "hgun_Pistol_heavy_01_F";

player addMagazine "11Rnd_45ACP_Mag";

EPOCH_playerCrypto = 100;

};

}];

waitUntil {_player != player};

};

};

// VEMF

"VEMFChatMsg" addPublicVariableEventHandler {

systemChat (_this select 1);

if (isClass(configFile >> "CfgSounds" >> "tune")) then {

playSound ["tune",true];

} else {

playSound ["hint",true];

};

VEMFChatMsg = nil;

};

 

 

VEMF is running, it comes up on RPT,    no messages so have to teleport via every city to find it.

 

Put the VEMF code at the very top and it'll work.

 

VEMF's code has to run on the client, and SEM runs on the server, so VEMF's code has to be above SEM's.

Link to comment
Share on other sites

@Gek Konijn

I don't know who startet spreading this wrong info, but You don't have to enable the system chat via description.ext.

Disabled channels can still be used local by scrips.

I use it in my SEM too and it works with the default EPOCH settings (system chat disabled).

Greez KiloSwiss

Link to comment
Share on other sites

Hello i have installed VEMF and it work great... until a player walks up to the loot box and gets kicked for Battleye: setdamage restriction #0 

 

setdamage.log

15.01.2015 19:11:26: TonyMachete (80.195.210.98:2304) 7aa96be034c25e9e7e9a36da062715ff - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
15.01.2015 19:13:18: TonyMachete (80.195.210.98:2304) 7aa96be034c25e9e7e9a36da062715ff - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
15.01.2015 19:15:24: Drudarco (86.166.92.218:2304) 5cdb6ba60faa83b388a1fbb5a8c857e4 - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
15.01.2015 19:20:07: - VJ - (192.168.1.43:2304) 8919cadc4493e22fa7a95703f7a2e368 - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
15.01.2015 19:22:19: - VJ - (192.168.1.43:2304) 8919cadc4493e22fa7a95703f7a2e368 - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
15.01.2015 19:24:05: Grammy (86.159.222.162:2304) 9ae0434436b4d79063bfad47c4d17462 - #0 5.000000 2:2701 Box_IND_AmmoVeh_F
16.01.2015 18:25:45: Grammy (94.173.233.239:2304) 0a78f65dd7febac27aacf2d088382e53 - #0 5.000000 2:2503 Box_IND_AmmoVeh_F
16.01.2015 18:26:21: Grammy (94.173.233.239:2304) 0a78f65dd7febac27aacf2d088382e53 - #0 5.000000 2:2503 Box_IND_AmmoVeh_F

I have also tried adding !="Box_IND_AmmoVeh_F" with no luck.

Any help would be appreciated.

Thanks.

p.s how do i make a spoiler tag. 

Link to comment
Share on other sites

  • Richie unlocked this topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...