Leaderboard
Popular Content
Showing content with the highest reputation on 08/17/22 in all areas
-
Hello, A lot of rAthena users preferred to use text database, and I am one of these users since it is so much easier to trace | modify | compare. I've been trying to find a workaround to enable rAthena to still read text version of item database, but frustratingly I don't have the knowledge & capability to do so. I really hope that there would be someone out there who can help in making rAthena be able to read text version of item db. Please hit like if you are like me who prefer to use text version item db. Thank you!1 point
-
Hello guys, I want to share a project I'm making for pre renewal servers: The idea is to brings some renewal content to pre renewal, except items, but the playing content. The pre-renewal is on episode 12, classic satan morroc last patch. I implemented all monsters of El Dicastes, Bifrost, Eclage (biolab04) etc into pre-renewal. I scaled monster stats and levels to pre-renewal, as well as attack and defense. I added pre-renewal loots into those monsters (Old Card Album for card drop, since there is no card. Magic card album for mvps and mini-bosses) bio04 give 25% more exp than bio 3 and same loot, just different weapon drop, class based. bio 04 mvp has bio 03 card. Morroc: New restored Morroc city and fields. All Incarnation of Morroc monster and Imperor Satan Morroc MVP are removed from the game world. All NPCS related to this are gone, its in the past. I made a custom weekly Instance where you can face dozens of Incarnation of Morroc, optionally a Baphomet and a Lord of the Dead (they spawn in the instance but not required to kill), and in the final room MVP Imperor Morroc. So you can still farm diabolus loot but the game world can move on. The next step is to bring the Dimensional Gap. instances of each renewal episode. But I wonder if I can also bring maybe the enchant system or some cards/items to be worth playing the instancies, because there is no true reward at this moment. I'm out of ideas actually, if you have some idea please share. I used to play a lot of RO in the past and I came back now, I want to open a real server with this settings.1 point
-
in some cases i would like YML for example itemdb.yml is good and readable but for sure text db is one way for everyone to find it friendly to use. It would be better if we could still choose if we would want to continue with txt or yml.1 point
-
1 point
-
Version 1.0.6
820 downloads
UPDATE: version 1 = I removed all my modifications on this script version 2 = Has timers and will most likely be in-conflict with other event scripts i made. In response to this post : OnInit: // item reward setarray .item, 501, 10, 502, 5; // @dicestart - gm manual start bindatcmd "dicestart", strnpcinfo(0)+"::OnStart",60,60; // @dice - player join event bindatcmd "dice", strnpcinfo(0)+"::OnJoinEvent"; // Mapflags setarray .@mapflag, mf_nowarp, mf_nowarpto, mf_noskill, mf_noteleport, mf_nomemo, mf_nosave, mf_noicewall, mf_nobranch, mf_noreturn; for ( .@i = 0; .@i < getarraysize(.@mapflag); .@i++) setmapflag "quiz_02", .@mapflag[.@i]; .event_time_m = gettime(DT_MINUTE); .event_time_s = gettime(DT_SECOND); end; I took some dice script by someone named sandbox and modified it the way how I understand this posts suggests to make. instead of using @event to check the time schedule of dice, I incorporate it to @dice command. This will show you an hourly countdown as to when will the event will be re-starting. And this dice event should be working on latest rathena. Compatibility is your Responsibility. PS : if there are any broken event scripts ( due to old versions ), just DM me the link and I might be interested in updating it. PPS: I will only FIX it and not modify it at all. ?Free1 point -
Version 1.0.7
559 downloads
UPDATE: version 1 = I removed all my modifications on this script version 2 = Has timers and will most likely be in-conflict with other event scripts i made. Same old same old. I made revision on old poring catcher event by sandbox. It works similarly with the Dice Event V2 I recently posted. Nothing more is modified on the script. Feel free to edit and adjust as you wish. This will have conflict with dice event because i made this ran hourly too. I may or may not be making an Event Manager but who knows. Compatibility is your Responsibility. PS : if there are any broken event scripts ( due to old versions ), just DM me the link and I might be interested in updating it. PPS: I will only FIX it and not modify it at all. ?Free1 point -
Version 1.0.1
954 downloads
UPDATE: version 1 = I removed all my modifications on this script version 2 = Has timers and will most likely be in-conflict with other event scripts i made. Works the same with my other event scripts. Regular Novice v Zombie script. I just updated it and added some features. Enjoy. I dont know who exactly made this idea so i cant credit him properly. This is a response post from this topic:Free1 point -
1 point
-
- script baselvl_kick_map -1,{ OnInit: .max_level = 150; .map$ = "prontera"; setmapflag .map$,mf_loadevent; end; OnPCLoadMapEvent: if ( strcharinfo(3) == .map$ && BaseLevel >= .max_level ) { warp "SavePoint",0,0; } end; }1 point
-
function script B_Sunlight { if (getcharid(1)) { getmapxy(.@map1$, .@x1, .@y1, 0); getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for(set .@i,0; .@i < $@partymembercount; set .@i,.@i+1) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { attachrid $@partymemberaid[.@i]; if (HP > 0) { getmapxy(.@map2$,.@x2,.@y2,0); if ((.@map1$ == .@map2$) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30)) { sc_start SC_Intravision,30000,0; } } } } } else { sc_start SC_Intravision,30000,0; } end; } This should work, I can't test for you. This script will also check the range between the party member and only affect members within the screen (and alive). Change your Box of Sunlight item_db script into callfunc "B_Sunlight";1 point
-
Open: src/map/atcommand.c Find: /** * Fills the reference of available commands in atcommand DBMap **/ Replace with: ACMD_FUNC(recallmap) { short mapindex; struct map_session_data* pl_sd; struct s_mapiterator* iter; int count; nullpo_retr(-1, sd); if (!message || !*message){ clif_displaymessage(fd, msg_txt(909)); // Please enter a map (usage: @recallmap <mapname>). return -1; } mapindex = map_mapname2mapid(message); if (mapindex < 0) { clif_displaymessage(fd, msg_txt(1)); // Map not found. return -1; } count = 0; iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) { if(pl_sd->bl.m == mapindex) { if (sd->status.account_id != pl_sd->status.account_id && pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { if (map[pl_sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) count++; else { if (pc_isdead(pl_sd)) { //Wake them up pc_setstand(pl_sd); pc_setrestartvalue(pl_sd,1); } pc_setpos(pl_sd, sd->mapindex, sd->bl.x, sd->bl.y, CLR_RESPAWN); } } } } mapit_free(iter); clif_displaymessage(fd, msg_txt(92)); // All characters recalled! if (count){ sprintf(atcmd_output, msg_txt(1033), count); // Because you are not authorized to warp from some maps, %d player(s) have not been recalled. clif_displaymessage(fd, atcmd_output); } return 0; } /** * Fills the reference of available commands in atcommand DBMap **/ Find: AtCommandInfo atcommand_base[] = { Replace with: AtCommandInfo atcommand_base[] = { ACMD_DEF(recallmap), Recompile, you're done.1 point
-
It works just fine for me: http://img210.images...6737/noloot.png Do you get any errors or warnings when you compile? EDIT: Heres how to fix it: Sorry for the trouble1 point
-
Diff: http://pastebin.com/sUduy7xb Woopsie, I forgot to change something~ http://pastebin.com/SqLtTM271 point