-
Content Count
65 -
Joined
-
Last visited
-
Days Won
5
Posts posted by Neffletics
-
-
For a server with 100 players where most players are vending or sitting in town, you'd be spending approximately $20-40 per month. Most of these budget hosting have low port speed which makes it vulnerable to network stress.
Later on, if your server grows. You'd need at least 500 mbps port speed (ideal is 1 gbps dedicated port speed).
As for your other question, Gepard is the only option. But, most cheat tools are now going through the memory. So, even if you have Gepard Shield in your server, it won't guarantee effectiveness. -
I changed the time slots to be in 30-minute intervals rather than hourly increments.
Here's the code. I haven't tested it. Please let us know if it works. ~case 1: mes "[New Session]"; if (.Size > 127) { mes "You have already reached the maximum of 32 sessions."; next; break; } mes "Select a day."; next; set .@day, select(" ~ "+implode(.Days$,": ~ "))-1; mes "[New Session]"; mes "Select a start time for ^0055FF"+.Days$[.@day]+"^000000."; next; set .@menu$,""; for(set .@i,0; .@i<47; set .@i,.@i+2) set .@menu$, .@menu$+" ~ "+Add_Zero(floor(.@i/2),1)+":"+Add_Zero((.@i%2)*30,2)+":"; set .@start, select(.@menu$)-1; mes "[New Session]"; mes "Select an end time for ^0055FF"+.Days$[.@day]+"^000000."; next; set .@menu$,""; for(set .@i,.@start+1; .@i<48; set.@i,.@i+2) set .@menu$, .@menu$+" ~ "+Add_Zero(floor(.@i/2),1)+":"+Add_Zero((.@i%2)*30,2)+":"; set .@end, select(.@menu$)+.@start; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (.@day == $WOE_CONTROL[.@i] && ((.@start >= $WOE_CONTROL[.@i+1] && .@start < $WOE_CONTROL[.@i+2]) || (.@end > $WOE_CONTROL[.@i+1] && .@end <= $WOE_CONTROL[.@i+2]) || (.@start <= $WOE_CONTROL[.@i+1] && .@end >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; mes "The chosen times overlap with an existing session."; next; set .@d,1; break; } if (.@d) { set .@d,0; break; }
-
On 10/8/2020 at 11:50 PM, sustagen said:hello po newbie lang gusto po sana namin nang friend ko gumawa nang server , 0 knowledge pa po kami gusto namin from scratch talaga gumawa nang server. Ano pong best way para maging smooth yung pag dedev namin.
1. 2 po kami gusto mag dev ,kapag mag eedit kami nang files ano pong best way para maging synchronize yung mga files namin?
2. ok lang po ba offline mode muna para magtest at mag edit nang mga items? paano po kami magkikita online para mag test nang sabay?1. Gamit kayo ng version control platforms like Github, Gitlab, Bitbucket, etc.
2. Bumili kayo ng cheap na VPS, tipong worth USD 1-5 lang per month tapos doon ninyo i-host test environment ninyo. May mga plugins sa VSCode na mag-automatic sync ng changes from editor to your VPS para dire-diretso kayo ng gawa. -
This is the first time I've seen this post. As a way of saying thank you to Herc, I'll be donating on a regular basis. This is the emulator that we've been using for SolaceRO.
Thanks for your dedication!
Update: I just realized, my payment was declined. Not sure if this is connected with the situation in Eastern Europe. Sucks, I don't have crypto. -
Great work! .zip and .rar support, please!
-
Great stuff!
-
-
-
Compile your server as pre-renewal. You're using the renewal Izlude.
-
You might have forgotten to tick translate client when you diffed it.
-
It's best if you do it on the web. It's extremely risky to do these from an NPC script.
You can find many freelance web developers who can help you with this. -
What do you mean?
-
None. Don't bother, there's no workaround to it.
-
Too lazy to understand the whole script, but please try adding this below the line with getitem.
if (.@rand <= 3) { announce(strcharinfo(PC_NAME)+" got "+ getd( ".p"+ .@s +"["+( 1+3*.@r -1 )+"]" ) +" "+ getitemname( getd( ".p"+ .@s +"["+ (1+ 3*.@r -2) +"]" ) ) +"!", bc_blue|bc_all); }
-
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.
-
It's a memory issue. Try changing the device on your setup.exe.
-
Just pull from the repo and fix the conflicts (if there's any).
-
13 hours ago, Azhura said:Do we have a log of skill usage or item usage where we can check if a player uses a no delay program? I currently using gepard shield but it seems like some players can bypass it.
You have to write it yourself. I manually applied hard delays in my server; it counts the animation speed as well. -
Update: setarray .@rewardablejobs[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 .@gm_level, 99; // GM level required to set the reward set .@maxbase, 99; set .@maxjob, 50; set .@defaultreward, 510; setarray .@rewardablejobs[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() >= .@gm_level) ? "master! What do you want to do today?" : "are you here for your reward?"); switch(select(((getgmlevel() >= .@gm_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, .@defaultreward; 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 .@rewardid; clear; mes "[ ^0099ccRace to Max Level^000000 ]"; mes "Set " + getitemname(.@rewardid) + " as the reward?"; if(select("Yes:No") == 1) { set $reward, .@rewardid; } } 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 (.@i = 0; .@i < getarraysize(.@rewardablejobs); .@i++) { set $rewarded$[.@rewardablejobs[.@i]], ""; } announce "The Race to Max Level has begun! Claim a reward once you reach " + .@maxbase + " base and " + .@maxjob + " 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 .@competitioner, 0; for (.@i = 0; .@i < getarraysize(.@rewardablejobs); .@i++) { if (Class == .@rewardablejobs[.@i]) { set .@competitioner, 1; if (BaseLevel < .@maxbase || JobLevel < .@maxjob) { 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 (.@competitioner == 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 " + .@maxbase + " base and " + .@maxjob + " 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 (.@i = 0; .@i < getarraysize(.@rewardablejobs); .@i++) { mes jobname(.@rewardablejobs[.@i]) + ": " + (($rewarded$[.@rewardablejobs[.@i]] != "") ? $rewarded$[.@rewardablejobs[.@i]] : "^ff0000Nobody^000000"); } next; goto Begin; }
-
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.
-
On your client, check if you diffed it to show the 1st login background or the 2nd or both.
-
On 1/27/2021 at 8:27 AM, aabarreto said:Then I'll try everything again tomorrow...
Sometimes Skype's using this port. Try to close all of your apps before you run your database. -
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. -
quest reward question
in General Server Support
Posted
I believe you'll have to edit that from the client. Check the LUA files in your data folder.