Jump to content
The Dark Mod Forums


Development Role
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Dragofer

  1. @kin NHAT v4 is in the beta testing forums right now, so it should be fairly soon. Could maybe do with another tester there, though.
  2. Looks like it uses the .tga image directly, without putting it in a material. You can simply create a material for your FM by copy-pasting an existing decal material and changing its paths. It would actually be quite helpful, because then a team member can transfer your fix to the core asset base. The bugtracker is definitely the best way of tracking asset issues like this.
  3. @MirceaKitsune There's quite a few tickets that list a number of asset issues and get expanded upon as their author finds more - no need to have 1 issue per ticket in such a case.
  4. Stuff like this really needs to be tracked in the bugtracker.
  5. An immediate band-aid would be to create a filter that looks for that model and use the right-click menu to "Select by filter". I have a "search" filter that I edit whenever I need to look for a specific thing. Maybe a search mask would be the most flexible solution. Get prompted with a dialogue for "spawnarg" and "value" and it selects all entities that match this.
  6. I've: Updated my SVN for assets and source code, compiled the latest source code Removed the normalmap from my SVN install for one of those textures Exported that normalmap as a BC5 .dds with mipmaps in GIMP Placed that .dds normalmap in the corresponding dds/ folder Loaded OGDA's demomap The console tells me that TDM failed to get a bindless texture handle on that normalmap There's no normalmap effect visible ingame.
  7. @joebarnin Maybe you can spawn a new rope at the same location and rotation? Possibly a stuck rope arrow and/or the rope arrow result entity. Otherwise it'd have to be that the script waits for the player to get off the rope. For fixing this, it should be possible to either expose the detach functions to scripting or call them from teleportation functions. @MirceaKitsune The only thing I can suggest is to look at all the spawnargs, I have no experience making animals that are like humans. Search cooldown timers for a fact have a lot of spawnargs governing them. And maybe you need to set some kind of rank so other AIs know what to greet them as.
  8. @joebarnin I think you'll need to clear immobilisation flags from the player - MirceaKitsune's recent arcade machine posted to the Art Assets thread has a script that works with these flags. scriptEvent void setImmobilization(string source, float type); Used to set immobilization from a source. Warning: Not a finalized version. It's subject to change, so use it at your own risk.) Spawnclasses responding to this event: idPlayer Btw, this is how the player is detached from a ladder in the engine (Physics_Player.cpp): Yeah I think it's a bug that teleportation doesn't automatically do this. It could be worth a ticket.
  9. @MirceaKitsune To me the 2 GUIs look the same - same format, and both just a tad too short. Can't you just increase the vertical size of that GUI window? Debugging crashes is worlds easier when you can build yourself a debug build, showing which entity and which function was the problem. It's pretty easy to install, pretty easy to compile a new build (open the code in Microsoft Visual Studio, select "Debug with Inlines" from a dropdown list and press F7) and would probably have a high payoff for someone scripting as much as you do: TDM Compilation Guide
  10. Nice work! It's like you've packed an FM into that machine I think it'd also have potential as a good generic machine prefab with some variants, possibly taking out or replacing some of the more arcade-machine elements like the overhead arch. Feedback-wise from here: - the screenshots indicate that the parchment texture is a little too small to fit the game, would be worth stretching that GUI window. - saving and loading problems generally occur when a scriptobject is stored within a map script (so i.e. nameoffm.script next to nameoffm.map, instead of script/game_blocks.script) or when a script is called from the console. There are also functions that can be added to a scriptobject to Save or Restore, though I have no experience with when that may be a good idea to have. - "game_blocks" doesn't occur in core .script files, so the only thing I can suggest is that you might have a leftover .script file floating about in your base install or in a .pk4
  11. @stgatilov Thanks, it turns out that 2 .pk4's were blocking the installer: tdm_textures_window01.pk4 - this .pk4 had a duplicate ending in .pk4.temp, which I already deleted yesterday. Log: tdm_installer_1627146664.log tdm_textures_stone_sculpted01.pk4. Log: tdm_installer_1627146488.log I'm pretty sure I touched neither of them, but in any case, deleting both of them allows the installer to progress.
  12. If I'm not misremembering, every time a message GUI entity is triggered, the overlay that's created is assigned the next highest handle, so 0, 1, 2, 3, 4 etc.. So you can't say that a GUI message's handle will be 10. When the overlay is created, you can catch its handle like this: float GUI_handle = $player1.createOverlay(.....); So you can store this handle as a variable inside the GUI message entity's scriptobject, roughly like this: [scriptobject, custom version that inherits from the stock scriptobject, only needed if the handle isn't already defined as a variable ] object gui_message_custom : gui_message { .... float GUI_handle; }; void gui_message_custom::show_message { .... GUI_handle = $player1.createOverlay(....); } And retrieve it from your global script: [global script] { gui_message_custom e = $atdm_message_entity_1; float handle = e.GUI_handle; .... }
  13. It looks like there's something like that being done with the spyglass, ZoomInRequest, in spyglass.gui and tdm_playertools.script.
  14. Applying a high pressure over a small area is something you'd want if you wanted to fracture (impact) the bone. For achieving concussion, it'd take a lot of kinetic energy to that body part which is passed on underneath, shearing nerve axons and membranes so that their function is disrupted. Kinetic energy increases linearly with mass but exponentially with velocity, so maybe a very fast blackjack can attain more KE than a chair that dropped only from a couple meters. But what might be worth imagining: how fast could you swing/throw a chair with one arm, and how would that compare to letting it drop x metres? Re: the elite guard helmets, I suppose they have better protective layers to dissipate the kinetic energy of the impact.
  15. Seems my tdm_installer.exe can’t get past the first screen anymore. I select “Get custom version” and click on “Next”, which leads to an unusually slow analysis of each of my .pk4’s before getting “ERROR: Minizip error -103”. From what little is written on the internet about this, it seems this error means the installer has troubles opening an archive. I noticed that 2 of the core asset .pk4’s had duplicates ending in .pk4.temp, so tried deleting those. Also tried renaming the .zipsync folder – no avail. Checked in my task manager to make sure that there isn’t a TDM or DR process still hanging on.
  16. It's all in the wiki now: A to Z Scripting In your case the page on "Ways of calling a script" would be relevant, as well as "Scriptobjects" since what's what you're dealing with.
  17. You can drop something heavy from above, that KOs most things.
  18. The pickpocket count should be quite feasible to add to the mission statistics. I'd do it by 1) adding a basic property to the base class for pickpocketable items like keys and purses, then 2) scanning all AIs in the map to count how many such items have been attached to them to see how many there are in total.
  19. This sounds like a possible case for @stgatilov, concerning his recent proxy model feature. @PsymH As a workaround, you could try deleting your darkmod/models/roth_gen folder.
  20. A strong link between speech and violence can be demonstrated by performing an interventional study. This would mean selecting a number of comparable towns and generating hate speech in half of them, i.e. by sponsoring inflammatory articles in the local newspapers and hiring troll bots to post in local communities, then observing to see how incidents of violence against specific groups develop. This would be highly unethical given the possible consequences, so the next best thing may be to observe the effects of an existing hate speech campaign in certain towns, which may be carried out by far-right political parties/organisations or foreign governments. You don't have exact control over the input in that case, but should still have quite good results. A further method may be to systematically analyse public communications, i.e. demonstrating that whenever a local newspaper, politician or organisation publishes an inflammatory speech directed against a group, there's an increased risk of violence in that area in the period thereafter. As you imply, a sequence of events is not enough to infer causality on its own. But you are already a good part of the way there if you demonstrate a strong, temporal association; that the greater the exposure to hate speech, the greater the rise in violence; and that your results are reproducible and consistent across a variety of settings and modalities of hate speech. This would further be backed up by demonstrating plausibility through mechanistic studies, such as an experiment in which participants are given two versions of an article making the same arguments about a minority, but in which one is written in an inflammatory way, and comparing how it affects the participants' agreement with statements pertaining to the rights of minorities. So it's indeed possible to build a good case that hate speech causes violence. Furthermore, given enough power, studying the link could also identify which parts of the speech are problematic, giving a scientifically validated basis for defining hate speech. By extension it could be developed further into a classification system, ideally reducing human involvement to determining which characteristics are present, just as is done with speech that explicitly calls for violence. There are of course flaws to taking a scientific approach, such as that its conclusions are always subject to revision by later research and are by definition never 100% certain. But then, isn't this the fundamental problem of asking for proof that a law is likely to be effective? You don't seem to be asking for such evidence concerning speech that directly calls for violence, presumably because it seems more obviously plausible to cause violence and necessary to forbid, as well as for practical reasons, such as that it seems easier to identify it as well as prove malicious intent?
  21. I do have a downloadable Precursor-style lamp in my Scripting thread, which uses trigger brushes to repeatedly activate a lamp to "keep it alive". As Obsttorte and joebarnin suggest you could also do it by defining a S/R radius, though I've used the trigger brush method to be able to define where exactly a lamp should switch on/off. The problem is that because of a TDM bug, AIs stop activating trigger brushes when they stand still, so my lamps can only react to the player.
  22. If the Koran contains passages that would qualify as hate speech, then yes, there's a conflict between the right to religious freedom and the rights of those who are targeted, just as with hate speech. Where a right conflicts with another right, it can no longer be automatically absolute. It's the task of society to find a consensus on whether there's a conflict, how severe it is and then what balance should be struck between them, based on the weight of each right. On the matter of the Koran, my understanding is that it should offer the faithful guidance on how they should lead their lives. It does say they should seek to spread Islam, but to my knowledge not by force or coercion, which as Destined says would be problematic in a society with human rights. Nor does it dehumanise unbelievers, which may have steered the faithful towards the use of such aggressive methods. And the concept of Jihad, as I remember it to be described in the Koran, is more of a spiritual process by which one should come closer to God. The idea of "waging" Jihad as a holy war on infidels seems to have come from those interpreting the text for their own selfish needs. That would seem to be the root of the problems that stem from the practice of religion. If a community attracts people who call others "cunts" and use racial slurs, I don't see how that community could thrive without getting them to tone it down or getting rid of them. A welcoming community is definitely thanks to its members, but moderation may be necessary to ensure it stays one. Fortunately the majority of insults I've seen here are more like your less severe examples, which I believe are considered tolerable in what is a mature community. There's no clear cut-off for when an interaction becomes unacceptable, but that's a cause for caution and discussion, not a reason to do nothing.
  23. @OrbWeaver enabling a filter would make the emitters disappear completely, whereas the issue is more with DR's preview of the particle obscuring much of the surroundings. DR's particle preview isn't very accurate generally speaking: usually there's nothing shown at all, other times it's only very faint and sparse. Larger particles like volumetric fog can be problematic because their previews cause rendering issues over large areas of transparent surfaces like water. And sometimes, like here, the preview becomes opaque when the emitter is selected. From a mapping point of view the preview inside the Particle Editor would imo be sufficient, keeping the func_emitters as plain boxes.
  24. I think an important distinction that's not really been adressed is that the primary aim of the moderation taking place on most forums is to maintain a welcoming community in which constructive interactions can take place. Threads that start on this kind of premise are, in my opinion, bound to descend into bigotry and toxicity, and some even see hate speech here, even if it's ostensibly not intended. I've only just seen the effect bigoted discussions can have on a community when a new private server went up for an old discontinued MMO. The moderation was largely absent at first, leaving the racism/homophobia/toxicity/etc. etc. unchecked. The result was that players were leaving soon after joining because that kind of stuff seemed to be accepted; interested players were advised not to join that server because of the community; and parents said they didn't want to introduce their kids to it. This is the kind of stuff that makes people feel upset and take distance, as some of the comments here indicated. We can and should ask everyone who comes here to bring in a basic level of courtesy, out of respect for everyone else. Almost everything in this thread could probably have been said without allegations of hate speech by choosing a calmer way of expression (without apparent "hate"). Obviously no one wants to take on the role of a schoolyard teacher mediating every single little spat, and this community is mature enough not to need it. But I think a thread dealing with a sensitive subject, such as attitudes toward a part of the population, needs to be moderated to avoid harm to the community. We can have the discussion about the extent of free speech if, despite this, there are calls for crimes against humanity, attempts to dehumanise groups based on religion/ethnicity/etc. or other severe incidents.
  25. @joebarnin Nice work, it's somewhat more sophisticated than the system I had in Down by the Riverside for detecting player proximity to certain entities, which was to bind a nodraw func_static custom stim-emitting cube to the player with a script at map start. Yours is probably the correct way to do it. @JackFarmer In my case, I used such a system to make the glowing footsteps appear when the player goes near. Each pair of footsteps was a patch func_static that was hidden at map start, with a Response that calls a script to fade it in in when the Stim attached to the player comes near.
  • Create New...