Jump to content

Jyabil

Members
  • Posts

    89
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Jyabil

  1. Be sure that you are using <tab> and not <spaces> on the first line of the script. prontera,155,285,4<tab>script<tab>Luningning<tab>465,{ If it's still not working, check the console for errors and post it.
  2. Check the topic below as it has the same request as yours. http://rathena.org/board/topic/96093-qrpromo-npc/
  3. If you want the prize to be items instead of cash points, remove set #CASHPOINTS,#CASHPOINTS+500; and change it to getitem 501,1; // In example, this code will give you 1 pc of Red Potion To add announcement, add these before the announcing of the winner announce "Your Message Here",0,0x00FF00; sleep 1000; // 1 second delay before announcing the winner, configure it to your liking
  4. Is there any error on the console? Could you post it?
  5. Jyabil

    Q/R>Promo Npc

    Change this one setarray .RandItem[0],501,502,503,504,505; // Put all the items here To: if (rand(100) < 10) { setarray .RandItem[0],501,502,503; // Items with 10% Chance } else { setarray .RandItem[0],501,502,503; // Items with 90% chance }
  6. Jyabil

    Q/R>Promo Npc

    Here's a sample script but you have to input the item_IDs of the items you want to include on the list. #3 not included. prontera,100,100,4 script Promo NPC 100,{ mes "[Promo NPC]"; mes "Get random item for 300,000z?"; next; menu "Yes",-,"No",Menu_No; if (Zeny < 300000) goto No_Zeny; setarray .RandItem[0],501,502,503,504,505; // Put all the items here set .RandCount, getarraysize(.RandItem); mes "[Promo NPC]"; mes "Here it is..."; getitem (.RandItem[rand(.RandCount)],1); set Zeny, Zeny - 300000; close; Menu_No: mes .RandItem[rand(.RandCount)]; close; No_Zeny: mes "[Random]"; mes "You don't have enough Zeny."; close; }
  7. Because Hercules uses different const identifier. Change: SC_INCREASEAGI To: SC_INC_AGI Or you could change them all to value instead of identifier. Also added the specialeffect. sc_start 30,240000,10; specialeffect2 42; //Blessing sc_start 32,240000,10; specialeffect2 37; //Agi Up sc_start 39,240000,10; specialeffect2 112; // Kyrie sc_start 41,240000,3; specialeffect2 75; // Gloria sc_start 40,240000,5; specialeffect2 76; // Magnificat Also change the timing for the 1 Hour Buff sc_start 30,3600000,10; specialeffect2 42; //Blessing sc_start 32,3600000,10; specialeffect2 37; //Agi Up
  8. Why not just give the item to the killer directly instead of dropping it near him?
  9. Try this: prontera,100,100,4 script Healer 99,{ if (gettimetick(1) < @timer) { dispbottom "Pls try again after 3 seconds"; end; } if (BaseLevel <= 50) { specialeffect2 313; percentheal 100,100; sc_start SC_INCREASEAGI,240000,10; sc_start SC_BLESSING,240000,10; sc_start SC_KYRIE,240000,10; sc_start SC_GLORIA,240000,3; sc_start SC_MAGNIFICAT,240000,5; } if (BaseLevel >= 51 && BaseLevel <= 90) { specialeffect2 313; percentheal 100,100; sc_start SC_INCREASEAGI,240000,10; sc_start SC_BLESSING,240000,10; } if (BaseLevel >= 91) { mes "[Healer]"; mes "Please select an option."; mes " "; mes "Cost:"; mes "Normal Buff: 1,500z"; mes "1 Hour Buff: 200,000z"; next; menu "Normal Buff",-,"1 Hour Buff",One_Hour; if (Zeny < 1500) goto Zeny_Lack; specialeffect2 313; percentheal 100,100; sc_start SC_INCREASEAGI,240000,10; sc_start SC_BLESSING,240000,10; set Zeny, Zeny - 1500; } set @timer, gettimetick(1)+3; end; One_Hour: if (Zeny < 200000) goto Zeny_Lack; specialeffect2 313; percentheal 100,100; sc_start SC_INCREASEAGI,3600000,10; sc_start SC_BLESSING,3600000,10; set Zeny, Zeny - 200000; set @timer, gettimetick(1)+3; close; Zeny_Lack: mes "[Healer]"; mes "You don't have enough Zeny"; close; } Edit: Didn't know that there is already a reply. Also, I think I misunderstood the request. I taught that if you choose to pay 200,000z, the buff will stay for 1 hour. Sharing it anyways.
  10. As per the script that EL Dragon posted, here's a GM activated version. prontera,100,100,4 script Who's Online Event 99,{ if (getgroupid() == 99) goto Event_Menu; mes "[Who's Online Event]"; mes "Only GM's are allowed to use this NPC."; close; Event_Menu: set .@invokeid,getcharid(3); mes "[Who's Online Event]"; mes "Enable event?"; menu "Yes",-,"No",Event_End; while(1){ query_sql "select account_id from `char` where online = 1 order by rand() limit 1", .@aid; attachrid .@aid; if( CheckVending() ){ DetachRID(); continue; } announce strcharinfo(0) +" won 500 Cash in Who's Online Event", 0,0x00FF00; set #CASHPOINTS,#CASHPOINTS+500; dispbottom "You got 500 cash point"; break; } attachrid(.@invokeID); close; Event_End: close; }
  11. map,x,y,d script 45,1,1,{ OnTouch: if(getgroupid() > 1) warp "map",a,b; if(getgroupid() < 2) dispbottom "You are not vip"; end; }
  12. The code below from your script will set the rates randomly from 120 - 220. set $@brate,rand(12000,22000); set $@jrate,rand(12000,22000); set $@drate,rand(12000,22000); If you want it to be set to 120 only, it should be like these: set $@brate, 12000; set $@jrate, 12000; set $@drate, 12000; Also, change your announcement to: announce "Current Rune-Midgard rates are: "+($@brate * .01)+" x "+($@jrate * .01)+" x "+($@drate * .01),bc_all,0xFF6060; Note: The script will set your rates to 120 all the time. If you want to set it back to 80, you can add a timer or a new script that will change it back to 80.
  13. Just remove the code below from the script that sandbox mentioned. OnHour00: OnHour06:
  14. There are 2 options that I can think of that you can use in your MVP event script. First, at the end of the event, instead of using areawarp, make an NPC that will warp them back to Prontera. That way, you can just add getitem on that NPC to give rewards before warping them back. The other option is by getting all the names of the player that participated in the event. For that, you need to set arrays, loops and a lot of ifs.
  15. To make it account based, change all the HuntDelay to #HuntDelay
  16. I would suggest using Decrease Agility Skill or @speed command. Decrease Agility: prontera,50,50,3 script Slower 100,{ sc_start SC_DECREASEAGI,50000,10; // 50 seconds end; } @speed: prontera,50,50,3 script Slower 100,{ atcommand "#speed "+strcharinfo(0)+" 200"; // Just change the 200 for the speed you wanted end; } But you need something like a trigger to make the speed default. If it is an event, they can talk to an npc or enter a portal and insert the code below. @speed (default): atcommand "#speed "+strcharinfo(0)+" -1"; Their speed will also change back to normal if they reconnected/character select.
  17. Did you disable the default agit controller?
  18. To do that, you need to add another custom wing (with the same sprite) that is set to low headgear. On your npc, you can add something like these: if (countitem(W) == 1 && countitem(X) == Y) { delitem w, 1; delitem x, y; getitem z, 1; end; } W being your mid custom wing id X being your tcg id Y quantity of tcq needed Z being your low custom wing id
  19. Here's a sample script: prontera,170,164,1 script Max Pvp 726,{ // Change to your NPC set @MP_Level, 99 - BaseLevel; warp "prontera",0,0; // Change to your PVP map goto MP_Start; end; MP_Start: atcommand "#blevel "+strcharinfo(0)+" "+@MP_Level+""; end; OnPCLogoutEvent: OnPCDieEvent: // When they die or logout, it will revert their original level if (strcharinfo(3) == "prontera") { // Change to your PVP map atcommand "#blevel "+strcharinfo(0)+" -"+@MP_Level+""; end; } }
  20. If you want it every hour, you can change the OnClock settings. OnClock0100: OnClock0200: OnClock0300: and so on... As per your question, you wanted an Auto PvP 2 hours per day? Or every 2 hours? Because the script Emistry gave you will enable PvP every 2 hours. Just wanna clarify..
  21. Is your WoE every hour? Just add these commands on your script. - initnpctimer // At the start of the WoE - OnTimer3300000: // If WoE is 1 Hour, It will announce after 55 mins announce "Your message",0; end; If you don't know where to insert them, post your script.
  22. Let me rephrase the description on the Wiki. On normal maps, It will freeze monsters as well as guild or party members on the same party as you. On PvP maps, It will freeze everyone. On GvG/WoE maps, It will freeze all enemies, including your guild mates if you are on the same party. So if you don't wanna freeze your guild mates, avoid being on the same party with them.
  23. Should i put this under the OnClock2020: ? Yep!
  24. Frost Joke is suppose to work that way.
×
×
  • Create New...