-
Content Count
375 -
Joined
-
Days Won
5
Reputation Activity
-
Legend reacted to Asheraf in i need little help of scripting a freebies npc
new_1-1,51,67,3 script ShadowRO Gifter 10039,{
mes "[ShadowRO Gift]";
mes "Hi, Welcome to Shadow Ragnarok Online !";
if (#gotgift) {
mes "You have already claimed your gift.";
close2;
warp "prontera",116,73;
end;
}
mes "Do you want your gift ?";
next;
switch(select("Sure !", "Hmmm..")) {
case 1:
mes "[ShadowRO Gift]";
mes "Have Fun,";
mes "Remember, the job master will meet you in the middle of prontera.";
next;
mes "[ShadowRO Gift]";
mes "See You !";
next;
savepoint "prontera",116,73;
getitem 755, 1;
#gotgift = 1;
warp "prontera",116,73;
end;
case 2:
mes "[ShadowRO Gift]";
mes "... !?";
close;
}
}
-
Legend reacted to Dastgir in i need little help of scripting a freebies npc
new_1-1,51,67,3 script ShadowRO Gifter 10039,{
mes "[ShadowRO Gift]";
mes "Hi, Welcome to Shadow Ragnarok Online !";
if (#gotgift) {
mes "You have already claimed your gift.";
close;
}
mes "Do you want your gift ?";
next;
switch(select("Sure !", "Hmmm..")) {
case 1:
mes "[ShadowRO Gift]";
mes "Have Fun,";
mes "Remember, the job master will meet you in the middle of prontera.";
next;
mes "[ShadowRO Gift]";
mes "See You !";
next;
savepoint "prontera",116,73;
getitem 755, 1;
#gotgift = 1;
warp "prontera",116,73;
end;
case 2:
mes "[ShadowRO Gift]";
mes "... !?";
close;
}
}
-
Legend reacted to Dastgir in Permanant Group Changer
File Name: Permanant Group Changer
File Submitter: Dastgir
File Submitted: 22 Jul 2014
File Category: Utility
This is a command "@adjgroup2" From which you can give a character new GroupID, no matter he is online or offline.
The New Group is changed permanently.
Usage:
@adjgroup2 <GroupID> <PlayerName>
If PlayerName contains Spaces, Just put it with spaces, without Quotes.
Click here to download this file
-
Legend reacted to Asheraf in how can i add mobs on a map
Hello there, you can read more about permanent monster spawning in the script command doc https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt#L148
-
Legend reacted to Asheraf in Time Request
Hello there i made it in 2 ways
1- short way
- script timeannouncer FAKE_NPC,{ OnMinute00: announce("It is currently " + gettimestr("%Y-%m/%d %H:%M:%S", 21), bc_all); end; } 2- A bit long one
- script timeannouncer FAKE_NPC,{ OnMinute00: setarray(.@Days$, "Monday", "Thuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); setarray(.@Months$, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); .@sec = gettime(GETTIME_SECOND); .@min = gettime(GETTIME_MINUTE); .@hour = gettime(GETTIME_HOUR); .@day = gettime(GETTIME_WEEKDAY); .@dayofmonth = gettime(GETTIME_DAYOFMONTH); .@month = gettime(GETTIME_MONTH); .@year = gettime(GETTIME_YEAR); if (.@dayofmonth == 1) { .@tr$ = "st"; } else if (.@dayofmonth == 2) { .@tr$ = "nd"; } else if (.@dayofmonth == 3) { .@tr$ = "rd"; } else { .@tr$ = "th"; } announce(sprintf("It is currently %d:%d:%d on %s, %s %d%s, %d", .@sec, .@min, .@hour, .@Days$[.@day], .@Months$[.@month], .@dayofmonth, .@tr$, .@year), bc_all); end; } (ps: maybe there is a better way to do this but i dont know it )
-
Legend reacted to Dastgir in Card announce
atleast a little edit might be required, just to get itemID into script from getrandgroupitem.
In that case:
Script.c:
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, 0); } return true; } To
/* getrandgroupitem <container_item_id>,<quantity> */ BUILDIN(getrandgroupitem) { struct item_data *data = NULL; struct map_session_data *sd = NULL; int nameid = script_getnum(st, 2); int count = script_getnum(st, 3); if( !(data = itemdb->exists(nameid)) ) { ShowWarning("buildin_getrandgroupitem: unknown item id %d\n",nameid); script_pushint(st, 1); } else if ( count <= 0 ) { ShowError("buildin_getrandgroupitem: qty is <= 0!\n"); script_pushint(st, 1); } else if ( !data->group ) { ShowWarning("buildin_getrandgroupitem: item '%s' (%d) isn't a group!\n",data->name,nameid); script_pushint(st, 1); } else if( !( sd = script->rid2sd(st) ) ) { ShowWarning("buildin_getrandgroupitem: no player attached!! (item %s (%d))\n",data->name,nameid); script_pushint(st, 1); } else { int i, get_count, flag; struct item it; memset(&it,0,sizeof(it)); nameid = itemdb->group_item(data->group); it.nameid = nameid; it.identify = itemdb->isidentified(nameid); if (!itemdb->isstackable(nameid)) get_count = 1; else get_count = count; for (i = 0; i < count; i += get_count) { // if not pet egg if (!pet->create_egg(sd, nameid)) { if ((flag = pc->additem(sd, &it, get_count, LOG_TYPE_SCRIPT))) { clif->additem(sd, 0, 0, flag); if( pc->candrop(sd,&it) ) map->addflooritem(&sd->bl, &it, get_count, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0); } } } script_pushint(st, nameid); } return true; } * just script_pushint(st, 0) is changed above *
Then you can do from script side as follows in item_db script section:
.@item = getrandgroupitem(12246, 1); if (.@item > 1) { announce strcharinfo(PC_NAME) +" Got "+ getitemname(.@item) +" From MVA", bc_all; } -
Legend reacted to Ai4rei in Future of ROCred and RO Patcher Lite
Since there is no further movement in the poll, it concludes with the following result:
There will be a new "tool", that does both patching and launching (most likely RO Patcher Lite Core built atop ROCred UI). Majority of the RPI's floating around (p-server client survey) are plug-ins responsible for managing patch information, skinning and HTML patch news, which will be part of the new application, so there will be no plug-in system/API for the time being. The RO Patcher Lite API will probably be put on ice as well. No further efforts will be put into ROCred anymore, except bug-fixes (or "security patches" as some people love to word it). Thank you everyone who participated.
Update 2015-12-23:
Currently struggling (for a few months now) with one of the most basic things: sockets.
Update 2016-02-21:
Things are finally starting moving. While I still cannot state some ETA, sockets are being actively worked on, basically typing.
Update 2016-09-29:
Sockets are complete, time to put all those puzzle pieces together.
Update 2017-04-15:
The core still needs some work, but it starts to look good.
-
Legend got a reaction from Like it~* in [Request] Script RWC or WRC automated 7 vs 7
@Aeromesi: sir, he posted it on "Script Request" forum means he's requesting for the said script.
@ts: Im not a pro scripter but Im gonna try to do it, BUT I won't promise anything.
-
Legend reacted to Aeromesi in Aeromesi's Fast as the Wind Ragnarok Services
Little update: If you want to see everyday I'll be streaming me creating instances / dungeons of the sorts. You can follow me via my twitch at http://www.twitch.tv/aeromesi, hope to see you there! Don't forget to say hi in the chatbox and give Hercules a shout out for how awesome it is
-
Legend got a reaction from dhaisuke in Endless Tower Help
I think that's okay now.
Regarding on your first post about Endless Reset, that script of yours won't take effect, its because of the following:
1) This variable ".@etower_timer", ".@" variables is of no use if the NPCs were separated from the original endless tower script.
2) You need to do "instance_create" before warping to endless tower.
3) You also need to do "erasequest" to the ongoing "setquest".
-
Legend got a reaction from dhaisuke in Endless Tower Help
This is the npc you are looking for: https://github.com/HerculesWS/Hercules/blob/master/npc/instances/EndlessTower.txt#L210
usually, it requires i guess 1 week before you can regenerate the instance again once you entered.
-
Legend reacted to chao93 in [Instance]Horror Toy Factory (Aegis Server)
I found this script on aegis ragnarok server, wish help for Hercules Instance.
NOT SURE ITS WORKING ON HERCULES NOW.
credit from: http://forum.asb-sakray.net/index.php?showtopic=37707
Horror_Toy_Factory.txt
-
Legend reacted to Ragno in [Instance]Horror Toy Factory (Aegis Server)
It has been sended pull request with the conversion of the scripts provided by @esu1214, however it stills lack this features:
setmobdata and getmobdata commands Skills 716 and 719 for Spectrum Celine and Hidden Mob monsters The parts from the script invoking that has been commented until devs finish the emulation of those contents. However, it is still playable.
Pull request:
https://github.com/HerculesWS/Hercules/pull/1539
-
Legend got a reaction from haniko in Client does not show window options i.e. minimise, maximise, close
You should apply "enable title bar menu" patch on NEMO.
As of the moment, the only recent client I know is 2016-02-03aRagexeRE which is not yet supported on Herc yet you can manually add its packets.
RagexeRE Link: http://herc.ws/board/topic/13828-2016-02-03aragexere/
2016-02-03aRagexe packets link: http://herc.ws/board/topic/13828-2016-02-03aragexere/?p=79004 *packets credits to @4144 & @dastgir*
-
Legend reacted to 4144 in 2016-02-03aRagexeRE
This is rathena error. But packets from this topic only for hercules. Try ask rathena devs
-
Legend reacted to karazu in Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
Happy New Year!
-
Legend reacted to Happy in Happy Devs: Bring out the best Ragnarok in you.
Status Update:
Web Dev: Unavailable
Scripter: Available
Source Dev: Available
-
Legend reacted to AnnieRuru in *setmobdata & *getmobdata
again, 2nd PM come in and asked me to convert this into rathena
because they claimed this script isn't working in rathena
... and I don't believe rathena will release stuffs that are "full of bugs"
1st reason
I was scripting moderator at rathena forum during year 2013,
so I knew how strict they are when they recruit a core developer
there is no way their developer will make things full of bugs
2nd reason
emistry server is probably based on rathena emulator
I'm confident emistry know how to write his mvp ladder with setunitdata
if setunitdata is bug, then he wont be able to make that mvp ladder script with
-> Boss Max HP will increase depend on total amount of party members who joined currently.
and, this is the script I tested on my rathena test server
prontera,159,185,5 script kjdsfkshfs 1_F_MARIA,{monster "this", -1,-1, "--ja--", 1002, 1, "";setunitdata $@mobid[0], 3, 10000000;setunitdata $@mobid[0], 2, 10000000;} .
the main difference is at the *monster script command
hercules *monster script command can be set with any variable, however, only 1 monster at a time
if want to modify 10 monsters, has to use a loop
prontera,155,185,5 script kdjhfksfdh 1_F_MARIA,{for ( .@i = 0; .@i < 10; .@i++ ) {.@id[.@i] = monster( "this", -1,-1, "--ja--", PORING, 1, "" );setmobdata .@id[.@i], MOBDATA_MAXHP, 10000000;setmobdata .@id[.@i], MOBDATA_HP, 10000000;}end;} .
rathena *monster script command cannot be set, it push $@mobid in an array
prontera,159,185,5 script kjdsfkshfs 1_F_MARIA,{monster "this", -1,-1, "--ja--", 1002, 10, "";for ( .@i = 0; .@i < 10; .@i++ ) {setunitdata $@mobid[.@i], 3, 10000000;setunitdata $@mobid[.@i], 2, 10000000;}end;} .
so the way rathena and hercules write them are totally different
... and yes, rathena also can't use constant
EDIT : codebox is broken ...
EDIT2 : nvm leave it ....
-
Legend reacted to AnnieRuru in *setmobdata & *getmobdata
I don't want rathena members come and steal my source edits anymore hahaha
1.1
plugin
- remove MOBDATA_NAME field and MOBDATA_DIRECTION field
- add monster's emote constants (found in src/map/status.h)
-
Legend reacted to AnnieRuru in *setmobdata & *getmobdata
need to summon a hp 10,000,000 poring ?
or you want to make emperium move ?
yes, this plugin allows you to customize your monsters attribute
Download : 1.2
patch <-- rathena fellows, you are welcome to plagiarize this command, since your setunitdata can't change stats LOL
I experienced in the past that, sometimes when my internet connection reset, my post will looks like rubbish
this time I will make multiple posts to reduce the risk of my explanation so they wont get edited
-
Legend reacted to Ragno in Three suggestions to Huld
As pointed by @4144 in this post, there is some words that may have different translations according to the gender of the player.
In example, there is this Guard in Prontera that says:
"Welcome to Prontera."
When translated to Spanish, this sentence can have two different translations according to the player:
"Bienvenido a Prontera" -> Male players
"Bienvenida a Prontera" -> Female players
And this can't be avoided without alter the original sentence.
Would it be possible to make a special feature to mark sentences like this one so huld can make a differentiation of gender? I'm thinking in something like this:
#: npc/cities/prontera.txt # mes _%("Welcome to Prontera."); msgctxt "Guard#pront::prtguard" msgid "Welcome to Prontera." msgstr sprintf("%s a Prontera.", Sex == SEX_MALE ? "Bienvenido" : "Bienvenida") So, huld could recognice the sprintf command instead of a string and calculate the string to show according to the condition. Thank you!
-
Legend reacted to Skyline in I have a confession...
NO I DON'T.
HAPPY NEW YEAR HERC FAM!
HERE'S TO ANOTHER YEAR OF PAIN, FAILED LAUNCH DATES, SCRIPT ERRORS AND YOU KNOW... FUN.
-
Legend reacted to Asheraf in Script Quest Dimensional Travel
nope questprogress is a Herc script command
for the script as Aeromesi said
if (questprogress(11350) == 1) -
Legend reacted to Asheraf in Broadcast zeny fee
I would suggest using the channel system for this npc instead of looping for every player, however here you go
- script broadcast FAKE_NPC,{ OnCommand: if (!getstrlen(.@atcmd_parameters$)) { message strcharinfo(PC_NAME), "Please, enter a message (usage: @bst)."; end; } if (agitcheck()) { message strcharinfo(PC_NAME), "Unable to use this command,"; message strcharinfo(PC_NAME), "War of Emperium is ongoing!"; close; } $@input$ = implode(.@atcmd_parameters$, " "); $@name$ = strcharinfo(PC_NAME); .@symbol$ = substr(.@atcmd_parameters$, 0, 1); if (.@symbol$ != "B>" && .@symbol$ != "S>" && .@symbol$ != "T>") { message strcharinfo(PC_NAME), "Market Symbol is Needed when using this command ( B> S> T>)"; end; } if (bst_delay + 60 > gettimetick(2)) { message strcharinfo(PC_NAME), "There is a 60 seconds delay of using this command again"; end; } if (Zeny < 1000000) { message strcharinfo(PC_NAME), "You need to pay a 1m fee before sending your message."; end; } Zeny -= 1000000; query_sql ("SELECT `char`.`account_id` FROM `char` JOIN `login` ON `char`.`account_id` = `login`.`account_id` WHERE `char`.`online` = 1", .@account_id); bst_delay = gettimetick(2); // delay while (.@i < getarraysize(.@account_id)) { if (attachrid( .@account_id[.@i])) dispbottom "[ Market ] " + $@name$ + " : " + $@input$,0xFFD700; // display to every character on the server. detachrid; ++.@i; } end; OnInit: bindatcmd "bst", strnpcinfo(NPC_NAME) + "::OnCommand", 0, 1; // bind @bst command. end; }
-
Legend reacted to Rytech in r814 - New Baby Configs And Hidden Bugs With Baby's Fixed
Note: There's only 1 issue left with the Baby Star Gladiator job at the moment. When using Union, you will appear as the adult version. I attempted to fix this but the sprite on the client side is bugged. This fix will be put on hold until a client with the glitch fix comes out. Its only a client side issue and won't affect or break anything server side.
=General
*Updated the descriptions of some config settings.
*Added the "baby_hp_sp_penalty" and "baby_crafting_penalty" settings.
-Way wasn't this a thing? Oh well. Better to add these now then never.
*Added latest tags and ID's for NPC's, skills, and status.
*Updated and optomized the sex change code which fixes some issues.
-Minstrel / Wanderer / Kagerou / Oboro gender exclusive skills were
-not reset on sex change in SQL servers.
-Baby Kagerou / Baby Oboro jobs are added to the checks as well.
-Due to how range checking is done, the amount of code needed for
-checking for certain skills was recuded by half for TXT mode and
-the same ranges are used in SQL as well.
*Fixed a issue where Baby Taekwon's were not being added to the
-Taekwon ranking list.
*Increased MAX_SKILL to 5066 to include the new 3rd set of
-wedding skills.
*Fixed a issue where Baby Taekwon's and Baby Star Gladiator's
-were not being detected in cetain party checks.
*Fixed a issue where Baby Soul Linker's were not immune to
-the debuffing nature of Flying Side Kick.
=Database
*Added entry's for the 3rd set of wedding skills.
-They don't work yet but they will hopefully be coded in soon.
-3 new wedding skills? Oh my and their really good ones too. ;D