Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/23/13 in all areas

  1. Officially supported client versions and changes to support policies on client-related bugs Hello! Here at rAthena we try our best to provide a stable server to build around. Unfortunately we've had a rash of commits in the past few months that have introduced client bugs that hadn't existed before. This is unacceptable and we apologize for any downtime or issues this may have caused. There has also been a large number of bug reports involving unusual client versions, resulting in significantly wasted time and effort on our behalf trying to track down bugs that may or may not actually exist. So as such we have as a team decided to tighten down the list of officially supported clients for rAthena. These clients will be tested against on any major update or commit that affects any packet or client-facing code to make sure new bugs are not introduced. Other client versions will be supported on an as-is basis. Basically, you are free to use any client version you wish, but for stability reasons we highly recommend sticking to the officially sanctioned list as those will be the ones we test against. If an update breaks support for a client that isn't on the approved list then it may be taken care of at a lower priority than bugs affecting officially approved versions. This does not mean we will intentionally be breaking support for clients that are not officially sanctioned, this merely means support will be tailored to those first and foremost, and any bugs or bad behaviors may go unnoticed or corrected. If there any conflicting changes that would break support on one of the officially sanctioned versions, those bugs will definitely not be fixed. What does this mean to you, the server admin? It means you can pick from one of our officially supported client versions and rest assured we will tailor support specifically to those and will aim for stability for those clients. We will do everything we can to make sure client bugs are not introduced during updates so you don't have to waste your time troubleshooting, or have to deal with angry players if something breaks. And in the unlikely event something does break, we will put the highest priority on fixing bugs affecting the officially supported clients. Here are the following clients and which server mode we support them for. Pre-Renewal: 2010-07-30aRagexeRE Renewal 2012: 2012-04-10aRagexeRE Renewal 2013: 2013-08-07aRagexe 2013-12-23aRagexe Renewal 2014: 2014-10-22aRagexe Renewal 2015: 2015-05-03aRagexe 2015-11-04aRagexe We are not supporting 2012 era Ragexe clients, only RagexeRE. Use those at your own peril. Bug reports for any other client will only be accepted at a core developer's discretion, if at all. We reserve the right to close and ignore any bug reports coming from clients other than the ones listed above. Clients older than 2010-07-30aRagexeRE are considered depreciated and while they work for the time being, support may be removed at any time. It is highly recommended you move your servers to 2010-07-30aRagexeRE or newer as soon as possible. An announcement will be made if support for clients older than 2010-07-30aRagexeRE is intentionally removed, but be warned it may break at any time and bug reports will not be accepted for fixing them.
    1 point
  2. Hello, here is another pre-made map and its from the movie Epic. its more on natures and big nature! suits to fit the leafman! xD here are some screenshots of the map. Hope ya like it! C&C are accepted Video of the map The video is a bit laggy coz of my recorder sucks! xD maybe next time it'll be smooth.. but when in-game its nice and smooth Screenshots In-Game Screenshots Thank you! Feel free to comment xD CLICK HERE TO DOWNLOAD FILE
    1 point
  3. 2/3 chance plant the Critical stickybomb http://i.imgur.com/2oqnr.jpg Download Source Code STICKYBOMB.rar Download .GRF STICKYBOMB.grf db\\mob_db2.txt 2127,SOCCER_BALL,stickbomb,stickbomb,1,2000,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,3,86,0x0040,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 db\\mob_avail.txt 2127,1792 data\\lua files\\skillinfoz\\skillid.lua STICKYBOMB = 999, STICKYBOMBBOMB = 998, data\\lua files\\skillinfoz\\skillinfolist.lua [sKID.STICKYBOMB] = { "STICKYBOMB"; SkillName = "STICKYBOMB", MaxLv = 10, SpAmount = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }, }, [sKID.STICKYBOMBBOMB] = { "STICKYBOMBBOMB"; SkillName = "STICKYBOMBBOMB", }, battle.c http://pastebin.com/....php?i=5VizNY5g Find this function. int battle_calc_damage(struct block_l... go to the end. status_damage(src, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0); return ATK_NONE; } } } return damage; } add damage=stickybombdamage(src, bl, damage); top the return damage; and add new function int stickybombdamage(struct block_list *src, struct block_list *bl, int damage) { int _far=0, i=0; if(src->sbp==bl->sbp) return 0; for(i=0;i<=MAX_STICKYBOMB;i++) if(src->stickbomb[i]!=-1) break; if(i==MAX_STICKYBOMB) damage = damage*3; else { _far = distance_xy(src->x,src->y,bl->x,bl->y)+1; _far = _far >= 10 ? 10 : _far ; damage = damage/_far; } return damage; } map.c http://pastebin.com/....php?i=aKRM2P9V pc_makesavestatus(sd); pc_clean_skilltree(sd); chrif_save(sd,1); unit_free_pc(sd); killstickybmob(sd,0); //Add return 0; map.h http://pastebin.com/....php?i=UuyR67YF struct block_list { struct block_list *next,*prev; int id, sbp; //Add short m,x,y; enum bl_type type; int stickbomb[MAX_STICKYBOMB]; //Add }; mmo.h #define MAX_STICKYBOMB 8 //Add pc.c http://pastebin.com/....php?i=H2zxukgJ Add this function. void killstickybmob(struct map_session_data* sd, int t) { struct block_list *mb = NULL; int i=0; if(sd==NULL) return; for(;i <= MAX_STICKYBOMB ;i++) { mb=map_id2bl(sd->bl.stickbomb[i]); if(mb!=NULL) if(!t) status_kill(mb); else unit_skilluse_id(mb, mb->id, 173, 1); else continue; } return; } pc.h Add this define. void killstickybmob(struct map_session_data* sd, int t); skill.c http://pastebin.com/....php?i=4dGTqDri Add this function. void _STICKYBOMB(struct block_list *src, struct block_list *bl, int skillid, int skilllv) { int _x=0, _y=0, i=0, id=0; struct block_list *mb = NULL; switch(unit_getdir(bl)) { case 0: _x = 0; _y = 1; break; case 1: _x = -1; _y = 1; break; case 2: _x = -1; _y = 0; break; case 3: _x = -1; _y = -1; break; case 4: _x = 0; _y = -1; break; case 5: _x = 1; _y = -1; break; case 6: _x = 1; _y = 0; break; case 7: _x = 1; _y = 1; break; } _x = _x*(skilllv-1); _y = _y*(skilllv-1); clif_skill_nodamage(src,bl,skillid,skilllv,0); id=mob_once_spawn(BL_CAST(BL_PC, src),src->m,src->x+_x,src->y+_y,"StickBomb",2127,1,""); src->sbp++; if(src->sbp==MAX_STICKYBOMB) src->sbp=0; mb=map_id2bl(src->stickbomb[src->sbp]); if(mb!=NULL) unit_skilluse_id(mb, mb->id, 173, 1); src->stickbomb[src->sbp]=id; mb=map_id2bl(src->stickbomb[src->sbp]); mb->sbp=src->id; if(rand()%3) { for(i=0;i<MAX_STICKYBOMB;i++) mb->stickbomb[i]=-1; clif_specialeffect(mb, 47,AREA); }else for(i=0;i<MAX_STICKYBOMB;i++) mb->stickbomb[i]=0; return; } Go to this function int skill_castend_nodamage_id find this case SM_ENDURE: and add below case STICKYBOMB: _STICKYBOMB(src, bl, skillid, skilllv); break; case STICKYBOMBBOMB: clif_skill_nodamage(src,bl,skillid,skilllv,0); killstickybmob(map_id2sd(src->id),1); break; skill.h enum e_skill { STICKYBOMB = 999, //Add STICKYBOMBBOMB = 998, //Add NV_BASIC = 1, db\\skill_cast_db.txt 999,0,0,1000:1500:2000:2500:3000:3500:4000:4500:5000:5500,0,0,0 //Add db\\skill_require_db.txt 999,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //STICKYBOMB //Add 998,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //STICKYBOMBBOMB //Add
    1 point
  4. I must agree with you xD! Choosing a color is already a difficult task, choosing it by adding numerical values to the RGB channel doesn't help at all, since you just won't have access to instant changes on saturation and luminiscence values. I'd rather suggest moving to HSL in future BrowEdit versions.
    1 point
  5. http://nn.nachtwolke.com/dev/viewlist/ Number 945
    1 point
  6. File Name: Cherry Blossom Vending Map File Submitter: Chemical Crush File Submitted: 21 Aug 2013 File Category: Maps & 3D Resources Content Author: Chemical Crush Hey Guys. Thought i'd offer my Cherry Blossom Vending map to the public. It also comes with an optional BGM for the map. If there are any changes you need just message me. Also, please do not redistribute my paid works to the public. Thanks, hope you guys enjoy the map. =] Click here to download this file
    1 point
  7. Here you go. Only edits I made to your request was, Instead of making it 1M to gain access to Levels 1->3, and then 10M for access to Levels 1->4. I made it so, In TOTAL they will have to pay 10M zeny to gain access to Levels 1->4. In other words, if they bought 1->3 for 1M, then they only need pay 9M more to gain access to 1->4. To make it fair. prontera,150,150,4 script Level Dungeons 123,{ set .@npc$,"[^0000FF Level Dungeons Warper ^000000]"; if(!V1_3 && !V1_4) {mes .@npc$; mes "You currently do not have access to these dungeons. You must pay an entrance fee, do you wish to continue?"; mes "Prices:"; mes "Access to Dungeons 1->3 = 1,000,000z"; mes "Access to Dungeons 1->4 = 10,000000z"; menu "Access to Dungeons 1->3",i1_3,"Access to Dungeons 1->4",i1_4,"Cancel",iClose;} if(V1_4) {menu "Level 1:Level 2:Level 3:Level 4",-; warp "lvl_dun0"+ @menu +"",0,0; end;} menu "Level 1:Level 2:Level 3",-,"Access to Dungeons 1->4",i1_4,"Cancel",iClose; warp "lvl_dun0"+ @menu +"",0,0; end; i1_3: next; if(zeny < 1000000){mes "Sorry, but you don't have enough zeny. You need 1,000,000z"; close;} set zeny,zeny-1000000; set V1_3,1; mes "Thank you. You now have access to Level Dungeons 1->3."; close; i1_4: next; if(zeny < (10000000 - V1_3) ){mes "Sorry, but you don't have enough zeny. You need "+ (10000000 - V1_3) +"z"; close;} set zeny,zeny - (10000000 - V1_3); set V1_4,1; mes "Thank you. You now have access to Level Dungeons 1->4."; close; iClose: close; OnInit: bindatcmd "@warp",strnpcinfo(3)+"::OnWarpCmd"; end; OnWarpCmd: if(compare(.@atcmd_parameters$[0],"lvl_dun0") && V1_3 && .@atcmd_parameters$[0] != "lvl_dun04") {warp .@atcmd_parapmeters$[0],0,0; end;} if(compare(.@atcmd_parameters$[0],"lvl_dun0") && V1_4) {warp .@atcmd_parapmeters$[0],0,0; end;} if(compare(.@atcmd_parameters$[0],"lvl_dun0") && !V1_3 && !V1_4){end;} warp .@atcmd_parameters$[0],atoi(.@atcmd_parameters$[1]),atoi(.@atcmd_parameters$[2]); end; }
    1 point
  8. Oh wow! Gorgeous map! I love the center of the map! The textures you chose are perfect Good job!
    1 point
  9. This is Colored Valkyrie Helm. Search only in Sprite Packs, but i have this. Link: http://rghost.ru/48306844 P.S: Sorry for my English
    1 point
  10. Okay, here's a repo with the current code base along with a some words on how to run it continued development. I'm kept busy with real work, and it can go months between updates on my part. As such I've decided to release what I have so far in hopes that someone will find it useful. As with my other work you can regard my code as public domain, though I encourage sharing if you decide to improve it. https://github.com/curio-r/rangarok-js Hopefully I managed to get all the necessary files up. If not, let me know. As I stated from the beginning, this is a personal project I've worked on a little now and then, so it's not up to any standard. This goes for coding style, application architecture, error handling etc. I haven't run it in more than a couple environments, so it's not unlikely you will need to fix something to get it running. Please understand that game play is not ready yet. Most notably I haven't implemented an entity system, and due to various circumstances I haven't really begun working on the zone server packets. How to set it up: Open settings.js and change the data folder path. This is the path exposing the data folder on your WEB SERVER. Setting a local URI (e.g. "C:\Ragnarok\data\") will NOT work because of security policies in your web browser. This is all you should need to do in order to use the map loader. (Optional) Put the Ragnarok BGM folder into the ragnarok-js folder for music. If you want to connect to an Athena server you will also need to setup a WebSocket-TCP bridge. I use a program called WebSockify and by default the web client will try to connect to [$real_port - 1]. So you need to e. g. set up WebSockify on port 6899 to connect to the login server at port 6900. Same goes for char and map. Because this approach effectively hides the client IP from the server there are certain issues with connecting to remote servers which I haven't bothered dealing with yet. I recommend you use Chrome or an equivalent. I've tested on Firefox as well, but it's slow, though this might be due to my setup. It should be able to run on fairly weak computers, but your graphics card needs to have support for WebGL (i. e. not too old OpenGL version). If things don't work out for you remember that you can open the web inspector to see error messages (ctrl-shift-i in Chrome). Running: http://path-to-ragnarok/MapLoader.html will open the map loader. It should load gl_knt02 by default (change in MapLoader.html) and allow you to walk around. From the web inspector's JavaScript console you can spawn monsters (ex. "spawn('raydric')"), change class (ex. "setclass(7)" to change into knight) or head gear (ex. "settop(AccessoryIdTable.ACCESSORY_BUNNYBAND)"). Example: http://i.imgur.com/bDXe84D.jpg http://path-to-ragnarok/Ragnarok.html will open the client. If everything goes well you should be able to get into the game. After that it's not much more you can do.
    1 point
  11. Remove the experience penalty if you want and try this out. Peopleperson49 - script UponDeath -1,{ OnPCDieEvent: set BaseLevel,BaseLevel-1; dispbottom "Your base level has been decreased by 1."; end; }
    1 point
  12. look for status.c look for this line: if (!flag && ( //Blocked only from using the skill take a look at the line under it and confirm that it has this lines (sc->data[SC_MARIONETTE2] && skill_num == CG_MARIONETTE) || //Cannot use marionette if you are being buffed by another sc->data[SC_STEELBODY] || sc->data[SC_BERSERK] || sc->data[SC_OBLIVIONCURSE] || sc->data[SC_WHITEIMPRISON] || then delete sc->data[SC_BERSERK] || in skill.c look for this line if(sd->sc.count && (//Note: If any of these status's are active, any skill you use will fail. So be careful when adding new status's here. and then again delete the sc->data[SC_BERSERK] || Please give me feedback if it does work or not. Havent tested it out but I think thats the only thing you needed to do.
    1 point
  13. got error at char server [Info]: request connect - account_id:2000003/login_id1:972500964/login_id2:98284 4974 [Info]: Loading Char Data (2000003) [Info]: Loading Char Data (2000003) [Info]: request connect - account_id:2000000/login_id1:1786523254/login_id2:2255 50650 [Info]: Loading Char Data (2000000) [Info]: Loading Char Data (2000000) [Info]: We are here in 9a1 [Info]: request connect - account_id:2000000/login_id1:1680562602/login_id2:1397 284081 [Info]: Loading Char Data (2000000) [Info]: Loading Char Data (2000000) [Info]: We are here in 9a1 [Info]: request connect - account_id:2000000/login_id1:1059638202/login_id2:1775 439675 [Info]: Loading Char Data (2000000) [Info]: Loading Char Data (2000000) [Info]: We are here in 9a1 using 2013-05-22 and got pop up error at lua files\datainfo\shadowtable.lua after that client crash.
    1 point
  14. THERE YOU GO I didnt know how to upload this file in a website showing the whole text in the browser but my idnum2itemdesctable is full updated, well ordered in consecutive numbers, from 1 to the last. no gaps between numbers, no mixing up like SlashGeeGee link. The defense description of the footgears, armors, shield, garments and all helms are based in pre renewal data DOWNLOAD MY IDNUM2ITEMDESCTABLE in this link http://www.mediafire.com/view/?9g5amqg92gmgahv has everything in complete order, no missing any description
    1 point
×
×
  • Create New...