Jump to content

TheVampire

Collaborator
  • Posts

    1310
  • Joined

  • Last visited

  • Days Won

    35

Reputation Activity

  1. Like
    TheVampire got a reaction from DirtySanchez in Vampire's Vehicle Degradation   
    Vampire's Vehicle Degradation
    -------------------------------------------
    Are you tired of those perfect drivers who never have to repair their vehicles?
    Are you tired of the unrealistic effects of vehicles not wearing down with use?
    Do you think that players need to spend more money to keep their vehicles running?
    Well then I have a script for you!
     
    What is it?
    This script allows you to configure vehicles to take damage over time while they are in use.
    You set an amount of time a player must be driving and an amount of damage to give to the vehicle for them driving that amount.
    You can also configure the locations to damage the vehicle, the type of vehicle, how far they have to have moved in the time limit, and more!
     
    Where can I get it?
    It's available here:
    https://github.com/SMVampire/Vamp-Vehicle-Degradation
     
    What if I have issues?
    You can post about it here to see if others can help you, or you can open an issue on the github here:
    https://github.com/SMVampire/Vamp-Vehicle-Degradation/issues
     
    Can I alter your code and release it as a different mod and/or combine it with a different mod?
    This code is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0):
    https://creativecommons.org/licenses/by-nc-sa/4.0/
    If you are unsure if your intended use is in violation of my license, please send me a PM.
  2. Like
    TheVampire reacted to BigEgg in Exile mod kill messages re-code for epoch   
    We used these on GG for the longest time. I believe Wicked had them originally and it looks like Gr8 ported them over to Arma 3. I have seen people grab them out of GG's mission file, but I am not going to post them here as they are not my work to release and it isn't anyone else's either. If you want them, shoot a message to the owner of Wicked PVP. If you see something custom on a server, ask the server owner if you can have it, don't post here asking for people to get it for you.
  3. Like
    TheVampire got a reaction from ViktorReznov in Global variables   
    Reading your code this is really over-complicated for what it does. Part of the age old "if you wrote it twice you wrote it too much". You should never need to use random and then a switch unless you are randomizing code to run.
    A call like that is also poor as I believe each call would create a new thread. The only downside to my code is it is likely biased to one side, only your testing will tell. Your minimums and maxes may need adjusting.
    Here's my take on it.
    Much cleaner in less lines and it should be better performance. You also don't need to include it inside (isServer) since I have an exitWith at the top if it isn't a server.
  4. Like
    TheVampire got a reaction from seelenapparat in Global variables   
    Reading your code this is really over-complicated for what it does. Part of the age old "if you wrote it twice you wrote it too much". You should never need to use random and then a switch unless you are randomizing code to run.
    A call like that is also poor as I believe each call would create a new thread. The only downside to my code is it is likely biased to one side, only your testing will tell. Your minimums and maxes may need adjusting.
    Here's my take on it.
    Much cleaner in less lines and it should be better performance. You also don't need to include it inside (isServer) since I have an exitWith at the top if it isn't a server.
  5. Like
    TheVampire got a reaction from salival in Global variables   
    Reading your code this is really over-complicated for what it does. Part of the age old "if you wrote it twice you wrote it too much". You should never need to use random and then a switch unless you are randomizing code to run.
    A call like that is also poor as I believe each call would create a new thread. The only downside to my code is it is likely biased to one side, only your testing will tell. Your minimums and maxes may need adjusting.
    Here's my take on it.
    Much cleaner in less lines and it should be better performance. You also don't need to include it inside (isServer) since I have an exitWith at the top if it isn't a server.
  6. Like
    TheVampire got a reaction from juandayz in Global variables   
    Reading your code this is really over-complicated for what it does. Part of the age old "if you wrote it twice you wrote it too much". You should never need to use random and then a switch unless you are randomizing code to run.
    A call like that is also poor as I believe each call would create a new thread. The only downside to my code is it is likely biased to one side, only your testing will tell. Your minimums and maxes may need adjusting.
    Here's my take on it.
    Much cleaner in less lines and it should be better performance. You also don't need to include it inside (isServer) since I have an exitWith at the top if it isn't a server.
  7. Like
    TheVampire got a reaction from ViktorReznov in Global variables   
    Although I don't have time to look at your code I'll try to help you get a grasp on the global variable and publicVar.
    A Script can run client side or server side or both. An easy example is anything ran from the init.sqf gets ran by the server on startup and then by each client when they load into the server.
    Commands exist to control this; isDedicated, isServer, hasInterface, etc.
    Variables prefaced with an underscore are local to the scope the script is running in. If I use execvm to run a script nothing outside of the script will be able to see that variable.
    Global variables have no underscore and are global to the side they are on, client or server. A client can have a global with a different value from every other client and the server. Any script running on that machine can change the global var at any time but cannot change the global variable on any of the other machines.
    A public variable is when a global variable is broadcasted to other machines. A public variable must be rebroadcast each time you want to update a value on another machine.
    There are 3 ways to broadcast a public variable; publicVariable, publicVariableServer, and publicVariableClient. These can be used on any machine and do what their name suggests. PublicVariable broadcasts to all machines, publicVariableServer broadcasts to server, and publicVariableClient broadcasts to a specific client.
    When using publicVariableClient you must specify the client by netid. The easiest way is for the server to also provide the player object and then grab the owner of the object. You can use publicVariableClient on the same machine as the target. Same with server.
    So an example, if you want each player to carry a random value but to update a value on the server on-command you can use publicVariableServer to only update the server variable while each client retains a unique value.
    Another is if you want to track zombie kills in a var on each player you can then use publicVariableClient to update each specific player with their new stats when they kill a zombie from the serverside.
    Things get more interesting when you start looking at publicVariableEventHandlers.
    Hope this helps.
  8. Like
    TheVampire got a reaction from salival in Global variables   
    Although I don't have time to look at your code I'll try to help you get a grasp on the global variable and publicVar.
    A Script can run client side or server side or both. An easy example is anything ran from the init.sqf gets ran by the server on startup and then by each client when they load into the server.
    Commands exist to control this; isDedicated, isServer, hasInterface, etc.
    Variables prefaced with an underscore are local to the scope the script is running in. If I use execvm to run a script nothing outside of the script will be able to see that variable.
    Global variables have no underscore and are global to the side they are on, client or server. A client can have a global with a different value from every other client and the server. Any script running on that machine can change the global var at any time but cannot change the global variable on any of the other machines.
    A public variable is when a global variable is broadcasted to other machines. A public variable must be rebroadcast each time you want to update a value on another machine.
    There are 3 ways to broadcast a public variable; publicVariable, publicVariableServer, and publicVariableClient. These can be used on any machine and do what their name suggests. PublicVariable broadcasts to all machines, publicVariableServer broadcasts to server, and publicVariableClient broadcasts to a specific client.
    When using publicVariableClient you must specify the client by netid. The easiest way is for the server to also provide the player object and then grab the owner of the object. You can use publicVariableClient on the same machine as the target. Same with server.
    So an example, if you want each player to carry a random value but to update a value on the server on-command you can use publicVariableServer to only update the server variable while each client retains a unique value.
    Another is if you want to track zombie kills in a var on each player you can then use publicVariableClient to update each specific player with their new stats when they kill a zombie from the serverside.
    Things get more interesting when you start looking at publicVariableEventHandlers.
    Hope this helps.
  9. Like
    TheVampire got a reaction from JakeQue in IMPORTANT: Players invisible and no gear   
    To check the server fps (not just "how it feels") you need to put #login password in chat (password being your admin password from server.cfg)(if you're paranoid you can put it in vehicle chat or something) and you should then have (Admin) next to your name in the lobby. Then do #monitor 15 to monitor fps for 15 seconds and report the fps. The larger the value the better (fps wise). It should go without saying to do this when you are having issues and report it to us.
    You can have a server that "feels fine", runs perfectly smooth as a player but then you'll still notice lag performing actions and such.
    You want to check your server.rpt (which you likely have) but you also have a clientside rpt. Every script that runs on the server is either serversided or clientsided or both. If a script is clientsided and is throwing errors you could have server issues even if your server.rpt is clean.
    Client RPT is located at "C:\Users\YOURUSERNAME\AppData\local\Arma 2 OA\" as an RPT file.
    If both of your RPT clientside and serverside are clean and your server has more than 15fps i would maybe look at the scripts you are running and maybe reevaluate how often they run or what their settings are. Certain scripts can quickly load up the server scheduler leading to things that are tied to the scheduler to come to a standstill. This is what causes things like VCOMAI to cause so much lag as certain parts of the AI choosing locations and such fill the scheduler up.
  10. Like
    TheVampire got a reaction from juandayz in IMPORTANT: Players invisible and no gear   
    To check the server fps (not just "how it feels") you need to put #login password in chat (password being your admin password from server.cfg)(if you're paranoid you can put it in vehicle chat or something) and you should then have (Admin) next to your name in the lobby. Then do #monitor 15 to monitor fps for 15 seconds and report the fps. The larger the value the better (fps wise). It should go without saying to do this when you are having issues and report it to us.
    You can have a server that "feels fine", runs perfectly smooth as a player but then you'll still notice lag performing actions and such.
    You want to check your server.rpt (which you likely have) but you also have a clientside rpt. Every script that runs on the server is either serversided or clientsided or both. If a script is clientsided and is throwing errors you could have server issues even if your server.rpt is clean.
    Client RPT is located at "C:\Users\YOURUSERNAME\AppData\local\Arma 2 OA\" as an RPT file.
    If both of your RPT clientside and serverside are clean and your server has more than 15fps i would maybe look at the scripts you are running and maybe reevaluate how often they run or what their settings are. Certain scripts can quickly load up the server scheduler leading to things that are tied to the scheduler to come to a standstill. This is what causes things like VCOMAI to cause so much lag as certain parts of the AI choosing locations and such fill the scheduler up.
  11. Like
    TheVampire got a reaction from DirtySanchez in VEMF - Vampire's Epoch Mission Framework   
    I wrote this up today. Some of it may be a little open ended as i don't have everything set in stone yet.
    https://docs.google.com/document/d/1kSkNJYm21VFfNLtW3xHKKBTgg6fzFR16ZWf2BC-V-lY/edit?usp=sharing
  12. Like
    TheVampire got a reaction from natoed in call Epoch_message;   
    In your example you would be getting this in return:
    ["Epoch_Message1",["New mission availible. Check Map."]] So your selections:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible. Check Map." If you wanted to pass an array of strings you would have to either take the entire array and forEach it or select each element of the array for different variables.
    So:
    Epoch_Message1 = ["New mission available.","Check map."]; publicVariable "Epoch_Message1"; And then:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible." _msg2 = (_this select 1) select 1; // Would equal "Check map."
  13. Like
    TheVampire reacted to EBEALIEN in [SOLVED] Epoch / Altis : flight model ?   
    Thank you,
    You are right, I did so and I resolved.
    Vampire, you've been clear and helpful.
    Now my server works well with the flight model.
    Sometimes they seem impossible, and sometimes,
    They ask elementary questions, but what matters is the answer, without too many "spins" of words.
    Great, great.
    Thank you!
  14. Like
    TheVampire got a reaction from EBEALIEN in [SOLVED] Epoch / Altis : flight model ?   
    If it isn't there by default you should be able to add it just about anywhere.
    On my server it is directly below "vonCodecQuality";
    https://github.com/EpochModTeam/Epoch/blob/release/Server_Install_Pack/sc/server-example.cfg#L43
  15. Like
    TheVampire got a reaction from lesvieuxcrevards in epoch 0.5 service point   
    At the moment you can't.
    In 0.6 you will be able to in CfgServicePoint.hpp
  16. Like
    TheVampire got a reaction from lesvieuxcrevards in [SOLVED] Epoch / Altis : flight model ?   
    If it isn't there by default you should be able to add it just about anywhere.
    On my server it is directly below "vonCodecQuality";
    https://github.com/EpochModTeam/Epoch/blob/release/Server_Install_Pack/sc/server-example.cfg#L43
  17. Like
    TheVampire got a reaction from Sneer in epoch 0.5 service point   
    At the moment you can't.
    In 0.6 you will be able to in CfgServicePoint.hpp
  18. Like
    TheVampire got a reaction from lesvieuxcrevards in [SOLVED] How to have perma bot on server to keep mission always active ?   
    You should be able to just add -autoInit to your server launch parameters. This will make the server read the mission once it starts up.
  19. Like
    TheVampire got a reaction from vbawol in call Epoch_message;   
    In a publicVariable there are a few this values. The incoming looks like this:
    ["PublicVariableName",[value1,value2,etc]]
    So you were doing select 1 which selects the value array adding the brackets to the message.
    Should be (_this select 1) select 0;
    I see you have it solved though.
  20. Like
    TheVampire got a reaction from vbawol in call Epoch_message;   
    In your example you would be getting this in return:
    ["Epoch_Message1",["New mission availible. Check Map."]] So your selections:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible. Check Map." If you wanted to pass an array of strings you would have to either take the entire array and forEach it or select each element of the array for different variables.
    So:
    Epoch_Message1 = ["New mission available.","Check map."]; publicVariable "Epoch_Message1"; And then:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible." _msg2 = (_this select 1) select 1; // Would equal "Check map."
  21. Like
    TheVampire got a reaction from TolH in call Epoch_message;   
    In your example you would be getting this in return:
    ["Epoch_Message1",["New mission availible. Check Map."]] So your selections:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible. Check Map." If you wanted to pass an array of strings you would have to either take the entire array and forEach it or select each element of the array for different variables.
    So:
    Epoch_Message1 = ["New mission available.","Check map."]; publicVariable "Epoch_Message1"; And then:
    _var = (_this select 0); // Would Equal "Epoch_Message1" _msg = (_this select 1) select 0; // Would equal "New mission availible." _msg2 = (_this select 1) select 1; // Would equal "Check map."
  22. Like
    TheVampire got a reaction from TolH in call Epoch_message;   
    In a publicVariable there are a few this values. The incoming looks like this:
    ["PublicVariableName",[value1,value2,etc]]
    So you were doing select 1 which selects the value array adding the brackets to the message.
    Should be (_this select 1) select 0;
    I see you have it solved though.
  23. Like
    TheVampire got a reaction from cyncrwler in VEMF - Vampire's Epoch Mission Framework   
    Before Arma broke the last version of VEMF I was working on a nuke  mission. Instead of a crate in a city it was a "Device" with a laptop on it and roaming AI. You had to walk up to the laptop and scroll to "hack" it and disable the nuke.
    I'm not opposed to blowing up player bases but it has to be very rare and the player needs to be well informed which I'm not sure I can convey in the mission.
    I also want the mission system to allow "opting out" overall. You can choose not to participate but you will have major difficulty in attempting to live inside the "infected area" that AI have taken over.
    Forcing players to craft a terminal in their base to opt into the mission system is pretty close along the lines of how I would like the mission system to run. It also acts as a never-ending end-game minigame of sorts.
    For small servers that are admin-oriented I'm also going to add an option that can be ran to fill the map (infect every city possible) on the first server startup so the players can play it in an invasion style instead.
    Right now I'm working on an add-on unrelated to VEMF and another small script like vehicle degrade.
    The main thing I'm struggling with  VEMF atm is writing the watchdog FSM which is essentially the AI brain that decides what actions get taken on the server (infect city, spawn mission, etc). After it is wrote the majority of the code is already done.
    As always if anyone wishes to help send me a PM to get access to the repository.
  24. Like
    TheVampire got a reaction from lesvieuxcrevards in [SOLVED] Epoch / Altis : flight model ?   
    It's located in the server.cfg
    forceRotorLibSimulation = 0; // Forces flight model. Default 0 (user config setting), 1 - forced AFM, 2 - forced SFM
    If yours is 0 then the user can decide what they want to use in their settings. If 1 or 2 they are forced to use the server setting.
    AFM = Advanced Flight Model
    SFM = Simple Flight Model
  25. Like
    TheVampire reacted to natoed in Modifying Halvhjearne's Killfeed   
    On the money Vamp and thank you again
    for anybody else wanting killed by zombies with Halvhjearne's Killfeed
    halv_fnc_playerdied.sqf  dont forget the thank @TheVampire
     
     
    big smile on my face
    cheers
    natoed
×
×
  • Create New...