Jump to content

Buddski

Member
  • Content Count

    11
  • Joined

  • Last visited

  • Medals

Everything posted by Buddski

  1. I am struggling to push messages from scripts into the logs as a part of troubleshooting. Specifically I want to trigger a log entry when a trigger is tripped. For one of my triggers I can see the impact of trigger, ie a team is spawned so i know the trigger is working correctly for that one. But I have another trigger that is not doing anything yet. I want to send an entry to the log when the trigger is activated. I have tried by adding a script directly to the trigger prefab. I have tried OnActivate, OnInit and EOnTouch with the resulting format as follows: class StPhilTrigger_Class: NO_SCR_SpawnTrigger { override void EOnTouch(IEntity owner, IEntity other, int touchTypesMask) { Print("StPhillipe Reinforcements trigger has been touched"); } override void OnActivate(IEntity ent) { Print("StPhillipe Reinforcements trigger has been activated"); } override void OnInit(IEntity owner) { Print("StPhillipe Reinforcements trigger has been initialised"); } }; None of these lines result in anything pushing into the logs...at initiation, on entry to the trigger area etc. I have other triggers that are not working so i want to be able to force the messages to log to "trap" the events. This was straight forward for Arma3 but cant crack it for Reforger. Any hints on where I am going wrong please?
  2. Increasing the number of items within an ENUM is as simple as modded enum PresetsList { myNewPreset }
  3. Background - I am editing the base Capture the Island scenario supplied with Reforger. Specifically I am increasing the number of bases and relays on the island to open up under utilized areas of the map. I have successfully created the camps, relays, slots all working, updating map etc, but on trying to run I keep getting an index out of bounds error around the script SCR_CampaignBase. Within the script SCR_GameModeCampaignMP a list of static variable values are defined, one that refers to the number of bases is capped at maximum of 40. I know the issue occurs when I extend beyond 40, as i have errors related to the 4 bases extending beyond using up the 40. Suspect I need to increase this variable's value. But I cant seem to achieve this change. //************************// //RUNTIME STATIC VARIABLES// //************************// static const int BASE_CALLSIGNS_COUNT = 40; I am struggling to find a way and where to do this. I have been unsuccessful in creating a modded class that contains only the constant to be changed, and also have tried replication of the entire class and modded. Any hints on direction to go with this change, or examples of where class modding is applied to change variables as opposed to modding the procedures applied to a class. I know I may also have to extend the array for callsigns from 40 to match the new maximum, however at the moment the map appears to just reuse the first callsign over and over, hence suspicion that the index is the issue more so than the name functionality.
  4. Thanks Mario, i tried exactly the same thing seconds before I read your response and yes that seems too easy but it worked. Doesnt mean the code is rolling yet, I think the base names is my next challenge so plug away I will. Started to get an understanding of modding a class, so thanks for your confirmation. .
  5. So the new mod hasn't gone so well. Any hints on how to pull it out of the workshop? Is it just a case of mark as non functional? Or is there a way to retract an unintended mod...sure i am not the first playing on the learning curve!
  6. Mission file each time it is saved from 3Den editor appears to save a new randomSeed number. In industrial modeling and simulation a random seed can be presented to the simulation software at initialization to ensure the repeatability of the simulation, important during troubleshooting code. My head thinks of it as it initializes the random number generator to present a similar pattern of random generation so that from simulation to simulation you can determine if code is working the same or not. I am working with A3Wasteland mission, adding new sub-missions which are randomly selected from arrays. While i dont see exactly the same sequence of "randomness", across 3 or 4 restarts i am seeing a bias towards missions and mission locations selected "randomly" from the same missions spawn locations, making it feel not too random. Has anyone pushed the randomSeed around to better understand the role it plays in this software? If i delete the randomSeed in mission.sqm the mission seizes at startup. But is there a way to change by code, perhaps in one of the init statements, if so which so that each restart this is a different number? Any thoughts or am i chasing a red herring?
  7. Buddski

    Randomness

    Dedmen, Looking to start implementing parseSimpleArray in a version of A3Wasteland i have been tinkering with. One example is a list of cities within the game. The current call is cityList = compileFinal preprocessFileLineNumbers "mapConfig\towns.sqf"; From what i read of your other posts, a better way to create the globalVariable cityList would be to use something more like cityList = parseSimpleArray format[["Town_1",400,"Kavala"],["Town_2",300,"Agios Dionysios"],["Town_3",150,"Abdera"],.....etc]; Now the list of towns currently sites in a file, "mapConfig\towns.sqf". The current call to create the cityList array is currently coded in a config.sqf in the root directory for the mission. So trying to understand a mixture of file structures, loading sequences and methods all at the same time: What would be your comments on the changes i propose? modify the towns.sqf from (condensed of course for example) into a new towns.sqf [["Town_1", 400, "Kavala"], ["Town_2", 300, "Agios Dionysios"], ["Town_3", 150, "Abdera"]] new towns.sqf would become the array definition cityList = parseSimpleArray format[["Town_1",400,"Kavala"],["Town_2",300,"Agios Dionysios"],["Town_3",150,"Abdera"],.....etc]; the config.sqf file would now need to "call" or execute the towns.sqf file, BUT what is the call to execute the new towns.sqf file. Am i understanding the mechanics of how this would implement
  8. Buddski

    Randomness

    Thanks guys, I will have a look at converting some of those compile calls to array defintions. Getting comfortable enough with the code to attempt that type of conversion now 🙂.
  9. Buddski

    Randomness

    yes, possibly the server compile file is currently running at about 100 mf_compile rows in that file alone. But then this would also be a one off compile rather than continuous compiles i would assume? In mission files there is quite often compile calls for preprocessFileLineNumbers, where basically arrays for selection of random mission waypoints, routes etd are generated i think.
  10. Buddski

    Randomness

    I can try that but the nature of the issue is we have a A3Wasteland server running as a PvE where we are progressively ratcheting up the randomness of ai interactions. Things like mission spawn locations, convoy routes, mission variants, skill levels, crew sizes, rewards etc etc. We are currently resetting server every 24 hours, may be able to get to 48 hours but beyond there i think we are getting smashed by memory leakage. The mission is launching with up to 8 controllers firing across 6 different mission types, but it is the pattern of which missions and what locations that is "feeling" less than random. Might just have to double down on the options...not that hard to do really. Thanks
  11. I am new to mission creation and a scripting approach and my progress at learning has been good but looking to streamline what I am sure is a sub optimal process for loading new scripts and then testing those on live server. I am working on an A3Wastelands mission, now becoming increasingly customised it has grown from 6MB to sitting at about 10MB. I will explain my current workflow and welcome suggestions about changes to that to improve cycle time from new script developed to tested on server. Workflow Generate/modify new script - using Visual Studio Code - managing a local git repository to stage and commit all changes. I like the editor and combined with the git process is great to understand what you have changed, setting up for good rollback processes when it all goes skew. Some changes like syntax requires one set of brackets, edited in seconds. Clone from git folder on local computer to new local location, but without the git entries folder - they add to much to a folder size for next step. (5 seconds give or take) Generate local .pbo using .pbo manager to zip up the "gitless clone" copy of the mission. Compiling quick (10 seconds give or take) Using Filezilla connect to my.gameservers (that is the host provider I am using). Get new .pbo into correct mpmissions location on server, ensure configs line up and restart server. (with variable ADSL internet speed can be 1-5 minutes to upload). Restart server. (usually about 30-60 seconds to initialize server for login access from Arma launcher). Reconnect to server with local ARMA launcher and start game. (usually 2-5 minutes to upload new mission files, establish client session) Run server for period. Previous provider had a streaming log viewer functionality, new one doesnt, so using periodic log file (RPT) download, to then open log using GamutLogViewerProfessional. The line parsing, filtering in the log viewer is great, and fast, its just the continual download and lack of live streaming that has become annoying. Fast but repetitive. Most testing involves cycling sub missions quickly, fast timings for new missions spawning and quick expiry, god mode to poke the missions for responses required, and attempting to use diag_log to set log messages for error/logic/expected response flaws. (time consuming and rpt file entry problems currently) Based on responses observed in game or in logs, change code and return to step 1. Opportunities Things I know I dont know about, but had no luck finding answers yet - reference articles/sites would be fantastic. I think I might need to get RCON skills - but again a little unclear if that helps me more as an administrator vs a code tester. The admin stuff isnt a big deal at present. Live log streaming - seen evidence but dont have a solution in place for that at Gamerservers yet. .pbo generation - previous host had an inbuilt capability to compile the .pbo on the server reducing the upload traffic and time considerably, is the best way to look at installing a .pbo generator on the server myself for this? Is that a big deal to implement? git publish - seems more like publishing back to a public repository, wonder of i should be pushing to a local folder ie the one that wont have the .git folder, or could i git push to the server folder just the changes. No luck finding git answers to this myself yet. I do not use the debug console within the editor or the server when running - i think i am missing something about the debug console concept it appears lined up to force only very simple issues. Again lacking reference sources to learn more on that. For a complex mission with many scripts, are these something that can be tested in mission editor, or outside editor. I use editor for waypoints, additional buildings, manually generating mission routes that are then codified into sqfs., i dont test the sqfs in there yet, should I. Server memory consumption appears to be an issue as restart intervals increase. Previous server could run for 24 hours and stay under 2GB memory allocation, at 48 hours be under 150% and then by 72 hours crash due to over commit. Rather than double subscription settled for 24 hour restarts. New host does not have this easy monitoring indicator so i think i need an additional piece of software to monitor. suggestions? Anything else that I dont know, that I dont know about, sure there is heaps. Finally, anyone who has had the patience to get his far through this monologue, i appreciate your time so far. Even if you only have a suggestion for 1 item in workflow or a comment on an opportunity I welcome your input. I did 6 months of pascal, fortran, basic programming, but i refuse to say how long ago that was..... So suggest i write up a new C# routine, that feels well beyond where I am at now. Server management is new to me, but sort of getting the idea of the Arma approach to server side, client side management. Thanks
×