Jump to content

0verHeaT

Member
  • Posts

    101
  • Joined

  • Last visited

Posts posted by 0verHeaT

  1. Since a special method for duplicting his own gear on Arms 2 Epoch has become quite popular the last month, I though about a possible way to stop this.
    The so-called DC dupe allows any player to dupe their entire gear at any storage unit.
    I don't think I have to explain this more clearer cause the most of you guys know how it works.
     
    How would you stop the player from duping?
     
    My solution:
     
    Whenever a player opens his gear menu infront of any storage unit, he sets temporary variable (boolean) to the storage unit. 
    After closing the gear dialog the variable is set through publicVariables to false.
    That means, if a player has lost his connection the variable can't be set to false and this will be reported to the server logs.
    Additionally the server checks if a player has lost the connection after closing the gear dialog (with 'isPlayer' command).
    If the 'isPlayer' command does not return a player, we know that he is trying to dupe and we can delete the duped gear.
     
    Theoretically this sounds quite convincing, but keep in mind that this is only experimental at the moment.
    Thus this script is recommended for advanced server owners only, because it can cause huge errors if it is not installed correctly!
    If you find any bugs or errors, please report them here!
     
  2. Possible Deathboard Fix

     

    player_murderMenu.sqf

    EpochDeathBoardLoad = {
    	createdialog "EpochDeathBoardDialog";
    	{
    		private ["_index"];
    		_index = lbAdd [21000,_x select 0];
    	} count PV_DeathBoard;
    };
    
    EpochDeathBoardClick = {
    	disableSerialization;
    	private ["_index","_record","_output","_record_stxt","_name","_image","_h","_m","_format","_victim","_attacker","_time","_distance"];
    		_quotes = [
    			"Death is God's way of telling you not to be such a wise guy.",
    			"What happens if you get scared half to death, twice?",
    			"Don't upset me.. I'm running out of places to hide the bodies.",
    			"Don't run, you'll just die tired.",
    			"Give me immortality || give me death.",
    			"I can't live with death; he's always leaving the toilet seat up.",
    			"Why won't you die?!?!",
    			"Guns don't kill people; death kills people. It's a proven medical fact."
    		];
    	_index = _this select 0;
    	if (_index < 0) exitWith {};
    	_output = _this select 1;
    	_record = PV_DeathBoard select _index;
    
    	_victim = _record select 0;
    	_attacker = _record select 1;
    	_name = _record select 2;
    	_image = _record select 3;
    	_distance = _record select 4;
    	_time = _record select 5;
    
    	if (isNil "_victim" || isNil "_attacker" || isNil "_name" || isNil "_distance" || isNil "_time") exitWith {_output ctrlSetStructuredText parseText "<br/><br/><br/><br/><t size='1.6' align='center'>There are some information missing for this entry</t>";};
    
    	_format = {
    		private ["_codeCount","_str"];
    		_str = format["%1", _this];
    		_codeCount = (count (toArray _str));
    		if (_codeCount == 1) then {_str = format["0%1", _str];	};
    		_str;
    	};
    	_h = (_time select 0) + timezoneswitch;
    	_m = _time select 1;
    
    	_record_stxt = format["<t size='1.6' align='left'>%1</t><br/><br/>",_victim];
    	_record_stxt = _record_stxt + format["<t size='1' align='left'>Died at %1:%2</t><br/><br/>",(_h call _format),(_m call _format)];
    	_record_stxt = _record_stxt + format["<t size='1' align='left'>Was killed by %1</t><br/><br/>",_attacker];
    	_record_stxt = _record_stxt + format["<t size='1' align='left'>With a %1<br/><img size='3' image='%2' /></t><br/><br/>",_name,_image];
    	_record_stxt = _record_stxt + format["<t size='1' align='left'>At a distance of %1m</t><br/><br/>",_distance];
    	_record_stxt = _record_stxt + format["<t font='Bitstream'>%1</t>",(_quotes call BIS_fnc_selectRandom)];
    
    	_output ctrlSetStructuredText parseText _record_stxt;
    }; 

    server_playerDied.sqf

    _death_record = [
    	_victimName,
    	_killerName,
    	_weapon,
    	_pic,
    	_distance,
    	ServerCurrentTime
    ];
    PlayerDeaths set [count PlayerDeaths,_death_record];
    PV_DeathBoard = PlayerDeaths;
    publicVariable "PV_DeathBoard"; 
    

  3. and which ones are the necessary ones? i'm looking to get this fixed asap. does anyone have a finished one to compare by any chance?

     

    Basically you have this part

    customkillMessage = [_text];
    publicVariable "customkillMessage";
    

    Whenever you 'call' this part a text (killmessage) will be broadcasted to all clients.

     

    For example

    _text = parseText "<t align='left' size='0.9'>Sample Text</t>";
    customkillMessage = [_text];
    publicVariable "customkillMessage"; 

    Now you can decide on your own where you want a message to be broadcasted,

    simply by placing the part where you want in your server_playerDied.sqf.

  4. Told ya whats wrong and what doesnt work for me mate.

    No errors, all looks fine.

    Even saving to database.

    Nothing in RPT on client/server side just after message "vehicle has been painted".

    [...]

     

    Please post your Eventhandler from the server_function.sqf

     

     

     

     

    Zupa  good health to you for your help us. 

    guys get spam in RTP server, I can not in any way to fix it. I will be grateful.

    Zupa, if you could help me, I would have paid you, tell me the price of UTB correction 
    if (_color1 != "NO") then {
    diag_log ("PAINT>
    20:44:34   Error position: <_color1 != "NO") then {
    diag_log ("PAINT>
    20:44:34   Error Undefined variable in expression: _color1
    20:44:34 File z\addons\dayz_server\system\server_monitor.sqf, line 242
    20:44:34 Error in expression <lotfriends", _intentory, true];
    };
    

     

    Please show me your part you added at your server_monitor.sqf

  5.  

    Dont tell me that im insulting script, but i have full rights to say this script is broken OR author didnt say all in install notes.

     

    You should appreciate that I released this script for the public.

    Anyways, I can't ensure that this addon works on any custumised server/mission pbo.

    It has been tested on a vanilla epoch server and works without any errors.

     

    Thus I recommed to check both .RPT files (server/client) to figure out an error.

    Just saying the script is broken cause you are not able to get it work on your server, does not help anyone.

  6. If you want to create proper Dialogs or GUIs I can recommend this editor.

    Its pretty easy to use.

     

    x and y are the coordinates where your window/dialog is located on the screen

    w and h are the size of the height or the width

     

    safezoneX, safezoneY, safezoneW, safezoneH are just the coordinates/size of the actual monitor resolution.

    These can help you to fit your dialog better to the screen resolution you are using.

  7. If you want to keep part of your codes server side, you have to use the publicVariable command.

    eg.

     

    This code should run on each client:

    "YourPV" addPublicVariableEventHandler {
    	_txt = _this select 1;
    	cutText [format["Text: %1",_txt],"PLAIN DOWN"];
    };
    

    Then you have to call the this code server side, like this:

    YourPV = "Some text";
    publicVariable "YourPV";
    

    With this simple example, you run the code above on each client on your server.

    However, larger codes which you want to broadcast through the publicVariable command, can increase your network trafic (cf. https://community.bistudio.com/wiki/publicVariable)

  8.  

    Q2. I have installed trade from vehicle, but it not work. No RPT errors. Checked all topic, didnt found a solve. Mb somebody had a same problem?

    Q4. is it possible to find some mistakes without using RPT parser? Because some problems not fixed in RPT.

     

    I would recommend to join your server with '-showScriptErrors' in your arma2.exe as launch parameters.

    This will display your client sided errors ingame.

  9. Still getting players spawn at dead bodies. I've used the very latest steps on the first post, checked them several times and I still get this in my error logs:

    6:13:41 Error in expression <>%1 </t>",_killerName,_pic,_victimName,(ceil _distance)];
    _kill_txt = _kill_txt >
     6:13:41   Error position: <ceil _distance)];
    _kill_txt = _kill_txt >
     6:13:41   Error ceil: Type String, expected Number
     6:13:41 File z\addons\dayz_server\compile\server_playerDied.sqf, line 41
    

    EDIT:

    Fixed this error by adding:

    if (_distance == "nil") then {_distance = 0};

    Just underneath:

    _distance = _victim getVariable["AttackedFromDistance", "nil"];

    Now when a player dies by falling or hit by a zed, a message saying "image NIL" does not exist.. I really like this script, hope the error checking gets fixed in the updates!

     

    I followed the install instructions and people still spawn on their body :/

     

    Those errors occur if you didn't install my version of the fnc_plyrhit.sqf

    You need to check your files again and make sure to use the updated version.

  10. Thanks Overheat!

     

    In addition to this i added:

     

            _lastVehicle removeAction SP_paint_action;
            SP_paint_action = -1;
     
    To the top of service_points.sqf under _fnc_removeActions = {
    and it now works flawlessly!

    Yes that is right. I have forgot this.

     

     

    Many thanks overheat. I will now be adding this to our server if thats okay?

    Thats no problem, it's just the way you call the script. Everyone can edit this as he likes it  ;)

  11. Everyone,

     

    I noticed within this thread alot of server owners are mentioning the server is only registering 50% of the PKILLS thus only providing 50% displayed kill messages.  We get that the server needs to register th PKILL to display in-game display but most of us server owners are looking for a possible fix for this, not an explanation of "how you think it works".  I know this can be fixed because I've seen a WalkingDead DayZ Vanilla server run this same exact script and it works 100% everytime.  With that being said, this leads me to believe that it's not just a Arma2 Engine issue and leaning more to the sqf files and can be fixed some how.  I've sat on my server testing by shooting someone with a DMR straight to there chest 10 feet away and it did NOT register 3-4 times in a row.  How can a server not pick that up as a PKILL?  lol   I know we have some smart/talented scripters, there has to be a way around this..  Anyone have the balls to step up to this fix for Epoch?

     

    Thanks,

    steamROLLER

     

    The main reason why some playerhits are not register is desyncs and laggs of the clients.

    No matter, how much you customise, you'll never get all kills registered.

     

    A friend of mine and me tried this script on a LAN-server (no desync) and we got all kills and hits registerd.

  12. This a great script! Would it be possible to get this working with service points (refuel,rearm,repair)? so that if you pull up to a gas station you can paint your vehicle there. I think this would make it more realistic.

     

    Should be no problem. You just have to create a new 'addaction' command inside your Service Point script.

  13. can someone maybe update this script to use other system (hiveext, arma2net, extdb) and make playerbuild with P4L+vector file with garage lockable like epoch safe. could one of you guys make it compatable with thelatest comman epoch files and addons found on the site

    I have gui working but nothing to database is working the storing vehicle eats the vehicle and the vehicle garage option shows searching... i dont know where start to sort this. Just looking at thecode for hours and ive done nothing lol

    manythanks for any help

     

    It is possible to used that kind of script without the usage of additional database connectors like extDB

     

    I recently wrote my own Virtual Garage script which uses the normal hiveext.
    The informations are just stored in the inventory field of the garage.
  14. For this you have to go into your player_traderMenuConfig.sqf and edit this line

    // Display Name of item
    _textPart =	getText(configFile >> _type >> _name >> "displayName");
    

    to something like this

    if (_name == "ItemARM") then {
    	_textPart = "Your Displayname";
    } else {
    	_textPart = getText(configFile >> _type >> _name >> "displayName");
    };
    
  15. [...] 0verHeat, is that a script you used, or did you simply added it to a custom trader? [...]

     

    I'm just using the dialog to list, buy or sell all my custom buildings. I wrote my own config files for it. (including price, displayname etc.)

    (e.g. you can access this menu on right clicking on your toolbox)

  16. Your part

    _clothesTaken = cursorTarget getVariable["clothesTaken",false]; 
    if (_isMan and !_isAlive and !_isZombie and !_clothesTaken) then {
    if (s_player_clothes < 0) then {
    s_player_clothes = player addAction [("<t color='#0096ff'>")+("Take Clothes")+("</t>"), "Scripts\TakeClothes\player_takeClothes.sqf",cursorTarget, -10, false, true, "",""];
    };
    } else {
    player removeAction s_player_clothes;
    s_player_clothes = -1; 
    };

     

    has to be put somewhere after this expression in order to avoid your error:

    _isMan = cursorTarget isKindOf "Man";
    
×
×
  • Create New...