Jump to content

steamROLLER

Member
  • Posts

    107
  • Joined

  • Last visited

Reputation Activity

  1. Like
    steamROLLER reacted to Halvhjearne in [RELEASE] Donkey Menu GUI v0.7a - Admin/Donator/Reg Menu|Admin/Survivor Hunt|GearSelection|MORE   
    tbh i have to say i am a bit dissapointed in both of you...
     
    first off since you aparently both think its ok to steal from my mission and second becourse you obviusly both stole my paintshop before i released it and last but not least you are both acting like kids now.
     
     
    @viper
    yes it is theft when you take something without asking for permission, even if it was given away for free to others - that is the definition of theft.
    or do you think its ok for me to steal personal server data from you to exploit and destroy your database on a daily basis, just becourse i can?
    not to mention the fact that this is such a lowball move, when you already got plenty of players ... this is just greed in its purest form (and i for one, do not apriciate that).
     
     
    @sanchez
    first off, you cant feel to salty about ppl doing the exact same thing as you did to others.
    second, this cant really come as a surprise that someone would do this alltho it is a bit surprising to see someone with a server that is already populated resort to such a thing.
     
    personally i dont feel salty about you doing so, since i already hid everything i dont feel like sharing alltho i do get a bit pissed if someone asks me how to install my mission.
    ill just remeber who not to contact when i need stuff tested next ...
     
     
    now for the finishing punch ...
    if you want to make sure something is not stolen, put it server side where you have to have more than the iq of a cornflakes box to get it.
     
    here is a good example of how to do so:
    HALV_sneakyshit = {systemchat "fnc variable from server"}; publicvariabel "HALV_sneakyshit"; now all connecting clients know the variable (also jip clients).
     
    now on the clients do something like this:
    waituntil{!isNil "HALV_sneakyshit"}; call HALV_sneakyshit; clents will at this point show the systemchat message
     
    this way you can hide your functions so morons cant steal it and those who can steal it, most likely wont as they most likely can write something simmular on their own.
  2. Like
    steamROLLER reacted to Scaris in Dayz style heli crash sites   
    There are no markers.. they are supposed to be hard to find.
     
    You can see them as admin by turning on vehicle markers, you will see a large clutter of ground objects... that's a crash site.
  3. Like
    steamROLLER reacted to Brian Soanes in Working on a 0.3.0.2 fix.   
    Getting these client error popups on 0302b
     
    22:45:10 Warning Message: Cannot load texture a3\weapons_f_mark\longrangerifles\dmr_03\data\dmr_03_01_spotter_co.paa. 22:45:10 Warning Message: Cannot load texture a3\weapons_f_mark\longrangerifles\dmr_03\data\dmr_03_02_spotter_co.paa.
  4. Like
    steamROLLER got a reaction from Donnovan in [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).   
    Everyone,
     
    How do we go about adding coins to loot boxes at AI missions or would it be easier to just allow the players to take the briefcases to vendors in town and convert it from briefcases to gold coins?  Also, if possible how to add Coins to the AI "Check Wallet" function with a random amount which is controlled by a min and max amount of course :)
     
    Thanks,
    steamROLLER
  5. Like
    steamROLLER got a reaction from Donnovan in [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).   
    Slinky,
     
    Thanks for the fix on coin dupe.  It was allowing me to dupe coins then I added your small script and it now works perfectly!
  6. Like
    steamROLLER got a reaction from Donnovan in [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).   
    Slinky, what about when someone locks a vehicle and another player still has the menu up? I've tested this and it still allows that other player whether its a friendly or enemy to withdraw from there vehicle storage. It doesn't actually dupe like the safes were allowing but still allows them to withdraw from vehicle even though it was locked..
  7. Like
    steamROLLER got a reaction from ElDubya in [Tutorial] How to change (Blood,Hunger,Thirst,Temp) GUI   
    Yes, I'll be working on it in near future.
  8. Like
    steamROLLER reacted to ElDubya in [Tutorial] How to change (Blood,Hunger,Thirst,Temp) GUI   
    Whatever you changed fixed my issue, thanks steamROLLER :) 
  9. Like
    steamROLLER reacted to RimBlock in [Tutorial] How to change (Blood,Hunger,Thirst,Temp) GUI   
    NP,
     
    I am currently playing with rscTitles to create a new GUI for the A3 conversion I am working on with Raymix.  1:30 am here and I have finally got something to be displayed on the screen, all be it transparently  :) .  A Problem for tomorrow I think.
  10. Like
    steamROLLER reacted to RimBlock in [Tutorial] How to change (Blood,Hunger,Thirst,Temp) GUI   
    Zupa didn't write A Plot for Life  ;).
     
    The only changes made for A Plot for Life in player_updateGUI.sqf are right at the end to determine if the unit under the cursor is friendly to the player or not.
     
    I would not expect it to interfere with this status GUI replacement.
     
    Nice job on producing an easy to follow guide for people to use in changing the stock GUI. 
  11. Like
    steamROLLER got a reaction from Gr8 in [Tutorial] How to change (Blood,Hunger,Thirst,Temp) GUI   
    Everyone,
     
    I've created a tutorial on how to change your (Blood, Hunger, Thirst, Temp, Weight, Visual & Hearing) icons from the old version to the new version as shown below.
     

     
    1.)  Download the ZIP file -- www.PrimacyGaming.com/epoch/GUI.zip
     
    2.)  Place the GUI folder in your MPMission folder anywhere that best fits you and where you keep your newly added scripts.  (Added mine to custom folder)
     

    3.)  Open your compiles.sqf file and find
    player_updateGui = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf"; change the directory to where you placed the GUI folder
    player_updateGui = compile preprocessFileLineNumbers "custom\GUI\player_updateGui.sqf"; Find
    ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf"; change the directory to where you placed the GUI folder
    ui_changeDisplay = compile preprocessFileLineNumbers "custom\GUI\ui_changeDisplay.sqf";  

    4.)  Open player_monitor.fsm located "@DayZ_Epoch\addons\dayz_code\system\player_monitor.fsm"
     
    Find playerStatusGUI and change to playerStatusGUIcustom
     
    -- Repack dayz_code PBO
     
     
    5.)  In MPMissions folder open description.ext
     
    Copy & Paste
     
    class RscPictureGUI { access = 0; type = 0; idc = -1; colorBackground[] = {0,0,0,0}; colorText[] = {0.38,0.63,0.26,0.75}; font = "TahomaB"; sizeEx = 0; lineSpacing = 0; text = ""; style = "0x30 + 0x100"; x = 0; y = 0; w = 0.2; h = 0.15; }; class RscStructuredText10 { access = 0; type = 0; idc = -1; colorBackground[] = {0,0,0,0}; colorText[] = {0.38,0.63,0.26,0.75}; font = "TahomaB"; sizeEx = 0; lineSpacing = 0; text = ""; style = "0x30 + 0x100"; x = 0; y = 0; w = 0.2; h = 0.15; }; Above
    class RscTitles  
    Add  #include "custom\GUI\GUIdefines.hpp"  right below -- (make sure the file path is correct to where you placed GUI folder)
    class RscTitles { All done!!  =)
     
     
     
    ** If you have weight enabled on your server, follow the steps shown below to have the weight icon visable in-game **
     
     
    1.)  Open player_updateGui.sqf file located in the GUI folder
     
    REMOVE


    //Weight _ctrlWeight = _display displayCtrl 1210; _ctrlWeight ctrlSetText ""; _ctrlWeight ctrlShow false;
  12. Like
    steamROLLER reacted to ElDubya in DayZ Epoch Department Store! (Selling from players to players)   
    Any chance of getting those mission announcements? They look awesome. Well done. :)
  13. Like
    steamROLLER reacted to Triage in DayZ Epoch Department Store! (Selling from players to players)   
    That GUI looks absouletly phenomenal.
  14. Like
    steamROLLER reacted to Zupa in [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).   
    Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).
     
    AKA: ZSC 
     
     
    RELEASE 1: INDEPENDENT RELEASE ( No converting script yet to convert old SC money to this version).
     
     
     
            REQUEST: If someone is good with MYSQL can he complete the qyuery on the bottom of this post? ^^ limited time here ^^.
     
     
    What is it?
     
    This script replaces gold,silver,tin,copper,briefcases by 1 virtual currency with a configurable name. You can buy,sell, give, receive, take (from dead bodies) and STORE this money like it was a normal inventory item. ( It will work with a different dialog then your gear dialog.) 
     
    No more smelting gold into silver or anything related to that. Everything is in one currency ( For example "ZupasticiumCoins"). 
     
    Features.
     
    Store Money in storage objects and vehicles ( max money in 1 storage depends on the size).  No global access to your money. Anyone can take the money out ( for vault/lockbox it must be open of course). Trade with this currency for cars/items. Give money to other players. NO inventory issues with gold!    
    Whats the difference with your other single currency scripts?
     
    You can use the default hive! No global bank! Back to normal epoch danger to lose cash!  Cleaned up code Very low changes to default saving system. (DB friendly) NO database changes needed. NO ATMs, Safezones, atms in trader whatsoever... Store money in vehicles.  
    Technical data:
    Storage money is saved in the gear section of the object in the Database Player Money is added to gear section of the player in the Database ( Again thanks to maca for pointing this out for me).  
    Extra
     
    This build will have all of the fixes on errors out there ( Build on peterbeers all in on packages with the bugfixes). Reworked the  transfering money between players to be sure trade goes to the right object/player. Store money in vehicles Credits
     
    Maca - Original private single currency. Peterbeer -  for putting all fixes together in 1 pack. Soul - Hives modifications and code changes for it. ( not applied on this script, jsut credited for hard work). Rocu - Great help on forums and fixes. DraftKid - Testing and screenshots  
     
    Please report bugs so I can solve them!
     
     
    The config located IN
    ZSC/gold/ZSCconfig.sqf /* Single Currency 3.0 uses storages to store money which can be accessed by anyone if open of course (safe,lockbox). Each storage has his own money, so no global access. */ // Name of your currency CurrencyName = "Coins"; // Objects that can hold money. Vehicles are added automaticly. Size of money capacity is depended on ammount of magazines the object can hold. ZSC_MoneyStorage = ["VaultStorage","LockboxStorage","StorageShed_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","GunRack_DZ","WoodCrate_DZ","TentStorage","TentStorageDomed","TentStorageDomed2"]; // Multiplier how much money an object can hold. This number X ammount of magazines it can hold. ( so URAL -> 500 items * 1000 = 5 MIL cash). ZSC_MaxMoneyInStorageMultiplier = 1000; // (True = No Animation / False = Animation) InstantTrading = false; // If TRUE: overwrite yours player_switchmodel with mine. | IF False: Change content yourself @ step D ZSC_Overwrite_SwitchModel = true; // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D ZSC_Overwrite_SelfActions = true; // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D ZSC_Overwrite_UnLockVault = true; // if TRUE: Overwrites yours fn_selfactions with default 1 + edits. | IF False: Change content yourself @ step D ZSC_Overwrite_LockVault = true; /* IF YOU USE different mods like P4L it's recommended to do changes yourself or it wont work */ There are pbo's provided for cherno 11. Or follow the installation instructions
     
    https://github.com/EpochSC/SingleCurrencyStorage
     
    Installation instructions. ( TRIED TO KEEP IT NOOB FRIENDLY ^^)
     
     
    If u are going to use the full pbo?!
     
    The missions.sqm is build for OVERPOCH. Delete the overwatch addons if you are just using it for Epoch. 
     
     
     
    MISSION PBO
     
    A ) In your init.sqf:
     
    A 1) You must have 
    /*ZSC*/ DZE_ConfigTrader = true; /*ZSC*/ in the top section ( for example right above "EpochEvents"); Place if you do not have it yet. ZSC requires Config traders, It will also help your server reduce lag!
     
    A 2) PLACE
    /*ZSC*/ call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf"; /*ZSC*/ ABOVE
    progressLoadingScreen 0.5; A 3) PLACE
    execVM "ZSC\compiles\playerHud.sqf"; RIGHT UNDER
    _playerMonitor = [] execVM "\z\addons\dayz_code\system\player_monitor.sqf"; A 4 )
     
    Change
    call compile preprocessFileLineNumbers "server_traders.sqf"; to
    call compile preprocessFileLineNumbers "server_traders_cherno_11.sqf"; ON THE BOTTOM OF THIS TOPIC THERE WILL BE AN EXPLANATION FOR OTHER MAPS / INSTANCES.
     
    A 5 ) MAKE SURE 
    _serverMonitor = [] execVM "\z\addons\dayz_server\system\server_monitor.sqf"; this line is custom and doesnt have dayz_code in it. It should point at dayz_server or if u use another script to where ever that places it.
     
    B ) In your description.ext
     
    B 1) Place 
    #include "ZSC\config\cfgServerTrader.hpp" on the complete top.
     
    B 2 ) Add if you do not have a RscTitles yet!
    class RscTitles { #include "ZSC\config\ZSChud.hpp" }; at the bottom.
     
    IF U ALREADY HAVE IT just add
    #include "ZSC\config\ZSChud.hpp" behind whatever is in there.
     
    B 3 ) JUST ADD AT THE COMPLETE BOTTOM
    #include "ZSC\config\ZSCdefines.hpp" #include "ZSC\config\ZSCdialogs.hpp" B 4 ) If you come from another currency, u can remove the shit that was extra added in that one  :).
     
    C )  COPY FILES
     
    C 1 ) Place the ZSC folder in your mission pbo ( take it out of the github's missions pbo).
    C 2 ) Place server_traders_cherno_11.sqf in your missions pbo. ( If other map/instance check bottom of the topic.).
     
    D ) fn_selfactions ( IF you use my overwrite, u do not have to to this step.
     
    D 1 )PLACE
    if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then { if (s_bank_dialog < 0) then { s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""]; }; } else { player removeAction s_bank_dialog; s_bank_dialog = -1; }; // cars if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then { if (s_bank_dialog2 < 0) then { s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""]; }; } else { player removeAction s_bank_dialog2; s_bank_dialog2 = -1; };  
    AFTER
    } else { {player removeAction _x} count s_player_combi;s_player_combi = []; s_player_unlockvault = -1; }; D 2 )
    if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then { if (s_givemoney_dialog < 0) then { s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""]; }; } else { player removeAction s_givemoney_dialog; s_givemoney_dialog = -1; }; ABOVE
    if(_typeOfCursorTarget in dayz_fuelpumparray) then { D 3 ) CHANGE
    if (_player_studybody) then { if (s_player_studybody < 0) then { s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_studybody; s_player_studybody = -1; }; INTO
    if (_player_studybody) then { if (s_player_studybody < 0) then { s_player_studybody = player addAction [("<t color=""#FF0000"">"+("Check Wallet") + "</t>"), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_studybody; s_player_studybody = -1; }; D 4 ) 
     
    ADD 
    player removeAction s_givemoney_dialog; s_givemoney_dialog = -1; player removeAction s_bank_dialog; s_bank_dialog = -1; player removeAction s_bank_dialog2; s_bank_dialog2 = -1; BEHIND
    player removeAction s_player_towing; s_player_towing = -1; player removeAction s_player_fuelauto; s_player_fuelauto = -1; player removeAction s_player_fuelauto2; s_player_fuelauto2 = -1; D 5 )  TO remove the client side errors u getting add in your VARIABLES.SQF
    s_givemoney_dialog = -1; s_bank_dialog = -1; s_bank_dialog2 = -1; TO
    dayz_resetSelfActions = { E ) player_switchModel.sqf again, if u overwriten with mine in first step, u can skip.
     
    E 1 ) add 
    _cashMoney = player getVariable["cashMoney",0]; behind
    _weapons = weapons player; _countMags = call player_countMagazines; _magazines = _countMags select 0; E 2 ) Add
    player setVariable ["cashMoney",_cashMoney,true]; on the BOTTOM
     
    E 3 ) CHANGE
    //Create New Character _group = createGroup west; _newUnit = _group createUnit [_class,dayz_spawnPos,[],0,"NONE"]; _newUnit setPosATL _position; _newUnit setDir _dir; into
    _group = createGroup west; _newUnit = _group createUnit [_class,dayz_spawnPos,[],0,"NONE"]; [_newUnit] joinSilent createGroup WEST; _newUnit setPosATL _position; _newUnit setDir _dir; _newUnit setVariable ["cashMoney",_cashMoney,true]; F) You can use my unclockVault in ZSCinit, If u got a custom one, do the following changes:
     
    F1)
     
    place 
    _objMoney = _obj getVariable["bankMoney",0]; behind
    _dir = direction _obj; _pos = _obj getVariable["OEMPos",(getposATL _obj)]; _objectID = _obj getVariable["ObjectID","0"]; _objectUID = _obj getVariable["ObjectUID","0"]; F 2)
    place
    _holder setVariable ["bankMoney", _objMoney, true]; behind
    _holder setVariable["CharacterID",_ownerID,true]; _holder setVariable["ObjectID",_objectID,true]; _holder setVariable["ObjectUID",_objectUID,true]; _holder setVariable ["OEMPos", _pos, true]; E) in LockVault.sqf if u got a custom one, otherwise use mine and set true in config:
     
    E1 ) place) 
    _objMoney = _obj getVariable["bankMoney",0]; behind
    _ownerID = _obj getVariable["CharacterID","0"]; _objectID = _obj getVariable["ObjectID","0"]; _objectUID = _obj getVariable["ObjectUID","0"]; E2 ) 
     
    place
    _holder setVariable ["bankMoney", _objMoney, true]; behind
    _holder setVariable["CharacterID",_ownerID,true]; _holder setVariable["ObjectID",_objectID,true]; _holder setVariable["ObjectUID",_objectUID,true]; _holder setVariable ["OEMPos", _pos, true]; SERVER PBO
     
    A ) REPLACE your "compiles/server_tradeObject.sqf"  With my one ( not other script uses that anyways).
     
    B )  IN compiles/server_updateObject.sqf
     
    Change 
    _inventory = [ getWeaponCargo _object, getMagazineCargo _object, getBackpackCargo _object ]; into
    _inventory = [ getWeaponCargo _object, getMagazineCargo _object, getBackpackCargo _object /*ZSC*/ , _object getVariable["bankMoney",0] /*ZSC*/ ]; C ) In your server_monitor.sqf ( NOTE: the " _intentory' variable can be called "_inventory" at your files, so change my code to that, if it's the case).
     
    Add
    /*ZSC*/ if( count (_intentory) > 3)then{ _object setVariable ["bankMoney", _intentory select 3, true]; }else{ _object setVariable ["bankMoney", 0, true]; }; /*ZSC*/ ABOVE
    if (_type in DZE_LockedStorage) then { // Fill variables with loot _object setVariable ["WeaponCargo", (_intentory select 0),true]; _object setVariable ["MagazineCargo", (_intentory select 1),true]; _object setVariable ["BackpackCargo", (_intentory select 2),true]; } else { D) in compiles/server_playerSync.sqf
     
    Change
    _playerGear = [weapons _character,_magazines];  into
    _playerGear = [weapons _character,_magazines, _character getVariable["cashMoney",0]];  NOTE:
     
    in the gold init i use a custom gearSet.sqf
    If u would have a custom one, it's defined in the ZSCinit.sqf. Only differnecy will be the top where it checks for the money in your gear sections.
     
     
    FAQ!
     
     
    I use a different instance/map to play one! What do i do?
     
    The only things that difference between maps where u need to worrie about is the server_traders.sqf. I included them for 4 maps, if your map is NOT in there u will have to change your original one.
    FAIR SIMPLE:
     
    1) Take your original server_traders
     
    2) Open one of mine
     
    3) Copy my categories with the correct numbes to your traders. You can choose also which traders sells what then ^^.
     
    4) Share your file to me so i can put it in the list
     
     
    Does it work with Overpoch(ins).
     
    Simple: Yes, Everything with epoch as base.
     
    Overwatch items or included in traders, remove the categories if you do not use them.
     
     
    Can i convert from the older system?
     
    You will have to revert your database to the default structure and maybe transfer money. Banks added to the players cash is the best solution.
     
    How do i see my money and bank?
     
    1 - Bank will not be visible cus their is none. You store money in storages like other items ( but in a different dialog). So the money can be accessed by anyone that has access to that storage.
    2- Money is visisble with a money icon on the right side of the screen. Feel free to add it to other places aswell.
     
    This will return your money:
    player getVariable["cashMoney",0]; Can I use it with database traders?
     
    No, this build is made for config traders. No support (Yet).
     
     
    Screenshots
     
     



     
     
     
     
     
     
    I probably will code this inthe default epoch code and send a merge request to Epoch Devs with an option to do 
    DZE_SingleCurrency = true/false; And if they accept it , it might be in 1.6 ^^
  15. Like
    steamROLLER reacted to Slinky in [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).   
    Ok, so after many many hours of testing and bugging other server owners i've finally found a fix for the glitch so i can now let everyone know how it is done and how to prevent it.
     
    To perform the glitch (Using Safe as example) requires 2 people.
    Unlock the safe
    Have a second player stand by with the 'Money Storage' option highlighted ready to click.
    Lock the safe
    As the person locking the safe bends down to perform the action, have the second player open the 'Money Storage' and keep the dialog open.
    Allow the safe to lock and ask the person locking to move away. (To confirm the locking is complete)
    Then ask the player with the Bank dialog open to enter any number and click 'Withdraw'
    The player will then be given the amount they entered.
     
    The reason this works is because of the following function in the ZSCinit.sqf:
     
    This function performs 1 vital check before giving you any money. It checks to see if the amount of coins entered into the dialog is less than 0 OR more than the amount of money in the object.
    However _bank is the bank value of the UNLOCKED safe. So when the safe becomes LOCKED _bank effectively becomes null. And you can't have a number greater than null (Apparently) 
     
    So when you type in a number, it doesnt have a _bank value to check against so it allows you to withdraw any amount of money.
     
    The way i have fixed this is quite simple (Even though it took me over 8 hours to figure it out -.-)
     
    Simply replace the entire function with the following:
     
     
    All i have done is added an if statement to check to see if the object still exists before checking the withdraw amount, If the object is no longer there (has been locked) it exits with an error message. I've tested this on my server and i can't see any issues. The withdraw function works fine with normal use of locked storage, and if i try to perform the glitch it throws an error message at me instead of giving me infinite coins. 
     
    If anyone could please check this for me, it would be much appreciated. I'm not the best at script writing and i may have overlooked something crucial. But this fix has worked for my particular glitch.
  16. Like
    steamROLLER got a reaction from xSkilledElitex in [Release] 2.1 Plot Management - UPDATED Object Counter   
    I'm running basic Epoch and I've deployed plotManagement (default) and I do not have Plot4Life.  I built a plot pole and notice Plot Management in blue and I was able to add myself to the friends list, I killed myself came back and I can still manage the menu but I'm unable to build anything.  States I need a plot pole within 30m almost as if my PlayerID was never saved to that plot pole in the database.   Any suggestion guys?
  17. Like
    steamROLLER got a reaction from SmokeyBR in [Release] Custom Kill Messages   
    Okay, after extensive testing and looking into this further, for those that were having issues with the kill message only showing up 50% of the time.  Add the following delay shown below to make up for server lag time.  Every server has different specifications and processing time, this will allow time for the Arma2 engine to register the PKILL thus the script will run 3 seconds later and pick up the PKILL more often.  I'm now seeing 90% more kill messages.
     
    Unpack dayz_server.pbo and navigate to "dayz_server/compile/server_playerDied.sqf"
     
    Add a 3 second delay sleep 3; above the following
    _killer = _victim getVariable["AttackedBy", "nil"]; _killerName = _victim getVariable["AttackedByName", "nil"]; It should look like this when you're done...
    private ["_characterID","_minutes","_newObject","_playerID","_infected","_victim","_victimName","_killer","_killerName","_weapon","_distance","_message","_loc_message","_key","_death_record"]; //[unit, weapon, muzzle, mode, ammo, magazine, projectile] _characterID = _this select 0; _minutes = _this select 1; _newObject = _this select 2; _playerID = _this select 3; _infected = _this select 4; if (((count _this) >= 6) && {(typeName (_this select 5)) == "STRING"} && {(_this select 5) != ""}) then { _victimName = _this select 5; } else { _victimName = if (alive _newObject) then {name _newObject;} else {"";}; }; _victim = _newObject; _newObject setVariable ["bodyName", _victimName, true]; sleep 3; _killer = _victim getVariable["AttackedBy", "nil"]; _killerName = _victim getVariable["AttackedByName", "nil"]; // when a zombie kills a player _killer, _killerName && _weapon will be "nil" // we can use this to determine a zombie kill && send a customized message for that. right now no killmsg means it was a zombie. if ((typeName _killer) != "STRING") then { _weapon = _victim getVariable["AttackedByWeapon", "nil"]; _distance = _victim getVariable["AttackedFromDistance", "nil"]; if ((owner _victim) == (owner _killer)) then { _message = format["%1 killed himself",_victimName]; _loc_message = format["PKILL: %1 killed himself", _victimName]; } else { _message = format["%1 was killed by %2 with weapon %3 from %4m",_victimName, _killerName, _weapon, _distance]; _loc_message = format["PKILL: %1 was killed by %2 with weapon %3 from %4m", _victimName, _killerName, _weapon, _distance]; _pic = _victim getVariable["AttackedByWeaponImg", "nil"]; if ((gettext (configFile >> 'cfgWeapons' >> (currentWeapon _killer) >> 'displayName')) != "Throw") then { if (!isNil "_pic") then { _kill_txt = format ["<t align='left' size='0.9'>%1 </t>",_killerName,_pic,_victimName,(ceil _distance)]; _kill_txt = _kill_txt + format ["<img size='1.0' align='left' image='%2'/>",_killerName,_pic,_victimName,(ceil _distance)]; _kill_txt = _kill_txt + format ["<t align='left' size='0.9'> %3 </t>",_killerName,_pic,_victimName,(ceil _distance)]; _kill_txt = _kill_txt + format ["<t align='left' size='0.9'>[%4m]</t>",_killerName,_pic,_victimName,(ceil _distance)]; customkillMessage = [_kill_txt]; publicVariable "customkillMessage"; }; }; }; diag_log _loc_message; if(DZE_DeathMsgGlobal) then { [nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE; }; /* needs customRemoteMessage if(DZE_DeathMsgGlobal) then { customRemoteMessage = ['globalChat', _message, _killer]; publicVariable "customRemoteMessage"; }; */ if(DZE_DeathMsgSide) then { [nil, nil, rspawn, [_killer, _message], { (_this select 0) sideChat (_this select 1) }] call RE; }; if(DZE_DeathMsgTitleText) then { [nil,nil,"per",rTITLETEXT,_message,"PLAIN DOWN"] call RE; }; // build array to store death messages to allow viewing at message board in trader citys. _death_record = [ _victimName, _killerName, _weapon, _distance, ServerCurrentTime ]; PlayerDeaths set [count PlayerDeaths,_death_record]; // Cleanup _victim setVariable["AttackedBy", "nil", true]; _victim setVariable["AttackedByName", "nil", true]; _victim setVariable["AttackedByWeapon", "nil", true]; _victim setVariable["AttackedFromDistance", "nil", true]; }; // Might not be the best way... /* if (isnil "dayz_disco") then { dayz_disco = []; }; */ // dayz_disco = dayz_disco - [_playerID]; _newObject setVariable["processedDeath",diag_tickTime]; if (typeName _minutes == "STRING") then { _minutes = parseNumber _minutes; }; diag_log ("PDEATH: Player Died " + _playerID); if (_characterID != "0") then { _key = format["CHILD:202:%1:%2:%3:",_characterID,_minutes,_infected]; #ifdef DZE_SERVER_DEBUG_HIVE diag_log ("HIVE: WRITE: "+ str(_key)); #endif _key call server_hiveWrite; } else { deleteVehicle _newObject; };
  18. Like
    steamROLLER reacted to Tobias Solem in How to optimize server-FPS and server performance   
    It's a fact that ARMA has a dated architecture that only recently received some optimizations for multiple cores and utilizing them for different purposes (multi-tasking and multi-threading). There are several ways for you to optimize your server-side performance to get the maximum speed out of your Epoch server (because Epoch loads so many building items, it requires even more processing power).
     
    Before I continue there is a fundamental thing you have to know and consider when you configure your Epoch server: 
     
    * Every client will load and have to calculate everything that occurs on your server, meaning:
    - Every client has to load ALL base building items
    - Every client has to load ALL the vehicles
    - Every client has to load and calculate ALL AI movement
    - Every client has to load and calculate ALL clan logos/custom graphics
     
    Another thing to consider is the fact that there is something called ragdoll and physics in ARMA 3, basically it is a set of calculations applied to each player body, each AI-body, and each car, and for a moment, also every placed building block. All vehicles run physics-calculations in real-time 24/7 (100% all the time) this means that for every car you have on your server, the server and each client will have to run the calculations for physics on that vehicle all the time. Naturally more calculations are required when something happens to that vehicle (driving, getting shot at, colliding, etc.) but essentially the computing power for all these physics & ragdoll items will take a toll.
     
    Furthermore, all inventories and contents of traders, tents, vehicles, etc. are fed from the database in real-time, essentially the more items a container holds, the heavier the load on the server for each time that inventory is loaded. So if you have, say 300 items in a container, all those 300 will load in a big packet, which sucks some server performance. The less a container can hold, the less strain on the server.
     
    Now, multiply physics, and inventory calculations per client, the more clients connected, the more vehicles driving, swimming, running, flying, inventories getting opened, the more the strain on each client, and on the server. A lot of this information is also sent from the server, and Arma 3 Epoch is one of the most bandwidth-intensive games out there. When the bandwidth is maximized on either the server-side or the client-side, you will see a yellow chain link in your bottom right corner, or a red chain link, depending on how overloaded the server or the client is with data. This is also when you will see lag happening. Whereas "desynch" (client and server not having the same information, and thus weird things happen) and rubberbanding (which looks like teleporting/warping) is usually a combination of over-stressed CPU (server and or client-side).
     
    It is also important to know that in player interaction, the weakest link is usually the cause of the issues, for example: It doesn't matter if you are connected with a 1Gbit connection, with an awesome CPU and GPU, if the server is overloaded, that's the problem, you can't fix it clientside. But the same thing is if you and your friends are connected and your friend has a shitty Internet connection and/or computer and happens to be driving the car. He will lag/desynch based on his low-performance equipment, and that will affect you, and anyone trying to blow that car up (because the car will behave erratically). 
     
    Virtual Machines
     
    It should also be known that the arma3 server-file has issues with running on virtual machines (VMWare, or XenServer, etc.) essentially the performance output gets negated by as much as 30% if you run it on the same hardware as a dedibox, ARMA 3 is currently (2014-12-30) not well-optimized for running on Virtual Machines. Dedicated, native servers will see better performance than a VM.
     
     
    How do I combat/fix this?
     
    With these basic fundamentals in knowing how the server works, you as a player need to know that connecting to a server with hundreds of vehicles, or tens of thousands of buildables, or tons of AI-missions will not necessarily be a good thing for your game experience. While there may be plenty of content to have fun with, the experience with all that content will soon turn sour when your client FPS sinks (because the server has low performance, or is under too much strain (yes this affects clients too, if the server is the weakest link, all clients suffer)) your gameplay and experience will suffer too. 
     
    Currently, the thoroughly tested, recommended max settings for cars on an Epoch server is 150, and the max amount of buildables is 1500 and the max amount of container content is 1500. This is the default settings in Epoch and it is what makes it possible for a server like Mellys to run 100 clients connected, with little to no issues. Yes, there will be a struggle to find a car, but the experience for each player will be as optimal as ARMA 3 Epoch can be with 100 players connected simultaneously.
     
    The only possible compromise if you want to have more vehicles, more buildables, more missions, etc. is to allow for fewer clients (less than 100 players). It doesn't matter if the server has SSD-drives, or 1Gbit up and down, or 32GB DDR5 RAM on a super-high cache Xeon-processor. The arma3server-binary can't handle more than a certain amount of load anyways. 
     
     
    No logs, memory handlers, and toggles
     
    If you run a server with hyperthreading you should use the following toggle (do NOT combine it with cpuCounts=X or threads=X, etc.):
    -enableHT
     
    If you want to squeeze some more performance out of your server with an optimized memory allocator, use the following (download fred's dll here https://github.com/fred41/tbbmalloc_arma/raw/master/dwarden/uptodate_bins.zip ) and place its contents in your dlls-directory where you have arma3server:
    -malloc=tbbmalloc 
     
    IF you want to squeeze some extra FPS out of the server you can also turn off RPT-logging (not recommended if you are having issues or are actively tracking other problems/reports) by using:
    -nologs
     
    Setting the processor priority higher is also recommended:
    -high
      Server shutdowns   The recommended shutdown hours currently for optimal performance is 3 hours, the reason why we have to shut down the server with certain intervals is because of essentially two reasons: 1) Memory leaking (binaries leak RAM, and start performing poorly and thus need to be terminated and restarted) and 2) Clutter (basically a bunch of loops that get stuck due to poor code, vehicle explosions that take up unnecessary bandwidth, corpse clutter, and other things that are a detriment that increases over time on server performance).   Hardware   - CPU ARMA 3 is processor clock dependent first (both client- and server-side). Having a CPU clock of 3.9GHz or higher is recommended. Intel Xeon-processors have been proven to perform better than regular non-server CPU:s.    - RAM More than 8GB per server has not been reported to make any difference whatsoever unless you run a lot of other things or multiple servers on the same machine   - Hard Drive Speed SSD-hard drives improve loading performance severely, which means quicker reboots and startup-times for the server, but after the server is loaded everything is handled from the computers RAM, which is much faster than SSD-drives currently.    - Bandwidth   Expect an ARMA 3 Server have been reported to use around 1Mbit per connected client (server-to-client upstream bandwidth). This means that with 50 players, you will need about 50Mbit upload. The server downloads much less data than this.   --------------------------------------------------   Bottom line   As a server owner you really need to consider the factors involved:   Amount of vehicles (more than 150 will mean you will have to lower your max allowed connected clients from 100) Amount of buildables (more than 1500 will mean you will have to lower your max allowed connected clients from 100) Amount of storage space (more than 1500 will mean you will have to lower your max allowed connected clients from 100)     Your server performance is measured in FPS and CPS - the standard FPS without load will be about 49-50FPS server-side, server-FPS and client-FPS are not the same thing, it is not as vital for server-FPS to be so high, everything 15FPS or higher will leave little to no issues. The same thing goes for CPS, which is the processing power used for Artificial Intelligence and non-gamebased calculations (like the AntiHack). The same principle for AI applies to this, the two values should be about the same normally. These values are heavily affected by (in order of performance-drain): 1) Connected clients, 2) Amount of vehicles 3) Amount of buildables 4) Contents of inventory   --------------------------------------------------  
  19. Like
    steamROLLER reacted to Richie in How to optimize server-FPS and server performance   
    Well made guide, I vote for sticky :)
  20. Like
    steamROLLER reacted to Tricks in [Release] Custom Kill Messages   
    I find this only works sometimes, 1 out of 4 deaths are displayed in a message. The rest don't appear.
  21. Like
    steamROLLER reacted to BetterDeadThanZed in Players Connecting then Instantly Disconnecting Dayz Epoch 1.0.5.1   
    A better solution is to use Dayz Launcher. It works so much better than Dayz Commander and loads the proper mods without any command line changes.
  22. Like
    steamROLLER reacted to Zarbon in Machine Guns removing backpack   
    "Pecheneg" removes backpack, "Pecheneg_DZ" is fine.
  23. Like
    steamROLLER reacted to Gr8 in [Release] Custom Kill Messages   
    Mosts kills arent showing just becuase of the weapon image not found. Its skiping lots of kills for that. Its not the server lag. I am working on re modifying fnc_hit but i have been busy these couple of days
  24. Like
    steamROLLER reacted to mimic in Admin Menu - Variables Restrictions   
    Hey everyone,

    Just to clear this up, and make it as easy to understand as possible... In order for the new built in Admin Tools to work properly your server has to meet a few requirements.

    1) You must have Battleye enabled
    2) You must have BEC installed, running, and using the WatchDog plugin
    3) You must use the BEServer.dll file that is included with the Server Files

    If your server meets all these requirements then you'll need to do the following to ensure it's configured to work properly.

    1) Open the @EpochHive folder
    2) Edit "EpochServer.ini"
    3) Look for the following line:

    BattlEyePath = And set it to the path that the BEServer.dll file is located in. NOT your BEC path. Example: BattlEyePath = C:\Servers\A3_Epoch\SC\BattlEye If you did everything correctly, in your BEC console window you should see something like: BE Filter file:publicvariable.txt was changed. reloading data... See attached screenshot for an example. If you don't see this or you see error messages in your BEC console regarding WatchDog, then your admin tools will not work, and will kick you any time you try to do anything.
  25. Like
    steamROLLER reacted to HolezInYa in Is it safe to play on non official servers   
    Lol not really guilty at all. When the servers got password locked I tried to go back to overpoch but it wasn't as interesting. Then I tried to play on the crappy DTXTX 03 server but it didn't feel right. I don't think the legit players who are locked out because of the hackers are guilty at all if they join one of the non official servers.
    I get it and it was the right choice to password the servers. I would much prefer to alpha test and play on legit servers, but I enjoy this mod and have lots of free time due to a work injury. Chances are from time to time I will play on a non legit server to get my fix.

    I support the devs and agree with the choice today I played arma 2 overpoch rather than join a non legit server but the temptation is there and it is strong.

    Arma 3 was lame until epoch and a bunch of douchebag hackers robbed a lot of us of our enjoyment of this great mod.

    Playing on official servers I felt like I was contributing to something that would be great. On the non official servers I feel like I am just wasting my time.
×
×
  • Create New...