Emistry

Forum Moderator
  • Content Count

    9,155
  • Avg. Content Per Day

    3
  • Joined

  • Last visited

  • Days Won

    202

Everything posted by Emistry

  1. - 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.
  2. prontera,155,181,5 script Sample 4_F_KAFRA1,{ switch(select( "Account Reward", "Online Reward", "Information", "Cancel" )) { case 1: break; case 2: break; case 3: break; default: break; } close; } since you didnt descript what the npc does ... so ..here your script.
  3. you can try something like this // callfunc("func_Refine", <EQI>, <max_refine>, <item_id>); function func_Refine { [email protected] = getarg(0, 0); [email protected]_refine = getarg(1, 10); [email protected]_id = getarg(2, 0); [email protected] = getarg(3, 1); if ([email protected] > 0 && [email protected]_id > 0 && [email protected] > 0) { if (getequipisenableref([email protected])) { if (getequiprefinerycnt([email protected]) < [email protected]_refine) { delitem [email protected]_id, [email protected]; successrefitem [email protected]; dispbottom "[Refine] Refined Equipment."; } else { dispbottom "[Refine] already reached max refine of "[email protected]_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); },{},{}
  4. since its just 2 team, create a battleground instead.
  5. you probably didnt attach the script to a player, change the flag to 1 if that is intended behavior
  6. 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  
  7. https://github.com/rathena/rathena/wiki/Adding-a-Script
  8. Version 1.0.0

    47 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 : Pastebin

    Free

  9. db/re/item_db.txt 5900,Divine_Guard_Hat,Divine Guard Hat,4,0,,200,,10,,1,0x00004000,56,2,256,,100,1,1121,{ [email protected] = getrefine(); bonus2 bSubSize,Size_All,5; if([email protected]>=7) { [email protected] = getskilllv("AL_HEAL"); bonus3 bAutoSpellWhenHit,"AL_HEAL",([email protected] ? [email protected] : 5),10; } if([email protected]>=9) { bonus2 bSkillAtk,"LG_RAYOFGENESIS",20; } },{},{}
  10. if (Class == Job_Taekwon) { // ... } if ((eaclass() & EAJ_BASEMASK) == EAJ_TAEKWON) { // ... } etc
  11. - 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
  12. 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; }
  13. if(gettimetick(2) - #dailytimer < ( .Hour * 3600)) { change to if(#dailytimer > gettimetick(2)) {
  14. [email protected] = getunits(BL_PC, [email protected], false, "payon"); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) addtimer(0,strnpcinfo(0)+"::OnHPBar", [email protected][[email protected]]); change to addrid(5, "payon"); addtimer(1000, strnpcinfo(0)+"::OnHPBar");
  15. updated 1.2, fixed cooldown and added option for zeny cost per refine attempt.
  16. prontera,155,181,5 script sample 757,{ switch(select( "Dice Event - " + ($EVT_Dice ? "^FF0000Not Available":"^00FF00Active") + "^000000", "Poring Event - " + (!$EVT_Poring ? "^FF0000Not Available":"^00FF00Active") + "^000000", "LMS Event - " + ($EVT_LMS ? "^FF0000Not Available":"^00FF00Active") + "^000000" )) { case 1: mes "blablbala"; case 2: mes "blablbala"; case 3: mes "blablbala"; } close; }
  17. you can actually spawn it this way and use setuntidata to control the direction. monster "payon",159,215,"Fur Seal",1317,1,strnpcinfo(3)+"::OnKilled"; setunitdata [email protected][0], UMOB_LOOKDIR, DIR_EAST; monster "payon",159,213,"Fur Seal",1317,1,strnpcinfo(3)+"::OnKilled"; setunitdata [email protected][0], UMOB_LOOKDIR, DIR_EAST; monster "payon",152,215,"Fur Seal",1317,1,strnpcinfo(3)+"::OnKilled"; setunitdata [email protected][0], UMOB_LOOKDIR, DIR_WEST; monster "payon",152,213,"Fur Seal",1317,1,strnpcinfo(3)+"::OnKilled"; setunitdata [email protected][0], UMOB_LOOKDIR, DIR_WEST;
  18. your npc is trying to update the data of a unit that no longer exists or invalid. post your script if you're asking others to check your script issue.
  19. change all @daily @DailyReward to #daily #DailyReward
  20. conf/groups.conf all_skill: true find and remove this from your player group or check the inherited groups
  21. search through the internet .....
  22. dig the item_db lol //=================================================================== // Cash Shop Usable Items //=================================================================== 12202,Str_Dish10_,Steamed Tongue,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_STR_CASH,1800000,10; percentheal 15,5; },{},{} 12203,Agi_Dish10_,Steamed Scorpion,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_AGI_CASH,1800000,10; percentheal 15,5; },{},{} 12204,Int_Dish10_,Dragon Breath Cocktail,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_INT_CASH,1800000,10; percentheal 15,5; },{},{} 12205,Dex_Dish10_,Hwergelmir's Tonic,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_DEX_CASH,1800000,10; percentheal 15,5; },{},{} 12206,Luk_Dish10_,Cooked Nine Tail's Tails,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_LUK_CASH,1800000,10; percentheal 15,5; },{},{} 12207,Vit_Dish10_,Stew Of Immortality,0,2,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_FOOD_VIT_CASH,1800000,10; percentheal 15,5; },{},{}
  23. prontera,155,181,5 script Stats Mistress 757,{ mes "[ Stats Mistress ]"; mes "Hello! I sell ^FF00CC1 stats for 400,000z^000000 would you like to buy!"; [email protected] = select( .stat_menu$ ) - 1; input [email protected],0,( .max_stats - readparam( [email protected] ) ); if ( [email protected] > 0 ) { [email protected] = ( .cost_per_stat * [email protected] ); mes "Stats : "+.stat$[[email protected]]+" +"+F_InsertComma( [email protected] ); mes "Price : "+F_InsertComma( [email protected] )+"z"; mes "Do you wish to continue ?"; [email protected]_stat = readparam(bStr + [email protected]); if ([email protected]_stat >= .max_stats) { message strcharinfo(0), "You've reached the maximum "+.stat$[[email protected]]; } else if (([email protected]_stat+ [email protected]) >= .max_stats) { message strcharinfo(0), "You can't exceed the maximum stats of "+.max_stats; } else if ( Zeny >= [email protected] ) { if ( select( "Buy "+F_InsertComma( [email protected] )+" ^FF00CC"+.stat$[[email protected]]+"^000000" ) ) { Zeny -= [email protected]; statusup2 (bStr + [email protected]),[email protected]; message strcharinfo(0), "Gained "+F_InsertComma( [email protected] )+" "+.stat$[[email protected]]; } } } close; OnInit: .max_stats = 300; .cost_per_stat = 400000; setarray .stat$, "STR", "AGI", "VIT", "INT", "DEX", "LUK"; [email protected]_size = getarraysize( .stat$ ); while ( [email protected] < [email protected]_size ) { .stat_menu$ = .stat_menu$ + "^FF00CC"+.stat$[[email protected]]+"^000000" + ":"; [email protected]++; } end; }