Jump to content

Playtester

Developer
  • Posts

    905
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Playtester

  1. Could be that there is some hard-coded 1024 limit somewhere in the code that would cause an overflow. Can you get the line at which it crashes?
  2. I'm sure it worked on eAthena at least. I created myself a lot of server-sided bots like that so I don't feel so alone on my offline server lol.
  3. There's a certain mode in the spawn files you can use... I'm just not sure which number it was... 8 or 16? prontera,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,8 prontera,0,0,0,0 monster Wild Rose 1261,1,7200000,3600000,16 Like this, one of the two. I haven't used it for over 5 years, so I'm not sure if this still works, though.
  4. I just did a commit that should fix the problem with the warnings.
  5. src/config/core.h #define HP_SP_TABLES
  6. It's rather normal as some classes really get less HP/SP on level up from 99 to 100. Super Novice for example has 109 SP at level 99, but 100 SP at level 100. Most of the warnings you get above should only occur if you have increased the normal max level, though! For example if you have the Gangsi class implemented on your server and allow it to level above level 99, you might want to adjust the tables to support higher level HP/SP.
  7. It's just an info, you can ignore it. On official servers, Novice SP decreases from 109 to 100 when leveling to level 100 (extended super novice), this is what generates the warning. I implemented the official HP/SP values recently so we are now using the HP/SP tables: https://github.com/rathena/rathena/raw/master/db/pre-re/job_basehpsp_db.txt
  8. Yes, in renewal every single hit has a freeze chance and a lower skill level has a higher freeze chance. On pre-renewal every 3rd hit has a 150% freeze chance. If you just want 15% freeze chance per hit remove everything from #ifdef to #endif and just put: sc_start(src,bl,SC_FREEZE,15,skill_lv,skill_get_time2(skill_id,skill_lv));
  9. If you just change 150 to 15 then it's just 15% to freeze per 3 hits. Instead use the renewal code and put a 15 in there.
  10. I already explained all the effects above. Skills will chain, the bad side is if you chain them but then later on decide you want to use another spell you can't because the chained skill will take priority. Everything is checked in 20ms intervals which means things that were dividable by 50ms but aren't dividable by 20ms might flutuate more. And more CPU usage of course. Generally it should only bring improvements as long as your server is good enough for the amount of players you have.
  11. In other words you just need to enable the PRERE define. Here: https://github.com/rathena/rathena/blob/master/src/config/renewal.h It could be that you need to move some NPC positions as well as warp-in points depending on the client version you use. And maybe even make sure the grf map layout fits to the version. Most places that often bug out are Izlude and Morroc as they got changed frequently.
  12. I'm not sure what you want to do with that. But the error is just as it says, the object "state" has no variable "botcheck". Everything sd can contain is defined in pc.h: https://raw.githubusercontent.com/rathena/rathena/master/src/map/pc.h struct s_state { unsigned int active : 1; //Marks active player (not active is logging in/out, or changing map servers) unsigned int menu_or_input : 1;// if a script is waiting for feedback from the player unsigned int dead_sit : 2; unsigned int lr_flag : 3;//1: left h. weapon; 2: arrow; 3: shield unsigned int connect_new : 1; unsigned int arrow_atk : 1; unsigned int gangsterparadise : 1; unsigned int rest : 1; unsigned int storage_flag : 2; //0: closed, 1: Normal Storage open, 2: guild storage open [Skotlex] unsigned int snovice_dead_flag : 1; //Explosion spirits on death: 0 off, 1 used. unsigned int abra_flag : 2; // Abracadabra bugfix by Aru unsigned int autocast : 1; // Autospell flag [Inkfish] unsigned int autotrade : 1; //By Fantik unsigned int reg_dirty : 4; //By Skotlex (marks whether registry variables have been saved or not yet) unsigned int showdelay :1; unsigned int showexp :1; unsigned int showzeny :1; unsigned int noask :1; // [LuzZza] unsigned int trading :1; //[Skotlex] is 1 only after a trade has started. unsigned int deal_locked :2; //1: Clicked on OK. 2: Clicked on TRADE unsigned int monster_ignore :1; // for monsters to ignore a character [Valaris] [zzo] unsigned int size :2; // for tiny/large types unsigned int night :1; //Holds whether or not the player currently has the SI_NIGHT effect on. [Skotlex] unsigned int blockedmove :1; unsigned int using_fake_npc :1; unsigned int rewarp :1; //Signals that a player should warp as soon as he is done loading a map. [Skotlex] unsigned int killer : 1; unsigned int killable : 1; unsigned int doridori : 1; unsigned int ignoreAll : 1; unsigned int debug_remove_map : 1; // temporary state to track double remove_map's [FlavioJS] unsigned int buyingstore : 1; unsigned int lesseffect : 1; unsigned int vending : 1; unsigned int noks : 3; // [Zeph Kill Steal Protection] unsigned int changemap : 1; unsigned int callshop : 1; // flag to indicate that a script used callshop; on a shop short pmap; // Previous map on Map Change unsigned short autoloot; unsigned short autolootid[AUTOLOOTITEM_SIZE]; // [Zephyrus] unsigned short autoloottype; unsigned int autolooting : 1; //performance-saver, autolooting state for @alootid unsigned int autobonus; //flag to indicate if an autobonus is activated. [Inkfish] unsigned int gmaster_flag : 1; unsigned int prevend : 1;//used to flag wheather you've spent 40sp to open the vending or not. unsigned int warping : 1;//states whether you're in the middle of a warp processing unsigned int permanent_speed : 1; // When 1, speed cannot be changed through status_calc_pc(). unsigned int hold_recalc : 1; unsigned int banking : 1; //1 when we using the banking system 0 when closed unsigned int hpmeter_visible : 1; unsigned disable_atcommand_on_npc : 1; //Prevent to use atcommand while talking with NPC [Kichi] } state;
  13. But that would only make you immune to magic on melee attacks. Not sure if there is an immune to physical bonus. You could make an autocast of NPC_STONESKIN Level 10 which would be 100% less damage from physical attacks but 100% more damage from magical attacks (see Ulfhedinn, this item already has this bonus except it's level 6).
  14. No need for source change, you can just use Autobonus for it. You could for example make it "50% chance to gain magic immunity for 2 seconds when hit by magic spell". I know it's not exactly the same but it gets close and if the goal is to just weaken the effect then this works.
  15. Playtester

    @mobinfo/mi

    Don't filter it when reading the mob_db, instead you filter it whenever the atcommand is called. Also @mi is already filtering out monster with no exp, so that should already be working if you are using rAthena. But anyway, you can easily implement this by going to mob.c and find the following function: static int mobdb_searchname_array_sub(struct mob_db* mob, const char *str) { if (mob == mob_dummy) return 1; if(!mob->base_exp && !mob->job_exp && mob->spawn[0].qty < 1) return 1; // Monsters with no base/job exp and no spawn point are, by this criteria, considered "slave mobs" and excluded from search results if(stristr(mob->jname,str)) return 0; if(stristr(mob->name,str)) return 0; return strcmpi(mob->jname,str); }If you return "1" here, then the monster will be excluded from @mi. (You can already see the check that it needs to give exp to be included.)
  16. Well, it's all official. If you want a custom change, I'd need to know what exactly you want to change. Though I'm not sure if you really want to make Acid Demonstration stronger that it already is. If you have a renewal server just tell your player that in Renewal it is not possible to reduce cast time of Acid Demonstration. If you have a pre-renewal server it should already be working (DEX reduces cast time). Aftercast delay was always 1000ms, though.
  17. Talis Mode?
  18. Hmmm, the code looks quite a bit different from the current skill.c code: https://raw.githubusercontent.com/rathena/rathena/master/src/map/skill.c Doesn't skill_strip_equip already call sc_start? Other than that my first assumption would be that the duration is 0. Try putting after: if (d < 0) d = 0; //Minimum duration 0msThis: ShowDebug("Strip duration = %d\n", d);Then compile and try using strip.
  19. I have exactly the same problem and couldn't really solve it in VS 2010. Luckily this only prevents you from compiling in Debug mode, you can still compile in Release mode. Just find the combo box with "Debug" in it and change it to "Release".
  20. Not really. Acid Demonstration has an aftercast delay of 1000ms. You can't override fixed aftercast delays with ASPD. Edit: Do you mean that cast time is not reduced by DEX maybe? That's an official renewal update.
  21. I'm close to having fixed everything that's in my power to fix, so probably my commits will reduce. I'll be frequently checking if there are problems with any of my updates, though. :-) If there is any pre-renewal relevant bug that you always wanted to be fix, feel free to tell me, though!
  22. That second error sounds like the client version you use isn't compatible with the server compile. You should also consider updating to latest GIT: https://github.com/rathena/rathena
  23. I won't give you a full solution as it depends on many things and requires multiple sources to be modified but to give you a pointer check out map/skill.c. For pre-renewal cast you need to check this function: int skill_castfix_sc(struct block_list *bl, int time) For renewal: int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv) For aftercast delay: int skill_delayfix (struct block_list *bl, uint16 skill_id, uint16 skill_lv) In those functions if you search for SC_POEMBRAGI you see the cast time reduction from Bragi. What you need to do there is to check the skill_id and only apply the reduction if the skill_id is not equal to one of the skills you want to exclude. It could look like: if(skill_id != WZ_METEOR && skill_id != WZ_STORMGUST && skill_id != WZ_VERMILION) { //Bragi code here }
  24. Looks like exp sharing is part of the char server, that's why you find the source here: https://github.com/rathena/rathena/blob/master/src/char/int_party.c
  25. "Unused variable" warnings can easily be fixed by simply removing the variable declarations. It tells you the file and the line.
×
×
  • Create New...