Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/06/12 in all areas

  1. Inds CeresCP Featuring KeyWorld's Theme. As you may know I'm the new head developer of the Ceres Control Panel, and I've been writing a completely new CP from the ground up. This thread is meant to introduce the project properly and to receive feedback and suggestions, make yourself comfortable to post all your thoughts. Inds CeresCP : Features Some of the highlights Accounts One account can create subaccounts and manage all of them with a single login. Optional "Create Forum Account" checkbox on registration page, works for most popular forum software (ipb/vb/smf/phpbb/others) [*]Administration Features All CP settings (except db connection ones) and features can be managed from the webpage, no ftp/file editing required, this includes theme settings and languages (you can edit languages and add new language sets directly from the admin pages). New themes and modifications can be installed from the webpage as well by uploading their zip/rar file (no ftp required), the cp will process and install them accordingly. [*]System Features The whole control panel backend was written with a single thing in mind "performance". It uses as little queries as it can use and caches all it can in static files for the fastest available page load. It's faster than any control panel out there including the previous version of ceres and uses much less memory. All features of the previous version of ceres were redesigned and are also included.
    4 points
  2. 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 Topic
    1 point
  3. Aerie's Guide for BrowEdit HTML version The aim of this guide is to help BrowEdit users, and novices, to realize a good map. There are already a number of guides on mapping for Ragnarok, especially for BrowEdit, I don't wish here to make here a simple overview of the steps, but add a real value. I will present, but briefly, the major steps for creating a map. I will focus in each part on advices, tips and possible difficulties. Many links, programs, methods, images are also available for you to build up tools for a good mastery of BrowEdit. I will also detail the addition of textures, models, water and effects. I recommand you the YukiTsuki guide for know how use BrowEdit : http://browedit.excalibur-nw.com/?a=viewtopic&id=533 And another, really important for get all keys with a nice interface, made by Steph81 : http://mappingro.prauds.fr/ (Click on BrowEdit, I'll refer to other sections too) If you want to know all possibilities (with keys) of each section. I wanna render thanks to Borf and his team for have create this program. (I'm still talking about BrowEdit ;D) Let me know if you want me to develop another part in this guide or to discuss another concept. (If a moderator thinks, it's not in the right section, please move it in the proper one. I've choose to put this guide here because it's for mappers or interested people, I hope they won't miss it ;D). Table of Contents : Configuration of BrowEdit I - Create a map and Apply textures. II - Relief III - Models IV - Gat V - Walls VI - Editing Water VII - Lightmaps VIII - Effects IX - Finishes X - Add Custom Textures XI - Add Custom Models XII - Tips Configuration of BrowEdit. Open data/configs/rocheaptop.xml per default in some versions or look for your configuration file, you must open and follow the link given in config.txt in the BrowEdit folder. Let's see what we can see in : <config> <ro directory="c:\program files\gravity\ro\"> <grf>c:\program files\gravity\ro\sdata.grf</grf>[color="#FF0000"] //You must configure it for link your grf, the program'll only read ressources linked[/color] <grf>c:\program files\gravity\ro\data.grf</grf> </ro> <files> <models> [color="#FF0000"] //Change it, if you want use alternate list of items, check [url="http://mappingro.prauds.fr/"]http://mappingro.prauds.fr/[/url] , you can get alternate list, classed by theme[/color] <model>data/romodels.txt</model> <model>data/alphamodels.txt</model> <model>data/randommodels.txt</model> </models> <textures> <texture>data/rotextures.txt</texture> <texture>data/texturescustom.txt</texture> </textures> <sounds> <sound>data/rosounds.txt</sound> </sounds> </files> <graphics>[color="#FF0000"] //You can choose the resolution of BrowEdit to fit it to size of your screen[/color] <resx>1024</resx> <resy>768</resy> <fullscreen>false</fullscreen> [color="#FF0000"] //write true for fullscreen mod[/color] <bpp>32</bpp> <font>tahoma</font> [color="#FF0000"] //check other font in data/fonts[/color] <skin>data/skins/hamvista.xml</skin> [color="#FF0000"] //Checl skins in data/skins[/color] <notilecolor>FFFF80</notilecolor> <bgcolor>8000FF</bgcolor> </graphics> <undo size="50" /> <language>english</language> <firstmap>prontera</firstmap> <splash>data/hamtaro.tga</splash> <water> [color="#FF0000"] //Check water section of the guide[/color] <directory>data\texture\¿öÅÍ\</directory> <extension>.jpg</extension> <count>8</count> </water> <gattiles> <tile>0</tile> <tile>1</tile> <tile>2</tile> <tile>3</tile> <tile>4</tile> <tile>5</tile> <tile>6</tile> </gattiles> <wm> [color="#FF0000"] //Here for a modification of some windows, don't need to be detailled[/color] <minimap> <x>598<> <y>70</y> </minimap> <hotbar> <x>744<> <y>0</y> </hotbar> <sprite> <x>237<> <y>184</y> </sprite> <textures> <x>25<> <y>25</y> <w>974</w> <h>718</h> </textures> <modelswindow> <x>25<> <y>25</y> <w>974</w> <h>718</h> </modelswindow> <texturetools> <x>0<> <y>586</y> <w>56</w> <h>124</h> </texturetools> <texturebrush> <x>56<> <y>53</y> <w>905</w> <h>665</h> </texturebrush> </wm> </config> ________________________________________________________ I - Create a map and Apply textures. - Under the version 600, create a map by File/New/ occure some problems. You can use File/Open From Grf/ save the map and with Tools/Clear Map, clear it. - An important things too, is the border of the map. If you don't let 2 tiles, you'll have dirty borders after when you'll add lightmaps. So, I always using a black border like that : It'll really usefull for make clean borders. Players won't see under the map when they approching sides : I don't have many things to say about this part, for know keys and opportunities, please refer to Steph81's work : http://mappingro.prauds.fr/ ________________________________________________________ II - Relief : Some Maps are particularly flat monotone, you must use the terrain, here in two parts, I'll show you how to make a single mountain, and then show you how to use the inclined surfaces and walls while using the copy / paste in BrowEdit. 1) Make Mountains : Place textures : With F2 mod chosse the height of the upper part : F3 mod and F key for link texture, soft it with S key after. 2) Tilt & Walls : This is an important part, you can make many things with it and it'll done a complexe relief to your map. How tilt textures : Then like the previous step for keys : The aim is to alternate tilts, flat textures and walls, for doing something like that : You must use copy/past system who is really usefull for make. With F2 mod select a part of your map or a tile and past where you want. It breaks the monotony of flat maps with a few simple walls. With some try you should obtain more complexe forms, like that : ________________________________________________________ III - Models : 1) Choose the right size : Always check the size of your models, you don't need to wait for a test IG, you can use Edit Mode/ Sprite Edit. Once selected make ctrl + Left Click : A Random character'll appears, and'll serve of scale. Another advice is the utilisation of different Scales, turn them, also use different rotations. It'll adding a new kind of variety in your models : Only one model used. 2) Using Object Group Edit: This is an important part to know for be faster. (F11 mod) Use different models and size like that : Select them and press D (for Duplicate), you can rotate them too. It's the better way for make maps with different models, a huge vegetation and a variety of situations. ________________________________________________________ IV - Gats : It's an easy part, you'll not have difficulties. But some notes : If you can't move in your map IG, it can be due to the creation of map in BE versions under 600, who don't support New Maps option. If you modify an original map, becareful with the priority read of gat files by the emulator (if use grf enable) and to rebuilt your mapcache if you're using it. In the gat mod, you can use the key I in the tile choosen for get exacts coordinates. (Usefull for place NPC on not walkable tiles) 1) Different type of Gat : Let's see what we get in src/map/map.c : inline static struct mapcell map_gat2cell(int gat) { struct mapcell cell = {0}; switch( gat ) { case 0: cell.walkable = 1; cell.shootable = 1; cell.water = 0; break; // walkable ground case 1: cell.walkable = 0; cell.shootable = 0; cell.water = 0; break; // non-walkable ground case 2: cell.walkable = 1; cell.shootable = 1; cell.water = 0; break; // ??? case 3: cell.walkable = 1; cell.shootable = 1; cell.water = 1; break; // walkable water case 4: cell.walkable = 1; cell.shootable = 1; cell.water = 0; break; // ??? case 5: cell.walkable = 0; cell.shootable = 1; cell.water = 0; break; // gap (snipable) case 6: cell.walkable = 1; cell.shootable = 1; cell.water = 0; break; // ??? default: ShowWarning("map_gat2cell: unrecognized gat type '%d'\n", gat); break; } Walkable : Where players and monsters can walk Not Walkable : Unvaible part of the map (but you can place npcs) Not Walkable (no snipe) : You can't walk and can't snipe too Not Walkable (snipable) : You can't walk but you can snipe. The Yellow wakable seems be used for skills who requieres water. (Holy Water) Use them in PvP / GvG maps or for your scenari. Here an, attack of a lime : 2) Tilt Gats : When you have finished your map relief, you can started the gat editing. First you are gats aren't at the good level if you have using F3 mod and a big pencil. You have different tools proposed for automatic gat editing : - Edit / Set Gat Height : You must use it each time you arrive at this step. All tiles will become similar in level and angle to the ground under them. - Edit / Set Gat Collision : Make walkable all flat ground and non-walkable all section inclined. (like mountains). - Edit / Set Gat Collision 2 : This option will calculate all models and make non-walkables tiles under them. But It's not perfect and you must verifiy everywhere. So I recommand you to use Gat Height, then increaze the size of the pencil and make all your map non-walkable, then only use walkable option. It'll be faster. Becareful for suspended tiles, when done don't use Set Gat Height option or you'll be ready to restart all again ;D You can make tilt gat, copy and past them, ... refet to the Relief section for get some keys. 3) Using Scripting for more type of gat : As we have see, we're limited in the choice of gat. Only use detailled one. Now, I'll present you some new cell type and a basic script for using them : - script Chat-Vending Zone -1,{ OnInit: setcell "prontera",0,0,360,360,cell_novending,1; setcell "prontera",137,268,147,235,cell_novending,0; setcell "prontera",163,267,172,235,cell_novending,0; setcell "prontera",0,0,360,360,cell_nochat,1; setcell "prontera",139,173,147,153,cell_nochat,0; setcell "prontera",163,267,172,235,cell_nochat,0; } (Here the 1 = means activate) Here, I'm forbidden the using of vending and chat in the City of Prontera, but i'm giving some exceptions on specific zones. Can be use in temporary scripts, for non-walkable per example. List of avaible cell : (db/const.txt) cell_walkable cell_shootable cell_water cell_npc cell_basilica cell_landprotector cell_novending cell_nochat ________________________________________________________ V - Adding Walls : Here, we'll see how set a wall. Really interesting to put some walls, you'll get less limitations, it's open you new possibilities of complexe maps. First, you must select a texture, you're permitted to use a part of the texture. You got upper and lower part of the wall, apply textures depending of your orientation in the map. 1) Automatic mod : Press : or ; touch for set walls, one click and it'll be one part who'll be set : Let this touch press then you'll get the texture fit along the entire wall. (Sometimes, this function doesn't work, depending of version of program and the loading of the program ... try to relaunch it, 3-4 times) Now, you can apply a texture well sized. Press Z touch (or Z and sweep along the purple wall indication OR alt + Z). Depending of position of the wall. You can also set a part of a texture and fit it automatically to the wall : (Same keys) 2) Manual mod : With F4 mod you can open the WallTexture window. You can flip to horizontal or vertical. And also selecting with a square the part of the texture, you can move each sommet for get original part of the selected texture. ________________________________________________________ VI - Editing Water : 1) Configure water in my map : This part is kinda easy to understood : Windows/Water You got 6 options, I'm gonna present them : - Amplitude : (0 = none) means the movement of the water, for a rough sea or a calm one. - Height : (0 = default height of map) positive figures = the water goes deeper under default height / negative figures = the water goes upper the default height. - Phase : the speed of the amplitude resolution. - SurfaceCycle : The speed of the texture moving (a water type is composed of 32 frames) - Type : Change the texture of Water - Speed : ... 2) Create new water type : A water is composed by 32 frames in *.jpg format. They are read continuously for make an animation. An automatic transparency effet happens too. Create a folder data/texture/¿öÅÍ/ It'll be in this folder that you'll put all your water files. All files must be in this format : So you have to make 32 textures for an entire water cycle. XX means the number type of your water (Check step 1 / Type option). I've created 8 new waters type, you can get them here : http://www.eathena.ws/board/index.php?showtopic=253679 3) Adding new water type : Make a grf in 0x200 format with your data. You must configure BrowEdit so the program can read the addition : Go to BrowEdit folder : data/configs/rocheaptop.xml (Don't forgot to link the grf, open data/configs/rocheaptop.xml per default in some versions or for nom your configuration file, you must open and follow the link given in config.txt in the BrowEdit folder.) Now take your configuration file : And modify your water count. Water count must be equal to latest XX + 1 (previous step). ________________________________________________________ VII - Lightmaps : Generally, it's the most dfficult part to configure, many mappers asking for it in support section. You have two parts to configure a global one who gives the ambiance of your map, and lightmaps for make some touches of colored lights in parts of your map. I'll also present you how make shadows and some tools. Don't forgot, lightmaps looks generally pretty with Browdit but IG you'll have some dirty apply, if it's your first time, take time for check them before know exactly what you're doing. 1) Global Lighting : Windows/ Global Lighting : Diffuse Light gives you the light of shadows cast by the position of the sun. (In models and in textures). You can choose with the longitude and latitude angle for the basic sun. Colors should never be upper 1, it's in RGB colors (check tools in the last part). Ambient Light, it's a kind of filter on your textures and models. It's in RGB system too. Intensity'll be another way of configure darkness / brightness. 2) Lightmaps Configuration : Light windows : Color stil works in RGB system. Intensity : Generally I'm using 127, upper it's really to pronounce (depends of your idea) Max Light Increment : It's for make priority between different lightmaps. (Just becareful for the shadow light, 4) section). Casts Shadows : recommand you to desactivate it, except for the one who'll serve for make global shadows. 3) Favorite Lights : It's very helpful, for be faster, you won't configure each time a light with same properties. Configurable in Windows/ Favorite lights. Here, I'll share my lightmaps, you'll have some colors and well configured. In your BrowEdit folder : data/lights.txt (replace lines) <?xml version="1.0" encoding="UTF-8" ?> <lights> <light> <name>default</name> <color r="0" g="0" b="0" /> <range>200</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <name>ambient light</name> <color r="0" g="0" b="0" /> <range>200000</range> <brightness>127</brightness> <maxlight>127</maxlight> <givesshadow>1</givesshadow> <lightfalloff>0.00001</lightfalloff> <height>50</height> </light> <colors> <light> <name>red</name> <color r="0.5" g="0" b="0" /> <range>200</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <name>green</name> <color r="0" g="0.5" b="0" /> <range>200</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <name>blue</name> <color r="0" g="0" b="0.5" /> <range>200</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.5" g="0" b="0.5" /> <name>purple</name> <range>100</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.5" g="0.2" b="0.2" /> <name>Torche</name> <range>100</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> </colors> <MyLight> <light> <color r="0.6" g="0.4" b="0.2" /> <name>Jaune Sombre</name> <range>30</range> <brightness>300</brightness> <maxlight>200</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="1" g="1" b="0" /> <name>Jaune</name> <range>100</range> <brightness>70</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="1" g="0" b="0" /> <name>Rouge</name> <range>100</range> <brightness>100</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0" b="0" /> <name>Lumiere</name> <range>70</range> <brightness>500</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0" b="1" /> <name>Bleu</name> <range>100</range> <brightness>100</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="1" b="1" /> <name>Cyan</name> <range>50</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="1" g="0.9" b="0.9" /> <name>Blanche</name> <range>50</range> <brightness>100</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.5" g="1" b="0.5" /> <name>Verte</name> <range>60</range> <brightness>120</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.5" g="0" b="0.5" /> <name>Violet</name> <range>50</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.6" g="0.4" b="0.2" /> <name>Orange (mine)</name> <range>50</range> <brightness>500</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0" b="0" /> <name>Orange leg</name> <range>100</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="1" g="0" b="1" /> <name>Rose</name> <range>40</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>0</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0" b="0" /> <name>Rose</name> <range>100</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0.3" b="0.3" /> <name>cyan dark</name> <range>30</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0.3" g="0" b="0.3" /> <name>rose dark</name> <range>40</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> <light> <color r="0" g="0" b="0" /> <name>rose dark</name> <range>100</range> <brightness>127</brightness> <maxlight>256</maxlight> <givesshadow>1</givesshadow> <lightfalloff>1</lightfalloff> <height>10</height> </light> </MyLight> </lights> 4) How make Shadows ? It's really simple, when you put all your lightmaps for color, you'll adding the two last one for create shadows. It should seems like that : First Light : Second Light : The first'll cast shadows and the second one mitigate the previous one. (Without it's really too dark, but if you prefer don't put the second one). Color 0,0,0 is the perfect light (you can of course modificate it for get another color but Global Lighting is generally enough). The Second light must be always inferior to the first or you'll not have shadows. Once calculate, use Generate/Smooth lightmaps. (2-3 times is enough) 5) Tools : For RGB colors : http://www.drpeterjones.com/colorcalc/ ________________________________________________________ VIII - Effects : 1) How Using an Effects ? Easy to use, but difficult to make them useful, why ? Because the loop time still don't work under BrowEdit, so with many effects (more than 4 seconds of duration)'ll be flooded IG and your game'll become really slow (or Freeze). Thats why, I'm using some of them directly by Script : - script EP7_lightanim -1,{ OnLight: donpcevent "#ep7effectAby1::OnAction"; sleep2 1000; donpcevent "EP7_lightanim::OnLight"; end; } //=============== ars_fild58,95,103,0 script #ep7effectAby1 139,{ OnAction:specialeffect 14;end; } Place the npc on the coordinates you wish and choose the loop with the sleep2. Here for the list of effects and images : http://mappingro.prauds.fr/ 2) Testing Effects : For make an effect avaible, you need to have ressources in your client and also them hexed in your launcher. BrowEdit list effects can be updated in data/effects.txt, just add in this format some lines : Tested them until you get a Gravity Error ;D 3) Tips for set the Loop Time : This method have been report by Akira-Toriyama : http://board.frathena.net/index.php?showtopic=1453&hl= Put your effect, then open the window Effect. For each change in each case you must press Enter touch before click on ok button. Re-open the window and your Loop Time have been changed ;D ________________________________________________________ IX - Finishes of a Map : This is an important part of this guide, you should apply this method for each maps, don't do it will occure problems, like black textures (cliping effect) and missing models. I recommand you to work on the version 586 of BrowEdit, available here : http://browedit.excalibur-nw.com/release/ (Use svn tool) for his stability and his saves function. 1) What is a Quadtree ? Quadtrees are a division of the map in small square for make a faster loading of the map. The map'll be loading gradually when the player walk onto, but the problem is the reading speed of the client, it never goes enough fast so many black textures (cliping)'ll appears. 2) Why I've got missing models when I'm IG? This happens when you use the quick save. The quick save don't calculate each models per quadtree but make a whole one, fatest yes, but occure some random vanish models. You should always use the classical Save, by the way take of your BrowEdit version, some of them only does quick save (like version 620). For be sure about your version, check your console during the save : If you got this, change your BE version : 3) How fix the Cliping Effect ? Operation to make each time you modify your maps when done. You'll need a hexadecimal editor for realize this. Example : http://www.pspad.com/en/ (freeware) Select your *.rsw files and open it with your hexadecimal editor : Look to 3rd column, first line. Here 0201, modify to 0109 and save ! Don't forget : BrowEdit always saves your map in 0x201 version. Each time you'll save your map, you must restart this manipulation. 4) How fix vanish models ? Tips from Angst. The first way can works but you will sometimes get some vanish models (with 0x201 version). The 201 version seems to don't accept objects to high. Please follow the process if you get vanish models : 5) Make a Minimap : It's really simple, when your map is done, just click on View/Top Camera. Then press Alt + Print Screen, and paste it on Paint (or another program, if you have). Save in *.bmp format / 256 colours. Name your file with the same name as your map, and put it in : Should look like that : You can resize it for save some Ko. (I'm using 400*400 generally) ________________________________________________________ X - Adding new textures : Note before, you must respect the original format : *.bmp / 256*256 / 24 bits / 71 ppp, or it won't be read by the program. 1) Where put them in the client side ? Make a folder "data", open it, inside create a one "texture" called, open it, then another called "event" (for example, if you decide to use another one, you must change the adresse in the step 2) and put all your custom textures in. (TEXTURENAME.bmp) 2) How adding them to BrowEdit ? In your BrowEdit folder : data/texturescustom.txt Open it and write with this format for each textures added : 3) Link textures to BrowEdit You must repack your data folder in 0x200 grf format for be read by BrowEdit. (Don't forgot to link the grf, open data/configs/rocheaptop.xml per default in some versions or for nom your configuration file, you must open and follow the link given in config.txt in the BrowEdit folder.) 4) Add transparency effect to a model or texture : You can apply some transparency effect on your models / textures. You must have a program using layers like photoshop : (explanations from Angst) TGA format(Photoshop): File>Save: (In the save dialogue make sure "Alpha Channels" is Checked. A popup will ask : Also on the Alpha 1 channel I find the client can't read anything below 15-25% transparency. (Black/white value) IG it shows up as fully invisible if the transparency is set below the values stated above.. Also I've found you can use larger textures for better resolution IG (Less pixelation) Common size: 256x256 Higher res: 512x512 Even Higher res: 1024x1024 Note: these sizes are for custom models using textures you create, not ones used with the RSM Editor. Wall images can be any size, though I generally do not go less than 256 wide. Please follow instructions in Adding texture part for adding it to your browedit / client. Here some examples of works on : http://www.eathena.ws/board/index.php?showtopic=269326 / http://www.eathena.ws/board/index.php?showtopic=272164 You can also get examples of TGA files in those map packs. 5) Add new water type : You can get here my new water pack : http://www.eathena.ws/board/index.php?showtopic=253679 How install them ? - Go to BrowEdit folder : data/configs/rocheaptop.xml - You must link the grf first (water.grf) in <grf></grf> - Change the count of water type like this (depending of the total of water type : officials + customs) : For make a new one, look to texture/¿öÅÍ/ . There is 32 images in jpg format per water type. So texture/¿öÅÍ/water800.jpg means 8th type frame 00 (00 to 31). You can go upper like 15th type frame : it will looks like texture/¿öÅÍ/water1502.jpg ________________________________________________________ XI- Adding new models : I recommand you first to create a database of models (and also textures who are very usefull for editing them or get the good format of models's textures). You should decompress all your grf and keep only "model" & "texture" folders (make this operation for all your grf with this kind of stuff). Then apply Unbollox to get the right names, like those one uses in BrowEdit. I'll not speak about 3ds models here, just show how add a new model and retexturing it. (For a custom one, it's the same schema). I'll also show you how use Arcturus models separately. 1) How find a model and isolate it ? Choose a model : It's this link in my database : Make a folder "data", open it, then a folder called "model", open it, then another called "event" (for example, if you decide to use another one, you must change the adresse in the step 3) and put all your custom models in. (MODELNAME.rsm) Copy and paste in : 2) Editing your model : Select Windows/RSM Editor, and select your custom model (or the copy in your data/model/event/) As you can see, you can modify the used texture (here only one), just double click in the mini-texture and a new windows'll open then choose a new texture. (For adding a custom texture check the previous chapter.) Save it. (Sometimes the mini-texture don't change until a save or reboot program). *You must replace and repack the grf used by this model each time you editing it.* 3) How adding your model in BrowEdit ? In your BrowEdit folder : data/romodels.txt Open it and write with this format for each models added : 4) Link models to BrowEdit : You must repack your data folder in 0x200 grf format for be read by BrowEdit. (Don't forgot to link the grf, open data/configs/rocheaptop.xml per default in some versions or look for your configuration file, you must open and follow the link given in config.txt in the BrowEdit folder.) 5) Using Arcturus Models : Here a special note for Arcturus model a previous game of Gravity using the same client mechanisms and formats. Link to the pack : http://www.eathena.ws/board/index.php?show...amp;hl=arcturus [by Akayoo] Check his indications for know how adding this pack, all have been already preparate in BrowEdit for those models. It can provide an interesting quantity of models and textures really useful for made original maps. But be careful you must relink all models and textures by adding them separetly. So use the Adding textures / Adding custom sections. Please don't use the whole pack for your map, it'll be really useless, nobody wants a maps with a grf of 200 Mo ;D ________________________________________________________ XII- Tips : I'll put here some tips for BrowEdit, you can of course prupose yours. 1) Two Maps in one window Launch your program, then open a map, then another one. Now you can press the tabulation touch and switch from a map to another. You can pick an object and put it in the other map. You can also copy/paste entire parts of the map. If you copy a part of a map on another becareful of Global Lighting they must be the same. When you paste, save, you'll get a Sanitary Lightmap : Boundary Light map. After saved, just relaunch the programm and it'll be done ;D 2) Added Blue Sky This question frenquently remains. It's possible to make it but you're really limited. So, I'll explain you 3 differents method for make this effect. First method : Replace an existing map with this effect. I list here all maps : Second method : Use a Hexadecimal editor, open your executable with it then search for a map with sky effect. Replace the name found by the name of your map : Third method, use a blue texture around your map and use mapflag clouds / clouds2. (Check Arcturus grf for get some sky textures.) When you're creating your map, you must put per default yellow texture and let it empty. I'll do some tests for get other effects maps like bilfrost or thanatos one. ________________________________________________________
    1 point
  4. kRO MVP Tomb System.... Changelog: 1.0 First version 2.0 Added Feature showTimeRespawn and showTimerRespawn. 2.1 Fixed map crashing when MVP arena is use or summoning MVP using 'monster' script. 3.0 Fixed duplicate issue and max gap. TODO: incorporate with the convex mirror. (need info in official behavior) @battle.h // rAthena int max_third_parameter; int atcommand_max_stat_bypass; +// Tomb System [malufett] +int show_mvp_tomb; @battle.c **/ { "max_third_parameter", &battle_config.max_third_parameter, 20, 0, INT_MAX, }, { "atcommand_max_stat_bypass", &battle_config.atcommand_max_stat_bypass, 0, 0, 100, }, +{ "skill_amotion_leniency", &battle_config.skill_amotion_leniency, 90, 0, 100, }, +// Tomb System [malufett] +{ "show_mvp_tomb", &battle_config.show_mvp_tomb, 1, 0, 1 }, // Should MVP slaves retain their target when summoned back to their master? mob_slave_keep_target: yes +// Show Tomb when MVP got killed? +show_mvp_tomb: yes @mob.c md->spawn_timer = add_timer(gettick()+spawntime, mob_delayspawn, md->bl.id, 0); +if( md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + struct map_session_data *sd = map_id2sd(md->target_id); + md->target_id = npc_mvp_tomb(md, sd ); +} int mob_spawn (struct mob_data *md) { int i=0; unsigned int tick = gettick(); int c =0; +if(md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + npc_mvp_tomb(md, NULL); +} clif_clearunit_delayed(&md->bl, CLR_DEAD, tick+250); if(!md->spawn) //Tell status_damage to remove it from memory. return 5; // Note: Actually, it's 4. Oh well... +if( mvp_sd && md->status.mode&MD_BOSS && battle_config.show_mvp_tomb)//Tomb System [malufett] + md->target_id = mvp_sd->bl.id; @npc.c npc_debug_warps_sub(map[m].npc[i]); } +/** MVP Tomb System. [malufett] +**/ +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd){ + char w1[256], w2[256], w3[256]; + struct npc_data *nd = NULL; + + nullpo_ret(md); + + if(sd){ + struct mob_data *boss_md = map_getmob_boss(sd->bl.m); // Search for Boss on this Map and ignore summoned Boss + + if( boss_md != NULL && + boss_md->bl.prev != NULL && + md->bl.id == boss_md->bl.id ) + { + int x = boss_md->bl.x, y = boss_md->bl.y; + const struct TimerData * timer_data = get_timer(md->spawn_timer); + + if(md->spawn_timer == INVALID_TIMER) + return 1; + + sprintf(w2, "Tomb#%d|%d", boss_md->class_, (DIFF_TICK(timer_data->tick, gettick()) + 60)); + sprintf(w1, "%s, %d, %d, 1", map[boss_md->bl.m].name, x , y); + sprintf(w3, "%s@%s", sd->status.name, map[boss_md->bl.m].name); + sprintf(w2, "%s::%s", w2, w3); + sprintf(w3, "%s::OnMyMobDead", w3); + + safestrncpy(md->npc_event, w3, sizeof(md->npc_event)); + npc_parse_duplicate(w1,"duplicate(tomb_stone)",w2,"565", "-", "-", "MVP_TOMB"+boss_md->class_); + + npc_event(sd,md->npc_event,0); + safestrncpy(md->npc_event, "", sizeof(md->npc_event)); + return sd->bl.id; + } + }else{ + struct map_session_data *msd = map_id2sd(md->target_id); + + if(msd != NULL){ + sprintf(w1, "%s@%s", msd->status.name, map[md->bl.m].name); + nd = npc_name2id(w1); + if (nd != NULL){ + npc_unload(nd); + md->target_id = 0; + } + } + } + return 0; +} @npc.h int npc_duplicate4instance(struct npc_data *snd, int m); int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int points); +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd); How to configure? 1. Add this script on your npc/custom folder. tomb_stone.txt - v1.0 tomb_stone.txt - v2.0 tomb_stone.txt - v3.0 2. Add this line scripts_custom.conf npc: npc/custom/tomb_stone.txt 3. And lastly the adding of tomb to MVP monster *for this nothing to configure in your mob folder, just make/add to your liking ex. anthell02,0,0,0,0 boss_monster Maya 1147,1,7200000,0,1 4. Open tomb_stone.txt and edit the settings for your likings. //+-- -- -- -- -- -- -- + //| Settings | //+-- -- -- -- -- -- -- + set .showTimeRespawn, 1; // Display the time when the MVP will respawn set .showTimerRespawn, 1; // Display countdown timer Patch for rA MVP Tomb Version. Download: MVP_Tomb_added_features.patch Download:MVP_Tomb_Added_Features_15981_v1.1.PATCH *must update rA rev to 15908+ Patch for eA with rA MVP Tomb Version. Download: rA_MVP_Tomb_Added_Features_For_eA15090.PATCH Note: Add on your own risk...=P Enjoy!! ^^, Comments and suggestions are highly accepted....
    1 point
  5. 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
  6. BrowEdit Tutorial Videos Here is a list of free tutorial videos I made about a year ago that gives BrowEdit users a good grasp on using the BrowEdit Mapping Program. The tutorial videos teaches young BrowEdit users from the ground up of how to install BrowEdit, get familar with the interface and functions and finally actually producing a fully functional map you can integrate in a ragnarok server. I plan on expanding this list to cover a broader range of topics. Browedit Tutorial #1 - Getting Started Video Information: Downloading and setting up BrowEdit. Configuring BrowEdit to be usable & providing recommendations on BrowEdit revisions. - Browedit Tutorial #2 - Basics of Designing Video Information: Understanding the user inferface of BrowEdit & editing functions. Teaches navigational controls and introduces how to properly setup a map for editing. Part 1 - Part 2 - Part 3 - Browedit Tutorial #3 - Intermediate Level Terrain Editing Video Information: Teaches how to apply textures, build walls, making slopes and environmental terrain changes, and controlling water levels. Part 1 - Part 2 - Browedit Tutorial #4 - Intermediate Level Light Editing Video Information: Introduces how to implement lights to brighten and colorize a map. Gives recommended RGB combinations and lighti strength parameter settings in giving ideal light and shadow outputs. Part 1 - Part 2 - Browedit Tutorial #5 - Adding Effects Video Information: How to add effects to a map to fit the needs of the environment. Examples can be torches, flying bats, magic circles etc.. - Browedit Tutorial #6 - Adding Sounds Video Information: How to add ambient sounds to your map. This includes noises you hear in niflheim, prontera, geffen etc.. - Browedit Tutorial #7 - Making a Sky Map Video Information: Ever wanted to make a sky map? Well this tutorial will show you how to make a floating blue sky based map with cloud formations. - Browedit Tutorial #8 - Adding Custom Textures to BrowEdit Video Information: How to add your own custom textures to BrowEdit and using them in your custom map. - Browedit Tutorial #9 - Adding Custom BGM Music to a Map Video Information: How to add your own personal background music to a map as well as making sure the BGM file is compatible with the client. - Browedit Tutorial #10 - Adding a Custom Map to a Server Video Information: How to add your own personal map to a eAthena test server so you can test your own maps. - Browedit Tutorial #11 - Adding a Duplicate Model that Utilizes Custom Textures Video Information: Ever wanted to use a model in a map that doesn't come into conflict with another model. Perhaps for the sake of the maps theme? - Browedit Tutorial #12 - Quick Tips/Tricks & Useful Hotkey Info Video Information: Creating a new map can take a while. This tutorial will cover useful tips/tricks to reduce the development time of your map as well as avoiding long processes to complete a task. - Browedit Tutorial #13 - New Lightmaps Tutorial Video Information: This tutorial is a revamp of the previous lightmaps video tutorial. This particular tutorial is a more concise and easier to learn version of how to create lightmaps with ease in the areas of shadows/sun/colors/global lighting and light fixes. - Browedit Tutorial #14 - Making Slopes Video Information: This is a quick tutorial that explains how to create sloped terrain primarily based on ramps that can lead up to raised areas. It also shows how to make slopes on the edge of a map. - Browedit Tutorial #15 - Making Map Minimaps Video Information: Want to make a minimap that matches your coordinates perfectly whether it be a minimap with color or black/white gradient? Well this tutorial will cover just that! - Browedit Tutorial #16 - GAT Editing Video Information: Explains the main kinds of gats, how to place them, slope them, and what applications they are used in. - Browedit Tutorial #17 - 3ds Max Modeling [Acquiring Models] Video Information: A quick video covering several different sites you can get models for free that are supported by 3ds Max. - Browedit Tutorial #18 - 3ds Max Modeling [importing/Apply Textures to Model] Video Information: Using 3ds Max, you will be able to import models supported by 3ds Max, apply textures to them, and UV Unwrap the model to have it ready for RO. - Browedit Tutorial #19 - 3ds Max Modeling [Polygon Limit & Splitting Models] Video Information: RO has limits to how many polygons it can draw per model. This tutorial will explain what those limits are and how to split a model into parts. - Browedit Tutorial #20 - Exporting & Importing Lightmap Shadows for Editing Video Information: How to remove or add specific shadows on a map without having to redo all of the lightmaps through means of exporting & editing the shadow png file directly. - Browedit Tutorial #21 - Cleaning Up Shadows Along Walls & Ground Video Information: Didn't like the shadow drop across the edge of a map or lifted platform/wall? - Browedit Tutorial #22 - How to Create Transparent Objects Video Information: How to provide transparency in a model by means of TGA support. - NOTE: If you wish to see a certain topic covered in a future tutorial video, please make a request by leaving a comment in this thread!
    1 point
  7. lol EvilPuncker, he said he wanted to remove the time for character deletion. This can be done in char_athena.conf file: // Amount of time in seconds by which the character deletion is delayed. // Default: 86400 (24 hours) // NOTE: Requires client 2010-08-03aragexeRE or newer. char_del_delay: 86400 just change: char_del_delay: 86400 to char_del_delay: 0
    1 point
  8. it can be fix at src\map\config\renewal.h put // at the #define RENEWAL_CAST //#define RENEWAL_CAST
    1 point
  9. u seems a bit upset, no? xd the point I made is that we are talking about the geoip thing, not about the @accinfo like you and emistry talked about, you guys know that even with it disabled, the server still load geoip.dat... and I'll not argue about the #ifdef thing that you said because you don't seem to know what you are talking about, no offense. peace guys /gawi
    1 point
  10. already done, you can ask bVersatile for getting script.
    1 point
  11. try this http://upaste.me/090b592f5541736
    1 point
  12. File Name: Command MesClose File Submitter: LyDe File Submitted: 29 Jun 2012 File Category: Source Modifications Content Author: LyDe and Cainho Command used in the scripts of NPCs whose ultimate goal is to unite the two commands,Mes and Close, an example down: prontera,150,150,5<TAB>script<TAB>Testing Command<TAB>748,{ mes "[Testing Command]"; mesclose "Testing command MesClose"; } This command will open a window of speech and the Close button appears immediately. Click here to download this file
    1 point
  13. I don't really know what's causing it. *Added new: - Cannot feed Homunculus
    1 point
  14. Quick and Dirty.. try these... change - script PVPLADDER -1,{ OnPCKillEvent: if ( getgmlevel() >= $@LadderGM ) end; if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; dispbottom "Because a GM just reset the ladder."; end; } if ( killedrid == getcharid(3) ) { set PVPDeaths, PVPDeaths +1; set #PVPDeathsAccount, #PVPDeathsAccount +1; set @PVPDeathstoday, @PVPDeathstoday +1; end; } into this - script PVPLADDER -1,{ OnPCKillEvent: setarray .@Map$,"guild_vs1","guild_vs2","guild_vs3","guild_vs4"; if ( getgmlevel() >= $@LadderGM ) end; if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; dispbottom "Because a GM just reset the ladder."; end; } for( set .@i,0; .@i < getarraysize( .@Map$ ); set .@i,.@i + 1 ) if( strcharinfo(3) == .@Map$[.@i] ) set .@i,1; if ( killedrid == getcharid(3) && .@i ) { set PVPDeaths, PVPDeaths +1; set #PVPDeathsAccount, #PVPDeathsAccount +1; set @PVPDeathstoday, @PVPDeathstoday +1; end; }
    1 point
×
×
  • Create New...