-
Posts
765 -
Joined
-
Last visited
-
Days Won
19
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Playtester
-
Emulador Episode Encounter With the Unknown
Playtester replied to c0nsumer's question in Installation Support
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. -
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;
-
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).
-
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.
-
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.)
-
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.
-
Talis Mode?
-
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.
-
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.
-
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!
-
skill_unit_move_sub: Reached limit of unit objects per cell!
Playtester replied to PapaZola's question in Source Support
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 -
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 }
-
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
-
Last Git - Warning Issues - How to Fix it?
Playtester replied to Tales's question in General Support
"Unused variable" warnings can easily be fixed by simply removing the variable declarations. It tells you the file and the line. -
I already said everything you need to know. ^^" Just set up the resistances how you want them. Nerfwood gave you an example.
-
What sc_def, sc_def2, tick_def and tick_def2 mean is explained at the top of the function where the variables are declared, just read the description and set them accordingly in the SC_FREEZE case as displayed above. tick_def2 of status->luk*10 certainly will make duration being reduced by 1 second for 100 luk as those values are in milliseconds 100*10 = 1000ms = 1 second. Be careful that if you don't define tick_def it will automatically use sc_def, so any changes you do to sc_def, will also be done to tick_def.
-
skill_unit_move_sub: Reached limit of unit objects per cell!
Playtester replied to PapaZola's question in Source Support
When does that appear? static int skill_unit_temp[20]; // temporary storage for tracking skill unit skill ids as players move in/out of them Usually it is possible to have up to 20 units on the same cell. You need to place more on one? -
Well the server uses the time defined there, so the protection should stop after 7 seconds which your change. Is it just the animation? Then I guess you'd need to modify the animation itself on the client.
-
It works fine in the current Git version you can get from: https://github.com/rathena/rathena You can find the bonus in pc.c in function pc_checkbaselevelup: } else if( (sd->class_&MAPID_BASEMASK) == MAPID_TAEKWON ) { sc_start(&sd->bl,&sd->bl,status_skill2sc(AL_INCAGI),100,10,600000); sc_start(&sd->bl,&sd->bl,status_skill2sc(AL_BLESSING),100,10,600000); }
-
Does rAthena supports newer clients?
Playtester replied to Meister's question in Client-side Support
The latest fully supported client is 2013-07-08. Newer clients might or might not work. -
(IDEA ONLY if possible) Anti Nodelay(WPE) user. Please Read
Playtester replied to Nero's question in Scripting Support
But there are already such min delay protections server-sided, so there isn't really a need to check for it. You can't cast skills faster than aMotion anyway. It's better to have the min delays depending on ASPD. But if you put them too high, the players will lose the ability to chain skills the normal way. // What level of leniency should the skill system give for skills when // accounting attack motion (ASPD) for casting skills (Note 2, between 0 and 300) // // NOTE: Setting this to 100% may cause some issues with valid skills not being cast. // The time difference between client and server varies so allowing 90% leniency // should be enough to forgive very small margins of error. skill_amotion_leniency: 90 Setting the value to 140 would be an idea for example. -
Easy. All Classes : 0xFFFFFFFF Priest: 0x00000100 Monk: 0x00008000 Substract both from all classes: 0xFFFF7EFF
-
Yeah, though that just means it tries to delete a unit that was already deleted. Which is not too critical as long as we don't forget to check for it anywhere it's used (that's why I suggested my update in the code). Does it no longer crash now?