Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/15/12 in Posts

  1. Hi All, Just making this project public. This is just an interim project for now while the team works out what to do in the future about raCP. I basically forked the original fluxCP project and have applied Xantara's rA patch for those of you who are too lazy/don't know how. I have installed it to github because it allows you to easily download a zip copy of the latest SVN with no client necessary. Find the project here: https://github.com/calciumkid/fluxcp-renewal If anyone wishes for commit rights, let me know. I'm interested in getting a team together for Facebook login API integration. Calcium NOOB TUTORIAL: To download the latest copy of fluxcp-renewal, simply go here: https://github.com/calciumkid/fluxcp-renewal/zipball/master Extract and install as you would FluxCP.
    3 points
  2. I will also be adding the birthdate system haha. When I say facebook integration I don't mean facebook login enforcement. Like on many websites - just allowing those who wish to make accounts use the "login with facebook" button so they don't have to fill out user details constantly. For those of you who wish to "update" easily, I don't see what you're updating. Just copy paste your old config folder across. If you modified the template, do the same with the theme folder.
    2 points
  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 found this in some other forums, i think its really cool, i just wana share it.. i dont have this spr. btw so dont ask.... if you have it, it would be aswome if you share it to us x) look cool ryt? wat cha think?
    1 point
  5. Psh.. he's been commiting alright, but hasnt commited the new birthdate system still.. Unless I'm partially blind.. o_o
    1 point
  6. Then they just have to install git on the server. Just from reading the git features, I think it is much better than svn.
    1 point
  7. No, there is no other way. The Client can't load files from Server and show them ingame. It must be saved on your computer, otherwise the Client can't load it.
    1 point
  8. OMG I thought I was alone lol... I too I thought I was alone. Really good stuff by the way. Thanks rAthena!
    1 point
  9. http://sushiduy.plesk3.freepgs.com/ROScripts/WoeInfo/woeinfo_122.php
    1 point
  10. My next major move is having the script team rework the NPC folder, and I have brought this up several times with the staff. We intend to, or atleast most of us agreed it'd be a good idea to release milestones as episodes. We'd have one milestone at 13.2 (pre-re). From there, each episodes content would be it's own milestone. The biggest part of this job is sorting out what is missing where regarding the current state of the emu. We have far too much content to sort out easily, and with that said it's hard to determine what belongs in what episode. We have bits of everything.
    1 point
  11. Just add 2000 to the monster id and see what happens. I know that portion came from the permanent monster spawn but it might very well work for the method you're trying as well. Can't know until it's actually tested out.
    1 point
  12. Well, this is a poor source. Look, it's probably the data that wasn't properly handled till this step, so there's no "=" character to explode. else { $ArrRandomName = explode('&', trim($_SERVER['QUERY_STRING'], '&')) ; foreach ($ArrRandomName as $line) { $ToExplode = explode('=', $line, 2); $key = isset($ToExplode[0]) ? $ToExplode[0] : null; $val = isset($ToExplode[1]) ? $ToExplode[1] : null; $key = urldecode($key); $val = urldecode($val); if ($key != 'module' && $key != 'action') { $this->urlWithQS .= sprintf('&%s=%s', urlencode($key), urlencode($val)); If your code is making all operations correctly and you just want a fix to the notice so you're done. I just put a improve to performance also. ;D If "$_SERVER['QUERY_STRING']" is just beeing used in another place, so it could cause a problem at the improved foreach, just turn it back to this ugly one: else { foreach (explode('&', trim($_SERVER['QUERY_STRING'], '&')) as $line) { $ToExplode = explode('=', $line, 2); $key = isset($ToExplode[0]) ? $ToExplode[0] : null; $val = isset($ToExplode[1]) ? $ToExplode[1] : null; $key = urldecode($key); $val = urldecode($val); if ($key != 'module' && $key != 'action') { $this->urlWithQS .= sprintf('&%s=%s', urlencode($key), urlencode($val));
    1 point
  13. Finally. So yeah, I'm not in pro either of adding stuff without fixing the current ones. Theres no use of adding and keep adding and just add a huge load of crap if the base trembles at any possible interaction beween each function. I'd say the most important milestone as of now is a total eACrap cleanup and optimization, along this, a full documentation on rA's source should be done. I keep saying this because people don't know the importance of a proper documentation. I've said it once and I'll say it again, eA's source is so messed up, it really needs a rewrite. This takes time but I'm sure everyone will be most than welcomed to wait for a proper step-by-step rewrite. Functions could be optimized. Packets would be much easier to capture and thus, understand, there wouldn't be redundant functions doing almost the exact thing but for a different file. So yeah, thats what all of you should be focusing right now. You got Renewal, good job, you good 3rds (not finished but still...), good job, but you are still working on a deprecated and non-solid emulator as eAthena is (Says the XXXX amount of bugs in it). I'm having the reps ups, zoooh, i'll get tha ladies mang!
    1 point
  14. define the "zone" in ../conf/mapflag/restricted.txt set the skill(s) that can't be cast in that Zone in ../db/skill_nocast_db.txt
    1 point
  15. It's because ExpPer was removed from the mob_db/mob_db2 tables. You'll need to remove that column from Flux so that it reads it correctly.
    1 point
×
×
  • Create New...