Jump to content

A-SUICIDAL

Member
  • Content Count

    520
  • Joined

  • Last visited

  • Medals

Posts posted by A-SUICIDAL


  1. I changed the veh_add_gear_s2.sqf file to look like the following and it seemed to work in single player, but now my friend is sleeping, so I am unable to test it online with him. I'm hoping this will work.

    hmmwv_s2 setVariable ["selections", []];
    hmmwv_s2 setVariable ["gethit", []];
    hmmwv_s2 addEventHandler ["HandleDamage",{
    
    _veh = _this select 0;
    
    _selections = _veh getVariable ["selections", []];
    _gethit = _veh getVariable ["gethit", []];
    _selection = _this select 1;
    if !(_selection in _selections) then {
    	_selections set [count _selections, _selection];
    	_gethit set [count _gethit, 0];
    };
    _i = _selections find _selection;
    _olddamage = _gethit select _i;
    _damage = _olddamage + ((_this select 2) - _olddamage) * 0.25;
    _gethit set [_i, _damage];
    _damage;
    }];
    
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    hmmwv_s2 addMagazineTurret ["100Rnd_127x99_M2",[1]];
    
    clearWeaponCargo hmmwv_s2;
    clearMagazineCargo hmmwv_s2;
    
    hmmwv_s2 addMagazineCargoGlobal ["PIPEBOMB",2];
    hmmwv_s2 addMagazineCargoGlobal ["20Rnd_762x51_B_SCAR",20];
    hmmwv_s2 addMagazineCargoGlobal ["MAAWS_HEAT", 10];
    hmmwv_s2 addMagazineCargoGlobal ["stinger", 4];
    hmmwv_s2 addWeaponCargoGlobal ["M110_NVG_EP1",2];
    hmmwv_s2 addWeaponCargoGlobal ["MAAWS", 2];
    hmmwv_s2 addWeaponCargoGlobal ["Stinger", 2];
    
    hmmwv_s2 addAction [("<t color=""#FF0000"">" + ("Repair HMMWV GPK M2") + "</t>"),"vehicle\veh_repair.sqf",nil,+50,true,true,"","alive hmmwv_s2 && (!canMove hmmwv_s2 OR (damage hmmwv_s2>0 && damage hmmwv_s2<1)) && player distance hmmwv_s2<5"];


  2. So I have a vehicle drop script that spawns a HMMWV GPK (M2) in the air that drops from a parachute. There are actually a few scripts involved, but I have a problem with the script that adds weapons and gear into the cargo of the vehicle - where the weapons and gear multiply depending on how many players are on the server. So if I test by myself, everything works fine, but as soon as a friend joins the server and he request a vehicle drop, the weapons and gear added to his HMMWV vehicle then double in amount, so instead of there being 2 MAAW launchers and 10 MAAW rockets, my friends HMMWV shows 4 MAAW launchers and 20 MAAW rockets. I would imagine that if there are 3 players on the server it would then show 6 MAAW launchers and 20 MAAW rockets. I tried using a if (isServer) command, but then no weapons and gear appear in the vehicle at all, but maybe I did that wrong.

    Each player has their own vehicle drop script, and each vehicle is named according to the player, so player s2 would be the owner of dropped vehicle named hmmwv_s2. So I then tried adding triggers that are specific to each player's vehicle name, so when player s2 requests a vehicle drop, a vehicle named hmmwv_s2 would spawn in a parachute and a trigger trigger specific to his vehicle would then do the following:

    (Note: The script adds additional armor to the vehicle, additional turret ammunition, clears the vehicle cargo, then adds weapons and gear in cargo, and adds the action to repair the vehicle if it is damaged. I haven't checked, but I would assume that the turret ammunition is multiply too.)

    condition:

    alive hmmwv_s2

    On Act.

    null = [hmmwv_s2] execVM "request_vehicle_drop\veh_add_gear_s2.sqf";

    veh_add_gear_s2.sqf:

    hmmwv_s2 setVehicleInit "hmmwv_s2=this;
    
    this setVariable ['selections', []];
    this setVariable ['gethit', []];
    this addEventHandler ['HandleDamage',{
    
    _veh = _this select 0;
    
    _selections = _veh getVariable ['selections', []];
    _gethit = _veh getVariable ['gethit', []];
    _selection = _this select 1;
    if !(_selection in _selections) then {
    	_selections set [count _selections, _selection];
    	_gethit set [count _gethit, 0];
    };
    _i = _selections find _selection;
    _olddamage = _gethit select _i;
    _damage = _olddamage + ((_this select 2) - _olddamage) * 0.25;
    _gethit set [_i, _damage];
    _damage;
    }];
    
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    this addMagazineTurret ['100Rnd_127x99_M2',[1]];
    
    clearWeaponCargo this;
    clearMagazineCargo this;
    
    this addMagazineCargoGlobal ['PIPEBOMB',2];
    this addMagazineCargoGlobal ['20Rnd_762x51_B_SCAR',20];
    this addMagazineCargoGlobal ['MAAWS_HEAT', 10];
    this addMagazineCargoGlobal ['stinger', 4];
    this addWeaponCargoGlobal ['M110_NVG_EP1',2];
    this addWeaponCargoGlobal ['MAAWS', 2];
    this addWeaponCargoGlobal ['Stinger', 2];
    
    hmmwv_s2 addAction [('<t color=''#FF0000''>' + ('Repair HMMWV GPK M2') + '</t>'),'vehicle\veh_repair.sqf',nil,+50,true,true,'','alive hmmwv_s2 && (!canMove hmmwv_s2 OR (damage hmmwv_s2>0 && damage hmmwv_s2<1)) && player distance hmmwv_s2<5'];";
    
    processInitCommands;

    How should this script be changed, or how should it be executed so it will add the weapons and gear to the vehicle and not multiply for every player on the server?

    It seems as though the script executes twice if there are 2 people on the server. I need it to execute only 1 time and add the weapons and gear and other stuff to the vehicle and make sure that all players can then see the correct amount of weapons and gear in the cargo of the vehicle.


  3. I just wanted to let my friends in this editing section know that I just released a new 14 Player Coop Combined Operations Mission called "Annihilation" at Armaholic, it is waiting to be authorized and processed. It's a domination mission, but I designed it from scratch and I did not use an existing domination mission or template, nor did I use any scripts from an existing domination mission. The mission comes packed with a lot of cool features, most of which are my own inventive scripts. The only required addon is the island Faysh Khabur 1.2

    I tested the mission with various addons, like ACE, and found out that it does cause errors and other problems, so it is probably best to play the mission using only the addon island.

    You can go to my Annihilation Mission Page and download the mission and read a full description of all of the additional features incorporated in the mission.

    I gave credit to all those that helped me with the making of the mission as well as for helping me create various scripts that are used in the mission. I also gave credit to the authors of any scripts that I used in the mission. Mostly, I wanted to thank everybody in these forums for all of their help when I asked for it. I designed levels/maps/missions for a bunch of different games and I have never visited an editing forum that was more helpful and friendly than this forum. The forum moderators here run a good clean ship and I thank them too.

    I have a few other old missions that I've never released that I am going to try to get released soon, for instance, a coop Jet Fighting mission and a coop Attack Chopper mission, both of which are awesome missions. I just want to test them further and make sure they are completely bug free. I have no plans to make more Arma 2 missions in the near future since I will be going back to my roots and working on my Unreal Editor skills so I will be ready to make maps for the game "Takedown" when it finally releases. I might make some Arma 3 missions in the future, but I would rather wait until Arma 3 has been further developed or fully released.

    Anyway, I hope the mission turns out to be some what of a success. I put a lot of work into it and tested it to death to make sure everything is working perfectly and bug free. Have fun! :)


  4. I changed my script. I am going to use it in the next version of my team kill punish script. If a pilot teamkills and is teleported into jail, it used to move either an assignedGunner or assignedCargo unit into the driver seat, but I kept playing with it and tried to get it to work for all turret positions and this is what I came up with:

    part of the script that would eject the team killing pilot from the vehicle...

    if (vehicle _killer != _killer) then {
    null = [_killer] execVM "jail\check_crew.sqf";
    doGetOut _killer;
    sleep 0.5;
    };
    //then the killer/pilot gets teleported into jail.
    

    check_crew.sqf:

    _killer = _this select 0;
    _veh = (vehicle _killer);
    
    if (driver _veh == _killer) then 
    {
       waitUntil {driver _veh != _killer};
    };
    
    _man0 = _veh turretUnit [0]; 
    
    if (!isNull _man0) exitWith 
    {
       waitUntil{!(isNil "BIS_MPF_InitDone")};
       [nil, _man0, "loc", rEXECVM, "jail\toDriver.sqf", _man0] call RE;
    };
    
    _man1 = _veh turretUnit [1]; 
    
    if (!isNull _man1) exitWith 
    {
       waitUntil{!(isNil "BIS_MPF_InitDone")};
       [nil, _man1, "loc", rEXECVM, "jail\toDriver.sqf", _man1] call RE;
    };
    
    _man2 = _veh turretUnit [2]; 
    
    if (!isNull _man2) exitWith 
    {
       waitUntil{!(isNil "BIS_MPF_InitDone")};
       [nil, _man2, "loc", rEXECVM, "jail\toDriver.sqf", _man2] call RE;
    };
    
    _crewList = assignedCargo _veh;
    _crewMan = _crewList select 0;
    
    if ((!isNull _crewMan) && (_crewMan in _veh)) exitWith 
    {
       waitUntil{!(isNil "BIS_MPF_InitDone")};
       [nil, _crewMan, "loc", rEXECVM, "jail\toDriver.sqf", _crewMan] call RE;
    };
    

    toDriver.sqf:

    _unit = _this select 0;
    _veh = (vehicle _unit);
    
    unassignVehicle _unit;
    doGetOut _unit;
    sleep 1;
    _unit assignAsDriver _veh;
    _unit moveInDriver _veh;
    
    _unit action ["EngineOn", _veh];
    _veh engineOn true; 
    
    if ((local _unit) && (!isServer)) then {
       cutText ["YOU ARE NOW THE PILOT","PLAIN DOWN",2];
       sleep 8;
       cutText ["","PLAIN DOWN",2];
    };
    

    The only problem I have encountered when testing is... on a dedicated server, if an ai unit is moved into the pilot seat, the engine never turns on and the air vehicle crashes into the ground. When I test in single player or hosted environment, everything works smoothly. You can see in the script that I tried using 2 different methods to get the engine to turn back on, but both fail to work on a dedicated server. Any ideas as to how I can get the engine to turn back on for a dedicated server?


  5. With CLY heal, when you die, you do not become incapacitated, but instead you are just dead and will respawn normally. CLY Heal might work with ACE wounds, but I'm almost positive that it will not work with Norrin's revive because I have tried and it didn't work. Even the most basic heal script seems to not work at all with Norrin's revive. It is possible to use all of the ACE features in a mission and leave out just the ACE wounds stuff, which I have done and I did use CLY Heal.


  6. The punish script will not activate if victim is also the killer. The game might tell you that you killed yourself, but the punish script will not punish you for it. You also cannot be punished if you are dead, but I might implement a feature where the killer can be sent to jail upon respawn. I am also trying to count the number of victims and give each victim the opportunity to vote if the killer should be forgiven and released from jail - at which point the killer would only be released from jail if more than 50% of "Forgive" votes cast are "Yes".


  7. The new version is still not ready for release - it needs to be tested more thoroughly on a dedicated server and I need to find somebody to help me test it.

    Here's a preview video showing some of the new changes:

    It might be easier to read the messages in the movie if you choose high detail and fullscreen.

    I used an enemy (Takistan Army rifleman) to test the teamkill script, that's why in the video you don't see a teammate score get penalized for team killing me.

    Normally the script is set so the enemy cannot trigger the punish script, but for testing purposes I changed it.

    You also see me team kill 2 teammates with the Littlebird chopper. What would happen in that situation is... only one of the victims (the first killed)would be given the chance to forgive.

    I'm still looking into other solutions for that, but for now it shouldn't cause any problems.


  8. First off, ELLIPSE is a shape, not an icon, that is why it is not in the list of marker types. Markers can either be an icon or a shape, but not both. So that is probably why you were having problems with that.

    Taskmasters use it's own helpful markers. I actually edited the taskmaster script slightly to use different markers specific to my mission. But I also use many other markers for specific targets and other things, so that's when I need rely on other methods.

    This is what I would do...

    Place an empty marker in the mission and name it according to the task, for example if it's task 3, name the marker "task3_AO_marker".

    Then place a trigger in the mission

    radius: 0

    activation: None

    trigger name: task3_trigger

    condition: task3_started

    on Act: "task3_AO_marker" setMarkerShape "ELLIPSE"; "task3_AO_marker" setMarkerSize [1000, 1000]; "task3_AO_marker" setMarkerColor "colorRedAlpha"; deleteVehicle task3_trigger;

    When you want the trigger to activate, use this in a script: task3_started = true; publicVariable "task3_started";

    It will activate the trigger, change the empty marker into a big red (slightly transparent) ellipse marker 1000x1000 in size. Then the trigger will automatically delete itself permanently so it cannot be activated again by players that join the game later(JIP), because if you later set the marker to be green, JIP players will turn it back to red if the trigger still exists. With this method, JIP players will see the marker when they join even if it was created before they joined. Shuko taught me stuff like this himself a over the past couple of years, I've learned a lot from him. His taskmaster script is a life saver.

    I use Taskmasters2 to generate random tasks, which will create my basic red AO marker when a task is assigned, but then I use a trigger to activate many other target/objective markers within the AO. It's a simple system. And as targets are destroyed, the target icon markers change from red to green and players that join late can see exactly what has been accomplished so far and what targets still need to be destroyed, captured etc.


  9. The whole reason why I use the heal script, is so that there is no need for a medic at all. Everybody can heal themselves, but they have a set number of bandages that they can use - and when they run out, they need to get more from a field hospital or medical vehicle.

    I won't use first aid modules for several reasons, for one the animations are buggy at times. Things like dragging bodies and carrying bodies is a great feature, until some smart-ass thinks it's funny to carry you on his shoulders for 20 minutes, or disconnect while you are on his shoulders and leaves you floating in mid air.

    Revive scripts are great, but nobody ever seems to want to wait for a revive, they all hit the "Respawn" button the first chance they get, which really bugs me when I run 300 meters through the open, under fire, to revive somebody and they decide to hit "Respawn" the moment I am 5 feet away. That's when I get shot and I need a revive and I wind up lying there for several minutes as other players run right passed me and don't bother to revive me at all. That's when I wish there was no revive at all, besides the fact that I spend 80% of my time in the game trying to revive players instead of actually fighting the enemy. So many times I tell a friend not to revive me because there are enemy in my area, but then my friend tries to revive me anyway and gets killed and then the both of use sit there for several minutes screaming at the sky. So when it comes down to it, Celery's heal script is what I consider to be the best alternative to a revive system.


  10. I don't recommend doing this unless you absolutely feel that your mission needs a little protection. It was explained to me in the past that it is better to share even if somebody might attempt to steal your mission, butcher it and then try to take credit it for it, and I'd have to say I agree no matter what the circumstances.

    It is possible to add a light form of "save" protection to a mission by renaming the mission folder using special characters and then using a 3rd party program to save/compile the mission to pbo. If an inexperienced mission creator later downloads the mission pbo file and extracts the mission and opens it in the editor, he or she will be unable to "save" new changes to the mission, because the strange characters in the mission name will cause the editor to save the mission as a new folder name, but the old folder name will still appear in the mission name field when the person clicks the "save" button. The person editing the mission won't realize that the mission saved to a new empty folder. The result is that it will first cause confusion and the inexperienced mission creator will wonder why the new changes he/she is making to the mission are not saving at all. They could add an A-10 on the runway and then hit save and then preview the mission and there won't be any A-10 there at all, because it saved to a different mission folder. It might take them a while to figure this out. After several attempts to save changes to the mission without any luck, the person might give up and assume that the mission is protected some how - without ever realizing that each time they hit save - that the changes they made were being saved to a different mission folder.

    In order to actually be able to save changes to the mission, they would have to first extract the mission pbo file, then rename the mission folder without special characters in the name, then they could open it in the editor and save new changes to the mission. Chances are if they rename the mission, they might use part of the original mission name and possibly still have strange characters in the name, causing the mission to still save to a new empty mission folder without them realizing. Even a more experienced mission creator might not figure it out right away, because it's so obvious - they fail to notice it. Anyway, it's not a fool proof method to adding protection to a mission, but in DeltaFOX209's case, it might have prevented his mission from being butchered by a noob.

    The first reply in this thread from BlackMamb - he referred to some dude. I think that dude might have been me :rolleyes:


  11. I moved the dialog over to the right where a hint message would normally appear. It works fine. It's actually better this way since I do want the team killed victim to be able to see the scoreboard. I tested it at different resolutions and it looks good and does not get in the way of the scoreboard at all. I added a 20 sec countdown timer that can be seen in the dialog window and if players do not choose "Yes" or "No" the dialog will self-close after the 20 sec timer expires and default to "No".

    When I first tried to create a dialog for a mission a while back, I struggled to get it to work. There were very few dialog tutorials out there, if any, and most did not make much of any sense. The only good tutorial I found was at the ofpec website and later that same day their site was put "under construction", so I got all of about an hour to view the tutorial, which wasn't long enough. Ever since then their dialog tutorial page still says "under construction".

    I eventually figured out how to create a dialog and I made several in my mission that are exactly like the one in Iceman77's tutorial. For instance, in my mission, I added an action to all players that allows then for to deploy a static GPMG every ten minutes, but sometimes players will accidentally choose the action when they did not mean to and it suddenly deploys the static tripod machine gun in a place that is useless and then they cannot deploy it again for ten minutes. So I wanted to create a dialog that would appear if they choose the action that asks them "Deploy GMPG?" with a "Yes" & "No" buttons. This prevents players from accidentally deploying the GPMG in a useless place. I also added an image in the dialog for the players that do not know what a GPMG is, so they can actually see what it looks like in the image - letting them know exactly what it is that they would be deploying. I added additional checks in the script so players are warned that they cannot deploy the GPMG within 150 meters of base, or deploy the GPMG above ground level. And after the GMPG is deployed, if they try to deploy another GPMG before the 10 minutes has passed, they are given a hint message telling them something like... "00:08:23 remaining before you can deploy a new GPMG". Players in my mission also have the ability to "Request Vehicle Drop" every ten minutes and it also uses a Yes/No dialog with a picture of a vehicle dropping. The leader in my mission can deploy a Rally Point every 10 minutes that teammates can teleport to, which also uses a Yes/No dialog so the leader won't accidentally deploy the Rally Point.

    The reason why I wanted to tell people about how I use the dialogs in my mission is because a lot of mission creators do add actions to players that allow them to be able to do special things - and most often players will accidentally choose an action when they did not wish to. So dialogs are very helpful - and it makes any mission seem more professional in design.

    Anyway, I eventually learned how to make my first dialog by downloading Curry's View Distance script from Armaholic. I remembered that his view distance script used a simple dialog similar to what I wanted to create for my mission. But I had a lot of problems dissecting his script and trying to create my own. I later stumbled across the GUI Editor by Karel Moricky, which is the same GUI editor that Iceman77 suggested to use in this thread. It is really amazing how helpful the GUI editor can be. It saves hours of work, but it was never advertised to the public enough, and many mission creators don't even know that it exists.

    This thread is extremely useful and Iceman77's tutorial and sample mission helps make creating dialogs much easier, especially for somebody trying to create a dialog for the first time. I wish this thread existed back when I was struggling to create my first dialog. To me, writing some script for a mission is completely different than creating a dialog - they just seem like tow totally different worlds. I think this thread should be sticky'd so it never gets buried.

    I personally wish to thank Iceman77 and Karel Moricky for their efforts. Oh, and you too Curry :)


  12. Well, the first page of this thread, Celery explained...

    Put this in your init script:

    [player,0.2,0.15,3,true] execVM "cly_heal.sqf"

    He means your init.sqf file in your mission root folder. If you do not have an init.sqf file, just create one and add that line to it.

    ---------- Post added at 12:56 AM ---------- Previous post was at 12:39 AM ----------

    It's important when using Celery's script that you addAction to field hospital tents and medical vehicles so you can take more bandages when needed. I know it was discussed in this thread, so if you don't know how to do that, just read through this thread thoroughly and you should find out how to do it.


  13. My "Forgive" team killer dialog appears for the victim when he/she is dead, but the scoreboard is in the way. I don't want to disable the scoreboard completely throughout the entire mission for all players, but if I could either temporarily hide the scoreboard until the victim chooses "forgive yes/no" or have my dialog appear in front of the score board, then I could solve the problem. I figured the easiest method would be to have the dialog appear in front of the scoreboard, but I don't know how to do this. Any ideas as to how I could do this?

    ---------- Post added at 04:00 PM ---------- Previous post was at 03:18 PM ----------

    I guess I could simply move the dialog over to the right a little - out of the way of the scoreboard. But I would still like to know if there is a way to hide the scoreboard momentarily.


  14. I am just finishing some last touches on a new version of the punish script. It's much easier to implement into a mission now too. No more need to name your playable units s1, s2, s3, etc. There is also working "Forgive Yes/No" 20 sec dialog feature that appears for victims. I'm still working out some bugs with attach chopper pilots that fire rockets and teamkill and then both the pilot and gunner get punished. I think once the pilot is sent to jail - any rockets that are still airborne that then kill a player then get blamed on the gunner, or something to that effect. My last changes seemed to have fixed that problem since I have yet to see it re-occur. There is also a new check system for moving gunners or crew members in the pilot seat if the pilot was sent to jail for team killing. There are various other fixes incorporated as well. So far it has been testing fine. I just need to figure out a way to make the victims "forgive" dialog to appear in front of the score board.

    I can help you get it working in your mission when I am done.


  15. I use a modified version of this script in my missions. It works great. I even added a hud feature in the bottom right corner of my screen that always shows bandages remaining "Medkits: 3". The only strange bug I've encountered is the ability to bandage an enemy, heh, but it's kind of funny. I never use first aid modules, so I don't know if they would conflict with Celery's script. I do know that I have always had problems in the past when I use the first aid modules - even if I don't use any heal scripts at all. That is the main reason why I use Celery's heal script - so I don't have to use modules or rely on brainless ai medics or medics that are never around when you need one.


  16. In the editor, place a "Tent US" (objects military).

    Add this to the init field of the tent to make it indestructible:

    this addEventHandler ["HandleDamage", {false}];

    Now place a "Baseball" (objects small) in the center of the tent and name it "lamp1".

    Add this to the init field of the baseball to make it indestructible, set its height and execute the script that will give it light:

    this addEventHandler ["HandleDamage", {false}]; this setPos [getPos this select 0, getPos this select 1, 2]; null = [this] execVM "lamps.sqf";

    Create a new script file called "lamps.sqf" and add this to it:

    _light1 = "#lightpoint" createVehicle getpos lamp1; 
    _light1 setLightBrightness 0.0028; 
    _light1 setLightAmbient[37, 44, 41]; 
    _light1 setLightColor[37, 44, 41]; 
    _light1 lightAttachObject [lamp1, [0,0,0]];
    

    Now test the mission and you will see a that the tent now has a lamp inside it. The lamp color is slightly greenish so it makes the tent look nicer.

    A normal white lamp would look more like:

    _light1 = "#lightpoint" createVehicle getpos lamp1; 
    _light1 setLightBrightness 0.0028; 
    _light1 setLightAmbient[50, 45, 35]; 
    _light1 setLightColor[50, 45, 35]; 
    _light1 lightAttachObject [lamp1, [0,0,0]];
    

    Or a pinkish lamp:

    _light1 = "#lightpoint" createVehicle getpos lamp1; 
    _light1 setLightBrightness 0.0028; 
    _light1 setLightAmbient[64, 23, 23]; 
    _light1 setLightColor[64, 23, 23]; 
    _light1 lightAttachObject [lamp1, [0,0,0]];
    

    You can add many lights to your base area in many tents or whatever you want and run them all from the "lamps.sqf" script.

    Remember when using a "#lightpoint" in your mission to light things like tents - that if there is anything burning near by, it will cause the "#lightpoint" to turn off or flicker and look bad. So if you place a fireplace or burning barrels near your "#lightpoint", it will conflict. This will also happen if there is a burning vehicle near by. I have seen this problem occur when using a campfire in my base that was more than 25 meters from my "#lightpoint". It's probably best to remove all fireplace or burning barrels from your base to be safe.

    For a "Vehicle Service Point" helipad at base you can add a flashing red light by doing this:

    Name your helipad "Hlight" and add this to its init field:

    null = [this] execVM "scripts\flashing_H_light.sqf";

    flashing_H_light.sqf

    _light2 = "#lightpoint" createVehicle getpos Hlight; 
    _light2 setLightBrightness 0.0028;
    _light2 setLightAmbient[64, 23, 23]; 
    _light2 setLightColor[64, 23, 23]; 
    _light2 lightAttachObject [Hlight, [0,0,1]];
    
    if (isServer) then 
    {
       while {true} do
    {
        _light2 setLightBrightness 0.0028;
        sleep 1;
        _light2 setLightBrightness 0; 
        sleep 1;
       	};
    };
    

    The helipad light will actually be under ground 1 meter, but it lights up nicely.


  17. This is a more simplified version of the script, which works fine when I test alone with ai, but I would assume that the same problem as above^ will occur with real players in the game.

    wrongful_kill.sqf:

    _victim=_this select 0;
    _killer=_this select 1;
    
    killcount = 0;
    
    if (!alive _killer) exitWith {};
    
    waitUntil{!(isNil "BIS_MPF_InitDone")};
    
    
    
    //Check if killer is not in a vehicle (on foot).
    if ((_victim!=_killer) && (vehicle _killer == player)) then {[nil, player, "loc", rEXECVM, "jail\start_punish.sqf", player] call RE;};
    
    //Check if killer is in a LandVehicle and in a gunner turret.
    if ((_victim!=_killer) && (vehicle _killer != player) && (vehicle _killer isKindOf "LandVehicle") && ((player == vehicle player turretUnit [0]) OR (player == vehicle player turretUnit [1]) OR (player == vehicle player turretUnit [2])) ) then {[nil, player, "loc", rEXECVM, "jail\start_punish.sqf", player] call RE;};
    
    //Check if killer is in an Air vehicle and in a gunner turret.
    if ((_victim!=_killer) && (vehicle _killer != player) && (vehicle _killer isKindOf "Air") && ((assignedGunner vehicle player == _killer) OR (player == vehicle player turretUnit [0]) OR (player == vehicle player turretUnit [1]) OR (player == vehicle player turretUnit [2])) ) then {[nil, player, "loc", rEXECVM, "jail\start_punish.sqf", player] call RE;};
    
    //Check if killer is a pilot.
    if ((_victim!=_killer) && (vehicle _killer != player) && (vehicle _killer isKindOf "Air") && (assignedDriver _killer == player) && ((isManualFire vehicle player) OR (!isManualFire vehicle player))) then {[nil, player, "loc", rEXECVM, "jail\start_punish.sqf", player] call RE;};

×