All Activity
- Yesterday
-
Quests, Games: Baron of Cards
Rexona replied to Hyroshima's topic in Game, Event, Quest Script Releases
Hello, I didn't make any changes to your script, I use a 2017 emulator, your script only works on current (?) -
-
I made the changes based on SC_EXPBOOST and it didn't work, it doesn't give any bonus. First Test: case SC_CLAN_EASY: tick = INFINITE_TICK; if (val1 < 0) val1 = 0; break; case SC_CLAN_NORMAL: tick = INFINITE_TICK; if (val1 < 0) val1 = 0; break; case SC_CLAN_GOD: tick = INFINITE_TICK; if (val1 < 0) val1 = 0; if (sd->status.base_level >= 260) { pc_bonus(sd, SP_ATK_RATE, 10); pc_bonus(sd, SP_MATK_RATE, 10); } break; Second test: case SC_CLAN_EASY: tick = INFINITE_TICK; val1 = 250; break; case SC_CLAN_NORMAL: tick = INFINITE_TICK; val1 = 50; break; case SC_CLAN_GOD: tick = INFINITE_TICK; val1 = 1; if (sd->status.base_level >= 260) { pc_bonus(sd, SP_ATK_RATE, 10); pc_bonus(sd, SP_MATK_RATE, 10); } break; it doesn't change the earned exp, in this case, it doesn't add the bonus, and also, it doesn't give the buff icon that I set to give in status.yml
-
help doing SM_RECOVERY active skill (almost finished)
Playtester replied to aleph075's question in Source Requests
Currently there is no such status change but you could use the commented status change SC_HPREGEN and SC_SPREGEN. Uncomment them in status.hpp and in script_constants.hpp. Then you need to define it in status.yml. Then in skill_db.yml you link the skill to the status. And then in the source code at the code where the skill is executed in skill.cpp you can just start it with: sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)) "type" contains the status that is linked to the skill in skill_db.yml, if you don't define it there you could also hardcode it here. skill_get_time() means it uses Duration1 defined for the skill. And then in the regen code you can just check if the status change is active if(sc && sc->getSCE(SC_HPREGEN)) { [...] } -
How to use certain hateffects without resourceFileName defined?
yozzyurubuza replied to yozzyurubuza's question in Client-side Support
Found out that these effects were hardcoded in jRO client. Event reference: https://ragnarokonline.gungho.jp/special/3rdjob-master-program/ -
@pethungry Playername and 100 it feeds the pet.
-
hello, as the tile says pet and homunc autofeed is automatically set OFF when logged in i already set it always ON at pet.conf and homunc.conf and i think i already put the right lua files and the pet.db configuration on the chat box it shows this is there any way to fix this? thank you
-
You've set val1 to 0 in `status.cpp`. Try removing them.
-
I'm working on a system to select the game mode, but I'm encountering some errors. The first one is that it's not working; I select the rate, and the script doesn't change the rate. However, I have no idea what I might have done wrong or forgotten. Can someone please help me? First, I made the NPC that gives the selection: - script RateSelect -1,{ OnSetRate: OnPCLoginEvent: switch(individual_rate) { case 1: .@clan_level = .low_rate_clan_level; .@exp_rate_bonus = .low_rate_exp_bonus; .@drop_rate_bonus = .low_rate_drop_bonus; break; case 2: .@clan_level = .mid_rate_clan_level; .@exp_rate_bonus = .mid_rate_exp_bonus; .@drop_rate_bonus = .mid_rate_drop_bonus; break; case 3: .@clan_level = .high_rate_clan_level; .@exp_rate_bonus = .high_rate_exp_bonus; .@drop_rate_bonus = .high_rate_drop_bonus; break; default: mes "Select your game mode, for more information about bonuses, visit our discord:"; mes "BE CAREFUL: YOU CANNOT CHANGE LATER!"; mes "[Rates EXP/Drop %]"; mes "- Low Rates:" + .low_rate_exp_bonus + ", " + .low_rate_drop_bonus + "."; mes "- Mid Rates:" + .mid_rate_exp_bonus + ", " + .mid_rate_drop_bonus + "."; mes "- High Rates:" + .high_rate_exp_bonus + ", " + .high_rate_drop_bonus + "."; individual_rate = select("- Low Rate:- Mid Rate:- High Rate"); close2; goto OnSetRate; } sc_start .@clan_level, INFINITE_TICK, .@exp_rate_bonus ; end; OnInit: .low_rate_exp_bonus = 250; .mid_rate_exp_bonus = 50; .high_rate_exp_bonus = 1; // EXP 1x in God mode .low_rate_drop_bonus = 250; .mid_rate_drop_bonus = 50; .high_rate_drop_bonus = 1; // Drop Rate 1x in God mode .low_rate_clan_level = SC_CLAN_EASY; .mid_rate_clan_level = SC_CLAN_NORMAL; .high_rate_clan_level = SC_CLAN_GOD; } Then I added the SC_ in status.cpp following the expboost: case SC_CLAN_EASY: tick = INFINITE_TICK; val1 = 0; // EXP and Drop Rate 250x break; case SC_CLAN_NORMAL: tick = INFINITE_TICK; val1 = 0; // EXP and Drop Rate 50x break; case SC_CLAN_GOD: tick = INFINITE_TICK; val1 = 0; // EXP and Drop Rate 1x if (sd->status.base_level >= 260) { pc_bonus(sd, SP_ATK_RATE, 10); pc_bonus(sd, SP_MATK_RATE, 10); } break; Next, I added them to script_constants: cpp Copy code Then I added them to status.hpp as expboost: Then I added them, I believe, so that when using an expboost, the effect is cumulative, that is, it does not interfere with them: Then I added them to status.yml: - Status: claneasy Icon: EFST_GOLDENMACECLAN Flags: NoRemoveOnDead: true NoClearbuff: true NoDispell: true NoBanishingBuster: true NoClearance: true EndOnEnd: Clan_Info: true - Status: clannormal Icon: EFST_CROSSBOWCLAN Flags: NoRemoveOnDead: true NoClearbuff: true NoDispell: true NoBanishingBuster: true NoClearance: true EndOnEnd: Clan_Info: true - Status: clangod Icon: EFST_ARCWANDCLAN Flags: NoRemoveOnDead: true NoClearbuff: true NoDispell: true NoBanishingBuster: true NoClearance: true EndOnEnd: Clan_Info: true However, when selecting the rates, it does not set the rates, it simply does not work, I believe I did something wrong.
-
//===== rAthena Script ======================================= //= Eden Group Quests - Mission [11 - 25] //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Repetable Quests for Players between Baselevel 11 - 25. //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Some little optimization here and there. [Masao] //= 1.2 Optimized. [Euphy] //= 1.3 Bug fixes. [Capuche] //= 1.4 Added support to Para_Team_Mark_ in Eden Group. [Ragno] //= 1.5 Added use of F_HasEdenGroupMark function. [Ragno] //============================================================ moc_para01,36,38,3 script Mission [11 - 25]#Tuto 4_BOARD3,{ if (!callfunc("F_HasEdenGroupMark")) { mes "- You need to have an -"; mes "- ^4d4dff'Eden Group Mark'^000000 -"; mes "- to receive these missions. -"; close; } for ( .@i = 11124; .@i < 11134; .@i++ ) if (checkquest(.@i,PLAYTIME) == 2) erasequest .@i; for( .@i = 11114; .@i < 11124; .@i++ ) { .@j = checkquest(.@i,HUNTING); if (.@j == 2) { mes " - You must collect your - "; mes " - reward before starting - "; mes " - a new mission. - "; mes " "; mes " - Manager : Spike - "; close; } else if (.@j >= 0) { mes " - You can only request - "; mes " - one mission at a time. - "; mes " "; mes " - Manager : Spike - "; close; } } if (BaseLevel < 11) { mes " - There are no tasks - "; mes " - open for you right now. - "; close; } if (BaseLevel > 25) { mes " - These missions are too - "; mes " - easy for your caliber - "; mes " - search for a more level - "; mes " - appropriate mission. - "; close; } mes " - Mission bulletin board -"; mes " - for beginners. -"; mes " "; mes " - Manager : Spike -"; next; switch(select("Hornet Hunting:Condor Hunting:Grasshopper's Leg:Worm Tail Hunting:Spore Hunting:Pest Control:Muka Hunting:Familiar Hunting:Collect Feathers:Collect Poison Spores:Cancel")) { case 1: callsub L_Quest,11114,"Hornet Hunting"," - Hunt 10 ^4d4dff'Hornets'^000000 - "," - northwest of Prontera. - "; case 2: callsub L_Quest,11115,"Condor Hunting"," - Hunt 20 ^4d4dff'Condors'^000000 - "," - south of Morocc. - "; case 3: callsub L_Quest,11116,"Grasshopper's Leg"," - Hunt 10 ^4d4dff'Rockers'^000000 - "," - southwest of Prontera and - "," - bring 10 ^4d4dffGrasshopper's Legs^000000. - "; case 4: callsub L_Quest,11117,"Worm Tail Hunting"," - Hunt 20 ^4d4dff'Worm Tails'^000000 - "," - southeast of Payon.- "; case 5: callsub L_Quest,11118,"Spore Hunting"," - Hunt 30 ^4d4dff'Spores'^000000 - "," - around Payon. - "; case 6: callsub L_Quest,11119,"Pest Control"," - Hunt 20 ^4d4dffThief Bug Eggs^000000 - "," - in the Prontera Culvert - "," - and bring 10 ^4d4dffChrysalis^000000. - "; case 7: callsub L_Quest,11120,"Muka Hunting"," - Hunt 20 ^4d4dff'Muka'^000000 - "," - south of Prontera. - "; case 8: callsub L_Quest,11121,"Familiar Hunting"," - Hunt 20 ^4d4dffFamiliar^000000 - "," - in the Culvert Sewers - "," - west of Prontera. - "; case 9: callsub L_Quest,11122,"Collect Feathers"," - Hunt 30 ^4d4dff'Peco Pecos'^000000 - "," - south of Prontera. - "; case 10: callsub L_Quest,11123,"Collect Poison Spores"," - Hunt 30 ^4d4dffPoison Spores^000000 - "," - inside the Geffen Tower and - "," - bring 5 ^4d4dffPoison Spores^000000. - "; case 11: mes " - Stop reading the bulletin board. - "; close; } L_Quest: .@quest_status = checkquest(getarg(0)+10,PLAYTIME); if (.@quest_status == 0 || .@quest_status == 1) { mes " - Mission ^4d4dff"+ getarg(1) +"^000000 - "; mes " - is already finished for today. - "; mes " "; mes " - Manager : Spike - "; close; } mes " - Mission '"+ getarg(1) +"' - "; for ( .@i = 2; .@i < getargcount(); .@i++ ) mes getarg(.@i); mes " "; mes " - Manager : Spike - "; next; if (select("I will do this mission.:Look for other missions.") == 2) { mes " - Let's search for -"; mes " - other missions. - "; close; } for ( .@i = 2; .@i < getargcount(); .@i++ ) mes getarg(.@i); setquest getarg(0); close; } moc_para01,32,30,6 script Spike 4_F_CHILD,{ for( .@i = 11114; .@i < 11124; .@i++ ) { .@j = checkquest(.@i,HUNTING); if (.@j == 2) { switch(.@i) { case 11114: callsub L_Quest,.@i,"Hornet Hunting",900; case 11115: callsub L_Quest,.@i,"Condor Hunting",1800; case 11116: callsub L_Quest,.@i,"Grasshopper's Leg",1400,940,10; case 11117: callsub L_Quest,.@i,"Worm Tail Hunting",2600; case 11118: callsub L_Quest,.@i,"Spore Hunting",3900; case 11119: callsub L_Quest,.@i,"Extirpate Insects",2900,915,10; case 11120: callsub L_Quest,.@i,"Muka Hunting",3200; case 11121: callsub L_Quest,.@i,"Familiar Hunting",3200; case 11122: callsub L_Quest,.@i,"Collect Feathers",5400; case 11123: callsub L_Quest,.@i,"Collect Poison Spores",6000,7033,5; } } else if (.@j >= 0) { mes "[Spike]"; mes "You haven't finished your mission yet."; mes "Keep up the good work. You are almost done."; close; } } mes "[Spike]"; mes "Are you looking for a job?"; mes "We always have lots of work to do."; next; mes "[Spike]"; mes "Why don't you look around and find some interesting tasks?"; close; L_Quest: .@quest_id = getarg(0); if (checkquest(.@quest_id,HUNTING) == 2) { .@item_req = getarg(3,0); .@req_amount = getarg(4,0); if (.@item_req) { if (countitem(.@item_req) < .@req_amount) { mes "[Spike]"; mes "You don't have enough "+ getitemname(.@item_req) +"."; mes "You need to bring "+ .@req_amount +" "+ getitemname(.@item_req) +"."; close; } } mes "[Spike]"; mes "Hmm... let me see~"; mes "You have completed the '"+ getarg(1) +"' mission."; next; mes "[Spike]"; mes "Good work~!!"; mes "Our client is so happy with your work. He will appreciate what you have done."; mes "Please help us again. Thanks!"; if (.@item_req) delitem .@item_req,.@req_amount; erasequest .@quest_id; setquest .@quest_id+10; getexp getarg(2),0; close; } } I want just one npc if hunt all mobs directly get exp and, (item send to email player) Onclicknpc he show my range levels from 1 to 175 Like Case 1: 1-40, case 2: 40-60... to 160-175 Next; And he read if my level beetween the range 1-40 Mes: you are range level beetween 1-40 and this the hunt mobs you can hunt Hornet Spore Thanks for any one help on this script
- Last week
-
help doing SM_RECOVERY active skill (almost finished)
aleph075 replied to aleph075's question in Source Requests
Not yet. But I will. I am not sure if already existe a status change for HP recovery, but i will. Thx bro -
Why are chibi images so popular in the RO community?
Geraldjeott posted a question in Scripting Support
Chibi images have become a staple in RO culture, with players creating adorable versions of their favorite characters and monsters. The appeal of chibi art lies in its cute and playful aesthetic, which adds a fun and lighthearted touch to the game. Plus, who can resist the charm of a pint-sized Poring or a miniaturized MVP? So, what do you think - are you a fan of chibi art in RO? [url=https://zabudovnik.kr.ua/]zabudovnik[/url] -
change the location doesnt duplicate it. just change the location of the item only in equipments.
-
@Chaos92 Thanks for ur suggstion bro. but i dont want duplicate the item. i mean smthing like script "changelook LOOK_HEAD_TOP,102;" but its only the look not the position
-
How do I use the hateffects of these? In the file HatEffectInfo.lub [HatEFID.HAT_EF_LEVEL160_RED] = { hatEffectID = 1174 }, [HatEFID.HAT_EF_LEVEL160_ULTRAMARINE] = { hatEffectID = 1175 }, [HatEFID.HAT_EF_LEVEL160_CYAN] = { hatEffectID = 1176 }, [HatEFID.HAT_EF_LEVEL160_LIME] = { hatEffectID = 1177 }, [HatEFID.HAT_EF_LEVEL160_VIOLET] = { hatEffectID = 1178 }, [HatEFID.HAT_EF_LEVEL160_LILAC] = { hatEffectID = 1179 }, [HatEFID.HAT_EF_LEVEL160_SUN_ORANGE] = { hatEffectID = 1180 }, [HatEFID.HAT_EF_LEVEL160_DEEP_PINK] = { hatEffectID = 1181 }, [HatEFID.HAT_EF_LEVEL160_BLACK] = { hatEffectID = 1182 }, [HatEFID.HAT_EF_LEVEL160_WHITE] = { hatEffectID = 1183 }, For example, whenever I try to use the value of HAT_EF_LEVEL160_VIOLET (112) or use its actual name and put it in a script like this, nothing happens. - Id: 20561 AegisName: C_160LV_Warlock_Violet Name: Costume Violet Aura Type: Armor Locations: Costume_Garment: true ArmorLevel: 1 EquipLevelMin: 1 Script: | hateffect(HAT_EF_160LV_Warlock_Violet,true); UnEquipScript: | hateffect(HAT_EF_160LV_Warlock_Violet,false); If I'm missing a resource file, I don't know what should I look for because it's not formatted like the others hateffects. Ex. [HatEFID.HAT_EF_Full_BloomCherry_Tree] = { resourceFileName = "efst_Full_BloomCherry_Tree\\Full_BloomCherry_Tree.str", hatEffectPos = -6, hatEffectPosX = 0, isRenderBeforeCharacter = true },
-
just change the location in itemdb
-
hi , guys, is it posible to change headgear MID to Lower / Upper without duplicate the item ?
-
I would like to know the step wise step procedure of how to add a instance from renewal to pre renewal in a easy way for example horror toy factory or any instance with detailed examples if someone could help i could appreciate it.Newbie here
-
Quests, Games: Baron of Cards
Hyroshima replied to Hyroshima's topic in Game, Event, Quest Script Releases
Did you change the script? This line you mention is incomplete, the version in the script I sent is like this: getinventorylist; for(set .@i,0; .@i<getarraysize(.itens); set .@i,.@i+1) { if(inarray(@inventorylist_id[0],.itens[.@i]) > -1) { setarray .@invitm[getarraysize(.@invitm)],.itens[.@i]; setarray .@invitm$[getarraysize(.@invitm$)],""+getitemname(.itens[.@i])+""; } } The revision of your emulator is so old that it doesn't have the inarray() command and have you tried to remove it? -
R>NPC using player sprite that fights mob
laonglaing replied to mrgeiszer's question in Script Requests
i think you can use the clone function for this -
Quests, Games: Baron of Cards
Rexona replied to Hyroshima's topic in Game, Event, Quest Script Releases
Hi Hiroshima, how are you? I hope so, my friend, I'm having trouble with this error, could you help me? -
Job Changer changes the High Novice to any first advanced class
PARANOiA replied to PARANOiA's question in Scripting Support
SOLVED I did not saw that line, my bad... thanks! -
Job Changer changes the High Novice to any first advanced class
Chaos92 replied to PARANOiA's question in Scripting Support
Hello, you didnt use the jobmaster from rathena ? https://github.com/rathena/rathena/blob/master/npc/custom/jobmaster.txt There is this part .LastJob = true; // Enforce linear class changes? it is enforce as default linear class changes.