Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/05/21 in all areas

  1. This topic about Nemo fork https://gitlab.com/4144/Nemo Most changes present in ChangeLog Patches reports service: http://nemo.herc.ws For test Ragnarok zero clients need: this nemo fork and enable at least patches from https://gitlab.com/4144/Nemo/blob/master/profiles/zero_minimal.log this or similar clientinfo.xml https://gitlab.com/4144/Nemo/blob/master/configs/zero/clientinfo.xml From 2018-11-14 in all clients must be enabled patch Remove hard coded address/port For clients newer than 2018-03-09: Need manually copy cdclient.dll from Nemo/input or enable patch "Copy patched Cheat Defender Game Guard" Clients exe downloads: http://nemo.herc.ws/downloads/ Full client downloads: http://nemo.herc.ws/downloads/#downloadable-full-clients Discord: https://discord.com/invite/ByEQHDf
    3 points
  2. RO Patcher Lite About Replacement for Gravity's RO patcher. Works faster and doesn't consume your entire memory for just seeing it crashing, aside from this, it works almost exactly as the official patcher does, so that it shouldn't break, unless Gravity changes something vital to their patcher. It works on every 32-bit and 64-bit Microsoft* Windows* platform and is free of any cost. Known Issues None. Download & Website http://ai4rei.net/p/rsu License This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 International License.
    2 points
  3. Good Day rAthena ! ---------------------------------------------------------------------------------------- Released Scripts Most of my script is not mine but since its too old i make it work to latest rAthena scripting . But i also made my few script for my own server . I will separate my NPC script to ( 3 ) Different Type of Server ("Low Rate","Mid Rate","High Rate") EVENTS - Mid Rate / High rate Alon Event Bombring Event Dice Event Fabre Punch Event Free For All Event Goblin Invasion Event Mushroom Event MVP Event Poring Catcher Event Racing Event Soccerball Event Stop the Clock Event Town Invasion Event Treasure Box Event True or False Event Event Control Manager Shower Event Whos Online Event ---------------------------------------------------------------------------------------- Utilities - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- CoolEvent Corp. Employee ( PRO Style - Coupon ) HOT! Lotti Girl ( PRO Style ) HOT Stats Seller HOT Time Play HOT Instant Job / Baby Changer HOT Event Whisper HOT GM LOGIN HOT GOD ITEM HOT Server Time Freebies Farm Zone Berry Changer Server Announcer Attendance Banker Broadcaster with Delay and Payment Change Gender Change Name Enter to Channel System Emperium Breaker Test Emperium Breaker Ladder with Points Changer Guild Ladder no need SQL MVP Top Hunter Ladder no need SQL Healer & Linker Moving Waiting Room ---------------------------------------------------------------------------------------- Quest - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- Bubble Gum Quest Halter Berzebub Card Quest ---------------------------------------------------------------------------------------- SECURITY - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- AntiBot System HOT! PAID NPC Notes I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Im tired now i will update this post on next few days to update all my working script need to update first and test to work to latest rAthena . Most of the NPC that already here already have a updated version so to get that you need to directly send me a message it will be gonna a paid script or you can request so i will put it on rAthena Download section and make it a paid NPC Enjoy!
    1 point
  4. File Name: Punching Bag with DPS counter File Submitter: Secrets File Submitted: 01 May 2016 File Category: Utilities Content Author: secretdataz Update: This script won't work on Hercules and you have to make it work yourself if you want to use it on Hercules. This is yet another punching bag with DPS counter which I use to experiment with get/setunitdata command. Feel free to use. Click here to download this file
    1 point
  5. i guys, now I'm in this board too and I'm happy to be able to work with you guys once again . NOTE: For those who don't know yet, but I unofficially continue Zackdreaver's Renewal Translation Project and I'm pretty much stopping with NPC scripting so I can focus on that as it's a better project to help the community. You can find more about it at my comment here - or in my signature is a link to the GitHub repo. Some rules for my releases: 1.) I will not support scripts you have modified by yourself, like changing mayor part of the code. 2.) Do NOT steal, pretend that you are the creator of these scripts - give credits accordingly . 3.) Like everyone else, I don't like it if someone remove the credits in the NPC Header. Anyway, if you follow these rules we won't have problems . For those who didn't took a look at my signature yet, my whole scripts are available via GitHub now. Topic Changelog: > 11-19/2011: Created my script collection and re-released my scripts from eAthena. > 11-24/2011: Added Restaurant, Login Settings, Global NPC Handler, Variable & Array Reader > 12-17/2011: Updated Restaurant and Virtual Password, Added Character Manager for Test Servers > 12-19/2011: Added PvP-GvG-MvP Arena > 12-20/2011: Added new feature to Character Manager > 01-08/2012: Added Card Compounder > 01-12/2012: Added Dynamic Shop > 01-18/2012: Added Vote NPC v1.0 > 10-13/2012: Added Fame System v1.1 > 10-16/2013: Added Training System v1.0 and Mob Invasion Event v1.0 > 09-22/2015: Added Quest System v1.0 > 06-11/2015: Updated Dynamic Shop v1.0 to v1.1 > 10-01/2015: Updated Quest System v1.0 and Fame System to v1.2 > 10-03/2015: Added Dungeon Party System v1.0 > 10-17/2015: Optimized this post a bit, how do you guys like it? > 09-07/2017: Cleaned up the Collection, see below for details. > 11-10/2017: Major update of older scripts > 12-31/2017: Updated Quest System v1.2 > 01-15/2018: Updated Training System v1.0 to v2.0 Added Mass Seller and Daily Reward NPC Added Dungeon Quest Service v1.0 + SQL file > 10-25/2018: Split Topic into Sections (Released, Requests, Additional and Unofficial) Added Instanced Loot System Added every requested Script so far Added Pagination function and GetMobData function Added Unofficial Excellion Gear NPC's and Nightmare Bio Lab NPC's Added Armor Enchanter Fixed Card Compounder > 05-28/2019: Added Battle Royale and Hunting Grounds Script Removed Broadcaster duo unnecessarity > Channel System Removed Unofficial Nightmare Bio Lab official implementation Removed Unofficial modified Morse Cave Instances by Alayne Updated Mob Invasion to v1.1 Modified Costume Enchanter v1.2 Modified Gold Room Battle v1.1 Removed every Update Log from the Scripts, leaving only the Features present > 06-10/2019: Added Mystic Enchanter + Mystic Enchanter without Random Option Support > 07-12/2019: Added the either forgotten or accidently deleted Last Man Standing v1.0 Added Dynamic Battleground Arena v1.0 > 05-02/2020: Removed useless scripts > 05-07/2020: Updated Mystic Enchanter to v1.1 > 11-06/2020: Removed Excellion Gear NPC (unofficial scripts are only visible on the repository) Updated Quest System and Hunting Grounds Instance, Old Glast Heim Hard > 04-06-2021: Removed Dynamic Battleground Arena Git Changelog Released Scripts Entertainment Arena Master v1.6 Last Man Standing v1.0 Mob Invasion Event v1.1 (I know there are many of these already around, but I wanted to try one for myself) Hunting Grounds Instance v1.0 Battle Royale v1.0 Utility InGame CP v1.3 Restaurant v1.0 Card Compounder v1.1 Dynamic Shop v1.1 Mass Seller v1.1 Daily Reward v1.0 Mystic Enchanter v1.1 Warning: This Enchanter disturbs Game Balance, as it allows to enchant everything you set it to! Though I added limitations and many settings to restrict that as much as possible. System Security System v2.1 Virtual Password v1.3 Fame System v1.3 Training System v2.0 Quest System v1.4 Dungeon Quest System v1.0 Instanced Loot System v1.0 Extra Pagination Function v1.0 GetMobData Function v1.0 Requests Vote NPC v1.2 Request by PapaZola Monster Slaughter Event v1.0 Reqzest by PapaZola Costume Enchanter v1.2 Request by Vegas Freebie NPC ... Forgot who requested it Gold Room PvP v1.1 Request by Paulinds MvP Ranker v1.2 Request by Radian Best regards, Chris
    1 point
  6. Version 1.0.0

    400 downloads

    Geffen Magic Tournament armors and accessories enchanter. Note: Magic Reflector and Revised Encyclopedia are disabled from enchanting since I'm not sure if they can be enchanted or not. Also increase healing received by 5~10% for armor is disabled since I'm not sure what's the random option for that. Credits: kRO, iRO, NovaRO and Divine-pride
    Free
    1 point
  7. 1 point
  8. clear(); should only be called if there are any mes(); (aka npc dialog) displayed
    1 point
  9. Version 1.0.0

    253 downloads

    Dark Moon Hi... I did this NPC some time ago Now I'm posting to the community FREE TioAkima
    Free
    1 point
  10. Just sharing my very own Elemental Converter Trader. This NPC basically trades an item to converter. Configurations: if(.@quantity > 10){//Maximum number of Trades if (countitem(7179) < 1 * .@quantity) { //ItemRequirement convertertrader.txt
    1 point
  11. Version 1.2.1

    975 downloads

    Original Topic: http://herc.ws/board/topic/16037-campfire-to-regenerate-hpsp/ Herc Script Link : https://pastebin.com/fksPdpFQ The Idea: Camp Fire to restore / regenerate HP & SP. When you sit by the Camp fire, you start feeling the warmth and the comfort, so your HP & SP begin to regenerate. How to use : 1. add the source mode provided in the script. (or here) 2. make a usable item_db with these bonus script. callfunc("func_CreateCampFire", <range>, <duration>, <heal_rate>); // create campfire callfunc("func_UpdateCampFire", <range>, <duration>, <heal_rate>); // update the campfire duration/heal rate. Preview: Credits : @Dastgir & @Radian for the src mod and @Habilis for the idea
    Free
    1 point
  12. View File Endow_Sage.txt Features This well-endowed sage will give your players the selected elemental endows, the same as the sage Endow skills. You may configure the price or whether players are required to have the corresponding elemental stones. The NPC is intended for low-rate servers, where not everyone has access to an endow slave on an alternate account. He will also sell elemental converters at the configured prices. Default settings will require players to have corresponding elemental stone, and will cost 20k zeny. Endows will last for 30 minutes on the default configuration. Elemental converters are sold for 10k (discount enabled). Versions V1.0 - Released - 5-Jul-2018 Submitter pangcake Submitted 07/06/2018 Category Utilities Video Content Author Pang  
    1 point
  13. Version 1.0.0

    2354 downloads

    This is a item mall with all items in it updated has tons of stuff found this script broken on forums with no author fixed it and cleaned it up and added tons of items should have everything in it I'll keep it updated as new items come out!
    Free
    1 point
  14. 2974 downloads

    This is yet another punching bag with DPS counter which I use to experiment with get/setunitdata command. Feel free to use.
    Free
    1 point
  15. prontera,154,150,5 script Hunter Register 87,{ function isinlist; //return the index of the player in the list ; -1 if not function newtarget; // set a new target in the online character list function initArrayNumber; // initialize an array size 128 ; each column is incremented +1 starting to 1 function initOnlineArray; // copy data of players register online in some array + warp players function PlayerGetReward; // give a reward for each player online PO ; disabled fakename function dispatchAllTarget; // give a target for each PO function sortPointArray; // sort the online array order by point function deleteAllVar; // delete all variables unused function AddPoint; // add/remove hunters points mes .npc_name$; mes "Wanna register in the hunter event ?"; next; if ( prompt( ( .start == 2 ? "^777777~ Warp on event map^000000" : "" ), ( .start == 1 ? "^777777~ Register ?^000000" : "" ), "^777777~ About the event^000000", ( getgmlevel() > 59 ? "^FF0000[GM] Start/Stop Event^000000" : "" ) ) == 3 ) { mes .npc_name$; mes "Every 4 hours.. Wait 10 mins... battle..."; close; } else if ( @menu == 4 ) { // gm menu if ( .start ) select ( "Stop the event ?" ); else select ( "Start the event ?" ); if ( .start ) awake strnpcinfo(0); else goto OnHour20; end; } else if ( .size_array_init > 127 && @menu == 2 ) { mes .npc_name$; mes "The event queue is full"; close; } else if ( isinlist( ".list_init_cid", ".size_array_init" ) != -1 ) { if ( @menu == 1 ) { warp .event_map$,0,0; end; } mes .npc_name$; mes "You're already on my list"; close; } else if ( @menu == 1 ) end; else if ( @menu == 2 ) { .list_init_cid[ .size_array_init ] = getcharid(0); .list_init_aid[ .size_array_init ] = getcharid(3); .@i = rand( .size_num ); .dispatch_num_init[ .size_array_init ] = .num[.@i]; deletearray .num[.@i], 1; .size_array_init++; .size_num--; message strcharinfo(0),"You're now on the list."; } end; OnHour00: OnHour04: OnHour08: OnHour12: OnHour16: OnHour20: initArrayNumber(); // initialize array to dispatch number to player .start = 1; initnpctimer; announce "[ Hunter Event ] : The event will start in 10 min !",0; end; OnTimer600000: // 10 mins announce "[ Hunter Event ] : Event start.",0; .start = 2; stopnpctimer; initOnlineArray(); bindatcmd "hunter",strnpcinfo(3)+"::OnAtcommand"; if ( .size_online >= .min_player ) { for ( .@i = 0; .@i < .size_mapflag; .@i++ ) setmapflag .event_map$, .mapflag[.@i]; dispatchAllTarget(); sleep 900000; // 15 mins } sortPointArray(); PlayerGetReward(); deleteAllVar(); unbindatcmd "hunter"; announce "[ Hunter Event ] : End of event.",0; mapwarp .event_map$,"prontera",150,150; for ( .@i = 0; .@i < .size_mapflag; .@i++ ) removemapflag .event_map$, .mapflag[.@i]; end; OnPCLoginEvent: if ( !.start ) end; .@index = isinlist( ".list_init_cid", ".size_array_init" ); if( .@index == -1 && strcharinfo(3) == .event_map$ ) { warp "prontera",0,0; end; } else if( .@index == -1 ) end; atcommand "@fakename [ "+ .dispatch_num_init[ .@index ] +" ] "+ strcharinfo(0) ; .list_cid_online[ .size_online ] = getcharid(0); .list_aid_online[ .size_online ] = getcharid(3); .dispatch_num_online[ .size_online ] = .dispatch_num_init[ .@index ]; .size_online++; newtarget(); end; OnPCLogoutEvent: if ( !.start ) end; .@index = isinlist( ".list_cid_online", ".size_online" ); if( .@index == -1 ) end; if ( .malus_logout ) AddPoint( getcharid(0), -1, 0, -1, .malus_logout ); // if getarg(1) == -1 or getarg(2) == -1 => add getarg(4) * getarg(3) points .@num_ = .dispatch_num_online[ .@index ]; deletearray .list_cid_online[ .@index ], 1; deletearray .list_aid_online[ .@index ], 1; deletearray .dispatch_num_online[ .@index ], 1; deletearray .target_online[ .@index ], 1; .size_online--; if( .size_online < 2 ) awake strnpcinfo(0); for ( .@i = 0; .@i < .size_online; .@i++ ) if ( .target_online[.@i] == .@num_ ) newtarget( .@i ); end; OnPCKillEvent: if ( !.start ) end; .@index = isinlist( ".list_cid_online", ".size_online" ); if( .@index == -1 ) end; .@char_id = getcharid(0); attachrid( killedrid ); .@index2 = isinlist( ".list_cid_online", ".size_online" ); if( .@index2 == -1 ) end; AddPoint( getcharid(0), .@index, .@index2, -1 ); // <target>, <index online killer IO>, <IO Killed>, <rate points> .@main = AddPoint( .@char_id, .@index, .@index2, 1 ); if ( .@main == .point_main ) newtarget( .@index ); sortPointArray(); for ( .@i = 0; .@i < .size_online; .@i++ ) if ( .count_point_online[.@i] >= 30 ) { .@num_winner++; if ( .@num_winner == 5 ) { awake strnpcinfo(0); end; } } doevent strnpcinfo(0) +"::OnRezu"; end; OnRezu: sleep2 3000; warp .event_map$,0,0; percentheal 100,100; end; function AddPoint { .@i = isinlist( ".list_init_cid", ".size_array_init", getarg(0) ); if ( getarg(1) == -1 || getarg(2) == -1 ) .@points = getarg( 4,0 ) * getarg(3); else if( .target_online[ getarg(1) ] == .dispatch_num_online[ getarg(2) ] ) .@points = .point_main * getarg(3); else .@points = .point_others * getarg(3); .count_point[.@i] = .count_point[.@i] + .@points; message rid2name( .list_init_aid[.@i] ), "You have "+ .@points +" Hunters points. Total : "+ .count_point[.@i] +" Hunters points"; return .@points; } function deleteAllVar { .size_array_init = .start = .size_num = .size_online = 0; deletearray .list_cid_online; deletearray .list_aid_online; deletearray .dispatch_num_online; deletearray .num; deletearray .list_init_cid; deletearray .dispatch_num_init; deletearray .count_point; deletearray .count_point_online; deletearray .target_online; return; } function dispatchAllTarget { for( .@i = 0; .@i < .size_online; .@i++ ) { newtarget( .@i ); charcommand "#fakename "+ rid2name( .list_aid_online[.@i] ) +" [ "+ .dispatch_num_online[.@i] +" ] "+ rid2name( .list_aid_online[.@i] ) ; } return; } function isinlist { if ( getarg( 2,0 ) ) .@char_id = getarg( 2,0 ); else .@char_id = getcharid(0); while( .@i < getd( getarg(1) ) && getd( getarg(0) +"[" + .@i + "]" ) != .@char_id ) .@i++; if( .@i == getd( getarg(1) ) ) return -1; return .@i; } function initArrayNumber { for( .@i = 0; .@i < 128; .@i++ ) .num[.@i] = .@i +1; .size_num = 128; return; } function initOnlineArray { for ( .@i = 0; .@i < .size_array_init; .@i++ ) if( isloggedin( .list_init_aid[.@i], .list_init_cid[.@i] ) ) { .list_cid_online[ .size_online ] = .list_init_cid[.@i]; .list_aid_online[ .size_online ] = .list_init_aid[.@i]; .dispatch_num_online[ .size_online ] = .dispatch_num_init[.@i]; warpchar .event_map$,0,0,.list_cid_online[ .size_online ]; .size_online++; } return; } function newtarget { if( getarg( 0,-1 ) == -1 ) .@index = isinlist( ".list_cid_online", ".size_online" ); else .@index = getarg( 0,-1 ) ; do .@r = rand( .size_online ); while( .@r == .@index ); .target_online[ .@index ] = .dispatch_num_online[.@r]; message rid2name( .list_aid_online[ .@index ] ), .list_cid_online[ .@index ] +" Your main target is now number [ "+ .target_online[ .@index ] +" ]"; return; } function PlayerGetReward { for ( .@i = 0; .@i < .size_online; .@i++ ) { charcommand "#fakename "+ rid2name( .list_aid_online[.@i] ) ; for ( .@j = 0; .@j < .size_reward; .@j += 3 ) { if( .count_point_online[.@i] >= .reward[.@j] ) { getitem .reward[.@j+1], .reward[.@j+2], .list_aid_online[.@i]; break; } } } return; } function sortPointArray { deletearray .count_point_online; for ( .@i = 0; .@i < .size_online; .@i += 1 ) { .@index = isinlist( ".list_init_cid", ".size_array_init", .list_cid_online[.@i] ); .count_point_online[.@i] = .count_point[ .@index ]; } .@k_size = .size_online; while ( .@k_size ) { .@test = .count_point_online; .@index = 0; for ( .@i = 1; .@i < .@k_size; .@i += 1 ) if ( .@test < .count_point_online[.@i] ) { .@test = .count_point_online[.@i]; .@index = .@i; } .@save_point[.@k] = .count_point_online[ .@index ]; .@save_aid[.@k] = .list_aid_online[ .@index ]; .@save_cid[.@k] = .list_cid_online[ .@index ]; .@save_dispatch_num[.@k] = .dispatch_num_online[ .@index ]; .@save_target[.@k] = .target_online[ .@index ]; deletearray .count_point_online[ .@index ], 1; deletearray .list_aid_online[ .@index ], 1; deletearray .list_cid_online[ .@index ], 1; deletearray .dispatch_num_online[ .@index ], 1; deletearray .target_online[ .@index ], 1; .@k_size = .@k_size -1; .@k += 1; } copyarray .count_point_online, .@save_point, .size_online; copyarray .list_aid_online, .@save_aid, .size_online; copyarray .list_cid_online, .@save_cid, .size_online; copyarray .dispatch_num_online, .@save_dispatch_num, .size_online; copyarray .target_online, .@save_target, .size_online; return; } OnInit: .npc_name$ = "^ff0000- [ Hunter NPC ] -^000000"; .malus_logout = 3; // num malus points if log out ? (0: disabled) .point_main = 3; // points when killing main target / - points for main killed .point_others = 1; // points when killing others targets .event_map$ = "geffen"; // event map .min_player = 10; // number min players to start setarray .reward, 30, 501, 1, // Typo : <points min>, <item ID>, <amount items> 29, 502, 1, 19, 503, 1, 9, 504, 1, 1, 505, 1; // Don't touch // ----------- .size_reward = getarraysize( .reward ); setarray .mapflag, mf_noreturn, mf_nowarp, mf_noteleport, mf_nowarpto, mf_pvp; .size_mapflag = getarraysize( .mapflag ); for( ; .@i < .size_mapflag; .@i++ ) removemapflag .event_map$, .mapflag[.@i]; end; OnAtcommand: if ( !.start ) end; .@index = isinlist( ".list_cid_online", ".size_online" ); if( .@index == -1 ) end; sortPointArray(); .@size = .size_online > 30 ? 30 : .size_online ; dispbottom "Top 30 Hunters Online - { Name : Hunters Points }"; for ( .@i = 0; .@i < .@size; .@i += 1 ) dispbottom rid2name( .list_aid_online[.@i] ) +" : "+ .count_point_online[.@i]; end; } GM can start/stop the event Start => 10 mins to register => 10 players minimum => warp on event map Players register have an unique number on the name. ie. [ 10 ] Capuche players have randomly a main target : 3 hunters points if the target is killed, 1 point if not main target killed players have malus points if log out/ log in 5 players (online or offline) with 30 points or 15 min after => end of event reward by range of points @hunter command to check the points of players online during the event (enabled just for players in event) Put your setting at the end of the script .npc_name$ = "^ff0000- [ Hunter NPC ] -^000000"; .malus_logout = 3; // num malus points if log out ? (0: disabled) .point_main = 3; // points when killing main target / - points for main killed .point_others = 1; // points when killing others targets .event_map$ = "geffen"; // event map .min_player = 10; // number min players to start setarray .reward, 30, 501, 1, // Typo : <points min>, <item ID>, <amount items> 29, 502, 1, 19, 503, 1, 9, 504, 1, 1, 505, 1;
    1 point
×
×
  • Create New...