Leaderboard
Popular Content
Showing content with the highest reputation on 01/28/12 in Posts
-
The points in your list can be easily implemented with the help of a plugin system. I know how most of the users out there feel to have an open source client to add customizations to it. That's why I will focus to allow a lot of modifcations. However, as you might already read out from my first post, I don't hesitate to share the information that I have extracted from the original client. And these information are probably what most people are interested in anyway. So why am I still going for closed source? Simple: If reduced down, there are two factions of people. Those which focus to implement the ideas you're talking about and those that will use this ideas and indeed make money from the work of others (most likely how it is with eAthena/rAthena). I don't see the point why the second faction shall gain all the money without doing anything. I am working with a lot of interfaces that allow splitting very easy. Basically something like this: As you can see, those people with ideas can hook everywhere they want to extend whatever they want. They can even completely reimplement the closed parts and use it for whatever they want. Let's say if I have implemented a class that allows a sprite to run around, but someone wants a 3D character instead, he can write his own implementation and exchange it without changing any other parts. Some could even change the rendering engine from Ogre3D to Irrlich, if they want to. They just have to make sure to implement the given interfaces, which will be open source since they are only guide lines. You might still wonder what to do when some interfaces themself have to be modified. Well, I'll add the ability to hook the core which might be risky. But I assume that the one who wants to change one of the interfaces knows what he does, so that should not be a problem. This ensures that those with gread ideas have the possibility to chose if their implementations shall be closed or open source (for the same reasons as I have) and those that want only money still have to do something on their own. And even if I drop this project, as long as the base is done and available, anyone else can still further improve it. Besides that, you don't really have to worry. If I lose intereset or stop working on any of my projects, I'm gonna release the source anyway. So when I shall disappear, I will make sure to release the source (as I will do with WeeDiffGen). The only problem that might come up is the fact, that only a small amount of people are willing to continue such a project as soon as it gets open sourced. I hope you can understand this decision of mine.3 points
-
E - Script Collection Last Update : September 10, 2013 Refine Function SQL Mission Board Monster Marching Vendor Control Advanced Stylist Coin Exchanger Doppelganger Race Of The Day Limited Items Multi Currency Shop Random News GM Online List Link Broken E-Inquiry DotA Runes Flower Counting Game Class Restriction Chain Quest Build Manager Misc Scripts : Freebies Script Card Trader Gold Room [ Pick Gold ] Gold Room [ Guild Tax ] Map Restriction [ GM Based ] Daily Reward Monthly Reward Monster Spawner Monster Summoner with Last Summoned Display Players Stats & Equipments 3rd Job Item Giver Exchanger [ Cashpoint to Coins ] Exchanger [ Poring Coin - Zeny ] Exchanger [ Points to Tickets ] Exchanger [ Item to Item ] Exchanger [ Item to Item ] Exchanger [ Multi Item to 1 Item ] Party Match Auto Ban Over Stats Users Soul Link Buff Kill Players gain Cash Points Party Members All Get Items [ Snippet ] Message Board Stalker Class Skill Reproduce NPC Multiple Selection Quest [ Template ] In-Game Item Rewarder In-Game Points Rewarder Invasion Event Custom Item Rate Status Point Seller [ Snippet ] Anti Bot Security Script Anti Bot Script [ Code / Question ] Item Combo Restriction [ LHZ Card ] Drop Item Upon Death PVP Switcher + Announcer [ Guild Master ] Rotating Waitingroom Messages +10 Refiner [ Specific Items ] Random Rate Item Exchanger MVP Invasion Premium Users [ Boost Rates ] Display Cutin Image upon Login Custom Randomed Box Items Kick GM during WOE Custom Crafting NPC Restrict Same IP [ Certain Map ] Coloured Items Exchanger Guild Master Changer Party Team PK Match Gambling Game IRC Channel Crafting NPC Guild Storage Restriction Stage Game [ Version 4 ] Monster Wiki Event [ Version 3 ] Special Thank you for my Tutor : Notes : I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Anyway, i will still doing my best to write the Updated Changelog or informations about the script as detail as possible. All the Scripts above are uploaded to Pastebin . Abide the Following Rule : Scripts Error / Not Working , you have to Explain it in Details. ( Add in Images / Modified Scripts ) Do not SPAM / BUMP in my Topic. Do not ask for Support stuffs for other Scripts in this Topic. Link Down , then drop [ @Emistry ] a message. I Reserved the Right for NOT Answering your Posts if you did not abide my Topic's Rules. Keep This In Your Mind : All the Scripts i distribute here are NOT FOR COMMERCIAL USES . DO NOT remove my Credits if you are using part of the scripts to modify your own. DO NOT re-release the scripts in any form / way. If you ♥ these Scripts , Click on to Vote this Topic up. Or you may also click on at above the Topic1 point
-
I'm currently working on a custom client and wanted to share some screenshots about the progress. Some of you might wonder why there is again another project like this one with the same goal as the others, and why not just join the others to speed up development? In fact, I thought about this opportunity. However, I'm still learning to work with virtual reality and I want to learn as much as possible. And that's why this projects main goal is not to be finished as fast as possible. But still, it looks like I'm at good pace. I still don't have a "good" name for this project, even though there's a proto-name. One of the other goals of this project is to provide a stable client that runs on both, unix and windows systems. It is being developed in C/C++ and Ogre3D, takes advantage of multithreading where it is appropriate, uses atlas textures to reduce batch count and some other fancy algorithms to improve performance. Even though the complete terrain is being loaded instantly, it takes some milliseconds to finish the objects. That's why I'm currently working on further algorithms, allowing caching and paging of objects. I will release a working demo in the style of RagCam as soon as the new algorithms are finished and working. Here's a list of things that are implemented so far: GND (Terrain) Lightning Shadowmaps Colormaps (with reduced colors to match the original client) Vertex diffuse color Walls Smooth Normals RSM (Objects) Smooth Normals (with smooth groups) Animations Transparency Two Sided Triangle Faces (with correct normal vectors for both sides) RSW (World) Water (with texture and wave animation) Objects Ambient and diffuse lightning Performance is always a very important part for me. A lot of things are optimized as good as possible. This project will stay closed-source providing plug-in functionality in the future. Most of the information that has been used in this project has been discovered through reverse engineering of the original client. Rendering a map is almost completely done using the same and some improved approaches done by the original client itself. The main focus after this will be the visual improvement of the maps themself, like BumpMapping, Cel Shading support, etc. blah blah. When this is done also, I will focus on implementing network functionality and a GUI. I have started in november and worked effectively 5-6 weeks on this project. I had to stop at the end of december and started to work again two days ago. Enough talked, here are some screenshots using OpenGL as renderer (the results in DirectX are the same): Vertex color mapping: Each tile can have a diffuse color. This color, however, is not being applied to all four corners of a tile, but only to the bottom left vertex and all vertices that share the same coordinate. Textures have been disabled in this image to show that diffuse colors are being applied correctly. The border of a map is also being rendered correctly when vertex diffuse colors are applied. Shadowmaps: Some devs are still wondering why their shadowmaps look a bit weird. The reason is plain simple: A lightmap consists (most of the time) of 8x8 tiles, where only the 7x7 pixels in the center are used. Nothing new. However, the tiles are combined into a large texture. If texture filtering is being applied, then the borders of the different textures interpolate into each other, fatal for colormaps when they have different colors. This is called texture bleeding. Because of this, Gravity added a padding of 1 pixel to each tile (resulting in 8x8, instead of 7x7) and filled them with colors that still look nice when they are interpolated. The image below shows the correct display of shadowmaps. Colormaps: They are the same as shadowmaps, but use RGB colors instead. When applied to the terrain, they look smooth. If you look into a dungeon, you will notice that colormaps are not smooth at all. In fact, they look like the colors were reduced. This process is also called posterization. The best result are done with 16 levels. The idea is basically to use float colors, multiply them with the amount of levels, convert the result to an integer (and so dropping the decimal part) and divide the result by the amount of levels. Done. This image displays correct colormaps. Notice the borders of the lightning. Prontera indoor: Transparency: I've used BrowEdit to compare my results and found an issue that was the same as in my project. Some models had wrong depth writing. Using the correct order, it is possible to render objects regardless of their transparency. You can try to open BrowEdit and compare dicastes01 with this image. Instancing: A lot of objects in a map reference the same model, so it makes common sense to combine them for reducing the batch count. This image shows pretty could FPS, even though all objects of yuno are rendered. Instancing in prontera: I would also like to show animations, but am too lazy to upload a video. I am not generating MipMaps yet, since this will be part 2 of this project. As you can see from the screenshots, rendering itself is almost complete. Only some minor issues that have to be done. If you want to see a screenshot of a specific map, don't hesitate to ask. I will upload one. I let you guess which of the posted screenshots are made on linux and which on windows.1 point
-
You can count number of monsters on a map, but only if they have a "script label" attached. You can also count all (all IDs) regular monsters on a map. To run a script when player logs off, use OnPCLogout event label. To run a script when player dies, use OnPCDead event label. You don't really need to make anything special here. Most quests work like this. Please note, that there is no way to give up quest in quest window. So probably, player would have to talk to the NPC to give up the quest. Use gettimetick(2) script command. No examples, sorry. There are some in doc/script_commands.txt and doc/sample/.1 point
-
Well that is obviously not working as intended. And the solution proposed by Brain sounds good enough.1 point
-
Install zlib libraries package for your system. For example, in Debian and other apt-based distros of Linux [root]# apt-get install zlib1g-dev1 point
-
Few more thoughts on closed source: There are multiple parts of client that server owners would certainly like to improve, extend or customize: additional settings, preferences GUI changes and new windows new packets to support GUI changes security This is just a very abstract list; a full list of ideas and improvements that I would do would be really long, and I'm sure there are much more creative people with great client ideas. I'm afraid that closed source (even with plugins) will prevent at least some of these possibly great ideas to be implemented in your client. It would be lost potential. Another things is reliability. Gravity client will be there forever, as long as RO is not dead. New features, packets will be added to it. Your client, being closed source and developed by - how many? 1? person, will not be a good choice due to high risk of project not keeping up with updates or even abandonded (not a disaster yet) and not being picked up by other people because no source is available (unacceptable for a server that needs to switch back to Gravity client all of the sudden, possibly being unable to use all additional features that players already got used to). Not everyone would take risk of being dependant on you, when it comes to such a crucial thing - game client. I wouldn't, if it was a production server. It might be a great client - with best performance, improved graphics, multiple OSes supported etc... like I said in previous post: "state of the art". Just make sure that piece of art has practical application. And now, do you mind explaining why do you want to keep source closed? Open source would be really a natural choice here. Honestly, I'm a bit disappointed and suprised (I've heard it would be opensource, did you change your mind?).1 point
-
This project isn't much better than Gravity's client if it stays closed-source IMO.1 point
-
I wanted a better explanation regarding it. People won't know basically what it means so they'll just put 10. Thus, with a better explanation and a breakdown about it (documented somewhere else like Wiki) will be good. Basically what we have there is telling us that by putting '10' there, these amount of players in a party will receive additional 40% more exp. Well, what happens if we want more? How would we calculate it? With a better exampl within the conf file itself would be good + an additional BREAKDOWN of it on the Wiki.1 point
-
I'm an Australian. 70% of ISPs allocate static IP addresses here in standard ADSL plans. Furthermore, it's not hard to take the ten seconds to change the config file. It's read on the fly, so the server doesnt require a reboot to read changes in IP addresses. If you have a better idea feel free to release it, I just personally use this and find it perfect for my needs. It isn't "based" on IP addresses. Theyre used for security. Not saying that's the most secure thing considering spoofing, however it's a better idea than nothing.1 point