Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/09/21 in all areas

  1. Here are the ruins of a big, modern city. It's not easy to make tall buildings in RO, but I think it came out nicely. Please reply if you'd like to see more map showcases in the future.
    2 points
  2. most errors break the code most warnings does not break the code if there is a bug , there is a higher chance to abuse it if it was a warning like for example a shop that sell item for zeny less then the sell price you will get a warning , still players can abuse it, if you messed up the shop writing you will get and error and the shop wont work ?
    2 points
  3. https://github.com/rathena/rathena/blob/22c7f3988dd0b8f0b8089acb2f1e2cd11ca008ee/doc/script_commands.txt#L2305 --------------------------------------- *countinarray <array name>{[<start index>]},<array name>{[<start index>]}; This command will check for matches between the array values and return the number of matches. While being optional, if [<start index>] is supplied, the search will begin from the given index value. setarray .@array[0], 100, 200, 300, 400, 500, 600; .@variable = 100; if(countinarray(.@array[0], .@variable)) mes "The number 100 was found in the array .@array"; countinarray(.@array[0], .@variable); //return 1 because the number 100 is an element of the array .@array setarray .@array2[0],100,500; countinarray(.@array[0], .@array2[0]); //return 2 because the numbers 100 and 500 are elements of the array .@array setarray .@array3[0],100,700; countinarray(.@array[0], .@array3[0]); //return 1 because the number 100 is an element of the array .@array //but the number 700 is not an element of the array .@array //also you can change the position between the arrays in the command if(countinarray(.@array[0], .@array3[0]) == countinarray(.@array3[0], .@array[0])) //This is true For more details, see the sample in 'doc/sample/inarray.txt'. --------------------------------------- Example: //creating an array with the values with no duplication for(.@i=0;.@i<getarraysize($account_id);.@i++){ if(inarray(.@vtemp,$account_id[.@i]) == -1){ .@vtemp[getarraysize(.@vtemp)] = $account_id[.@i]; } } //now .@vtemp have all the values without duplication //counting for(.@i=0;.@i<getarraysize(.@vtemp);.@i++){ .@v = .@vtemp[.@i]; .@ctemp[.@i] = countinarray($account_id,.@v); } //now .@ctemp have all the values count with the index of the value //the result for(.@i=0;.@i<getarraysize(.@vtemp);.@i++){ debugmes .@ctemp[.@i] + " = " + .@vtemp[.@i]; } //burning the array but extracting only the first 3 (less if there is less then 3 in the array) .@wanted_count = min(getarraysize(.@ctemp),3); while(.@max < .@wanted_count){ .@max++; .@c = max(.@ctemp); .@ndx = inarray(.@ctemp,.@c); .@s = getarraysize(.@result_value); .@result_value[.@s] = .@vtemp[.@ndx]; .@result_count[.@s] = .@ctemp[.@ndx]; deletearray(.@vtemp[.@ndx],1); deletearray(.@ctemp[.@ndx],1); } //end result for(.@i=0;.@i<getarraysize(.@result_value);.@i++){ debugmes .@result_count[.@i] + " = " + .@result_value[.@i]; }
    2 points
  4. Evening all! With the recent forum updates comes some new shiny features from IPS. The feature I'm most excited about is the new Achievements and Ranks. The old Badges & Awards plugin has been merged into the new Achievements system on the forums - I'm sure some of you have already begun to receive additional badges for posting content or uploading a file! The ancient Ranks system has been replaced with the new one and updated to use the names of familiar in-game mobs. The order is different to the old one and the number of points for each rank has changed slightly, but I can see that some of you are already quickly climbing the ladder! The following table details how many points gets you to which rank, and how to earn those desirable points. Posting a comment/reply: 5 points Following a content item: 2 points Following a member: 2 points Following a node (forum, album, category, etc): 2 points Posting a content item: 10 points Reacting to a user's post/content item: 1 point for both giver and receiver There are other methods, but to reduce forum spam I'm omitting them from this list. Remember; spamming the forum will result in Warning Points which may result in your account being suspended. Happy posting!
    2 points
  5. Version 1.1.0

    287 downloads

    Bug Report on discord: KyoSasuke#5401
    Free
    1 point
  6. Without the ability to modify the client to this extent, the simple answer is no. You're better off sticking with third-party applications like Discord for voice chat with your guild/party/friends.
    1 point
  7. Warning are not errors, you should not be afraid of warnings, they usually auto fix and gives the fix specitication that applies. Anyway, you can adapt those using this extra script: https://github.com/rathena/rathena/blob/master/npc/custom/events/mvp_ladder.txt It spawns mvp and detect only mvp killed through script, and also has a ladder. Then add statue script from annie ruru that read your ladder.
    1 point
  8. Objective Load scripts not from your standard `rathena/npc` directory but instead, from a remote server via http/https. Design goals Parameters for NPC script loading would be: (a) remote http/https URL (b) support for request header for authorization purposes (e.g. API key) e.g. https://some-ro-developer.com/servers/some-ro-server-1/scripts/my-private-script?version=0 Authorization: Bearer <API token or key> The API token or key can be stored in a git ignored ENV file, so that unauthorized users don't have access to the source code Failure to download the script will result to no operation- warnings but not fatal server crashes The downloaded file must be a single `.txt` file The file is then hashed by the server, and cross-checked to ensure data consistency e.g. https://some-ro-developer.com/servers/some-ro-server-1/scripts/my-private-script?version=1.0.0&type=hash returns "70460b4b4aece5915caf5c68d12f560a9fe3e4" which should match the file's hash The file's existing supported versions can be checked (returns JSON array) e.g. https://some-ro-developer.com/servers/some-ro-server-1/scripts/my-private-script?type=versions returns ["1.0.0", "1.0.1", "1.1.0"] Caching - Can download the files into a git-ignored directory on the actual server for caching purposes If the requested file and version already exists in cache AND the file's hash matches the hash of the server, no need to download the file again NOTE: Not entirely sure yet if I want the download to be perform the caching, because it goes against the whole idea of "not having the source code on your server" aspect. Benefits By adding this source capability, we: enable RO developers who produce intellectual property (NPC scripts in this specific case) to have some control over their IP. NOTE: It is still possible for RO developer scammers to sell shady scripts/sell scripts that aren't theirs, grant their customers temporary access, and then remove access from their customers. enables RO developers to sell licenses to their IP, and revoke license (disable API token) after some validity period (e.g. 3 months). Opens up the opportunity for a monthly or yearly pricing of their NPC script licenses. enable RO developers to share their rAthena server folder to co-developers without risk of accidentally granting them access to other IP that they aren't supposed to share. e.g. RO Admin builds server. RO Admin buys 10 NPC scripts, with license to use in one RO. server. RO Admin hires RO Support dev. RO Support dev granted access to rAthena server files because they have work to do. RO Support dev now has access to npc scripts they didn't purchase, and is a vulnerability. Related source code Specifically, the following files need to be changed/extended: int npc_addsrcfile(const char* name, bool loadscript) - in src/map/npc.cpp Probably adding a new function called int npc_addremotesrcfile(const char* resource_url, char* resource_hash, char* resource_version, bool loadscript) - in src/map/npc.cpp Usage Potentially using it on an npc script would look like this: remotenpc: <URL> <VERSION> <HASH> remotenpc: https://some-ro-developer.com/servers/some-ro-server-1/scripts/my-private-script 1.0.0 70460b4b4aece5915caf5c68d12f560a9fe3e4 Thoughts I wanted to get the thoughts/vibe of the community before pushing through with this idea. I know that we're an open-source community that wants to encourage full-sharing of source code. But I think that the strict constraints that follows from that is something to consider. It limits the number of developers you can onboard onto your team, or needing to think about whether "you trust everyone". I think doing this (a) encourages developers to produce great NPC scripts, (b) enables developers to make good money on it, (c) positions rAthena or whoever to start up some kind of dependency management/NPC scripts platform (similar to npm, or composer) where server owners can shop for NPC scripts. Securely designed remote script access enable developers to focus on writing NPC scripts opportunity for NPC script customization layer developers can now easily scale up their marketing on some dependency management/NPC scripts platform well-paid developer happy developer more scripts happy community I will definitely be exploring this on my own, but I wanted to know what the community thinks about it. PS: Potentially a source of revenue as well for rAthena to sustain itself. I am open to the idea of assisting in the architecture design for that platform.
    1 point
  9. Version 1.0.0

    219 downloads

    Natsukashi White Light Loading Screens (Free Release) Hello everyone! This is my 1st Loading Screen Freebie Bundle, feel free to use it and you can put your server logo on it but please do not take any credit for it. Design Concept by: Natsukashi Design Name: White Light Loading Screens Resolution & Size: 3K Resolution - 3000x2000 Size Image Format: PNG Format If you need more information about me and my services, feel free to message me on discord - Admin Nostalgia#6488 Or join my discord server - https://discord.gg/vHYnAdGxGv
    Free
    1 point
  10. Version 1.0.0

    347 downloads

    Natsukashi Green Forest Login Screens (Free Release) Hello everyone! Another freebie bundle for you guys! This time it is all Login Screens, feel free to use it and you can put your server logo on it but please do not take any credit for it. Design Concept by: Natsukashi Design Name: Green Forest Login Screens Resolution & Size: HD Resolution - 1024x768 Size Image Format: JPG Format If you need more information about me and my services, feel free to message me on discord - Admin Nostalgia#6488 Or join my discord server - https://discord.gg/vHYnAdGxGv
    Free
    1 point
  11. Note: This map was made during my Browedit tutorial. * If you are interested to learn how to develop your own custom RO Map, please check the link below. ro_room v0.1 Very simple room map with custom texture. ro_room v0.2 Very simple room map with custom texture & 3D models. ro_room v0.3 Very simple room map with custom texture, 3D models, lightmap & minimap. Thanks for Downloading. ro_room-by_speedrun_v0.3.rar ro_room-by_speedrun_v0.2.rar ro_room-by_Speedrun_v0.1.rar
    1 point
  12. Version 1.0.0

    311 downloads

    I found this old banner template made in mid-2017 lost on my computer. I decided to make some adjustments and post it here for you. The PSD file is fully editable. Any questions I am at your disposal.
    Free
    1 point
  13. Version 1.0.0

    1544 downloads

    Settings: Just add your logo in bg.jpg [Located at Configuration > Images] Set your links at config.ini [Located at Confugration] Recompile using ConfigGenerator.exe [Located at Configuration] Edit the main.ini file_url=http://yourwebsite.com/patcher/data/ to your website link [Located at Web > Patcher] Upload the patcher folder in your website [Located at Web] Please do not remove/replace s1 Lykos credit at the bottom.
    Free
    1 point
  14. Version 1.2.5

    13332 downloads

    Heya, This tool is an action file editor, it edits Act and Spr files. You will find similarities with ActOR in its design, but it should be much more enjoyable to edit animations ;]. Special thanks to Nebraskka for testing this software in its early days. All the suggestions and feedbacks made this software much better. How to install Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/file/uoymx2vni249mlu Install the application with Act Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it. Once you are done, you can start the program from the link on your desktop. Key features The software has many, many features available. It would take too long to describe each one of them, so I've only focussed on the more impotant ones. You can undo and redo everything, scripts included. You can edit and add sounds easily. Powerful and easy to use palette editor. Sprite types have been abstracted - you don't have to worry or care about that. Animation speed can be changed easily. Most components have a drag and drop feature. Advanced scripting engine (C# language). The scripts can also be used to customize the software menus. Error checking when saving the act/spr to avoid invalid files. The sprite version will be automatically downgraded if RLE compression is not available. Frame interpolation (inbetweening/tweening) is possible via the Animation menu. Prompts you with an image converter dialog if the added image is invalid. Allows advanced edition for actions and frames via their respective menus. You can load files from GRFs directly (and save in the GRFs directly as well). Technical stuff Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well). When prompted with an error, use the "Copy exception" button to copy the debugging info. I will need this to fix the issue you're encountering. The editor's primary window The interface is really straightforward and similar to ActOR. I'll only focus on new elements! Rendering mode : This option changes the behavior of how layers are rendered. If you use 'Editor', you'll clearly see all the pixels when zooming in. If you use 'Ingame', it will use a linear scaling instead, which is closer to what the client does. References : These allow you to know where your item will be positionned (the yellow marker is the anchor, see below). Color mask : To edit the color of a layer, simply click on the color rectangle. You can also drag and drop the colors between different layers to quickly modify many of them. Common shortcuts : You can manipulate layers by using common shortcuts. More can be found from the Edit menu. These below are only the primary ones. Ctrl-A : Select all layers. Ctrl-C : Copy the selected layers. Ctrl-V : Paste the copied layers. Ctrl-X : Cut the selected layers. Alt-C : Copy current action. Alt-V : Paste current action. Advanced action and frame editions These expose all the available methods of the editor. You can remove a range of frames or copy a frame 10 times very quickly and easily. This dialog is found in Action/Frame > Advanced edit... Anchors You can edit anchors from the editor directly. Anchors are points that connect frames together, from different act files. Here's an example without and with anchors : This is mostly useful when you're using reference sprites (on the right panel). Clicking on the anchor button will let you choose where to attach the sprite (this is set semi-automatically for you though). You can edit those from the Anchors menu, but it is recommended to start from a pre-existing act to avoid doing this tedious process. Palette editor The palette editor allows you to quickly recolor sprites with an intuitive interface. Only indexed images can be edited (it's a palette editor after all) and three modes are available. The gradient mode changes an existing gradient to another color while keeping the original saturation and brightness of the colors - this makes the gradients blend in better. If there are no gradient (usually because it's a custom sprite), there's always the Adjust color mode. This one changes all color from a specified range to another one (Photoshop has a similar feature, which does work better). You can click on the image (on the left) to automatically select the palette indexes. These will be highlighted for a few seconds to show you what you're about to edit. Interpolation (tweening) This script can be accessed via Animation > Interpolate frames. This process fills the images between two frames by detecting the changes applied to the layers. Here's a simple example of how it can be used : Script engine The script engine can be accessed via Scripts > Script Runner. This is a big feature of Act Editor, it allows you to automate all your work with the act and much more. Click on the Help button for guides and available methods (don't hesitate to try out a script; if an error occurs the act will be reversed to its previous state). The documentation doesn't cover all of the available options and methods for obvious reasons (the .net framework is huge). Doc example : The language used by the script engine is C#. If you're not familiar with it, simply check out the script samples (Scripts > Open scripts folder)! I won't go into details here, questions can be asked in the support thread regarding addiotional features and methods. If you believe your script should be added in the program, send it to me and I'll probably add it. Customizable The settings dialog allows you to modify all colors in the editor easily. You'll also find the sound resources (GRFs and folders) that can be set up in the Sound tab. The Shell integration tab can associate the .act files with the software to edit them more easily. Don't hesitate to give me a feedbacks or suggestions!
    Free
    1 point
×
×
  • Create New...