News:

SMF - Just Installed!

Main Menu

Recent posts

#91
Missions / Re: Persistent scoring for Lla...
Last post by Raptor-Man - December 16, 2021, 12:12:10 AM
I saw there's a discord chat for hosthavoc - I'm in there now trying to pickup what I can to get the extdb3 going.
#92
Missions / Re: Drongo's Mods and mission ...
Last post by Raptor-Man - December 15, 2021, 11:34:16 PM
QuoteYeah, yeah.   :D ;D :D

Doing so, though, that assumes someone understands MySQL.


Hi Rock - I'm a 3 time certified dba for almost 20 years now.  Beyond sql, i also have done 50+ instances of couch & various other nosql before you toss down old school foxpro etc from 90s but that was free stuff i did as a 14yr old.

Quote
I know I don't. The few times that I tried to set up a MySQL database engine I never did get it running. Not running anything useful, running at all!  :P :-[  I'm good, but apparently I'm allergic to SQL engines. Or they're allergic to me.  :o

You picked the service, but we can still go somewhere that you can use another db style if you like?

My experiences on windows boxes have been run msi installer, create user in the GUI & go.  If you have issues on the OS end, just use one of the two MySQL db's you're paying for by pointing to the db via IP address? 

Thus you just by passed setting up any sql engine & you can make your own test db or test table on live db.
#93
Events / Re: Viking wants some game ton...
Last post by Raptor-Man - December 15, 2021, 11:28:12 PM
I missed this
#94
Missions / Re: Drongo's Mods and mission ...
Last post by =JpS=SgtRock - December 15, 2021, 06:42:08 PM
QuoteIf only you hosted your Arma3 server on hosthavoc - where they use this magical DLL which sends game state to a MySQL server already installed & working for other arma3 games!

Bonus - you don't even need cpanel for it - they include a free DB for that exact purpose with your game server instances when you buy from hosthavoc.com.

Yeah, yeah.   :D ;D :D

Doing so, though, that assumes someone understands MySQL. I know I don't. The few times that I tried to set up a MySQL database engine I never did get it running. Not running anything useful, running at all!  :P :-[  I'm good, but apparently I'm allergic to SQL engines. Or they're allergic to me.  :o :(

Figure out what data elements are going to be of interest? Yeah, I can do that. Figure out the high level data flow? Yep, that too. Do a simple or even moderately complex entity relationship diagram? Not a problem.

Actually set up a working SQL engine? Is that smoke I smell? ;D ;D ;D ;D

By contrast, my efforts in GUI design, as ugly as my results are, are at least producing something that has some hope of working as designed!

I do agree that at some point we need to figure out the database use if for no other reason maintaining player stats long term will require it. In the meantime I don't mind using Drongo's tools to limp along.

QuoteI don't have a machine to load & compile huge MP maps, but loading up & analyzing so we can figure out what makes the systems run should be fine.

Not sure what you mean by that. I've just been running the mission editor built into the game itself for mission building. Basically, if you can run Arma you can run that editor as long as you have a pre-built map. That's the only editing that I've done. I think the same is true for Cappy and Dark, too.

The script editing just requires the text editor of your choice. I started out using Notepad++. I switched to Visual Studio Code when I found out that there's a plug-in for verifying correct syntax called SQFLint for Arma scripts. (SQF is the default extension for Arma scripts.) It makes debugging a lot easier.

IOW, any machine capable of running Arma 3 at a decent framerate is more than enough machine for mission creation. This is not about building maps from scratch. That's a whole level of artistic work that I don't feel at all comfortable attempting to tackle. No need, anyway, with so many gorgeous maps already in the Workshop.
#95
Missions / Re: Drongo's Mods and mission ...
Last post by Raptor-Man - December 15, 2021, 12:46:05 PM
Quote from: =JpS=SgtRock on November 21, 2021, 09:06:56 AM
I know, I know. I can't seem to settle on a consistent set of tools!    ::) :o

I had high hopes for using the ALiVE (Advanced Light infantry Virtual Environment) mod. It's been around a long time, is still in active development, and has a really solid team of developers behind it. The challenge with it is there is no good way to modify the virtual elements based upon player actions. That makes using it for any sort of persistent campaign fairly problematic. I eventually had to give up on it for the time being.

If only you hosted your Arma3 server on hosthavoc - where they use this magical DLL which sends game state to a MySQL server already installed & working for other arma3 games!

Bonus - you dont even need cpanel for it - they include a free DB for that exact purpose with your game server instances when you buy from hosthavoc.com.

Act now to enter a more modern area of video game design! ;) ;) ;)

