-
Content Count
618 -
Joined
-
Last visited
-
Days Won
15
Posts posted by Mumbles
-
-
Think of the values as percentages.
100% (1x) = 100
4500% (45x) = 4500
10000% (100x) = 10000
-
If you know what you're doing™, check out Ubiquity Hosting. I've been with them for the past month now, and they've got great customer service, good deals, and (so far) 100% uptime; you get what you pay for. If it seems a bit out of your budget, BuyVM is a preferable alternative. I wouldn't recommend any of those RO-VPS deals; most of them are unreliable, like the one that disappeared without a word to its customers. You're much better off choosing an established host over some small start-up.
-
Will you be able to "follow" or add someone as a contact? Presumably so, being a social network and all, will you be able to see what server(s) your contacts play on? This could actually be a pretty cool idea, but I am wary of the security of a site that stores game account information.
-
Oh thanks! is there a way to use @main message? Like
@main hi everyone, how are ya doing?!
(:
Unfortunately, I do not know of a way to manipulate channel chat or PM chat (as the channel is PM'd in order to speak in it).
-
If you don't like recompiling, here's some script-based wizardry: http://herc.ws/board/topic/5989-debuff-command/
Thanks quesoph for the original concept.
-
Utility: @debuff command
Original concept by @quesoph: http://herc.ws/board/topic/2709-plugin-debuff/
Description:
Debuffs all players on the invoker's current map.
Download:
https://github.com/datmumbles/Scripts/raw/master/cmd/debuff.txt -
- script at_main -1,{ OnInit: bindatcmd "main", strnpcinfo(3) +"::OnCommand", 0, 2; end; OnCommand: if (.@atcmd_parameters$[0] == "on") { if (!@main) { atcommand "@join #main"; message strcharinfo(0), "You are now in #main chat."; @main = 1; } else { message strcharinfo(0), "You are already in #main chat."; } } else if (.@atcmd_parameters$[0] == "off") { if (@main) { atcommand "@channel leave #main"; message strcharinfo(0), "You are no longer in #main chat."; @main = 0; } else { message strcharinfo(0), "You are not in #main chat."; } } else { message strcharinfo(0), "Invalid parameters."; message strcharinfo(0), .@atcmd_command$ +" failed."; } end;}
-
-
Try creating a separate segment of code under OnPCLoginEvent that triggers when the variable main is present.
-
If you just want a permanent option in the command @main (from my script), replace all instances of the variable @main with main. Did that make sense? ;o
I thought you were aiming to inject the command @main into your existing script, which could be done by modifying your settings a little (I think?):
OnInit: setarray .atname$, "- @autoloot", "- @noask", "- @noks", "- @showexp", "- @main"; setarray .atcommand$, "autoloot", "noask ", "noks", "showexp", "main"; .total = 5; end;
If that's the case, then disregard the first part of this post.
-
Here's the original debug utility used when we were working on this plugin: http://herc.ws/board/topic/5910-partyscript-debugger/
-
Utility: Partyscript Debugger
Description:Debug utility for Mhalicot's partyscript plugin. Accessible via '@modparty' or '@mp'.
Download:https://github.com/datmumbles/Scripts/raw/master/sample/party.txt
Angelmelody reacted to this -
The way your script is written, there is no proper way to seamlessly inject those specific commands into your script. You'll have to use a less "dynamic" way of enabling/disabling commands to include a toggle in the same script, or create a custom toggle with "on/off" parameters and use it in your script.
With this example, you can @main on and @main off (and include the new command in your script!):
- script at_main -1,{ OnInit: bindatcmd "main", strnpcinfo(3) +"::OnCommand", 0, 2; end; OnCommand: if (.@atcmd_parameters$[0] == "on") { if (!@main) { atcommand "@join #main"; message strcharinfo(0), "You are now in #main chat."; @main = 1; } else { message strcharinfo(0), "You are already in #main chat."; } } else if (.@atcmd_parameters$[0] == "off") { if (@main) { atcommand "@channel leave #main"; message strcharinfo(0), "You are no longer in #main chat."; @main = 0; } else { message strcharinfo(0), "You are not in #main chat."; } } else { message strcharinfo(0), "Invalid parameters."; message strcharinfo(0), .@atcmd_command$ +" failed."; } end;}
-
Just an additional note for users who are using off-loaded MySQL databases:
Make sure the account you're logging into the MySQL database with has permission to connect to it remotely. For example, granting permission to 'user'@'localhost' does not immediately grant permission to 'user'@'123.45.67.89'. This can be appropriated by granting permission to 'user'@'%' or 'user'@'<static remote address>'.
-
how to reduce the number of mobs spawned.
Read jaBote's post: http://herc.ws/board/topic/1900-hercules-invasion/?p=32235
-
- script free_yggs -1,{ OnNPCKillEvent: getmapxy(.@map$, .@x, .@y, 3); for (.@i = 0; .@i < 200; .@i++) { makeitem Yggdrasilberry, 1, .@map$, .@x + rand(-10, 10), .@y + rand(-10, 10); } end;}
-
I hope you realise we aren't bothered by any affiliation with (or the mention of) *Athena or other emulators. Suggestions are welcome, and I personally appreciate this one; something I've always looked forward to seeing was an eventual merge or centralisation of item data into the item_db.conf file.
+1, all the way. Thanks for bringing it to our attention, Cydh. :^)
-
-
not possible to check on run time without src edit, btw why not just don't make GMs unable to edit those?
Actually, it is possible to check on run; you just have to get creative. d:
- script modstats -1,{ OnInit: .at_lvl = 40; // Atcommand level .ch_lvl = 80; // Charcommand level .max_param = 99; // Max parameter allowed // Command names setarray .command$[0], "str", "agi", "vit", "dex", "int", "luk"; // Stats setarray .stats[0], bStr, bAgi, bVit, bDex, bInt, bLuk; // Bind commands for (.@i = 0; .@i < getarraysize(.command$); .@i++) { bindatcmd .command$[.@i], strnpcinfo(3) +"::OnCommand", .at_lvl, .ch_lvl; } end; // Syntax: checkparam(<param>, <stat name>) function checkparam { // Loop through all parameters for (.@i = 0; .@i < getarraysize(.command$); .@i++) { // Check if max parameter has been reached if (getarg(1) == .command$[.@i] && getarg(0) - readparam(.stats[.@i]) <= .max_param) { return true; } } return false; } OnCommand: // Save invoking GM name .@gm_name$ = strcharinfo(0); // Charcommand issued if (.@atcmd_numparameters == 2 && checkparam(atoi(.atcmd_parameters$[1]), replacestr(.@atcmd_command$, "@", ""))) { attachrid getcharid(3, .atcmd_parameters$[0]); atcommand .@atcmd_command$ +" "+ atoi(.atcmd_parameters$[1]); // Atcommand issued } else if (.@atcmd_numparameters == 1 && atoi(.atcmd_parameters$[0]) <= .max_param) { atcommand .@atcmd_command$ +" "+ atoi(.atcmd_parameters$[0]); // Invalid parameters } else { message .@gm_name$, "Invalid parameters (syntax: "+ .@atcmd_command$ +" <0 - "+ .max_param +">"; message .@gm_name$, .@atcmd_command$ +" failed."; } end;}
Although you should probably disable the charcommand privilege if it's an issue, honestly.
Disclaimer: Untested.
-
Revised.
- script verifystats -1,{ OnPCLoginEvent: // Check and verify all stats for (.@i = bStr; .@i <= bLuk; .@i++) { // Add and count stat points .@StatCount += readparam(.@i); // Count max stat parameters if (readparam(.@i) == .MaxStat) .@MaxStatCount++; // Verify stats if (readparam(.@i) > .MaxStat || .@MaxStatCount >= .ParamCount && .@StatCount > .MaxCount) { // Reset status points ResetStatus; // Reset skill points (if enabled) if (.SkillReset) ResetSkill; // Display error message message strcharinfo(0), "Verification System : Your stats have been reset."; } } end; OnInit: // Configuration .MaxStat = 99; // Max stat parameter .ParamCount = 2; // Max stat parameter count .MaxCount = 210; // Max stat count (ex: 99 + 99 + 9 + 1 + 1 + 1) .SkillReset = 0; // Reset skills? (0 = off, 1 = on) end; }
how can i set only one notification only?
Here's a revised version (again) to fix the multiple messages:
- script verifystats -1,{ OnPCLoginEvent: // Check and verify all stats for (.@i = bStr; .@i <= bLuk; .@i++) { // Add and count stat points .@StatCount += readparam(.@i); // Count max stat parameters if (readparam(.@i) == .MaxStat) { .@MaxStatCount++; } // Verify stats if (readparam(.@i) > .MaxStat || .@MaxStatCount >= .ParamCount && .@StatCount > .MaxCount) { // Reset status points ResetStatus; // Reset skill points (if enabled) if (.SkillReset) { ResetSkill; // Display error message message strcharinfo(0), "Verification System : Your stats have been reset."; } } } end; OnInit: // Configuration .MaxStat = 99; // Max stat parameter .ParamCount = 2; // Max stat parameter count .MaxCount = 210; // Max stat count (ex: 99 + 99 + 9 + 1 + 1 + 1) .SkillReset = 0; // Reset skills? (0 = off, 1 = on) end; }
Disclaimer: Untested.
Revised.
- script verifystats -1,{ OnPCLoginEvent: // Check and verify all stats for (.@i = bStr; .@i <= bLuk; .@i++) { // Add and count stat points .@StatCount += readparam(.@i); // Count max stat parameters if (readparam(.@i) == .MaxStat) .@MaxStatCount++; // Verify stats if (readparam(.@i) > .MaxStat || .@MaxStatCount >= .ParamCount && .@StatCount > .MaxCount) { // Reset status points ResetStatus; // Reset skill points (if enabled) if (.SkillReset) ResetSkill; // Display error message message strcharinfo(0), "Verification System : Your stats have been reset."; } } end; OnInit: // Configuration .MaxStat = 99; // Max stat parameter .ParamCount = 2; // Max stat parameter count .MaxCount = 210; // Max stat count (ex: 99 + 99 + 9 + 1 + 1 + 1) .SkillReset = 0; // Reset skills? (0 = off, 1 = on) end; }
i want to use it but can you add/change it alittle bit like , it will only detect when character is abnormal stats not every time they reconnect and if they where detected they will get DC within 3 secs.. and GM accounts are not affected on this script..
Thanks
Add this code at line 4 for the GM bypass:
if (getgmlevel()) { end;}
Add this code at line 28 for the timer and kick:
for (.@i = 0; .@i < 3; .@i++) { message strcharinfo(0), "You will be disconnected in "+ (3 - .@i) +" seconds."; sleep2 1000;}atcommand "@kick "+ strcharinfo(0);
-
Super cute; I love the amount of detail you pay attention to. The flower decorations around the cabin are wonderful, and the lighting is superb. o_o
-
-
Here's the Script...
can we change monsters here and replace sm other monsters instead of porings?
Yeah! Take a look at this on the end of the script:
// Normal mob IDs setarray .normal[0], 1002, 1031, 1113, 1242, 1613, 1784, 1388, 1582, 1120, 1062, 1090, 1096; // Normal mob amounts setarray .n_mobs[0], 300, 300, 300, 300, 300, 300, 10, 40, 40, 300, 40, 40; // Prized mob IDs setarray .prized[0], 1002, 1031, 1113, 1242, 1613, 1784, 1582, 1120, 1062, 1096; // Prized mob amounts setarray .p_mobs[0], 3, 2, 3, 3, 3, 3, 1, 1, 3, 1;
You can add or remove monsters IDs and amount of monsters (priced or not) that will be summoned by the event.
@jaBote & :
Thanks for the responses guys! The link has been updated in the first post. c:
-
why use OnPCLoginEvent / OnPCLogoutEvent ?
update item_db_re setscript = 'if ( readparam(bStr) >= 90 ) { bonus bAllStats,1; bonus bMaxHPrate,1; bonus bMaxSPrate,1; bonus bStr, getrefine(); }',equip_script = 'if ( readparam(bStr) >= 90 ) { ModExp = ModDrop = 110; }',unequip_script = 'if ( readparam(bStr) >= 90 ) { ModExp = ModDrop = 100; }'where id = 1201;
Interesting shorthand. o.o
I added the login/logout events because Ind said it's an account-wide modifications, even though the parameter appears to be character-based; the modification would (in theory) linger for other characters on the account, even if the item is not equipped.
[21:01:41] <Luciano> its not a script command its a param like set zeny[21:01:46] <Luciano> set BaseExp,value;[21:02:11] <Luciano> ops[21:02:12] <Luciano> ModExp 125 1[21:02:13] <Luciano> ModDrop 126 1[21:02:13] <Luciano> ModDeath 127 1[21:02:20] <Luciano> ModExp, ModDrop[21:02:24] <Luciano> e.g.[21:02:27] <Luciano> set ModExp,150;[21:02:30] <Mumbles> interesting[21:02:34] <Luciano> account gets +50% erxp[21:02:40] <Mumbles> account or char?[21:03:16] <Luciano> account[21:03:24] <Luciano> there isnt a built in char exp mod
Didn't want to...
in Introductions
Posted
I personally love Hercules' HPM and libconfig-style format for the item databases. The mob database is a work-in-progress for a similar format, so I'm looking forward to that too. I prefer it over rAthena particularly because of my ability to stay up-to-date with the latest revisions by syncing with the Git repo - and most source changes I need can be hooked with HPM. Additionally, Hercules is less memory-intensive; you can run it on a Raspberry Pi if you really wanted to. In comparison, a clean Hercules uses up about 35-75 MB RAM, while rAthena uses 350+ MB RAM.
These are just a few things that I really like about Hercules, but I suppose it's just a matter of preference, I guess. We don't have as much official content (to my knowledge), but the content we do have is accurate and up-to-date.