Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/08/22 in all areas

  1. Good morning, For the last months I've been working on a mod that would allow deeper ai conditions. Here is how the config file looks like : - friendrecoverable: # arbitrary name tag - or: - friend sleep - friend stone - friend stun - friend freeze - selfcellempty: - not self safetywall - not self pneuma - not self landprotector - not self icewall - friendcellempty: - not friend safetywall - not friend pneuma - not friend landprotector - not friend icewall Then you can add or modify lines in the usual mob_skill_db.yml file : 1639,Kathryne Keyron@MG_SAFETYWALL,anytarget,12,10,3000,0,10000,yes,self,expanded,selfcellempty,,,,,,, #use tag "expanded" then the name 1639,Kathryne Keyron@MG_SAFETYWALL,anytarget,12,10,3000,0,10000,yes,friend,expanded,friendcellempty,,,,,,, 1637,Margaretha Sorin@PR_STRECOVERY,any,72,1,10000,1000,10000,no,friend,expanded,friendrecoverable,,,,,,, I also added 2 new modes to complement these new behaviors : Modes: SkillOnly: true PcSkillBehavior: true SkillOnly will disable basic attacks and PcSkillBehavior will modify its skills' ranged/melee flag depending on range and not distance, as players' behave. Link : https://github.com/Singe-Horizontal/rathena/tree/mod/expanded_ai Quick design video : It is my first c++ project mod and contribution with git, I gave all the care I could but unoticed things may have slipped out.
    1 point
  2. This system lets you know if the mvp is alive or dead. type @mvp <id> in the respective mvp map and a window will appear. Creators Credit (Code/Source): @Hyroshima @Tio Akima Video: https://youtu.be/0pGJgkgJbz8 Gif:
    1 point
  3. login screen data is belong to this directory : the file should look like this
    1 point
  4. This version is my fork of roBrowser and although it is much more advanced that the original repo, it still needs a lot of development. If anyone can help please contribute to it: https://github.com/MrAntares/Ragna.roBrowser
    1 point
  5. +(gettimetick(1)/60)-RandomQuestTime+ to +((gettimetick(1)/60)-RandomQuestTime)+
    1 point
  6. hola que tal mira sigue esta guía . llega hasta la parte que indica "Montar el Servidor a un Host". [Guía] Crear Servidor Profesional De Ragnarok Saludos.
    1 point
  7. View File [ Yumi ] Loading Screens Summary: Since i don't use them anymore. i'm willing to share this simple loading screens. i removed all the text below and above so that anyone who want to use this would be able to put text without cleaning it. Submitter Haruka Mayumi Submitted 06/02/2020 Category Loading Screens Video Content Author Haruka Mayumi  
    1 point
  8. Try this - script mvp_chest -1,{ OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) { getmapxy(.@map$,.@x,.@y,0); monster .@map$,rand(.@x,.@x-3),rand(.@y-3,.@y),"--ja--",1324,1; } end; } Idk if there's a script that get the killed monster coordinates. But this script will summon the treasure chest near the killer. EDIT: If you want it to be dropped spawned exactly where the monster was killed maybe you can use this patch LINK
    1 point
  9. a more practical method should be asking the player to trade how many golds he want change the exchange: label into like this exchange: mes "[Gold Room Warperer]"; mes "Hmm...let me see"; mes "You have " +gold+ "."; if (gold == 0) goto nogold; mes "how many you want to retrieve ?"; next; input .@tmp, 1, gold; if (checkweight(969,.@tmp) == 0) goto L_OverWeight; getitem 969, .@tmp; set gold, gold - .@tmp; emotion e_gg; end;
    1 point
  10. // ~~~~~ show time left in days, hours, minutes and seconds ~~~~~ function script timeleft__ { if ( ( .@left = getarg(0) ) <= 0 ) return getarg(0); .@day = .@left / 86400; .@hour = .@left % 86400 / 3600; .@min = .@left % 3600 / 60; .@sec = .@left % 60; if ( .@day ) return .@day +" day "+ .@hour +" hour"; else if ( .@hour ) return .@hour +" hour "+ .@min +" min"; else if ( .@min ) return .@min +" min "+ .@sec +" sec"; else return .@sec +" sec"; } prontera,150,165,5 script Hourly reward 87,{ if ( #hourly_timer > gettimetick(2) ) { mes "You must wait "+ callfunc( "timeleft__", #hourly_timer - gettimetick(2) ) +"."; close; } mes "Here your hourly Item : x"+ .item_amount +" ^ff0000"+ getitemname( .item_ID ); getitem .item_ID, .item_amount; #hourly_timer = gettimetick(2) + 3600; close; OnInit: .item_ID = 501; .item_amount = 1; end; }
    1 point
×
×
  • Create New...