Search the Community

Showing results for tags 'scripting'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Public Forums
    • Announcements
    • General Chatter
    • Tournaments
    • Mapping forum
    • UI Scripting
    • Trading
    • Support
    • Bugs
    • Silver Screen

Found 3 results

  1. At the moment the map editor lacks a few functions. This script pack aims to help with shortage of options. If you have any suggestion/request, share and I will look into it What it supports at the moment: Dial control - used for rotating various elements, including rotation, snap angles and daytime. Also supports mouse wheel scrolling. EditBoxExpand - when the current text doesnt fit entirely, when you hover over the control it expands accordingly. Multiple editing - you can now edit entities of the same type at the same time. (does NOT work with ColorPicker and ContentBrowser) WARNING: be very careful when editing multiple entities. Occasionally the game disconnects me because of some weird error. <removed due to instability with no solution in sight> Properties window can now be dragged. GIFS: Progress: repo - https://bitbucket.org/jankratochvil/editor-extended/src direct download - https://bitbucket.org/jankratochvil/editor-extended/get/master.zip
  2. I recently dug into scripting and noticed that a lot of information is missing from the docs and wiki. I thought I would go ahead and list off some problems I ran into as I wrote my first widget. Shoutouts to MAD_JIHAD and SickDownlink. Where can I find example scripts? My first heuristic when diving into a new API or code base is to find examples and see how they work. The two main examples (the fade example, and the basic wiki example, are good but generally geared to the visual aspect of widgetcraft.) However, there are more examples tucked away in reflexfps\base\internal.pak\internal\ui\widgets\ You'll need to open the .pak with an archive viewer like 7zip, or your unlicensed version of WinRAR. This was extremely useful information that I wish I would have known about! So I highly recommend starting there if you're interested in widgets. What functions were called by the engine for initialization, updating, and enabling? This information came from Qualx on the Reflex Discord, people are great there, and I highly recommend poking your head in there if you have any additional questions. The entire code file is executed immediately when the game loads it. This execution will usually define one or more widgets which will exist persistently, and the game will then call widget:draw() every frame on any visible, registered widgets. It'll also call initialize() on every widget, followed by show() and draw() if the widget will be visible, immediately after loading the file, and before continuing to load other files, iirc. How does scope work? I've noticed that if you're attempting to call function that are scoped to your Widget (e.g.: MyWidget:SomeFunction(){} ), you'll need to call it from either MyWidget:draw(), MyWidget:initialize(), or MyWidget:show(). I've also noticed that calling my own functions internally require the self: prefix to reference the objects function. (e.g.: MyWidget:draw(){self:SomeFunction();} ). How do I setup a variable to modify from the game's command line? This one was a bit tricky because I needed to change the way I thought about variables. If you want to store a variable for later use, or for use in a console command you'll need to create a variable. This variable is pushed to game.cfg and is persistent. (I believe...) to create a variable, widgetCreateConsoleVariable("myvariablename", "variabletype", 1); where variable type is int, string, float, or any other primitive. Now modifying that variable from the console is a little more interesting. Once you add the variable, you can access it like this: ui_MyWidget_myvariablename 12345678 where 12345678 should represent the type you're trying to modify. Note you can call a console command with consolePerformCommand("bind mousewheeldown UI_MyWidget_MyVariableName DVD"); I hope this helps someone out in the future. If I'm wrong about any of this, let me know. -Nath (pain][world)
  3. Hello, this is more or less a question/suggestion aimed toward the developers of Reflex. However I would also like to see the current communities opinion on this. I have been playing reflex on and off since I first heard about it and I feel it is a really interesting game. It is more than just a simple afps shooter or another quake clone. Along with it, it comes with an amazing built in online map editor and advanced HUD customization. The game play feels really smooth and is quite unique, overall it is a great game. However, I feel a major aspect and appeal to this game is the fact it is limiting itself to an afps only type of game play. While this is the main point of the game, I feel as though a form of modding or scripting would really improve upon the current status of the game. This would allow for many unique game play ideas or unique one of a kind servers to be created by the community. I realize some of you will disagree with this idea as I have been told a downside of this would that people feel it may "split" the already small community. On the contrary, this would instead allow others to become more interested in the game. For example, games like counter strike or Garry's mod thrive upon player created servers that differ from the main game. While it doesn't need to be as modifiable as those games, I feel it would really implement a feature that would make it really stand out. Finally, I would just like to point out how unique Reflex already is. It comes default with several game modes such as 1v1, tdm, ctf, and my favorite race. Allowing for modding, would allow the community to create unique game modes that others would greatly enjoy and would improve upon current game modes. What is the communities opinions on adding scripting and modding for game modes and various in-game things? Also, what are the current developers opinions/plans on this?