Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/27/2020 in all areas

  1. The following script emulates the Bounty Board Quests from iRO. This was made by having direct interaction with all the npcs, directly doing some of this quest and also using iRO Wiki information as a source. This quest uses a special function designed to concentrate and manage all the bounties in a few lines, to make it easy to update, modify or even create custom bounties. iRO Bounty Boards v1.1.rar : Added vip function to collect all bounties and fixed a minnor bug with one use of a close command. iRO Bounty Boards v1.0.2.rar : Removed += operations with strings. iRO Bounty Boards v1.0.1.rar : Changed npc and monsters constants to numerical ids. iRO Bounty Boards v1.0.rar : Initial Release For more details please check: Bounty Board Quests - iRO Wiki Special thanks to: Trixtan and ZacktheBear from AtlantisRO. This would not have been possible without their invaluable help. Some notes about this: There are some errors in iRO's npc. In example, in Juno the Bounty 70-110 for Juno with a char base level 127, the Bounty says it is for levels 70-100 (not 110, as his name says). This error was caused because this quests were implemented before update that expands max base level to 175 and it seems that iRO's npc were scripted individually one by one, not as a function, so, this errors may be only little bugs when updating values. This kind of error is present in some bounties for Lighthalzen, Hugel, and don't remember which other one. However, all the npcs presented here are using the information provided by iRO Wiki and presents information ingame avoiding this kind of errors. Some to-do : I'm missing base/job exp for False Angel and Mini Demon (Geffen Bounties), since that information is not present in iRO Wiki and I haven't The Sign quest. If somebody can open Portal to Geffenia, i will update that values. Bounties for biolab 3 and 4 has a special function, it is like containing two boards in one, since a player can choose to do all bounties for monsters from 3rd level and all bounties for monsters from 4th level (to receive the reward for all the bounties completed). Add vip function to Collect All Bounties. Add questinfo command to show quest mark in bounties npc. This quests are a close emulation to iRO's Bounty Boards. We hope players can enjoy this quests. If you detect any error or have a suggestion, please feel free to comment it.
    1 point
  2. Hi, as I believe, many of us have a /db/import/quest_db.txt file with any custom quests that currently with the new YAML format are not loaded by the server, my file is attached for example. Is there an automatic way (script? batch?) To convert the DB created in the old .txt format to this new .yml format without having to hand write all the quests one by one? quest_db.txt quest_db.yml
    1 point
  3. Well i can tell you 1 thing and that how you get them in //===== rAthena Script ======================================= //= Card Seller A-Z //===== Description: ========================================= //= Sells all cards dropped by mobs, grouped alphabetically. //= MVP cards are excluded from the list. //= //= NOTE: Requires SQL item and mob databases. //===== Changelogs: ========================================== //= 1.0 First version [AnnieRuru] //= 1.1 Minor edits [Euphy] //= 1.2 Update for monster mode and enchants [Lemongrass] //============================================================ prontera,155,177,5 script Card Seller 100,{ [email protected]$ = getvariableofnpc( .alphabet_menu$, "card_seller_creation" ); if ([email protected]$ == "") { mes "[Card Seller]"; mes "I am sorry, it seems like something went wrong."; mes "I cannot find any cards in our database at the moment."; mes "Please contact a game master."; close; } mes "[Card Seller]"; mes "Welcome!"; mes "I can sell you any normal monster card in the game. Would you like to have a look?"; next; [email protected] = select([email protected]$) -1; close2; callshop "card_mob#"+ getvariableofnpc( .alphabet$[[email protected]], "card_seller_creation" ), 1; end; } - script card_seller_creation -1,{ end; OnInit: if (checkre(0)) { [email protected]_db$ = "mob_db_re"; [email protected]_db$ = "item_db_re"; } else { [email protected]_db$ = "mob_db"; [email protected]_db$ = "item_db"; } freeloop 1; [email protected] = query_sql( "SELECT DISTINCT LEFT( `name_japanese`, 1 ) AS alphabets FROM `"+ [email protected]_db$ +"` WHERE `type` = " + IT_CARD + " AND `id` ORDER BY alphabets;", [email protected]$ ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) { [email protected] = query_sql( "SELECT `"+ [email protected]_db$ +"`.`id` FROM `"+ [email protected]_db$ +"` WHERE `type` = " + IT_CARD + " AND LEFT( `name_japanese`, 1 ) = '"+ [email protected]$[[email protected]] +"' AND `id` ORDER BY `name_japanese` LIMIT 128;", [email protected] ); if ([email protected] > 0) { .alphabet$[[email protected]_alphabet++] = [email protected]$[[email protected]]; .alphabet_menu$ = .alphabet_menu$ + [email protected]$[[email protected]] +" Cards:"; npcshopdelitem "card_mob#"+ [email protected]$[[email protected]], 501; for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) { if (callfunc( "F_IsCharm", [email protected][[email protected]] ) == true)// Skip enchants in case someone added them as card drop continue; npcshopadditem "card_mob#"+ [email protected]$[[email protected]], [email protected][[email protected]], 1000000; } } } freeloop 0; end; } - shop card_mob#A -1,501:1000 - shop card_mob#B -1,501:1000 - shop card_mob#C -1,501:1000 - shop card_mob#D -1,501:1000 - shop card_mob#E -1,501:1000 - shop card_mob#F -1,501:1000 - shop card_mob#G -1,501:1000 - shop card_mob#H -1,501:1000 - shop card_mob#I -1,501:1000 - shop card_mob#J -1,501:1000 - shop card_mob#K -1,501:1000 - shop card_mob#L -1,501:1000 - shop card_mob#M -1,501:1000 - shop card_mob#N -1,501:1000 - shop card_mob#O -1,501:1000 - shop card_mob#P -1,501:1000 - shop card_mob#Q -1,501:1000 - shop card_mob#R -1,501:1000 - shop card_mob#S -1,501:1000 - shop card_mob#T -1,501:1000 - shop card_mob#U -1,501:1000 - shop card_mob#V -1,501:1000 - shop card_mob#W -1,501:1000 - shop card_mob#X -1,501:1000 - shop card_mob#Y -1,501:1000 - shop card_mob#Z -1,501:1000 many many errors... but the mvp cards are in figure it out all i did was deleted this IN ( SELECT DISTINCT `dropcardid` FROM `"+ [email protected]_db$ +"` WHERE ~(`MODE`) & " + MD_MVP + " ) from both lines
    1 point
  4. Tick Desktop dev with C++ Universal Window Platform dev
    1 point
  5. Try this guide but this is 2017 but all you need is similar here or change version / name in the latest one
    1 point
  6. Hi, I was abble to find in my old backups files some 2006, 2008 and 2009 clients. 2006-12-18a 2008-01-22aSakexe 2008-05-28aSakexe_patched 2008-12-24aSakaexe_patched 2009-03-18a1w_v23_d-grf 2009-06-17-aSakexe 2009-06-24bRagexeRE_patched 2009-02-25b_patched https://www.mediafire.com/file/rnbz5huuwzy130c/old_clients.rar/file Also find this: https://github.com/JulioCF/CronusClient/tree/master/Hexeds Wish you luck
    1 point
  7. http://nemo.herc.ws/clients/
    1 point
  8. - script Sample -1,{ OnInit: setarray [email protected]_list$, "prtg_cas01", "gefg_cas01", "payg_cas01", "aldeg_cas01", "prtg_cas02", "gefg_cas02", "payg_cas02", "aldeg_cas02", "prtg_cas03", "gefg_cas03", "payg_cas03", "aldeg_cas03", "prtg_cas04", "gefg_cas04", "payg_cas04", "aldeg_cas04", "prtg_cas05", "gefg_cas05", "payg_cas05", "aldeg_cas05"; for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) setmapflag [email protected]_list$[[email protected]], mf_loadevent; end; OnPCLoadMapEvent: if (getmercinfo(0) > 0 && getmapflag(strcharinfo(3), mf_gvg_castle)) { mes "Mercenary aren't allowed in woe."; sleep 3000; warp "SavePoint", 0, 0; } end; } for your warpers and other NPC, add these line. if (getmercinfo(0)) { mes "Mercenary aren't allowed in woe."; close; }
    1 point
  9. You could try below prontera,150,150,6 script Gold Room Manager 2_M_OLDBLSMITH,{ function CheckRoom; [email protected] = getcharid(2); if ([email protected]) { mes .npc$; mes "You are not in guild"; close; } if (strcharinfo(0) != getguildmaster([email protected])) { mes .npc$; mes "Only guild leader can talk to me"; close; } if (Zeny < .zeny) { mes .npc$; mes "You need " + (callfunc ("F_InsertComma", .zeny)) + " zeny in order to rent a room."; close; } mes .npc$; mes "Which map do you want to rent?"; next; while ([email protected] < .size) { if (CheckRoom([email protected]) && getd(".Room"[email protected]) == getcharid(2)) [email protected]++; [email protected]$ += .Maps$[[email protected]] + " - [" + (CheckRoom([email protected]) ? "Unavailable" : "Available") + "]:"; [email protected]++; } [email protected] = select([email protected]$) - 1; if (CheckRoom([email protected])) { mes .npc$; mes "I told you it's unavailable!"; close; } if ([email protected]) { mes .npc$; mes "You already owned a room! Make room for others!"; close; } mes .npc$; mes "Are you sure you want to rent " + .Maps$[[email protected]] + "?"; next; if (select("Yes:No") - 1) end; Zeny -= .zeny; setd ".Room"[email protected], [email protected]; announce "Guild " + getguildname([email protected]) + " has occupied gold room " + .Maps$[[email protected]], 0; close; // true = occupied | false = available function CheckRoom { [email protected] = getarg(0, 0); return getd(".Room"[email protected]) ? true : false; } // Release rooms every 2 hours OnMinute00: if (gettime(DT_HOUR) % 2) end; while ([email protected] < .size) { setd ".Room"[email protected], 0; [email protected]++; } announce "Gold rooms are now available again for rent!", 0; end; OnGuildRoom: if (!getcharid(2)) end; while ([email protected] < .size) { if (getd(".Room"[email protected]) == getcharid(2)) { warp .Maps$[[email protected]], 0, 0; break; } [email protected]++; } end; OnInit: .npc$ = "[" + strnpcinfo(1) + "]"; setarray .Maps$[0], "ordeal_3-1", "ordeal_3-2"; .size = getarraysize(.Maps$); while ([email protected] < .size) { setmapflag .Maps$[[email protected]], MF_NOWARPTO; [email protected]++; } .zeny = 5000; bindatcmd "guildroom", strnpcinfo(1) + "::OnGuildRoom"; end; } - script GRBuff FAKE_NPC,{ if (@delay > gettimetick(2)) { emotion ET_ANGER; npctalk "Use me after " + (@delay - gettimetick(2)) + " second(s)."; } else { specialeffect2 EF_HEAL2; percentheal 100,100; specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; @delay = gettimetick(2) + 3; // 3 seconds delay } end; } // Add more npc on every room ordeal_3-1,149,149,6 duplicate(GRBuff) Kiddo#ord31 4W_KID ordeal_3-2,153,153,6 duplicate(GRBuff) Kiddo#ord32 4W_KID // Monsters ordeal_3-1,0,0 monster Dokebi 1110,50,5000 ordeal_3-2,0,0 monster Dokebi 1110,50,5000
    1 point
  10. There's no #define RENEWAL_CAST in skill.h
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.