Jump to content

Sylfeyn

Members
  • Posts

    7
  • Joined

  • Last visited

Everything posted by Sylfeyn

  1. Yeah, mine is working. Check your db/import/mob_skill_db.txt though and make sure you have a blank newline after the 30000,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,10000,3500,0,yes,self,onspawn,,,,,,,, line I remember the first time I saw an error in one of the servers when loading that file because it didn't count the correct number of arguments. Adding a new line made it work correctly.
  2. This behavior seems similar to Geneticist's Hell Plant, which is a status that deals damage around the player every 0.3 seconds. In status.cpp you can see in status_change_timer: case SC_HELLS_PLANT: tick_time = status_get_sc_interval(type); val4 = tick - tick_time; // Remaining time break; In status_change_timer_sub: case SC_HELLS_PLANT: if( sce->val4 >= 0 ){ skill_castend_damage_id( bl, bl, GN_HELLS_PLANT_ATK, sce->val1, tick, 0 ); } break; Might not be the best way but maybe you could create a status that handles the healing over time following that structure, and make the skill apply the status for 4 seconds?
  3. I created a mob with id 30000 and AegieName G_MARINE_SPHERE in db/import/mob_db.yml all other stats copied from the original Then I added this to db/import/mob_avail.yml to assign it a sprite: Body: - Mob: G_MARINE_SPHERE Sprite: MARINE_SPHERE In db/import/mob_skill_db.txt I added: 30000,Marine Sphere@NPC_SELFDESTRUCTION,idle,173,1,10000,3500,0,yes,self,onspawn,,,,,,,, In skill.cpp: case AM_SPHEREMINE: case AM_CANNIBALIZE: { int32 summons[5] = { MOBID_G_MANDRAGORA, MOBID_G_HYDRA, MOBID_G_FLORA, MOBID_G_PARASITE, MOBID_G_GEOGRAPHER }; int32 class_ = skill_id==AM_SPHEREMINE?MOBID_MARINE_SPHERE:summons[skill_lv-1]; enum mob_ai ai = (skill_id == AM_SPHEREMINE) ? AI_SPHERE : AI_FLORA; struct mob_data *md; I changed MOBID_MARINE_SPHERE to MOBID_G_MARINE_SPHERE. Finally in mob.hpp: enum MOBID { MOBID_PORING = 1002, MOBID_RED_PLANT = 1078, MOBID_BLUE_PLANT, MOBID_GREEN_PLANT, MOBID_YELLOW_PLANT, MOBID_WHITE_PLANT, MOBID_SHINING_PLANT, MOBID_BLACK_MUSHROOM = 1084, MOBID_MARINE_SPHERE = 1142, MOBID_EMPERIUM = 1288, MOBID_G_PARASITE = 1555, MOBID_G_FLORA = 1575, MOBID_G_HYDRA = 1579, MOBID_G_MANDRAGORA = 1589, MOBID_G_GEOGRAPHER = 1590, MOBID_GUARDIAN_STONE1 = 1907, MOBID_GUARDIAN_STONE2, MOBID_SILVERSNIPER = 2042, MOBID_MAGICDECOY_FIRE, MOBID_MAGICDECOY_WATER, MOBID_MAGICDECOY_EARTH, MOBID_MAGICDECOY_WIND, MOBID_ZANZOU = 2308, MOBID_S_HORNET = 2158, MOBID_S_GIANT_HORNET, MOBID_S_LUCIOLA_VESPA, MOBID_GUILD_SKILL_FLAG = 20269, MOBID_ABR_BATTLE_WARIOR = 20834, MOBID_ABR_DUAL_CANNON, MOBID_ABR_MOTHER_NET, MOBID_ABR_INFINITY, MOBID_BIONIC_WOODENWARRIOR = 20848, MOBID_BIONIC_WOODEN_FAIRY, MOBID_BIONIC_CREEPER, MOBID_BIONIC_HELLTREE, }; I added MOBID_G_MARINE_SPHERE = 30000, into this enum I think that's it.
  4. Okay the simplest form was to create a separate mob based on Marine Sphere and edit the relevant source files to use its mob id instead of the original marine sphere, then configure the skill in mob_skill_db.txt with condition onspawn
  5. I'm trying to make the summoned Marine Sphere immediately cast Self Destruction upon spawning. What's the simplest way to achieve this, without affecting naturally spawned Marine Spheres?
  6. Alright, managed to solve it, user error as always. In case people come across it, don't be lazy and try to copy paste and rename your .conf files into the import folder. They're meant to override settings, not the whole file. I suspect the # comments might be unexpected (it is a .txt file after all) and so the server crashes when reading the imports. Relevant doc: https://github.com/rathena/rathena/blob/master/conf/readme.md
  7. Edit: Solved I set up rAthena with MySQL 8.0 a couple months ago on my computer to run locally, and everything worked just fine. I occasionally pulled from master and recompiled to stay up to date, no issues. Then, a few days ago after recompiling, the servers would just crash immediately after launching. I tried troubleshooting, rolling back to a previous commit, nothing seemed to work. Then I decided to just start over from scratch, I uninstalled SQL, deleted all leftover database files, cloned the repo again, installed MySQL, imported the tables, set the ragnarok account, gave the permissions, set up the correct passwords, made sure all credentials were right, compiled it again and it just crashed. What boggles my mind is that it was working just fine, until it wasn't anymore. Is there any way to see some more detailed logs about this crash? Note all servers crash immediately, I only attached one as example.
×
×
  • Create New...