Jump to content

PandaLovesHamster

Members
  • Posts

    452
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PandaLovesHamster

  1. Can anyone help me out with this? Just the one that will enable the npc to warp the players who talked to it.
  2. Not my script, but this can probably help you out. //==============================================================================// //= Script Release : Login Event Auto Max //==================================By==========================================// //= ManiacSociety //==============================================================================// //= Idea Came From : ManiacSociety //= Helper : Emistry & Kenpachi //==============================================================================// //= Description //==============================================================================// //=1. When you login auto pick up your job and then max level 99/70, and skillall //=2. When you tried to reconnect or character select the npc will denied for //using it again if you trans already. //=3. How many character in one account can used it? //As many as you want the max account character. //==============================================================================// //= Rules for using this script //=1. Do not claim it as yours. //=2. Do not change the credits. //=3. Do not sell the script to earn money. //==============================================================================// - script freebies -1,{ OnPCLoginEvent: if(Class != 0 && BaseLevel == 1 && JobLevel == 1 && BaseExp == 0 && #freebies == 1) goto LEnd; if( Class != 0 ) goto LEnd; mes "[Anima]"; mes "Do you want to become much stonger?"; next; mes "Please select your job!"; next; menu "Lord Knight",L0,"High Priest",L1,"High Wizard",L2,"Whitesmith",L3,"Sniper",L4,"Assassin Cross",L5,"Paladin",L6,"Champion",L7,"Professor",L8,"Stalker",L9,"Creator",L10,"Clown",L11,"Gypsy",L12,"Super Novice",L13,"Ninja",L14,"Gunslinger",L15,"Soul Linker",L16,"Cancel",LEnd; //--Lord Knight L0: jobchange 4008; set baselevel,99; set joblevel,70; set skillpoint,127; set #Freebies,1; //Add this to all the other classes ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--High Priest L1: jobchange 4009; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--High Wizard L2: jobchange 4010; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Whitesmith L3: jobchange 4011; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Sniper L4: jobchange 4012; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Assassin Cross L5: jobchange 4013; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Paladin L6: jobchange 4015; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Champion L7: jobchange 4016; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Professor L8: jobchange 4017; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Stalker L9: jobchange 4018; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Creator L10: jobchange 4019; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Clown L11: jobchange 4020; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Gypsy L12: jobchange 4021; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Super Novice L13: jobchange 23; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; close; //--Ninja L14: jobchange 25; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Gunslinger L15: jobchange 24; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; //--Soul Linker L16: jobchange 4049; set baselevel,99; set joblevel,70; set skillpoint,127; ResetSkill; ResetStatus; //atcommand "@allskill "+@player$; //atcommand "@allskill "+@player$; percentheal 100,100; close; LEnd: mes "[Anima]"; mes "You`ve already a Trans Job and cannot be changed anymore sorry."; close; }
  3. Hi everyone, I'm in a middle of creating an npc and has hit a wall. Please help me out with how to do the following: 1. When a player has found the NPC, it will announce to the map that it has been found and other players have 5 minutes to come to it. 2. After 5 minutes, players who have talked to the NPC will then be warped to a certain map. 3. When the NPC has warped the players, it will not entertain anyone except for the players it has warped. I'm not sure if this is would be a long script, however please try to help me out as much especially #2. Edit: This is the script I have come up with. However this only covers the number 1 of my request. If someone can attach a snippet to let the npc warp the players who only talk to it beforehand, it would practically finish up the script I've finished. - script Dark Rift -1,{ if($cdstarted == 1){ goto OnUse; } mes "[Dark Rift]"; mes "It seems I have been found." mapannounce "Dark Rift: I have been found. Please come to me to register.",0; sleep 5000; mapannounce "Dark Rift: You have 5 minutes to register for the Boss Raid.",0; initnpctimer; npctalk "Gather other adventurers. The boss awaits."; set $cdstarted,1;hh close; OnTimer300000: mapannounce "Dark Rift: 5 minutes have passed. Registration for the Boss Raid is now disabled.",0; sleep 5000; mapannounce "Dark Rift: I will now warp the players who have registered.",0; stopnpctimer; end; OnUse: mes "[Dark Rift]"; mes "The Boss Room has a party inside."; mes "Come again after they are finished."; close; end; } Side Request: (If this is possible) Thank you 1. NPC that can cast the following skills on a certain part of a map, for let's say center of prontera? (is this possible?) - Storm Gust - Lord of Vermillion - Quagmire 2. NPC that will check the stats of players, if player has vit < 70, player will have coma status (activates only once, if player heals up then player will not be put into status again) Edit: I just saw this "areamobuseskill" would this be usable with the number one? Instead of an NPC, it will be a monster who will be casting the skills.
  4. OnPCKillEvent: percentheal 100,100; -- I'm noob so don't trust me on that. Though I guess that would work I suppose.
  5. I'd like to request an npc where it would give you points every hour as long as the player remains inside the map. Warping out will cause the timer to reset back to 0, character select or disconnection results to timer reset as well. Thank you sirs.
  6. I see, however with that kind of set up, you would have to install all Ragnarok components (emulator, svn and everything) from the ground up if you do not wish to avail of the RO specialized hostings. I highly suggest you to check out RagnaHosting, they give good support and customer service and their servers are good as well.
  7. Thanks sir, just a question, how does this work? If I only submit one ticket, that means I have a lower chance of winning correct?
  8. I could help you out, but I'll be starting with school this Monday so I might not be that much of help, but I can help you set it up and get it ready for launching. Just pm me for more details. I am not active on Skype, you can drop me a message on my facebook, just send me a pm and I'll give it to you there.
  9. Alright, thanks for fixing it up. I'll have a check on it now as s well, thanks. This is gonna really help out xD
  10. I just tested out the script above, it doesn't add any menus to the selection. If someone can correct it, please give me a heads up. Please try to test it out also if it gives you a list of available jobs, because on my end it doesn't give any.
  11. if(countitem(itemnumberhere) < 1 or desired number of items here){ execute reset of stat/skill here } else{ not enough }
  12. OMG Thanks! I think this would work pretty well! It's pretty much an I idea I got from online web browser games. And I think from that can also put multiple item cost/what item is needed to buy it. Thanks alot Managed to build this script up without errors, though haven't tested in-game. If someone can verify, I'd be really glad. If someone can also clean it up or optimize, I'd really be grateful. Hoping to use this soon if this works. EDIT: Okay tested it on my server, it does work, but only for the first item. The next 4 items are all null. I guess this works if it only has one item to be sold, however I wanted it to sell 5 items total daily. I'm still looking for ways to make it that way. EDIT 2: Okay, it lets me purchase without any Proof of Donations. It does register that Proof of Donations is the needed item, however it would not check if I have Proof of Donation in my inventory or not. EDIT 3: Screenshot EDIT 4: It now only limits player to purchase only 1 item per transaction. It still does not check for the required items. prontera,150,150,6 script Daily Item Sale 100,{ for(set .@i,0; .@i < getarraysize(.TradeID); set .@i, .@i +1){ if(.TradeID[.@i] != 0) { set .@menu$, .@menu$ + "^0000FF "+getitemname(.SaleID[.@i])+" ^000000 x "+.SaleAmount[.@i]+" x "+.TradeTCG[.@i]+""; set .@menu$, .@menu$ + ":"; } } set @Buy,select(.@menu$)-1; mes "[Daily Item Sale]"; mes "How many do you want to buy?"; mes "Store now accepts: "+getitemname(.TCGID)+""; input .hw; if(.SaleAmount[@Buy] < .hw) { mes "[Daily Item Sale]"; mes "I do not have that much items remaining."; close; } if(.hw > 1) { mes "[Daily Item Sale]"; mes "You can only buy 1 item per transaction."; close; } if(countitem(.TCGID) < .TradeTCG[@Buy]*.hw){ mes "[Daily Item Sale]"; mes "You don't have enough "+getitemname(.TCGID)+"."; close; } delitem .TCGID, .SaleCost[@Buy]*.hw; getitem .SaleID[@Buy], .hw; .SaleAmount -= 1; mes "[Daily Item Sale]"; mes "Thank you for buying."; close; OnClock0000: .SaleID = .TradeID[rand(getarraysize(.TradeID))]; // get random id for sale .SaleAmount = .TradeCount[rand(getarraysize(.TradeCount))]; // amount? .SaleReq = .TradeItemsReq[rand(getarraysize(.TradeItemsReq))]; //item req. to buy if(.SaleReq == 7179){ set .TCGID, 7179; setarray .TradeTCG,3,3,10,15,15; end; } else if(.SaleReq == 7539){ set .TCGID, 7539; setarray .TradeTCG,30,30,40,50,50; end; } else{ set .TCGID, 7711; setarray .TradeTCG,50,50,75,90,90; end; } end; /* What this needs: 1. Checking if it works appropriately, I haven't checked it in-game. It compiles without any errors. */ OnInit: setarray .TradeID[0], 12210,14533,14545,7619,7620; //your cards id setarray .TradeCount[0], 5,5,5,3,3; //card count setarray .TradeItemsReq, 7179,7539,7711; //pod, poring coin, event ticket .SaleID = .TradeID[rand(getarraysize(.TradeID))]; // get random id for sale .SaleAmount = .TradeCount[rand(getarraysize(.TradeCount))]; // amount? .SaleReq = .TradeItemsReq[rand(getarraysize(.TradeItemsReq))]; //item req. to buy if(.SaleReq == 7179){ set .TCGID, 7179; setarray .TradeTCG,3,3,10,15,15; end; } if(.SaleReq == 7539){ set .TCGID, 7539; setarray .TradeTCG,30,30,40,50,50; end; } else{ set .TCGID, 7711; setarray .TradeTCG,50,50,75,90,90; end; } end; end; }
  13. Yes, I think this is good. Now have to figure out how to make it choose 5 random items from the .TradeID[0] and put it on the sale list or something, is that possible?
  14. I am using rAmod atm, and I do monitor the top/htop output and yes it does spike sometimes during WoE, it goes up to 30% CPU usage at times but is that enough to cause massive lag? I've attached a screenshot of my htop, it is off WoE.
  15. Sorry, I don't know where to post this but my server have massive lags during WoE. I have tried to remove almost 70% of the custom NPCs and it is still lagging. If players are just within 100-120, then it is bearable, but there is unimaginable lag during the time around 120++ Server specs: CPU Cores - 2 Physical Cores Memory (RAM) - 2048 MB Swap (KVM Swap) - 2048 MB Pure SSD Storage - 40 GB What is missing from my specs? To be honest from my eyes, this is already a good set up, how come it lags so much during WOE? (SE)
  16. This seems to be a good one, should put stuff to not make it abusable. +1 for this, hope someone can help
  17. I think you can use callfunc on this one on the item, make it usable and when it does, you call the function you want, for example the auto 99/70 or max level. function script jobchange { and then you can add the script as follows if( Class != 0 ){ mes "[ Goddess of War ]"; mes "You are not a novice."; set NPCTalk1, 1; close; } mes "[Ragnarok Online: ^FF0000 Flames of War^000000]"; mes "I was sent by ^FF0000 Admin Dusk ^000000 to assist you."; mes "Choose your class and join the war."; next; .@i = select( .Menu$ ) - 1; if( select( "Change to "+jobname( .JobList[.@i] )+"?:Cancel" ) == 1 ){ jobchange .JobList[.@i]; BaseLevel = .BaseLevel; JobLevel = .JobLevel; resetskill; resetstatus; SkillPoint = .SkillPoints; mes "[ Goddess of War ]"; mes "Now to talk to the ^0000FFGoddess of Fortune^000000"; set TalkNPC1, 1; close; } end; OnInit: setarray .JobList[0],4008,4009,4010,4011,4012,4013,4015,4016,4017,4018,4019,4020,4021,4046,4047,4049,24,25,23; .BaseLevel = 99; .JobLevel = 70; .SkillPoints = 127; //( 9 + 49 + 69 ) //waitingroom "Job Changer",0; .@size = getarraysize( .JobList ); for( .@i = 0; .@i < .@size; .@i++ ) .Menu$ = .Menu$ + jobname( .JobList[.@i] )+":"; end; } Now you're set. Just set up an item to make it a consumable or usable item and just add callfunc to it and that should do it. As for the Refine Ticket, you can check out Euphy's. It's the one I'm using and is very well pleased with it. It's a really good script. Forgot to add, you might want to REFUND the ticket if ever the player clicks cancel.
  18. Hi, just wondering with this script. Can it be updated daily automatically? Like it has a set of list of items already it and it randomly chooses those items and puts it on their list (max of 5) for a day, and after a 24 hour period, it refreshes into a new set of items. I'm not sure if I explained it quite well xD Maybe OnClock0000: and then it would automatically set .hw or something like that to 5 again? I dunno xD
  19. Thanks for the info, this should help me with the quest NPC I'm doing.
  20. I need help with these line of codes x_x announce "You suddenly hear a ghastly voice",bc_red,bc_self; sleep2 5000; announce "Faint Voice: You, who have known my existence.",bc_red,bc_area; sleep2 8000; I tried it on my server and it seems that it announces everywhere instead of only to the player or only to the area where the npc is. Can someone try to set it right? The first one should be announced to the player only and the second one should be announced in the map only.
  21. Thanks, just read the reply, I'm trying to figure it out right now. Of course help would be really appreciated Will post some results here after some trial and error.
×
×
  • Create New...