On a less note satirical note:

If you had talked to hosthavoc last year - we'd have had perm stats & probably should shifted me from those sorts of projects to deep integration.  I don't have a machine to load & compile huge MP maps, but loading up & analyzing so we can figure out what makes the systems run should be fine.
#96
Missions / Re: Persistent scoring for Lla...
Last post by Raptor-Man - December 15, 2021, 01:49:51 AM
oh & this guys thing is actually easier even if he picked a weird subject:

https://blog.mclaughlinsoftware.com/2021/04/27/mysql-ps-connection/
#97
Missions / Re: Persistent scoring for Lla...
Last post by =JpS=SgtRock - December 14, 2021, 09:03:43 PM
Definitely something to pursue further. :)
#98
Missions / Re: Drongo's Mods and mission ...
Last post by =JpS=SgtRock - December 14, 2021, 07:51:18 PM
    TL;DR version:
    I still hope to have a playable mission up before New Year's although I don't know if I'll make it. The core of the mission is largely complete. However, MP set up led me to have to dig into (gasp) writing code for the first time in way too many years. I'm enjoying the challenge, though, so it's a win-win as far as I'm concerned. :)

    Long version:

    P.S. Almost forgot. The development work discussed below can be found here.

    I have completed the basics of what I hope will be a fun, semi-persistent mission set up. As I said, I hope to have something playable before New Year's so we can hammer on it when many people have time off between Xmas and NYE.

    So far as I can tell from the limited playtesting that I've done within the Editor:

    • Random enemy AI units are generated just fine,
    • Random friendly faction generated just fine.
    • Random side (optional) mission generation works fine.
    • I think I have reinforcements and an enemy AI High Commander set up correctly.
    • I also set up the first capture point with an associated trigger to generate a vehicle prize and a respawn point in about 20 minutes. Should be easy enough to add however many make sense on the map. :)

    Stuff that has to get done before the mission is ready to play

    • Ensure that using the Drongo commander tablet is set up correctly. Document how to activate it and use its capabilities in-game.
    • Ensure that using the DYEL mod is set up correctly. Document how to activate and use its capabilities.
    • As a player, choosing a different role. (Work In Progress (WIP) that's taken up much of my development time. More on that below.)
    • Create the mission briefing so people know what's going on.
    • Create signboards in-game to hit the highlights for those who don't read mission briefings.

    Nice to haves that are still on the back burner for future development:

    • Some sort of player ranking and economy system. For example,

      • Money and ranking points awarded for completing both side missions and main goals. Balancing same.
      • Unlocking advanced roles?
    • ?? Anyone have any ideas to suggest?

    So about the WIP around player roles. I had initially intended to just use the built-in Arma "choose your spawn point and a role" function. However, I quickly ran into what I saw as a couple of major flaws.

    First and by far the biggest problem was that I couldn't use custom loadouts. Something as simple as adding a scope to a light MG, for example, just would not work no matter what I tried. Forget about adding Drongo specific things like the commander tablet to a squad leader or officer role.

    The second issue that I ran into pretty quickly was that all loadouts were available or none were. As I was toying with the notion of being able to unlock stuff (again going back to the MG role, start with a SAW style weapon with a possible unlock of an MMG with a lot more punch), this was also a non-starter. That's a real shame because Arma 3 makes it super simple to build a custom loadout and save it as a script for use in-game. You just can't use them with the built-in loadout screen!  :o

    Finally, I want this to be a re-usable resource that can be added to any mission that we end up creating. That means I always have to think about whether what it is can be used anywhere.

    After a fruitless search for an already built mod that could do what I was hoping to do, I was forced to conclude that I was probably going to have to write something myself. Scripting in a new language doesn't scare me. I've had to dabble in everything from 6502 Assembler to Python with detours into several dialects of Basic, Pascal, COBOL, Fortran, bash shell, and a smattering of other languages along the way.

    Nope, what made me hesitate the most was building a GUI. The last time that I did one from scratch was in tkinter about 30 years ago. It's safe to say that my skills in this area are just a bit rusty. ;)

    The good news is that Youtube is an excellent resource. I've found two Youtubers in particular that did GUI building videos that have been very helpful. I also have found some other Youtubers with good editing tutorials that have really helped me understand the Arma scripting language. In addition, the Arma 3 Editor UI makes the iterative process of developing and testing a GUI much easier than it used to be with older BI games.

    I've been working with just a couple of roles while I work out the kinks. At this point I have the role GUI displaying no problem and you can choose between roles. What's missing is a display that will tell you why you might choose one role over another. The display's there but it's not filling in correctly. I think I need to figure out a variable passing issue.

    Once that's working it'll be time to start populating the data for the other roles. For this mission I'm just focused on NATO roles. However, once I have the framework done it should be easy to reuse it for just about any faction, original or modded.

    Completed roles:

    • Autorifleman - Carries the MXM and 100 round magazines. This is basically the SAW role.
    • MMG - Carries the SPMG chambered in .338. Damage to people and vehicles sits between the MXM and the Mah Deuce. I see this as more of a long range area denial role.

    Other required roles:

    • Squad Leader - Required role to call in supports. (And to manage buying AI squads?)
    • Combat Lifesaver - gets the medic trait, obviously.
    • Engineer - gets both the repair and explosive specialist traits.
    • Grenadier - Grenade launcher armed with 3GL rounds instead of the singles.
    • Marksman/Recon - Gets the laser designator by default.
    • Pilot - Can't fly unless you're willing to commit to the job.
    • Rifleman - Basic unit that everyone will spawn in by default. ACO sight added to the rifle.

    Nice to have roles:

    • Vehicle crew - Required role for operating an APC or tank. Not required for lighter vehicles.

      • Maybe use this role for manning heavy static weapons as well?
    • UAV operator/hacker
    • Combination Forward Air Controller/Artillery Spotter - Drongo's Air Ops and Artillery mods could make this a fun role to play.
    • Fireteam leader - Useful for larger squads.
    • Mortarman - My personal favorite. ;)
    • Officer - make this role the only one that can use the Drongo tablet? Still weighing the pros and cons for this. Could just limit it to SLs instead.
    • Additional weapons loadouts for roles similar to what I built for the LMG/MMG roles.
    .[/list]
    #99
    Missions / Re: Persistent scoring for Lla...
    Last post by Raptor-Man - December 14, 2021, 07:06:07 PM
    As I offered last spring - you or anyone else interested can link up on zoom etc & we'll pair program this out - just no one has taking 20minutes to do so yet.
    #100
    Missions / Re: Persistent scoring for Lla...
    Last post by Raptor-Man - December 14, 2021, 07:04:15 PM
    I totally forgot - I actually already made the logfile generator ...

    So I'm going to admit I'm a tiny bit fuzzy on how to powershell sql commands since it's a skill that really shouldn't be used - this should be done by solving the permissions/implementation issue with hosthavoc of why the DLL doesn't work for us, but same DLL works for antistasi life on their servers.

    I tossed in at least 30 hours (conservatively if not triple that with research) on making a modern solution & you're insisting on going back to the 90s so it's a problem for someone else to solve.

    All you have to figure out is

    1) uncomment the log writing line
    2) insert the db credentials into sql or user get-credential so the person running stats has to hand type it
    3) how to write an insert query in powershell & record it into a *.ps1 file - then you have your text based logging.

    1) you have to do is change fn_getKillInfo.sqf to uncomment line number 49 in the mod I wrote you last year & the stats will log to the *.rpt

    2 & 3)  From there something based on this guys powershell like:

    Powershell to setup db connection

    [string]$sMySQLUserName = 'dbusername'
    [string]$sMySQLPW = 'DatabasePa$$word'
    [string]$sMySQLDB = 'db_test'
    [string]$sMySQLHost = 'localhost'
    [string]$sConnectionString = "server="+$sMySQLHost+";port=3306;uid=" + $sMySQLUserName + ";pwd=" + $sMySQLPW + ";database="+$sMySQLDB


    Test db connection:

    $oConnection = New-Object MySql.Data.MySqlClient.MySqlConnection($sConnectionString)
    $Error.Clear()
    try
    {
        $oConnection.Open()
    }
    catch
    {
        write-warning ("Could not open a connection to Database $sMySQLDB on Host $sMySQLHost. Error: "+$Error[0].ToString())
    }



    Assemble the insert query with insert string from FN_formatInsert.sqf line #25 & the text from log file suppied by fn_getKillInfo.sqf line #49

    # I defined a PSCustom Object for a User
    $oNewUser=New-Object psobject -Property @{"username"="NewUser";"login"="login126";}
    $oMYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand
    $oMYSQLCommand.CommandText='
    INSERT into `db_test`.`users` ($StringFrom) VALUES("$StringFromLog)'
    $iRowsAffected=$oMYSQLCommand.ExecuteNonQuery()



    Bit of my research I recorded:  https://mirviriam.wordpress.com/2021/12/12/arma-logging-to-mysql-db-to-webpage/?preview_id=6930&preview_nonce=f05ea98106&preview=true