Jump to content

Legend

Members
  • Content Count

    375
  • Joined

  • Days Won

    5

Reputation Activity

  1. Upvote
    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;
    }
    }

  2. Upvote
    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;
    }
    }

  3. Upvote
    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
  4. Upvote
    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 
  5. Upvote
    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 )
  6. Upvote
    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; }
  7. Upvote
    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.
  8. Upvote
    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.
  9. Upvote
    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
  10. Upvote
    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".
  11. Upvote
    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.
  12. Upvote
    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
  13. Upvote
    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
  14. Upvote
    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*
  15. Upvote
    Legend reacted to 4144 in 2016-02-03aRagexeRE   
    This is rathena error. But packets from this topic only for hercules. Try ask rathena devs
  16. Upvote
    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!
  17. Upvote
    Legend reacted to Happy in Happy Devs: Bring out the best Ragnarok in you.   
    Status Update:
    Web Dev: Unavailable
    Scripter: Available
    Source Dev: Available
  18. Upvote
    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 ....
  19. Upvote
    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)
  20. Upvote
    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
     
     
     
  21. Upvote
    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!
  22. Upvote
    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.
  23. Upvote
    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)
  24. Upvote
    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; }  
  25. Upvote
    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
×
×
  • Create New...

Important Information

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