-
Posts
10018 -
Joined
-
Days Won
408
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Emistry
-
its already provided in the item_db2, just enable it. https://github.com/rathena/rathena/blob/master/db/import-tmpl/item_db.txt#L63-L64
-
as far as I know, by default shop doesn't support refined items. the only one who I have seen manage to make this mod in the past was @Epoque back in eathena, and the link is no longer available . or perhaps you could try ask him to update it if he ever have time or interested to do it.
-
Need help making monster spawn in 60min rotation
Emistry replied to behelit's question in Script Requests
https://github.com/rathena/rathena/wiki/Permanent_Monster_Spawn -
try this https://pastebin.com/WGAd258u
-
- script sample -1,{ OnPCStatCalcEvent: if (strcharinfo(3) == "pvp_n_1-3" || strcharinfo(3) == "pvp_n_1-5") { bonus bMaxHPrate, 100; percentheal 100, 100; } end; OnPCKillEvent: if (strcharinfo(3) == "pvp_n_1-3" || strcharinfo(3) == "pvp_n_1-5") { percentheal 100, 100; } end; }
-
a forged weapon will consume the card slot it has. so you cant forge a weapon that has card slot.
-
// Written by me, Cydh // For rathena.org // Autoload atcommand for players on login prontera,147,155,5 script Kafra#saveyouratcmd 4_F_KAFRA4,{ doevent "autoload_atcommand_main::OnTalk"; } - script script autoload_atcommand_main -1,{ OnTalk: mes .npc$; mes "Hi, you can select command that auto enable when you login."; next; switch(select("Select commands","Close")) { case 1: callsub(OnSelectCommand); break; } close; OnSelectCommand: mes .npc$; mes "Please select command from menu."; .@menu$ = ""; for (.@i = 0; .@i < .CmdListCnt; .@i++) { if (callsub(OnCheckCmd,.CmdList$[.@i]) != -1) { .@st$ = " - ^33CC33Enabled^000000"; } else { .@st$ = " - ^999999Disabled^000000"; } .@menu$ = .@menu$+":"+.CmdList$[.@i]+" "+.@st$; } .@menu$ = .@menu$+":Close"; .@sel = select(.@menu$)-2; if (.@sel != .@i) { .@idx = callsub(OnCheckCmd,.CmdList$[.@sel]); mes "Atcommand ^3399FF"+.CmdList$[.@sel]+"^000000:"; if (.@idx < 0) { // Enable it #AutoAtcommand$[getarraysize(#AutoAtcommand$)] = .CmdList$[.@sel]; mes " ^33CC33Auto-enabled on login^000000"; } else { // Disable it callsub(OnClearRemoveCmd,#AutoAtcommand$[.@idx]); mes " ^FF0000Not enabled on login^000000"; } next; callsub(OnSelectCommand); } return; OnCheckCmd: .@cmd$ = getarg(0); for (.@i = 0; .@i < getarraysize(#AutoAtcommand$); .@i++) { if (#AutoAtcommand$[.@i] == .@cmd$) return .@i; } return -1; OnClearRemoveCmd: .@cmd$ = getarg(0); .@size = getarraysize(#AutoAtcommand$); for (.@i = 0; .@i < .@size; .@i++) { if (#AutoAtcommand$[.@i] == .@cmd$) break; } if (.@i != .@size) { #AutoAtcommand$[.@i] = ""; .@j = 0; for (.@i = 0; .@i < .@size; .@i++) { if (#AutoAtcommand$[.@i] == "") continue; if (.@i != .@j) { #AutoAtcommand$[.@j] = #AutoAtcommand$[.@i]; #AutoAtcommand$[.@i] = ""; } .@j++; } } return 1; OnPCLoginEvent: .@j = 0; for (.@i = 0; .@i < getarraysize(#AutoAtcommand$); .@i++) { if (#AutoAtcommand$[.@i] != "") { dispbottom "[ Auto command: "+#AutoAtcommand$[.@i]+" ]"; atcommand ""+#AutoAtcommand$[.@i]+""; .@j++; } } end; OnInit: .npc$ = "[ Kafra ]"; setarray .CmdList$[0],"@autoloot","@noks","@showexp"; .CmdListCnt = getarraysize(.CmdList$); end; } do something like this if you want to duplicate the npc, split it into 2 NPC scripts are the easiest and less complicated way.
-
you executed the mains.sql more than one time, or you didnt clear the existing data before you execute the script.
-
for(set @part,1;@part<=11;set @part,@part+1) change to for(set @part,EQI_SHOES;@part<=EQI_HAND_R;set @part,@part+1)
-
http://write.ratemyserver.net/ragnoark-online-how-to/asura-strike-changing-the-after-cast-image/
-
using the npc script right after create a new guild? if yes, then its probably because the server havent obtained the information yet you can try use the *requestguildinfo(...) to fix/update the info of the newly created guild. *requestguildinfo <guild id>{,"<event label>"}; This command requests the guild data from the char server and merrily continues with the execution. Whenever the guild information becomes available (which happens instantly if the guild information is already in memory, or later, if it isn't and the map server has to wait for the char server to reply) it will run the specified event as in a 'donpcevent' call.
-
https://rathena.org/board/topic/90173-item-and-point-shop/
-
Can someone turn this script using CP to pods please?
Emistry replied to Skits's question in Scripting Support
if ( #CASHPOINTS < .vip_cashpoint[.@i] ) { change to if (countitem(<item_id>) < .vip_cashpoint[.@i]) { and #CASHPOINTS -= .vip_cashpoint[.@i]; change to delitem <item_id>, .vip_cashpoint[.@i]; -
- script night_mode_on -1,{ OnInit: setbattleflag("night_at_start", 0); setbattleflag("night_at_start", 0); setbattleflag("night_duration", 0); night; end; } now your server will always stay in night mode.
-
you can try something like this // callfunc("func_Refine", <EQI>, <max_refine>, <item_id>); function func_Refine { .@eqi = getarg(0, 0); .@max_refine = getarg(1, 10); .@item_id = getarg(2, 0); .@amount = getarg(3, 1); if (.@eqi > 0 && .@item_id > 0 && .@amount > 0) { if (getequipisenableref(.@eqi)) { if (getequiprefinerycnt(.@eqi) < .@max_refine) { delitem .@item_id, .@amount; successrefitem .@eqi; dispbottom "[Refine] Refined Equipment."; } else { dispbottom "[Refine] already reached max refine of "+.@max_refine+"."; } } } return; } 20022,Ticket_Refine_Head,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_HEAD_TOP, 10, 20022); },{},{} 20023,Ticket_Refine_Armature,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_HAND_R, 10, 20023); },{},{} 20024,Ticket_Refine_Arma,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_ARMOR, 10, 20024); },{},{} 20025,Ticket_Refine_Shield,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_HAND_L, 10, 20025); },{},{} 20026,Ticket_Refine_Manto,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_COSTUME_GARMENT, 10, 20026); },{},{} 20027,Ticket_Refine_Shoes,Ticket Refine Weapon,11,1,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("func_Refine", EQI_SHOES, 10, 20027); },{},{}
-
How can i active the PK mode betwen two group's?
Emistry replied to admagnus's question in Source Requests
since its just 2 team, create a battleground instead. -
you probably didnt attach the script to a player, change the flag to 1 if that is intended behavior
-
View File LMPQ - Ludi Maze Party Quest Introduction: This LMPQ exists in MapleStory, I am just copy the idea of how it work, and try to port it into RO. However, its far from perfect, originally I planned to get a custom map with x-mas theme, something like toy factory since it kinda match with MapleStory's Ludibrium town/dungeons. But plan failed, tried to approach several person to help me with some of the client side stuff, but not everyone have the free time or interested or maybe not willing to work on free maps/clientside release nowaday. Anyhow, maybe you could just replace with your own custom map, or even better if you could share with everyone like I share the scripts. The more the merrier! So, if anyone willing to help me with custom maps/client side edit, let me know ? . Sometime collaborating with others could make great contents for release to other member. How it work: The objective of this party quest is to collect at least a certain tickets by killing monsters and to reach Ludibrium Maze 16 (henceforth known as Room 16). Navigating through the maze needs a firm foundation of how the rooms operate. When you have successfully entered into the maze, your party will be thrown into a random room. Each type of monster drops a random amount of tickets at certain rate. Some rooms consists of mystery treasure box that summon monsters upon destroyed. These summoned monster has better loot value, which are important factor to complete the PQ in a short period of time. The more passes you have, the more experience points you will obtain at the end of the PQ. There exists trick to conquer this PQ in a very short duration, I'm not gonna reveal/spoil how is it, and l'll just leave it to you to explore it. Mirror Link : Pastebin Submitter Emistry Submitted 12/14/2019 Category Games, Events, Quests Video https://www.youtube.com/watch?v=VePIr6WoxvA Content Author Emistry
-
give a tutorial to add instances in warper
Emistry replied to andana's question in Scripting Support
https://github.com/rathena/rathena/wiki/Adding-a-Script -
Version 1.0.0
163 downloads
Introduction: This LMPQ exists in MapleStory, I am just copy the idea of how it work, and try to port it into RO. However, its far from perfect, originally I planned to get a custom map with x-mas theme, something like toy factory since it kinda match with MapleStory's Ludibrium town/dungeons. But plan failed, tried to approach several person to help me with some of the client side stuff, but not everyone have the free time or interested or maybe not willing to work on free maps/clientside release nowaday. Anyhow, maybe you could just replace with your own custom map, or even better if you could share with everyone like I share the scripts. The more the merrier! So, if anyone willing to help me with custom maps/client side edit, let me know ? . Sometime collaborating with others could make great contents for release to other member. How it work: The objective of this party quest is to collect at least a certain tickets by killing monsters and to reach Ludibrium Maze 16 (henceforth known as Room 16). Navigating through the maze needs a firm foundation of how the rooms operate. When you have successfully entered into the maze, your party will be thrown into a random room. Each type of monster drops a random amount of tickets at certain rate. Some rooms consists of mystery treasure box that summon monsters upon destroyed. These summoned monster has better loot value, which are important factor to complete the PQ in a short period of time. The more passes you have, the more experience points you will obtain at the end of the PQ. There exists trick to conquer this PQ in a very short duration, I'm not gonna reveal/spoil how is it, and l'll just leave it to you to explore it. Mirror Link : PastebinFree -
db/re/item_db.txt 5900,Divine_Guard_Hat,Divine Guard Hat,4,0,,200,,10,,1,0x00004000,56,2,256,,100,1,1121,{ .@r = getrefine(); bonus2 bSubSize,Size_All,5; if(.@r>=7) { .@level = getskilllv("AL_HEAL"); bonus3 bAutoSpellWhenHit,"AL_HEAL",(.@level ? .@level : 5),10; } if(.@r>=9) { bonus2 bSkillAtk,"LG_RAYOFGENESIS",20; } },{},{}
-
if (Class == Job_Taekwon) { // ... } if ((eaclass() & EAJ_BASEMASK) == EAJ_TAEKWON) { // ... } etc
-
Better performance for infinite loop
Emistry replied to nguyenhuy123's question in Scripting Support
- script effect_timer_npc HIDDEN_WARP_NPC,{ OnTimer1000: donpcevent "::OnEffect696"; // will trigger all npc that has this event label OnInit: initnpctimer; end; } - script effect_npc HIDDEN_WARP_NPC,{ OnEffect696: enablenpc(strnpcinfo(3)); misceffect 696; sleep rand(150,250); disablenpc(strnpcinfo(3)); end; } prontera,1,1,4 duplicate(effect_npc) #effect_npc_1 HIDDEN_WARP_NPC prontera,1,1,4 duplicate(effect_npc) #effect_npc_2 HIDDEN_WARP_NPC prontera,1,1,4 duplicate(effect_npc) #effect_npc_3 HIDDEN_WARP_NPC -
prontera,148,187,4 script WOE Information 652,{ doevent "WOE_CONTROL::OnMenu"; end; OnInit: OnAgitEnd: delwaitingroom; waitingroom "War of Emperium: Inactive",0; end; OnAgitStart: delwaitingroom; waitingroom "War of Emperium: Active", 0; while(agitcheck()) { specialeffect EF_BEGINSPELL6; sleep 425; } end; }
- 1 reply
-
- 4
-