Jump to content

Angelmelody

Members
  • Content Count

    772
  • Joined

  • Last visited

  • Days Won

    23

Reputation Activity

  1. Upvote
    Angelmelody reacted to AnnieRuru in dispbottomcolor   
    since our developers are ... not implementing dispbottom and message with colors
    http://herc.ws/board/topic/3899-suggestion-displaybottom-message-colors/?p=28345
    I think I just make a release for this
     
    Download: 1.2
    Plugin
     
    tested with
    prontera,162,180,5 script asdf 100,{ dispbottomcolor "test color", 0xFF0000; dispbottomcolor "test color", 0x00FF00; dispbottomcolor "test color", 0x0000FF; dispbottomcolor "test color", 0xFFFFFF, 2000000; end;}PS: there is a reason that this couldn't be in the officialbecause hercules' clif->colormes is ... badly coded ...
    changing that function also means change a lot of lines having clif->colormes, which is all over the places
     
     
     
  2. Upvote
    Angelmelody reacted to AnnieRuru in Instance System   
    yes, official hercules instance script doesn't change much
    prontera,155,180,0 script Party Room 123,{ if ( has_instance2( "1@cata" ) >= 0 ) { warp has_instance( "1@cata" ), 0,0; end; } mes "renting a room for party"; next; if ( ( .@ins = instance_create( "Rent a Room", getcharid(1) ) ) < 0 ) { mes "error : "+ .@ins; close; } if ( instance_attachmap( "1@cata", .@ins ) == "" ) { mes "error : 5"; instance_destroy .@ins; close; } instance_set_timeout 30, 0, .@ins; instance_init .@ins; instance_attach .@ins; warp has_instance( "1@cata" ), 0,0; end;}I'm sure you'll feel familiar with the old system 
    but look at this ... instance guild room ... yummy ~
    prontera,158,180,0 script Guild Room 123,{ if ( has_instance2( "guild_vs2" ) >= 0 ) { warp has_instance( "guild_vs2" ), 0,0; end; } mes "renting a room for guild"; next; if ( ( .@ins = instance_create( "Rent a Room", getcharid(2), IOT_GUILD ) ) < 0 ) { mes "error : "+ .@ins; close; } if ( instance_attachmap( "guild_vs2", .@ins, 1, getcharid(2)+"room" ) == "" ) { mes "error : 5"; instance_destroy .@ins; close; } instance_set_timeout 30, 0, .@ins; instance_init .@ins; instance_attach .@ins; warp has_instance( "guild_vs2" ), 0,0; end;} unfortunately, many src edit from rathena are not compatible with herculesif you can read the source code, hercules source code parse faster than rathena
    example like
    rathena : clif_message
    hercules : clif->message
    so all your source edit has to be rewritten
     
    fortunately, we have plugin system ...
    http://herc.ws/board/topic/549-
    so you just need to code it once, and can forget about it
  3. Upvote
    Angelmelody reacted to AnnieRuru in warp portal causes map server crash   
    prontera,155,185,5 script abcde#1 100,{Onaaa: mes "testing ..."; next; mes "let's go !"; close2; getmapxy .@map$, .@x, .@y, 1; warpportal .@x+2, .@y+2, "yuno",157,51; end;}geffen,119,59,5 script abcde#2 100,{ doevent "abcde#1::Onaaa"; end;}change into- script abcde -1,{ mes "testing ..."; next; mes "let's go !"; close2; getmapxy .@map$, .@x, .@y, 1; warpportal .@x+2, .@y+2, "yuno",157,51; end;}prontera,155,185,5 duplicate(abcde) abcde#1 100geffen,119,59,5 duplicate(abcde) abcde#2 100..
    I hope you get what I mean
  4. Upvote
    Angelmelody reacted to kisuka in Massive RE Monster DB Update   
    https://github.com/HerculesWS/Hercules/commit/0fadf384a80a25f1af712232d14a664848dbff88
     
    This has been a long time coming ^^; renewal's mob_db now matches official. Thanks for both Michi and I, we present to you a Hercules where your monsters now match official renewal stats, drops, exp, etc
     
    This update changes many values (stats, exp, hp, lv, etc) on many monsters. These changes are on par with the latest official servers.
     
    Enjoy.
     
    Be sure to report any issues you may find
  5. Upvote
    Angelmelody got a reaction from AnnieRuru in Display Input Amount to format   
    so....
    getstrlen( .@str$ = getarg(0) ) -->pass an int type param won't show warning
    getstrlen( getarg(0) )  --->pass an int type param will show warning
     
    Assigning to a varaible is so amazing
  6. Upvote
    Angelmelody got a reaction from AnnieRuru in Display Input Amount to format   
    Thanks ,but I test this script with passing an int variable as param,my map console show warning

    function script int__ {.@i = getstrlen(getarg(0)) -3; //----> without assigning.@is_negative = charat( .@str$, 0 ) == "-";while ( .@i > .@is_negative ) {.@str$ = insertchar( .@str$, ",", .@i );.@i -= 3;}return .@str$;}prontera,153,180,5 script aaaa 100,{mes callfunc("int__",Zeny);close;}
     
     
     

    [Warning]: Unexpected type for argument 1. Expected stri[Debug]: Data: param name='Zeny' type=20[Debug]: Function: getstrlen[Debug]: Source (NPC): aaaa at prontera (153,180)
  7. Upvote
    Angelmelody got a reaction from Hadeszeus in Warper of Toasty need help   
    StartNode("Nameless Island", "function", "f_questnameless");
     AddMap("Nameless Island", "nameless_n", 256, 215);
    EndNode();


    function script f_questnameless {
    return (checkquest(xxxx) == 2);
    }
  8. Upvote
    Angelmelody got a reaction from evilpuncker in IND please!   
  9. Upvote
    Angelmelody got a reaction from Zirius in @recallall includes vendors @autotrade   
    just insert this line  into  for loop
     
    if(pl_sd->state.autotrade) continue;
  10. Upvote
    Angelmelody got a reaction from Zirius in @recallall includes vendors @autotrade   
    you can use  addrid script command  to recall  all players who isn't  with a vendor
     
    through  binding  @recallall  command to overwrite original recall command
     
    http://herc.ws/board/topic/3285-script-command-addrid/
  11. Upvote
    Angelmelody got a reaction from eKoh in Problem with collection.bmps   
    identifiedResourceName = "Helm of Darkness",
     unidentifiedResourceName = "Helm of Darkness",
     
    these are incorrect and  should same as sprite name
  12. Upvote
    Angelmelody got a reaction from Zirius in Example of an NPC that checks if a player has already learned a skill?   
    if( getskilllv(SM_FATALBLOW) ){ ....................................}if( getskilllv(MC_CHANGECART) ){ ....................................}
  13. Upvote
    Angelmelody got a reaction from JulioCF in Gerando seu próprio itemInfo.lua em português!   
    NumClass  field  was not  working properly
     
      sorry, my native language  is Chinese and Here is my covert result:
     
      [1112] = {
       unidentifiedDisplayName = "擊刺長劍",
       unidentifiedResourceName = "溯檜橫",
       unidentifiedDescriptionName = {
         "有著細長刃的劍,專門做刺穿用。",
         "系列 : ^777777劍^000000  攻擊 : ^77777770^000000",
         "重量 : ^77777750^000000",
         "武器等級 : ^7777772^000000",
         "要求等級 : ^77777714^000000",
         "裝備 : ^777777初學者/劍士系列/商人系列/盜賊系列可以裝備 ^000000"
       },
       identifiedDisplayName = "擊刺長劍",
       identifiedResourceName = "溯檜橫",
       identifiedDescriptionName = {
         "有著細長刃的劍,專門做刺穿用。",
         "系列 : ^777777劍^000000  攻擊 : ^77777770^000000",
         "重量 : ^77777750^000000",
         "武器等級 : ^7777772^000000",
         "要求等級 : ^77777714^000000",
         "裝備 : ^777777初學者/劍士系列/商人系列/盜賊系列可以裝備 ^000000"
       },
       slotCount = 0,
       ClassNum = 0 ----> this value should be 2
     },
  14. Upvote
    Angelmelody got a reaction from eKoh in How to detect that a player leaves a map?   
    OnPCLoadMapEvent: if(lastmap$!="" && strcharinfo(3)!=lastmap$) { player leaves a map } lastmap$ = strcharinfo(3); end;
  15. Upvote
    Angelmelody got a reaction from icabit in bonus_script by cydh   
    This script command is from rathena  created by cydh ,I convert it to herc
     
    *bonus_script "<script code>",<duration>{,<flag>{,<type>{,<status_icon>{,<char_id>}}}};This command will attach a script to a player for a given duration, in seconds.After that time, the script will automatically expire. The same bonus cannot bestacked. By default, this bonus will be stored on `bonus_script` table when playerlogs out.Note that the maximum number of 'bonus_script' commands that can run simultaneouslyfor a player is 20 (MAX_PC_BONUS_SCRIPT in 'src/common/mmo.h').Flags: (Default is 0) &1: Remove when dead. &2: Removable by Dispell. &4: Removable by Clearance. &8: Remove when player logs out.Types: This will be used to decide negative or positive buff for 'debuff_on_logout'. 0: Ignore the buff type and won't be removed if the flag is not &8 (Default) 1: Buff 2: DebuffStatus_icon: See "Status Icon" section in 'db/const.txt'. Default is SI_BLANK (-1).Example: // Apple gives you +5 Str bonus for 1 minute when it's consumed. 512,Apple,Apple,0,15,,20,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "{ bonus bStr,5; }",60; },{},{}  
     
     
    download: bonus script.patch
     
     
    ---- Table structure for table `bonus_script`--CREATE TABLE IF NOT EXISTS `bonus_script` ( `char_id` varchar(11) NOT NULL, `script` varchar(1024) NOT NULL, `tick` varchar(11) NOT NULL DEFAULT '0', `flag` varchar(3) NOT NULL DEFAULT '0', `type` char(1) NOT NULL DEFAULT '0', `icon` varchar(3) NOT NULL DEFAULT '-1') ENGINE=InnoDB;
  16. Upvote
    Angelmelody got a reaction from icabit in convert to hercules mod   
    Here yo go! ,I dont test shadow equipment ....good luck!
     
     
    refine_bonus.patch
  17. Upvote
    Angelmelody got a reaction from evilpuncker in bonus_script by cydh   
    This script command is from rathena  created by cydh ,I convert it to herc
     
    *bonus_script "<script code>",<duration>{,<flag>{,<type>{,<status_icon>{,<char_id>}}}};This command will attach a script to a player for a given duration, in seconds.After that time, the script will automatically expire. The same bonus cannot bestacked. By default, this bonus will be stored on `bonus_script` table when playerlogs out.Note that the maximum number of 'bonus_script' commands that can run simultaneouslyfor a player is 20 (MAX_PC_BONUS_SCRIPT in 'src/common/mmo.h').Flags: (Default is 0) &1: Remove when dead. &2: Removable by Dispell. &4: Removable by Clearance. &8: Remove when player logs out.Types: This will be used to decide negative or positive buff for 'debuff_on_logout'. 0: Ignore the buff type and won't be removed if the flag is not &8 (Default) 1: Buff 2: DebuffStatus_icon: See "Status Icon" section in 'db/const.txt'. Default is SI_BLANK (-1).Example: // Apple gives you +5 Str bonus for 1 minute when it's consumed. 512,Apple,Apple,0,15,,20,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "{ bonus bStr,5; }",60; },{},{}  
     
     
    download: bonus script.patch
     
     
    ---- Table structure for table `bonus_script`--CREATE TABLE IF NOT EXISTS `bonus_script` ( `char_id` varchar(11) NOT NULL, `script` varchar(1024) NOT NULL, `tick` varchar(11) NOT NULL DEFAULT '0', `flag` varchar(3) NOT NULL DEFAULT '0', `type` char(1) NOT NULL DEFAULT '0', `icon` varchar(3) NOT NULL DEFAULT '-1') ENGINE=InnoDB;
  18. Upvote
    Angelmelody reacted to evilpuncker in [GRF] ROTranslatedEN (just add to ini!)   
    what does it really does?
  19. Upvote
    Angelmelody got a reaction from iZeal in [Script CMD] showscript   
    plz try example npc, I think nothing is better than first hand experience
  20. Like
    Angelmelody got a reaction from evilpuncker in [Script CMD] showscript   
    idea from here: http://herc.ws/board/topic/3257-aegis-showscript-command/?p=21640
     
    *showscrpt("<message>"{,<GID>}); This script will display the output message on top of the units Head
    If an optional GID is specified, msg will be shown on specified units head.
    if GID isn't specified or target not exist, msg will be shown on the invoking character
    if GID isn't specified and there is no player attached, msg will be shown on npc's head
     
    example:
    prontera,120,120,2 script bla 120,{ showscript("plz input an online player's name!"); input .@name$; .@tgid = getcharid(3,.@name$); showscript("this is a test!",.@tgid); close;OnInit: showscript "I m npc bla";end;}  

    download:
     
    showscript.c
  21. Upvote
    Angelmelody got a reaction from Napster in [Script CMD] showscript   
    idea from here: http://herc.ws/board/topic/3257-aegis-showscript-command/?p=21640
     
    *showscrpt("<message>"{,<GID>}); This script will display the output message on top of the units Head
    If an optional GID is specified, msg will be shown on specified units head.
    if GID isn't specified or target not exist, msg will be shown on the invoking character
    if GID isn't specified and there is no player attached, msg will be shown on npc's head
     
    example:
    prontera,120,120,2 script bla 120,{ showscript("plz input an online player's name!"); input .@name$; .@tgid = getcharid(3,.@name$); showscript("this is a test!",.@tgid); close;OnInit: showscript "I m npc bla";end;}  

    download:
     
    showscript.c
  22. Upvote
    Angelmelody got a reaction from Jedzkie in [Script CMD] showscript   
    idea from here: http://herc.ws/board/topic/3257-aegis-showscript-command/?p=21640
     
    *showscrpt("<message>"{,<GID>}); This script will display the output message on top of the units Head
    If an optional GID is specified, msg will be shown on specified units head.
    if GID isn't specified or target not exist, msg will be shown on the invoking character
    if GID isn't specified and there is no player attached, msg will be shown on npc's head
     
    example:
    prontera,120,120,2 script bla 120,{ showscript("plz input an online player's name!"); input .@name$; .@tgid = getcharid(3,.@name$); showscript("this is a test!",.@tgid); close;OnInit: showscript "I m npc bla";end;}  

    download:
     
    showscript.c
  23. Upvote
    Angelmelody reacted to Mystery in July Digest 2014   
    July Digest 2014
    The following digest covers the month of July 1st - July 31st 2014.
     

    Development Highlights
    [*]Update rAthena-main-upgrade.sql (f5de504) [*]Update rAthena-logs-upgrade.sql (9a36b78) [*]Fixed some skill checks considering Super Novices the same as Novices (92a249) [*]Updated SR_FLASHCOMBO behaviour (17e414) [*]Mado Behaviour Changes (da190e0) [*]Corrected list of skills that can be used while using mado [*]Corrected list of supportive skills that can't be cast in users with mado [*]Fixed *setmadogear behaviour, it would set mado to any character
    [*]Updated warg skill check (cc4c87c) [*]Updated SQL-UPGRADE files (ef8700d) [*]Organized SQL-TOOLS (3213a3b) [*]SQL Reorganization (3ecf877) [*]Corrected some SC behaviour (9dd6ee) [*]Corrected compile errors in case DB_ENABLE_STATS is defined (222345) [*]Fixed an issue in the 'Invalid client hash' console message (8a1ad06) [*]Fixed issue with [AT]mount, it wasn't displaying the expected message (ec5117) [*]Fixed issue with mounts and jobchange, ranger and mechanic mounts (1eee0f) [*]Extracted method to obtain SYSTEM_INFO from functions in sysinfo.c (7cd967) [*]Minor script core fixes (2bbde24)
    [*]Removed useless calls in script.c, Removed nullpo calls in script.c, scripts shouldn't crash the server [*]Added checks in several functions in order to prevent possible crashes [*]*resetstatus, *resetskill, *skillpointcount, *changesex, *successremovecards, *failedremovecards, *getequipcardid, *skilleffect, *atcommand, *cardscnt, *equip, *useatcmd [*]Corrected *specialeffect2 behaviour, when no player was attached and another player name was supplied it would stop script execution instead of displaying the effect
    [*]Removed redundant data from guardian_data, saving up to 40 bytes per guardian (10240 bytes total) (d1d99a9) [*]Added support to show children of struct/union in Debug Help plugin (74c804) [*]Added sysinfo support to Debug Help plugin (23d696) [*]Fixed issue that when players used [at]fakename when disguised (1e492e3)


     
    Scripting Highlights
    [*]Removed duplicate code from the Cool Event NPCs (5955d8) [*]Moved common code to a function [*]Modified to use appropriate functions from function_kafras.txt [*]Modernized syntax/updated function documentation in both files [*]Fixed the Rachel NPC incorrectly stating it's warping you to Rachel, instead of Veins



     
    Documentation Highlights
    [*]Added documentation regarding hard coded constants (a10dd560)

     
    July Statistics
    [*]During the period there were 47 Commits. [*]Of these 47 commits, 11 included bug-fixes. [*]5 Commits from Pull Requests  [*]In this month, there were 1,929 Additions and 1,905 Deletions.

  24. Upvote
    Angelmelody got a reaction from Hadeszeus in About 1 Per Mac IP except vending or @AT   
    try the new one , after tested, it works for me- script Only1perMAC -1,{OnPCLoginEvent: if (getgmlevel() >= 99) end; if (query_sql("SELECT `char`.`name` FROM `char` LEFT JOIN login ON `char`.account_id=login.account_id WHERE login.last_mac=(SELECT last_mac FROM login WHERE account_id="+getcharid(3)+") AND `char`.online=1 AND `char`.char_id!="+getcharid(0), .@name$) >= 1) { for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) { if (!checkvending(.@name$[.@i])) set .@samemac, .@samemac +1; } if (.@samemac >= 1) { announce "Sorry, only 1 account per computer can be logged in at a time.", bc_self; sleep2 1000; atcommand "@kick "+strcharinfo(0); } } end;}
  25. Upvote
    Angelmelody got a reaction from Hadeszeus in Rental item problem with cards   
    try this
    --- a/src/map/pc.c +++ b/src/map/pc.c @@ -496,6 +496,25 @@ void pc_rental_expire(struct map_session_data *sd, int i) { } clif->rental_expired(sd->fd, i, sd->status.inventory[i].nameid); + + { // expiration return card + int s,flag =0; + for (s = 0; s < MAX_SLOTS; s++) { + if( itemdb->exists(sd->status.inventory[i].card[s]) != NULL ){ + struct item card_it; + memset(&card_it,0,sizeof(card_it)); + card_it.nameid=sd->status.inventory[i].card[s]; + card_it.identify=itemdb->isidentified(card_it.nameid); + if ((flag = pc->additem(sd, &card_it, 1 ,LOG_TYPE_NONE))) + { + clif->additem(sd, 0, 0, flag); + storage->additem(sd,&card_it,1); + + } + } + } + } + pc->delitem(sd, i, sd->status.inventory[i].amount, 0, 0, LOG_TYPE_OTHER); } void pc_inventory_rentals(struct map_session_data *sd)
×
×
  • Create New...

Important Information

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