Jump to content

HonzaVinCZ

Member
  • Content Count

    49
  • Joined

  • Last visited

  • Medals

Community Reputation

7 Neutral

1 Follower

About HonzaVinCZ

  • Rank
    Lance Corporal

Profile Information

  • Gender
    Male
  • Location
    CZE

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. HonzaVinCZ

    [Help] Custom Vehicle Markers

    That is just perfect! Thank you a lot! Oh yes, I'm still beginner in scripting so I know about it little. I can create something that works but I have no idea what it could do with performance. Also I'm basically learning C++ in Arma engine and that's also not ideal but I actually don't use C++ anywhere else.
  2. Hey guys, I need you to help me with this script. Basically this script creates markers on selected vehicles and makes markers move with vehicles. Problem with this script is, that it cannot find target vehicle after vehicle was destroyed and respawned by other script I'm attaching under my actual script. It even won't work if vehicle name is set in editor. Any idea how could I make marker find vehicle again, change text to not destroyed and move with that vehicle again please? scripts\VehicleMarkers.sqf scripts\Vehicle.sqf ( Vehicle respawn script )
  3. I was so lucky and I had to laugh what I noticed. In this situation you need to type variable without that "_" and then it will work. I was trying everything and then I tried to remove those "_" in variables containing just number and it worked! So then I could finish this script. Not sure with using "if-then" in this situation to turn on/off civilian or team kill punishment... it was just not working if even "if" was true so I removed that and let script be like this: // Turn Punishments ON/OFF _run = true; // How many points take away to instigator for civillian killed civilianPunishmentPoints = -100; // How many points take away to instigator for teamkill teamKillPunishmentPoints = -100; // Score to kick for is <= kickPoints kickPoints = -500; if ((_run) && (isServer)) then { civilianPunishmentPointsABS = abs civilianPunishmentPoints; teamKillPunishmentPointsABS = abs teamKillPunishmentPoints; addMissionEventHandler ["EntityKilled", { params ["_killed", "_killer", "_instigator"]; // UAV/UGV player operated road kill if (isNull _instigator) then { _instigator = UAVControl vehicle _killer select 0 }; // player driven vehicle road kill if (isNull _instigator) then { _instigator = _killer }; // Civillian Punishment if ((side group _killed == civilian) && (isPlayer _instigator)) then { _instigator addScore civilianPunishmentPoints; systemChat format ["%1 killed a civilian, he loses %2 score.", name _instigator, civilianPunishmentPointsABS]; }; // Team Kill Punishment if ((side group _killed == side _instigator) && (isPlayer _instigator)) then { _instigator addScore teamKillPunishmentPoints; systemChat format ["%1 did a team kill, he loses %2 score.", name _instigator, teamKillPunishmentPointsABS]; }; // Kick For Too Bad Points if ((score _instigator <= kickPoints) && (isPlayer _instigator)) then { _uid = getPlayerUID _instigator; systemChat format ["%1 has been kicked for killing too many civillians and/or team kills", name _instigator]; serverCommand format ["#kick %1", _uid]; }; }]; }; Hopefully someone find it helpful!
  4. So... I still didn't found how to make it work. The problem are just number variables. When I set numbers in addScore manually, it works well but it won't work with variables I set. I must have it written wrong so I would like to ask you how I could write those number variables right because I have no idea how to write it.
  5. Hello, guys. I have done this script but it won't take away instigator's score and shows "any" instead of -100 points in system message. Any help please? Also if possible, could you give me a advice how to set message to show score ammount taken not in minus? Thank you! // Turn Punishments ON/OFF _run = true; // Turn Civillian Punishment ON/OFF //_civillianPunishment = true; // How many points take away to instigator for civillian killed - WORKS ONLY IF _civillianPunishment = true _civilianPunishmentPoints = -100; // Turn Team Kill Punishment ON/OFF //_teamKillPunishment = true; // How many points take away to instigator for teamkill - WORKS ONLY IF _teamKillPunishment = true _teamKillPunishmentPoints = -100; if (_run) then { addMissionEventHandler ["EntityKilled", { params ["_killed", "_killer", "_instigator"]; // UAV/UGV player operated road kill if (isNull _instigator) then { _instigator = UAVControl vehicle _killer select 0 }; // player driven vehicle road kill if (isNull _instigator) then { _instigator = _killer }; // Civillian Punishment if ((side group _killed == civilian) && (isPlayer _instigator)) then { if (isServer) then { _instigator addScore _civilianPunishmentPoints}; systemChat format ["%1 killed a civilian, he loses %2 score.", name _instigator, _teamKillPunishmentPoints]; }; // Team Kill Punishment if ((side group _killed == side _instigator) && (isPlayer _instigator)) then { if (isServer) then { _instigator addScore _teamKillPunishmentPoints}; systemChat format ["%1 did a team kill, he loses %2 score.", name _instigator, _teamKillPunishmentPoints]; }; }]; };
  6. HonzaVinCZ

    Simple script shows error

    Well, it works also until the vehicle is destroyed. After vehicle respawn it shows vehicle marker on grid 000... . Maybe I'm so bad I can't use your scripts properly or I don't know. I'm really lost in this situation. Also I was using script vehicle respawn I attached above because the editor module respawn is broken and spawns vehicles in walls and not properly on the place.
  7. HonzaVinCZ

    Simple script shows error

    Oh, nevermind... I overlook script and mistaken just the name with your aircraft pylon script. Btw this is the vehicle respawn script I was using before ZaellixA script test. /* ================================================================================================================== Simple Vehicle Respawn Script v1.81 for Arma 3 by Tophe of Östgöta Ops [OOPS] and tweaked for I&A 3 by Rarek [AW] Put this in the vehicles init line: veh = [this] execVM "vehicle.sqf" Options: There are some optional settings. The format for these are: veh = [object, Delay, Deserted timer, Respawns, Effect, Dynamic] execVM "vehicle.sqf" Default respawn delay is 30 seconds, to set a custom respawn delay time, put that in the init as well. Like this: veh = [this, 15] execVM "vehicle.sqf" Default respawn time when vehicle is deserted, but not destroyed is 120 seconds. To set a custom timer for this first set respawn delay, then the deserted vehicle timer. (0 = disabled) Like this: veh = [this, 15, 10] execVM "vehicle.sqf" By default the number of respawns is infinite. To set a limit first set preceding values then the number of respawns you want (0 = infinite). Like this: veh = [this, 15, 10, 5] execVM "vehicle.sqf" Set this value to TRUE to add a special explosion effect to the wreck when respawning. Default value is FALSE, which will simply have the wreck disappear. Like this: veh = [this, 15, 10, 5, TRUE] execVM "vehicle.sqf" By default the vehicle will respawn to the point where it first was when the mission started (static). This can be changed to dynamic. Then the vehicle will respawn to the position where it was destroyed. First set all preceding values then set TRUE for dynamic or FALSE for static. Like this: veh = [this, 15, 10, 5, TRUE, TRUE] execVM "vehicle.sqf" If you you want to set the INIT field of the respawned vehicle, first set all other values, then set init commands. Those must be inside quotations. Like this: veh = [this, 15, 10, 5, TRUE, FALSE, "this setDammage 0.5"] execVM "vehicle.sqf" Default values of all settings are: veh = [this, 30, 120, 0, FALSE, FALSE] execVM "vehicle.sqf" Contact & Bugreport: cwadensten@gmail.com ================================================================================================================== */ if (!isServer) exitWith {}; // Define variables _unit = [_this,0,objNull,[objNull]] call BIS_fnc_param; _delay = [_this,1,30,[0]] call BIS_fnc_param; _deserted = [_this,2,120,[0]] call BIS_fnc_param; _respawns = [_this,3,0,[0]] call BIS_fnc_param; _explode = [_this,4,false,[true]] call BIS_fnc_param; _dynamic = [_this,5,false,[true]] call BIS_fnc_param; _unitinit = [_this,6]; _haveinit = if (count _this > 6) then { true } else { false }; _hasname = false; _unitname = vehicleVarName _unit; if (isNil _unitname) then {_hasname = false;} else {_hasname = true;}; _noend = true; _run = true; _rounds = 0; if (_delay < 0) then {_delay = 0}; if (_deserted < 0) then {_deserted = 0}; if (_respawns <= 0) then {_respawns= 0; _noend = true;}; if (_respawns > 0) then {_noend = false}; _dir = getDir _unit; _position = getPosASL _unit; _type = typeOf _unit; _dead = false; _nodelay = false; // Start monitoring the vehicle while {_run} do { sleep (2 + random 10); if ((getDammage _unit > 0.8) and ({alive _x} count crew _unit == 0)) then {_dead = true}; // Check if the vehicle is deserted. if (_deserted > 0) then { if ((getPosASL _unit distance _position > 10) and ({alive _x} count crew _unit == 0) and (getDammage _unit < 0.8)) then { _timeout = time + _deserted; sleep 0.1; waitUntil {_timeout < time or !alive _unit or {alive _x} count crew _unit > 0}; if ({alive _x} count crew _unit > 0) then {_dead = false}; if ({alive _x} count crew _unit == 0) then {_dead = true; _nodelay =true}; if !(alive _unit) then {_dead = true; _nodelay = false}; }; }; // Respawn vehicle if (_dead) then { if (_nodelay) then {sleep 0.1; _nodelay = false;} else {sleep _delay;}; if (_dynamic) then {_position = getPosASL _unit; _dir = getDir _unit;}; if (_explode) then {_effect = "M_AT" createVehicle getPosASL _unit; _effect setPosASL getPosASL _unit;}; sleep 0.1; deleteVehicle _unit; sleep 2; _unit = _type createVehicle _position; _unit setPosASL _position; _unit setDir _dir; if (["B_UAV", _type] call BIS_fnc_inString) then { createVehicleCrew _unit; }; if (_haveinit) then { _unit call compile format ["%1=_This; PublicVariable '%1'",_unitinit]; }; if (_hasname) then { _unit setVehicleVarName _unitname; _unit call compile format ["%1=_This; PublicVariable '%1'",_unitname]; }; _dead = false; // Check respawn amount if !(_noend) then {_rounds = _rounds + 1}; if ((_rounds == _respawns) and !(_noend)) then {_run = false;}; }; }; Also did not try your script so give me time please. Thank you!
  8. HonzaVinCZ

    Simple script shows error

    I tried your script and it doesn't work. I got huge fps spike so it propably execvm-ing this script after vehicle respawn continously with using editor module respawn. I was using GOM's vehicle respawn script before and it showed error on his 123 line when I was using my script on same vehicle. I spent whole morning solving how to make it work but still not lucky. My actual not working script: /* Vehicle init veh = [this,2] execVM "scripts\VehicleMarkers.sqf"; - vehicle name - Text Text: 1 = Repair Truck 2 = Fuel Truck 3 = Ammo Truck 4 = MHQ */ _unit = _this select 0; _text = _this select 1; _randomnumber = random 1000000; _nameMarker = "Markername" + (str _randomnumber); createMarker [_nameMarker, getPosVisual _unit]; if (_text == 1 or _text == 2 or _text == 3) then { _nameMarker setMarkerType "b_unknown"; }; if (_text == 4) then { _nameMarker setMarkerType "b_hq"; }; _nameMarker setMarkerColor "ColorBLUFOR"; if (_text == 1) then { _nameMarker setMarkerText "Repair truck"; }; if (_text == 2) then { _nameMarker setMarkerText "Fuel truck"; }; if (_text == 3) then { _nameMarker setMarkerText "Ammo truck"; }; if (_text == 4) then { _nameMarker setMarkerText "HQ"; }; while {alive _unit} do { _nameMarker setMarkerPos (getPosVisual _unit); sleep 5; }; if (_text == 1) then { _nameMarker setMarkerText "Repair truck is destroyed"; }; if (_text == 2) then { _nameMarker setMarkerText "Fuel truck is destroyed"; }; if (_text == 3) then { _nameMarker setMarkerText "Ammo truck is destroyed"; }; if (_text == 4) then { _nameMarker setMarkerText "MHQ is destroyed"; }; _unit addEventHandler["Respawn", { private _respawnUnit = _this select 0; _respawnUnit removeEventHandler _thisEventHandler; deleteMarker _nameMarker; [_unit, _text] execVM "scripts\VehicleMarkers.sqf"; }];
  9. HonzaVinCZ

    Simple script shows error

    Thank you a lot! I have one more problem and it is this script: VehicleMarkers.sqf _unit = _this select 0; _text = _this select 1; _randomnumber = random 100 + random 100; _nameMarker = "Markername" + (str _randomnumber); _debug = true; createMarker [_nameMarker, getPosVisual _unit]; _nameMarker setMarkerType "hd_dot"; _nameMarker setMarkerColor "ColorBlue"; if (_text == 1) then { _nameMarker setMarkerText "Repair truck"; }; if (_text == 2) then { _nameMarker setMarkerText "Fuel truck"; }; if (_text == 3) then { _nameMarker setMarkerText "Ammo truck"; }; while {true} do { if (alive _unit) then { _nameMarker setMarkerPos getPosVisual _unit; if (_text == 1) then { _nameMarker setMarkerText "Repair truck"; }; if (_text == 2) then { _nameMarker setMarkerText "Fuel truck"; }; if (_text == 3) then { _nameMarker setMarkerText "Ammo truck"; }; } else { if (_text == 1) then { _nameMarker setMarkerText "Repair truck is destroyed"; }; if (_text == 2) then { _nameMarker setMarkerText "Fuel truck is destroyed"; }; if (_text == 3) then { _nameMarker setMarkerText "Ammo truck is destroyed"; }; }; sleep 3; }; Vehicle var: Franta vehicle init: veh = [this, 30, 120, 0, FALSE, FALSE] execVM "scripts\vehicle.sqf"; _this = [Franta,2] execVM "scripts\VehicleMarkers.sqf"; as you see, I'm very beginner... so, my point is to make marker move with unit, in my case with vehicle and if it is destroyed, it just changes to "destroyed" text and after it respawns, marker should move to vehicle and text should be same as before it was destroyed but that doesn't work. I have set in respawn script vehicleVarName to save it and in editor there's vehicleVarName set. So when vehicle is destroyed and it respawns, marker won't move to respawned vehicle but varName still exists when I try Franta(vehicleVarName) setDamage 1; . Any idea please? Please try as easiest script as you can so I can understand it, thank you!
  10. Hello, guys. I have very simple script but it shows error. I don't know how about you but I'm sure I have it written correctly because it was working in my old mission and in new one it won't work. Any help please? Vehicle init: _this = execVM "scripts\Auto_Rearm.sqf"; scripts\Auto_Rearm.sqf: // Define Variables _unit = _this select 0; // Start loop while {true} do { _unit setVehicleAmmo 1; sleep 300; };
  11. HonzaVinCZ

    setMarkerAlpha for one side

    Well, thank you. But I still don't know how to set that alpha just for one side.
  12. HonzaVinCZ

    setMarkerAlpha for one side

    I'm not sure how to create that local marker or more markers just for OPFOR, could you tell me please? It's a mp mission so players are going to join and leave.
  13. Hello, I'm working with editor placed markers and I need to set marker alpha to 1 just for BLUFOR when OPFOR enters trigger area and then to 0 when OPFOR leaves the area. I have done it by trigger but marker alpha is set to all players and that's what I don't want. I have script that sets the marker alpha for BLUFOR and OPFOR on the mission init, here it is: if (!isDedicated) then { {_x setMarkerAlphaLocal 0} forEach ["OMHQ_1M","BMHQ_1M","iedfacm_1","weapfacm_1","weapfacm_2","bluM_1","bluM_2","bluM_3","bluM_4","bluM_5","bluM_6","bluM_7","opfM_1","opfM_2","opfM_3","opfM_4","opfM_5","opfM_6","opfM_7","bluMZ_1"]; waitUntil {!isNull player}; switch (side player) do { case WEST: { {_x setMarkerAlphaLocal 1} forEach ["BMHQ_1M","bluM_1","bluM_2","bluM_3","bluM_4","bluM_5","bluM_6","bluM_7","bluMZ_1"]; }; case EAST: { {_x setMarkerAlphaLocal 1} forEach ["OMHQ_1M","opfM_1","opfM_2","opfM_3","opfM_4","opfM_5","opfM_6","opfM_7","iedfacm_1","weapfacm_1","weapfacm_2"]; }; }; }; but it works only to markers that doesn't change their own alpha. Marker zone I want to make is called "bluMZ_1".
  14. HonzaVinCZ

    SVBIED

    I'm suprised how easy is that. I didn't realize I can use event handler. Thank you a lot! That's my script after edit: if (!isServer) exitWith {}; _vehicle = _this select 0; _vehicle addEventHandler ["GetIn", {hint "This is SVBIED vehicle"}]; while {alive _vehicle} do { if ((player in _vehicle) and (west countSide (getPos _vehicle nearEntities 15) >0)) then { "Bo_GBU12_LGB" createVehicle getPos _vehicle; }; waitUntil {!(player in _vehicle)}; };
  15. HonzaVinCZ

    SVBIED

    Hey! Thank you for answer. Basically whole game was broken and it showed error on that 12 line. There was in the error something like " };|#| " like something missing. I tried to edit it but even simple script that loops nothing didn't work. So I restarted game and then it finally worked as it should. I did small mistake in script anyway but my current script looks like this: if (!isServer) exitWith {}; _vehicle = _this select 0; while {alive _vehicle} do { if ((player in _vehicle) and (west countSide (getPos _vehicle nearEntities 15) >0)) then { "Bo_GBU12_LGB" createVehicle getPos _vehicle; }; sleep 1; }; I'd like to add hint on vehicle enter that shows only to that player who enters the vehicle. If possible only to east side, something like hint "This is SVBIED vehicle". But I don't know how to manage it to add it without repeating that message in that "while" condition.
×