Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

50 Excellent

About g4borg

  • Rank
    Helicopter Hunter

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
  • Interests
    Development, Computer Science, Games

Recent Profile Visitors

1196 profile views
  1. g4borg

    Unpopular Opinion

    sorry, but making money should be the companies priority, not the consumers. this defensive attitude is by no means "unpopular", and many shady game developers actually profit highly from the advocates, even pushing their own "victim" standpoint, while most of the money is disappearing in completely unrelated "sinks". I know you mean it well, but unfortunately, money isn't everything. Game development is one of the hardest jobs in programming, it is taxing intellectually, operationally, emotionally. Sometimes money cannot solve these issues.
  2. I know this is sort of a rant, but I have to kind of document it somewhere, because atm. DayZ Scripting made me encounter a really frustrating situation. How it started: It seems that files have maximum sizes, that means, simply serializing e.g. player based data into a json file is impossible. I have to start using multiple files. Weird, but fine. I implemented my systems with steam ID as filename in a custom directory in $profiles. It also seems, maximum amount of files in a directory, for whatever reason, is set to 500 in scripts. Saving a file will raise an exception. Nice to realize this by accident. Now since there is a MakeDirectory function in System, one would think: okay, let's use sub-directories with hashed directory names. At this point I just whish, the dumb 500 would be at least 1000, so I can properly hash a SteamID. But no. And MakeDirectory does not work, it simply returns 0, and does not create a directory in $profile. I have no idea how to use $saves on a server, but it does not matter, as it also returns 0 there. I cannot of course read inside a script, how many files there are in a directory, but maybe I have overlooked a function in EnSystem.c I could also of course pre-create a trillion directories so i do not need to create them. naaah... c mon. I have no idea how to create exception handling in this script language, as the documentation is non-existant. But of course if I had that, I could at least try to catch the maximum files error and simply hardcore some directory rotation and predefine maybe 100 directories i jump through until i can save; Of course I would feel dirty at that point, having to fall back to programming techniques like this. (If anyone has an idea how to do that, pls tell me; I mean exception catching, not feeling dirty) There is no socket support whatsoever. By now, But Clipboard copy / paste. Maybe I should implement communication with the outside world over that? Holy crap, do I just really thought about using the clipboard for application communication? No DB Support exposed. I mean, after the problems Arma2-DayZ Servers had, because you could not use .so files like .dll files to write a db plugin, while most servers ran actually on linux, you would expect them to at least have that on windows. But no DayZ Standalone is even worse in this regard. I know there is database stuff used internally, as the player database is a sqlite db file. So maybe it is still under development. Please tell me it is under development. Because SQLite is not really something you would use in production. It is usually used as placeholder for a more dedicated db system, because it is really not performant, like at all; which probably also lead you to use file dumps for the saves. I am deeply disappointed at this point, how the technical stuff is handled. No mod loading on join, no linux servers, no database or at least socket communication, no documentation, and then silly restrictions on stuff like files in directory. Who decides to set a 500 file restriction in a game scripting api? What is that even for? Why? The Operation System itself will handle that! Or wait, was it just because you did not implement exception handling from the operation system side?
  3. g4borg

    Just another weather question

    I usually try to avoid 0.0 tbh with the weather script. but yes, in theory that would mean it, albeit, Set actually is supposed to set the current rain, and it very much depends whether the weather system itself reacts or not. maybe better to ask in that reddit post however.
  4. g4borg

    Stable Update 1.02

    I like the changes, and congratulate on a lot of fixes, and the introduction of the new car. I am a bit confused which xml has which line endings, and a bit displeased about stuff like 500 files per directory limits, or file size limits, while at the same time no proper database connection implemented yet. I really whish we could put that in postgres Also, I am still missing one decisive feature for my personal taste: to define a separate drive/folder for the mission folder; so we can have it on a different drive. I feel like you devs really need to catch up in development practices. Which is why I hope you actually have a good big sale to give you some breathing room Finally, I'd whish we could put the dayz scripts unpacked into a repository like git (I try that at home, to follow your changes in the commits), so we can easily read changes there, as sometimes it impacts the custom scripts. I would have opened mine read only, but I am unsure whether that's allowed. I know I see it from a technical perspective, but ultimately, it's for the greater good (tm).
  5. i don't follow your argument. you complain about it making lights obsolete, about super brightness, and so on, and think toning it down would not help make it better. okay... i understand, you want to know if you are visible or not, but truth be told, you would not be able to tell, because it depends on the others monitor, resolution, gamma, and how your movement affects you due to the background. so if i read you right, you actually bring up the argument, it could not be toned down, because you lose a personal advantage of telling how well you hide.which is fine, it's a valid argument. but i understand, why you therefore do not feel it can be toned. it's almost if you have two separate issues with the feature. on the flipside, dark vision is a real ability of humans. if you turn lights off, your eyes will slowly turn off the color vision, and ramp up your black-and-white vision, which is highly movement sensitive, and very sensitive to light, so you will start to see even in star-light. you probably know, if you ever spent time outside of the light smog of modern civilization. which is how i built my argument. it should be greyscale, mainly outside, need time for adjustment, etc. light sources will be rendered obsolete anyway as soon as there are NVGs, except the NVGs also shimmer green; with the current gameplay, nights are usually ignored, servers empty, and a light source is such a high risk, it is obsolete in any way. Let me expand my initial proposal then: The feature should be toned down, greyscale, adapt slowly, and be more prominent outside than in a building, also for reasons of balance. You should be able to disable the feature personally in the options if you so whish. Might even be a server side flag option for the hardcore. It might be even fair to only have this feature from first-person perspective. I also like the proposals about real moonlight, and maybe the ability to restore streetlights, albeit i would love that feature to be configurable. The original plan was to allow players to hook up a generator to restore lights in a particular town, I whish that back on the roadmap.
  6. they should just tone it further, so it becomes similar to natural human dark vision. it should be darker or even off in buildings. it should be greyscale. it should need a while to activate and be reset when you encounter a bright light and of course it should not illuminate things completely. perfectly fine however if they have a system like this.
  7. g4borg

    Stable Update 1.0150627

    if they go the DLC route, they can just as well stop working on the game right now, because that is not gonna fly with anybody, and it will literally kill their game. if anyone has plans like this, he or she is absolutely not suited for marketing and they should fire him or her, as that is the only extra revenue they can actually look forward to. the only thing i can imagine the majority of players would accept as DLC are new maps. there it actually would seem like a good idea.
  8. g4borg

    Player Stats Tracking

    i only saw playtime being updated for now you can read that from PlayerBase: float playtime = player.StatGet("playtime"); it's a float in seconds (so 900.0 is ~15 mins). i saw other stats, but they do not get updated as you say, and it is probably not worth it implementing this yourself. i use this variable to determine respawn loot on my server.
  9. I think it would be benefitial to decouple this in a separate CLI tool, instead of binding it into a fiddly-to-setup-editor Especially since the language is sparsely documented; I think it would also improve the quality and maturity of the development tools, if the editor is handled separately to the compiler, even if using the same core functionality. It should of course not end up in parallel development, like the worktools, where the GUI Version uses a different config file (and e.g. the CLI Tool, which is used to deflate the game files, does not really adhere to using the Workdrive configuration, and seems to use P:\ at all times, while the GUI Version has other functions missing, but theoretically allows you to set another drive letter)
  10. It would be awesome, if the location of the storage OR mission file could be passed via config key or command line parameter to the server. This way, the game could be installed on a hard disk, but use the storage folder on a ram disk. Using a RAM disk is a good middle way for the current way of dumping the worldstate to files, but it has no upside on the server itself.
  11. Weltenfall DayZ IP: Port 2302 (also find us in DayZSALauncher) --- The goal is a balanced server for Teams, Survivor Drama, Lonewolf but also PvP oriented players. Our Team has experience handling large Servers. We give Standalone a shot after developing Features now for two months, I hope we can present a mix of good vanilla settings combined with useful changes. Default Features and settings. - Root Server Hardware. (Ramdisked saves did not cause us corruption yet; can be expanded on demand) - Long Day; Short night. through 12h restart schedule, atm. a day only server - Adjusted loot tables; (e.g. no flashlights as long as we are day only, adjusted to single server economy) - NO Cargo on loot count whatsoever. Hoarding items will not reduce spawnrates! - Spawn Area around South East only; the golden age of spawnpoints. - Survival Spawn Kits, including a Radio, a few fruits and either a goodie or a sort of knife. - Increased amount of Heli Crash Sites, with some loot only spawning there. Our customized Scripts - Respawn Extras (based on Quartz*): the longer you survive, the better gear the game gives you at respawn (a bagpack, supplies, etc., no military stuff) - Hordes (fixed, working, no announcements) - Extra cars (all ready except sometimes the sparkplug) - Elektro: The home of PvP. Around Elektro, you spawn with a Makarov, to defend yourself. - Elektro: Extra ammo / pistol loot spawns on the street make it very lucrative for everyone to roam the streets, even geared players. Watch out! - Custom Weather System: more steady weather, with lower chance of rain and correct lerping. (tho weather desyncs still happen - not fixable by us) Quartz * our server economy currency. - After 15 Minutes, every 15 Minutes you get 1 Quartz on your account. - This is used on respawn to determine what loot you get extra. - The respawn reward is capped at 20 Quartz, any extra Quartz remains on your account. - We might expand on this system with further uses. Features to come - Respawn Shop: our website will allow you to set a respawn gear, or select which items you want preferred, is under construction. - Mods that are optional; we want to add mods that add to the gameplay without need to disturb vanilla users. - An Endgame Idea as a Mod. Let's see if this will ever see the light of dayZ.
  12. tu die hilfsfunktion über die override funktion. (bzw. korrekt gesagt "daneben" also auf derselben ebene) du darfst keine funktion innerhalb einer funktion definieren in dieser sprache. EntityAI EquipItem(PlayerBase player, string itemClass, int amount) { EntityAI item = player.GetInventory().CreateInInventory(itemClass); item.SetHealth("","",100); if (amount > 1) { ItemBase itemBase; if ( Class.CastTo(itemBase, item ) ) itemBase.SetQuantity(amount); } return item; } override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { EquipItem(player, "HuntingBagpack", 1); EquipItem(player, "HuntingJacket_Summer", 1); EquipItem(player, "HunterPants_Summer", 1); EquipItem(player, "HuntingVest", 1); EquipItem(player, "CombatBoots_Green", 1); EquipItem(player, "Headtorch_Black", 1); EquipItem(player, "HuntingKnife", 1); EquipItem(player, "CZ527", 1); EquipItem(player, "Mag_CZ527_5rnd", 2); EquipItem(player, "AmmoBox_762x39_20Rnd", 1); EquipItem(player, "HuntingOptic", 1); EquipItem(player, "CZ75", 1); EquipItem(player, "Mag_CZ75_15Rnd", 2); EquipItem(player, "AmmoBox_9x19_25rnd", 1); EquipItem(player, "PistolSuppressor", 1); EquipItem(player, "ImprovisedSuppressor", 1); EquipItem(player, "Rags", 6); EquipItem(player, "Canteen", 2); EquipItem(player, "CanOpener", 1); EquipItem(player, "Battery9V", 2); EquipItem(player, "HuntingKnife", 1); } ich habs nicht probiert. ansonsten von einer cleanen init.c ausgehen und neu einbauen.
  13. Meine Hilfsfunktion ist eine Hilfsfunktion. Die ersetzt grundsätzlich keine der anderen Funktionen. Sie ersetzt was in jener Funktion geschieht, und war dazu gedacht, den Vorgang verständlich zu machen. Ich hoffe auch mal aufrichtig, du hast nicht einfach "..." in die Datei geschrieben. Der Aufruf: EquipItem("HuntingJacket_Summer", 1) ersetzt "itemEnt = itemTop.GetInventory().CreateInInventory("HuntingJacket_Summer"); SetRandomHealth(itemEnt);" (mit dem Unterschied, dass es statt RandomHealth full-health macht, und optional das casting übernimmt, sowie stack-amount setzt) es gibt nur zwei wege zu programmieren zu lernen: a) verstehen was jede zeile macht, indem man sich es im kopf vorstellt, b) solange fehler korrigieren bis man versteht wie es geht. es gibt kein c.
  14. Der Cast nach ItemBs wird nur gebraucht wenn du die Anzahl eines gestackten Items manipulieren willst, oder eben andere Methoden, die in ItemBase definiert sind (was eine Mutterklasse von EntityAI ist). Du brauchst es für den Ausdruck "itemBs.SetQuantity(2)". Warum die herumcasten, frag mich nicht. Klingt für mich ziemlich broken was Objektorientierung betrifft. Es ist eine Unterklasse, und demnach müsste ich ja alle Methoden der Mutterklasse ohnehin aufrufen können. Ich hab jedoch auch noch nie probiert "itemEnt.SetQuantity(2)" aufzurufen, weil eben alle Beispiele diesen Casting Zwischenschritt haben. (Casten = das wandeln einer Instanz-Variable einer Klasse in eine andere, von der es vererbt wurde) Als Vergleich hier ist eine Hilfsfunktion, die ich zum Erstellen von Items verwende (jedoch mit vollem Health Wert), um aufzuzeigen wie der Ablauf tatsächlich ist: ... In init.c wird genau das auch öfter hintereinadner gemacht, die Variablen "itemEnt" und "itemBs" werden einfach nur wiederverwertet, nach jedem Create (während eine Hilfsfunktion wie die meine den Nachteil hat, dass sie die Hilfsvariablen bei jedem Aufruf neu initialisiert), aber ich bevorzuge Lesbarkeit über frühzeitige Optimisation. To be honest, all the pain going through learning the ins and outs of Scripting makes it a lot less painful, if someone says thank you 🙂 Myself I have already twice thrown the towel in creating anything in this ecosystem, and returned coding on other Projects in unity, where I have to do a lot more, but at least, I have control over my project, and don't have to deal with a system that defines everything seven times on different positions, packs it in binaries, defines configuration stuff for everything ten times, and that without really making it easier to overload things, because the real stuff you would want to change, is hardcoded after all. And while you could solve stuff with creating mods, the client does not even support loading them on server join. One really asks the painful question, whether it isn't faster to write the whole game yourself faster, than a mod for it...
  15. g4borg

    Problem with ChatPlayer()

    unfortunately no, as i did not yet make a mod myself yet in dayz. but maybe someone here has. but i did see chat mods on the workshop which might be usable and introduce RPCs, like the SideChat. what you would basicly do is send an RPC to the server if a player on the client enters a text. this has to be done in your mod, or any mod you use which sends an rpc to the server. on the server, the RPC would be catched as event (which can be done perfectly also in mission) and lead to whatever you do with it. you can already catch chat messages from players who are logged in as admin (#login password in chat, happens over battleeye). so for something like admin commands, this already works. however since the event only sends username and message, you would also have to make sure, each admin actually sets a username explicitly, or you will not be able to identify who actually wrote it (i know, it sounds as broken as it is). To be honest I sincerely hope, this will be fixed by the devs, which is why i wait. because until the client cannot auto-load mods natively, i fear that running modded servers will only appeal to a certain population (which usually prefer heavily modded servers), and i just want modifications that are "useful". also for the general public this is no good, as you would certainly not want to distribute your server password to people, who can then just enter #shutdown at any time 🙂