Jump to content

Xpect92

Member
  • Content Count

    19
  • Joined

  • Last visited

  • Medals

Community Reputation

22 Excellent

2 Followers

About Xpect92

  • Rank
    Private First Class

Recent Profile Visitors

1165 profile views
  1. Thank you so much for the fast answer and a happy new year to every one who reads this comment. It works like a charm! I've spent my free day today with it and I'm a huge fan. I'm already collecting bugs and feature request and I'll most likely be hitting up this thread with those soon, engima! :P One thing I'll share right now is that when I use a "shared" instance of a class like Logger the editor won't autocomplete Logger.shared.log but thats just a minor thing.
  2. Hi, very interesting project you got here. I've tried it out tonight and ran into one issue. Is it possible to create singletons? Or, are there default values for properties? I tried my best but did not get it to work properly. I was hoping to get something going like this: namespace Test.Classes { // Logs all events to the default profile log file. public class Logger { // Our shared instance. public static property Logger shared {get; private set;} = new Logger; // MARK: - Initialization // Init is private b/c callers have to use our shared instance. private constructor() {}; // Logs the given text. // - parameter text: - The text to log. public method log("_text" as String) { diag_log(format["*** Log: %1", _text]); }; }; }; // Info: // This way i'd be able to call Logger.shared.log("Important msg") But it wont let me assing a value to my static properly like that. Do you guys have any idea how to create shared instances / singleton patterns? Best Regards!
  3. Thanks for the answers. I am not really worried about performance. Just readability and getting the ability to easily understand the code in lets say a year after not touching it. I like the idea but that still leaves me with a lot of manual comparing of values. I thought about my problem again and figured that my conditions might be too complex to handle in a simple switch after all. Im just so despratly trying to get rid of those ugly nested if statements. I'll check those out tonight BIS_fnc_bitflagsCheck looks very interesting. I'll have to check how much of an overhead it creates though. Thanks!
  4. Hello Guys, modern programming languages often have something like wildcards and tuples that i can use in for example switch statements. E.g. in Swift: let string = "String" let int = 123 switch (string, int) { case ("String", 123): print("Perfect match.") case ("String", _): print("String matches - doesnt matter what int says") default: print("You get the idea.") } As far as i know neither exists in SQF, right? I was thinking about getting something similar done because i have certain if chains that seem unmaintainable in the future. Can i maybe accomplish this with arrays? Like: _var = ["String", 123]; switch (_var) do { case ["String", 123]: { diag_log("Perfect match."); } case ["String", /*Any idea how i can ignore the second value?*/]: { diag_log("String matches - ignore int"); } default: { } } I just dont see how i can possibly ignore a value in the comparison. Any ideas how to accomplish that or do you think its not possible at all? Best Regards
  5. Hello everyone! We are really sorry for not giving out any updates to you guys recently. Since time is scarce on our hands, we are tying to get as much coding done as possible instead of writing Devblogs. That is why we have decided to create a public Trello board where we'll 'dump' stuff we've done. It is not as informative as Devblogs but it gets the job done without taking a lot of time off our hands. You can reach the board under this URL: Arma3 Roleplay Public Trello Board. Please note that not every feature that's been implemented is on the board, yet. We'll try to keep the board updated at our best. Also, we are very happy to answer any questions that might come up. You can either ask them right here or join our Arma3RP Steam Group. Best Regards, Xpect
  6. Xpect92

    ArmA 3 Custom Buildings

    I am pretty sure that its you.^^ Usually when textures dont appear in the TB you have a different folder structure in your P Drive. Make sure that the folders with the mm tag are in the P Drives root folder and that there is no second mm tagged folder inside of the first one (that happens when you unpack using Mikeros DePBO i believe).
  7. I have updated the second post with another DevBlog about the Breakdown Service. Unfortunately we were very busy with real life stuff for the the last month or two what resulted in us having very little time working on the mod. Personally I have my last big real life thing tomorrow for this semester which means that i am going to have lots of spare time to continue working on the mod after work. The mobile phone utilises the task force radio extension. However its a bit different from what we've seen in different life mods because we are hooking directly into their extension. That gives us the ability to make it pretty realistic and fun. Still, there has to be a lot of work done with it before we can show it off. Best Regards, Xpect
  8. Xpect92

    ArmA 3 Custom Buildings

    Hello Guys. I am having trouble using the nearestBuilding command on some of the buildings from this pack. The residential houses work just fine but the police station and the pub are not picked up by this command. I've downloaded the unbinarized version of this pack and figured that a missing paths LOD could be the cause of this issue. The wiki states the following: Link to nearestBuilding page on the wiki Do you guys think that adding said LOD would do the trick? I'm just asking because if I am wrong I wanna save the time making them. Best Regards, Xpect
  9. While ArmAs native VON is not bad we are in fact using Task Force Radio for multiple reasons: - We need radios anyways. For police and such. - It discourages players to simultaneously be on a TS or Skype talking to their friends who are also playing. Of course people can still do it but not as many will. - Probably about 99% of communities who are gonna host this have a teamspeak server anyways. - By hooking directly into the Task Force extension we can easily implement a phone. - We are aiming to completely shut off the ArmA chat channels for text. And i believe that this also turns them off for voice. (There will be alternatives to get text messages to other players)
  10. Since this is gonna release to the public at some point, what ultimately will lead to people "taking" stuff anyways, I see no reason not to give specific stuff to other mods as long as they publish their stuff in an equal manner.Or in other words, specifically allow someone to use some of our stuff. However, we don't feel comfortable publishing parts of our mod before our initial release. We are trying to bring some refreshing stuff to RP-Mods and don't want for example the animation to be around already because it won't feel "new" then anymore. And to be honest, especially the animation aren't that well done, yet. I kinda made them in a hurry and feel like they could be done way better. Also, the animations really aren't the big thing about the handcuffed/surrendered system. Since the game thinks you are in a normal state while playing the gestures there is some stuff that needs to be handled code-wise. (e.g.: Restrained person gets in driver seat -> What now?! You cannot drive with your hands cuffed behind your back). That leads to us constantly checking if a player can do something right now (pretty annoying and makes parts of the code look.. meh..). In conclusion, we'd happily give stuff to other mod makers after our initial release. Obviously one would have to talk to us about that.
  11. We are designing this to work with any map with little effort. Of course you'll have to create a mission. You'll also have to go through our settings file. For Example you'll have to change company headquarter types to buildings that are present on your map (see config example below). We're also trying to use a minimum amount of mission side markers, npcs and stuff. class CompanySystem { class Headquarters { class Land_Offices_01_V1_F { rentPrice = 10000; }; class Land_i_Shed_Ind_F { rentPrice = 1000; }; class Land_CarService_F { rentPrice = 1000; }; class Land_PoliceStation { rentPrice = 0; }; }; class CompanyTypes { class PoliceDepartment { //Define if everyone can create a company of this type public = 0; //The display name of this company displayName = "Police Department"; //The initial price it takes to create a company of this type cost = 0; //Array of the types of buildings this company can have as a headquarter headquarterTypes[] = {"Land_PoliceStation"}; //Furniture (objects) that will spawn when a headquarter is bought requiredFurniture[] = {}; //Define the maximum of employees this company can have maxEmployees = 100; //Define if this company is allowed to have lockers in their HQs canHaveLocker = 1; //Define the maximum amount of HQs this company can have maxHeadquarterAmount = 5; class Ranks { class ChiefOfPolice { //Display name for the rank displayName = "Chief of Police"; //Rights for the rank canAccessBankAccount = 1; canRentHeadquarter = 1; canManageEmployees = 1; canPurchaseCompanyVehicle = 1; canDeleteCompany = 0; canChangeFurniture = 0; canAccessLocker = 1; }; ... }; }; ...
  12. Is this intended? I'm really bad at math but should it not return a positive remainder? Or are their different mod operators? Cheers Edit: Never Mind, found my answer in the wiki after all: Sorry
  13. Regarding counting units you can just use count allPlayers; regardless of client or server. Remote execution is actually pretty straight forward. I recommend using CfgFunctions or description.ext to precompile your sqf functions into variables. You could now use something like [_parameter1, _parameter2] remoteExecCall ["YOURTAG_fnc_myDopeFunction", _referenceToPlayer]; to remote execute one of those functions on another client. You will need a reference to any object that is local to the client you wanna remote exec on. Usually you use the target player object I'd say. Look up remoteExec and remoteExecCall on the BIS wiki to learn how to easily execute something on all clients or only the server. You cannot return from functions that were remotely executed. Therefore if you need that you would have to pass the caller as a parameter and remote execute something "back" as some kind of callback (not really).
  14. Thank you and yes, we have been putting a lot of work into this and we will continues to do so. If you think about it, RP-Mods actually did start like ours is supposed to. At least for me because i got into life mods with Tonics Altis Life. Back in the day some people actually shared their stuff on the Altis Life forums. Then people with great ideas (we'll have to admit that) made a bad name for the RP Community by literally selling stuff that was not theirs to sell. Thank you guys! We are trying to make this a thing as fast as possible. Unfortunately you'll have to give us some time until a playable version is released. We aim to release a working "Life-Mod" with enough stuff to do in it so players don't get bored. Releasing too early would be bad because their would not be a lot to do and people would stop playing in no time. Their wont be a lot of updates in the next two weeks because we are dealing with some real life issues (work and university stuff) at the moment.
  15. DevBlog #4: Inventory Item and Vehicle Shop: DevBlog #5: Breakdown Service:
×