Jump to content

Neffletics

Members
  • Content Count

    49
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Neffletics

  1. Too lazy to understand the whole script, but please try adding this below the line with getitem. if ([email protected] <= 3) { announce(strcharinfo(PC_NAME)+" got "+ getd( ".p"+ [email protected] +"["+( 1+3*[email protected] -1 )+"]" ) +" "+ getitemname( getd( ".p"+ [email protected] +"["+ (1+ 3*[email protected] -2) +"]" ) ) +"!", bc_blue|bc_all); }
  2. Yes, it lags the server when multiple mushrooms are stacked on the same cell. In my server, I made an instance where players can plant mushrooms with a limited number of spawns.
  3. It's a memory issue. Try changing the device on your setup.exe.
  4. Just pull from the repo and fix the conflicts (if there's any).
  5. You have to write it yourself. I manually applied hard delays in my server; it counts the animation speed as well.
  6. Check if you set the correct client date in your src.
  7. Update: setarray [email protected][0] and change the jobs there to Job_Whitesmith, Job_Creator, Job_Sniper, etc. (reference: doc/const.txt) Then change the coordinate of the training grounds NPC. P.S. Untested, I just wrote it from my phone. I wrote it in a simple manner, please learn from the changes I made. /////////////////////////////////////////////////////// // ___________ _____.__ // \__ ___/__.__.________/ ____\__| ____ ____ // | | < | |\_ __ \ __\| |/ \ / ___\ // | | \___ | | | \/| | | | | \/ /_/ > // |____| / ____| |__| |__| |__|___| /\___ / // \/ Scripts \//_____/ // //===================================================== // Name: Race to Max Level // // Description: // This NPC allows for Game Masters to set a reward to // be given to the first player of each 2nd class that // reaches maximum level (base and class). //===================================================== /////////////////////////////////////////////////////// new_1-1,111,111,4 script Race to 99#reg 58,{ mes "[Race to 99]"; mes "Would you like to join the race to 99 event?"; switch(select("Yes.","Leave him alone.")) { case 1: mes "[Race to 99]"; mes "Okay, you're in!"; set RaceParticipate,1; close; case 2: mes "[Race to 99]"; mes "Okay, that sucks."; close; } } prontera,147,180,5 script Race to Max Level 58,{ set [email protected]_level, 99; // GM level required to set the reward set [email protected], 99; set [email protected], 50; set [email protected], 510; setarray [email protected][0], Job_Knight, Job_Alchemist, Job_Assassin, Job_Bard, Job_Blacksmith, Job_Crusader, Job_Dancer, Job_Hunter, Job_Monk, Job_Priest, Job_Rogue, Job_Sage, Job_Wizard; Begin: clear; if (RaceReward == 1) { mes "[ ^0099ccRace to Max Level^000000 ]"; mes "You have already received your reward."; close; } if (RaceParticipate != 1) { mes "[ ^0099ccRace to Max Level^000000 ]"; mes "You're not a participant of this event."; close; } mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Hello, " + ((getgmlevel() >= [email protected]_level) ? "master! What do you want to do today?" : "are you here for your reward?"); switch(select(((getgmlevel() >= [email protected]_level) ? "Set Reward:Restart Race" : ":") + ":YES!:...Reward?:Who was rewarded?:Cancel")) { case 1: goto SetReward; case 2: goto RestartRace; case 3: goto GetReward; case 4: goto ExplainRace; case 5: goto ShowRewarded; default: end; } SetReward: clear; mes "[ ^0099ccRace to Max Level^000000 ]"; if ($reward == 0) set $reward, [email protected]; mes "The reward is " + getitemname($reward) + " (ID: " + $reward + ")."; mes "Do you want to change it?"; if (select("Yes:No") == 1) { clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Please enter the new reward item ID."; input [email protected]; clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Set " + getitemname([email protected]) + " as the reward?"; if(select("Yes:No") == 1) { set $reward, [email protected]; } } goto Begin; RestartRace: clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Are you sure you want to restart the race?"; if (select("Yes:No") == 1) { for ([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++) { set $rewarded$[[email protected][[email protected]]], ""; } announce "The Race to Max Level has begun! Claim a reward once you reach " + [email protected] + " base and " + [email protected] + " class!", bc_all; } goto Begin; GetReward: mes "Let's see... " + strcharinfo(0) + ", huh?"; if (Upper != 1) { mes "You're not a rebirth class. You're not qualified"; close; } set [email protected], 0; for ([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++) { if (Class == [email protected][[email protected]]) { set [email protected], 1; if (BaseLevel < [email protected] || JobLevel < [email protected]) { mes "I'm sorry, but you still need to level a bit more."; } else if ($rewarded$[Class] == strcharinfo(0)) { mes "You have already claimed your reward."; } else if ($rewarded$[Class] != "") { mes "Too late!"; mes "The reward for " + jobname(Class) + " was already claimed by " + $rewarded$[Class] + "."; } else goto GiveReward; } } if ([email protected] == 0) mes "You need to change your job."; close; GiveReward: set $rewarded$[Class], strcharinfo(0); set RaceReward, 1; clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Congratulations! You were the first " + jobname(Class) + " to reach " + [email protected] + " base and " + [email protected] + " class!"; getitem $reward, 1; announce strcharinfo(0) + " (" + jobname(Class) + ") reached Max. Level and received " + getitemname($reward) + "!", bc_all; close; ExplainRace: clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Yes! When you reach the maximum level for your class, talk to me and you'll be rewarded with a special item."; next; goto Begin; ShowRewarded: clear; mes "[ ^0099ccRace to Max Level^000000 ]"; for ([email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++) { mes jobname([email protected][[email protected]]) + ": " + (($rewarded$[[email protected][[email protected]]] != "") ? $rewarded$[[email protected][[email protected]]] : "^ff0000Nobody^000000"); } next; goto Begin; }
  8. Just edit the exp table and lessen the burden on your server of running a script every time they kill a monster. But yeah, you can do it using a script, too. Don't bother looking for an src modification if you have no idea how to do it.
  9. On your client, check if you diffed it to show the 1st login background or the 2nd or both.
  10. Sometimes Skype's using this port. Try to close all of your apps before you run your database.
  11. Oops. Sorry, I overlooked the OnInit part. Yeah, please remove it. OnInit - Gets triggered as soon as you start the server or whenever you reload scripts. Alternatively, you can follow @Daraen's recommendation to simplify or shorten your script once you get more knowledge about scripting. But for the time being, you can follow my script and remove the OnInit before OnHour.
  12. Yeah, you need to add the BG maps to mapflags/nopvp.txt.
  13. Check if the item type is correct, review the repository of Herc, and see how they did it originally. It's not an issue with the emulator.
  14. Edit the script for all foods. You either use SC_FOOD_STR_CASH or SC_FOOD_STR.
  15. End the process that's using port 3306. More info: https://veerasundar.com/blog/2009/10/how-to-check-which-application-is-using-which-port/
  16. Just create 2 separate scripts (see sample below). - script FloatingRatesStarter FAKE_NPC,{ OnInit: //add any other HOURS OnHour01: //------------------- set [email protected],rand(100,150); set [email protected],rand(100,150); set [email protected],rand(100,150); //Base exp setbattleflag("base_exp_rate",[email protected]); //Job exp setbattleflag("job_exp_rate",[email protected]); //Drops setbattleflag("item_rate_common",[email protected]); setbattleflag("item_rate_heal",[email protected]); setbattleflag("item_rate_use",[email protected]); setbattleflag("item_rate_equip",[email protected]); //we don't change card drops rate, because these values won't change them anyway atcommand "@reloadmobdb"; announce "Current Rune-Midgard rates are: 1."+([email protected])+"x 1."+([email protected])+"x 1."+([email protected])+"x",bc_all,0xFF6060; end; } - script FloatingRatesEnder FAKE_NPC,{ OnInit: //add any other HOURS OnHour03: //------------------- set [email protected],100; set [email protected],100; set [email protected],100; //Base exp setbattleflag("base_exp_rate",[email protected]); //Job exp setbattleflag("job_exp_rate",[email protected]); //Drops setbattleflag("item_rate_common",[email protected]); setbattleflag("item_rate_heal",[email protected]); setbattleflag("item_rate_use",[email protected]); setbattleflag("item_rate_equip",[email protected]); //we don't change card drops rate, because these values won't change them anyway atcommand "@reloadmobdb"; announce "Current Rune-Midgard rates are back to normal!",bc_all,0xFF6060; end; }
  17. Everything you need to know is in Herc and rAthena forums. Also, you'll get a faster response in the Discord channel should you have technical questions. Good luck!
  18. I haven't checked the attached files but it seems like the MySQL user is not working.
  19. Open the file stated in the error. (first line of my.ini)
  20. If you don't know how to independently operate everything, you're not supposed to open a server. You'll just end up like most of the server owners in the Philippines, who are popping out like mushrooms because of the income they can generate and disappears in a month. I'm sure most server owners will deny it, but you can easily tell what motivates them just by viewing their donation shop and patch notes. Running a server requires competence, patience, and consistency. These 3 values are important for a server to survive its 1st year. This is based on my own experience in SolaceRO. Final advice: Knowing how to 'program' will not make you a good server owner. Acquire some experience first; join someone else's server as a co-developer.
  21. Why not just use the empty pvp maps and put mobs in there? Create a warper NPC with level requirements per option.
  22. It's just items calling certain functions; checking if the items are in the inventory; then getitem, delitem, etc. Just read through the script_commands and you'll understand how to make something similar.
  23. Sent you a PM on Discord. I look forward to receiving your response.
  24. There's a command called @ignorebg, it works like @listenbg.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.