Jump to content

Angelmelody

Members
  • Content Count

    772
  • Joined

  • Last visited

  • Days Won

    23

Reputation Activity

  1. Upvote
    Angelmelody got a reaction from Alexandria in Add old message in wedding   
    try this..,find
    delitem 2613,1; //Diamond_Ring wedding_sign = 1; and add after
    setd( (Sex? "$groom$" : "$bride$"), strcharinfo(0)); if(!getmapxy(.@m$,.@x,.@y,0,(Sex ? $bride$: $groom$))) { announce "The Wedding of "+$groom$+" and "+$bride$+", will now be held at Prontera Church.", bc_all; $bride$ = $groom$ = ""; }
  2. Upvote
    Angelmelody got a reaction from karazu in Critical Strike on Magic [Error] (Still not solve)   
    find
      clif->damage(tmpd->src, tmpd->bl, timer->gettick(), 1, 1, id, 0, 10, 0);
    change to
    clif->damage(tmpd->src, tmpd->bl, 1, 1, id, 0, 10, 0);
     
     
    find
    status->change_start(bl, SC_BLADESTOP_WAIT, 10000, 1, 0, 0, 0, u_, 2);
    status->change_start(bl, SC_INVINCIBLE, 10000, 1, 0, 0, 0, u_, 2);
    chang to
    status->change_start(NULL, bl, SC_BLADESTOP_WAIT, 10000, 1, 0, 0, 0, u_, 2);
    status->change_start(NULL, bl, SC_INVINCIBLE, 10000, 1, 0, 0, 0, u_, 2);
  3. Upvote
    Angelmelody got a reaction from Clare in One Map in Two Zones   
    niflheim  mapflag  zone  Towns
    niflheim  mapflag  zone   NoAzoth
     
    my test results are the zone 'NoAzoth' will  overwrite zone 'Towns'  if the map zone order is like above.
    and restrictions of NoAzoth are applied to niflheim , but Towns  not.
  4. Upvote
    Angelmelody reacted to Tokeiburu in GRF Editor   
    Heya,
     
    You can use Ctrl-C after selecting an item in the search results. The same goes for the tree view and the other folder list view. In the next release, you'll be able to copy multiple items at once though, which will be more handy than one by one.
  5. Upvote
    Angelmelody reacted to Tokeiburu in Screenshots gone Haywire?   
    I know the issue is solved, but... this is a known issue xD! Your width and height of the client must be divisible by 4, otherwise you'll get these 'weird' screenshots.
  6. Upvote
    Angelmelody reacted to malufett in Confused about description of DAMAGE_CAP TYPE   
    //#define HMAP_ZONE_DAMAGE_CAP_TYPE means:
    skill damage = damage_cap(base damage) * modifiers
    ex. (1000 base_damage cap to 500 max) * -20% racial = 400 total damage ---> final result is 400
     
    #define HMAP_ZONE_DAMAGE_CAP_TYPE means:
    skill damage = damage_cap(base damage * modifiers)
    ex. (1000 * -20% racial = 800 total damage) cap to 500 max ---> final result is 500
     

  7. Upvote
    Angelmelody reacted to Beret in Add new database format   
    A while back when hercules was implemented new updates I gave the idea to ind use configuration (.conf), today I see how much this mode brought more easily for creation and configuration, I noticed that the item_db is now also in file  
    Well why not expand to other files which can facilitate both in future updates following the aegis, as for members who use the emulator. To make clearer how much easier to use that way, look below.     skill_db - hercules:   662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0, NPC_HELLJUDGEMENT,Hell's Judgement663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDESILENCE,Wide Silence661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7, NPC_PULSESTRIKE,Pulse Strike  
    skill_db - aegis:
     
    SetSkill NPC_HELLJUDGEMENTOnInit: SkillType TOME SkillMaxLv 10 SkillPattern DIRECTATTACK SkillSplash SQUARE 14 14 14 14 14 14 14 14 14 14 SkillAtkPer 100 200 300 400 500 600 700 800 900 1000returnOnSuccess: SkillHandicap HEALTHCurse 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000returnSetSkill NPC_WIDESILENCEOnInit: SkillType TOME SkillMaxLv 5 SkillSplash SQUARE 2 5 8 11 14 returnOnUse: SkillHandicap HEALTHSilence 1000 1000 1000 1000 1000 SkillNoDamagereturnSetSkill NPC_PULSESTRIKEOnInit: SkillType TOME SkillMaxLv 5 SkillSplash SQUARE 7 7 7 7 7 SkillPattern DIRECTATTACK SkillAtkPer 100 200 300 400 500returnOnSuccess: SkillKnockBack 7 7 7 7 7return  
    produce_db rune - hercules
     
    12733,24,2010,4,1096,1,7123,1,7939,1 produce_db mode rune - aegis
     
    Rune_12733 = { -- 하갈라즈 ["Elder_Branch"] = 1, ["Round_Shell"] = 1, ["Dragon's_Skin"] = 1, } produce_db cook - hercules
     
    12061,11,0,0,7472,0,518,1,514,2,501,1 produce_db cook - aegis
     
    [ [[Dex_Dish01]] ] = { Level={1}; --재료아이템 Meterial = { --아이템DB명, 개수 { [[Honey]], 1 }, { [[Grape]], 2 }, { [[Red_Potion]], 1 }, }; CreatingItembyFailed = { }; }, mercenary_skill_db - hercules
     
    6017,8207,2 //MA_DOUBLE6017,8233,1 //MER_AUTOBERSERK mercenary_skill_db - aegis
     
    "MER_ARCHER01"{ "MA_DOUBLE",2 "MER_AUTOBERSERK",1}  
    sc_config hercules
     
    SC_PROVOKE, 32 sc_config aegis
     
    EFST_PROVOKE={ ResetDead = true; ResetDispel = true; Save = true; Send = false; IgnorePretendDead = false; DeBuff = true; ResetCLEARANCE = true; ActorAppearance = false; SendMultiCast = false; ["backward compatibility send"] = true; -- 이전버젼 호환성을 위해 추가합니다.};  
    These are just a few examples, the manipulation of these files become easier when working with this format. Often you have to work with sums as 1 + 2 + 9 + 5, sum is not the problem, the question having to know what each number is, unlike when using constants, you can work as true or false for example for each option.
  8. Upvote
    Angelmelody got a reaction from stiflerxx in .lub to .lua someone know?   
    try grf editorhttp://herc.ws/board/files/file/138-grf-editor/
  9. Upvote
    Angelmelody got a reaction from Helena in How to not attach a timer to a character (using +x hours)   
    try this- xxxxx xxx,{ ........................ ........................ announce "The server will now have the drop rates increased to 2x for the coming 24 hours!",bc_all; setbattleflag("item_rate_common", 200 ); dispbottom "Setting to 2x"; $ExpireTime = gettimetick(2)+86400;//--->24 hours = 60*60*24 = 86400 seconds end;OnInit: if($ExpireTime && gettimetick(2) < $ExpireTime) { setbattleflag("item_rate_common", 200 ); end; }OnMinute1: OnMinute2: OnMinute3: OnMinute4: OnMinute5: OnMinute6: OnMinute7: OnMinute8: OnMinute9: OnMinute10:OnMinute11: OnMinute12: OnMinute13: OnMinute14: OnMinute15: OnMinute16: OnMinute17: OnMinute18: OnMinute19: OnMinute20:OnMinute21: OnMinute22: OnMinute23: OnMinute24: OnMinute25: OnMinute26: OnMinute27: OnMinute28: OnMinute29: OnMinute30:OnMinute31: OnMinute32: OnMinute33: OnMinute34: OnMinute35: OnMinute36: OnMinute37: OnMinute38: OnMinute39: OnMinute40:OnMinute41: OnMinute42: OnMinute43: OnMinute44: OnMinute45: OnMinute46: OnMinute47: OnMinute48: OnMinute49: OnMinute50:OnMinute51: OnMinute52: OnMinute53: OnMinute54: OnMinute55: OnMinute56: OnMinute57: OnMinute58: OnMinute59: OnMinute0: if($ExpireTime && gettimetick(2) >= $ExpireTime) { //--->Judging if the time is expired or not per minute $ExpireTime = 0 ; setbattleflag("item_rate_common", 100 ); } end;}
  10. Upvote
    Angelmelody reacted to Sense in Custom Monster Transform   
    Hi, Hercules!

    My name is Sense, this is my first post.

    the system can custom monster transform bonus script.


    For example:

    just give PC status change
    sc_start SC_MONSTER_TRANSFORM,1200000,1276; and define your bonus script in the 'db/transform_bonus.txt'

    if transform Devil
    1109,{ bonus bAspd,1; bonus bHit,5; }

    Effect:

    before


    after: (ASPD + 1 & HIT + 5)


    Download Source Code:
    src.patch

    Download DB File:
    db.patch

    by the way, i'm learning english now.
  11. Upvote
    Angelmelody reacted to Ai4rei in RO Open Setup, v3.1.0.627 - last updated 2023/11/18   
    Thank you, here you go. 
    Updated to 2.11.3, adds Traditional Chinese translation. No functional changes.
  12. Upvote
    Angelmelody got a reaction from Ai4rei in RO Open Setup, v3.1.0.627 - last updated 2023/11/18   
    yes, the font size of official setup UI seems the same size as OpenSetup
     
     
     
    edit:
    After test V-2.11.3 ,the fonts are still readable and legible.
     
     
  13. Upvote
    Angelmelody got a reaction from Ai4rei in RO Open Setup, v3.1.0.627 - last updated 2023/11/18   
    my computer uses traditional chinese 
    http://pastebin.com/Q5DZNrT9
  14. Upvote
    Angelmelody reacted to tinpont in RO Open Setup, v3.1.0.627 - last updated 2023/11/18   
    I'm sorry, as I know, there are lots of different between Simplified and Traditional translate. So I just translated to Simplified. Still glad to see someone use Chinese here.
     
    Maybe you should change line 14
    LANGUAGE LANG_CHINESE_TRADITIONAL, SUBLANG_CHINESE_TRADITIONAL
  15. Upvote
    Angelmelody got a reaction from Tsuuu in PK Area Error while compiling   
    I m not using clean emulator to create patch ,so ~ patch it by manual
    this mod should be given criedit to Mr. Postman from Thailand
    cell_pvp.diff
  16. Upvote
    Angelmelody got a reaction from Mikhail von Hohenheim in PK Area Error while compiling   
    I m not using clean emulator to create patch ,so ~ patch it by manual
    this mod should be given criedit to Mr. Postman from Thailand
    cell_pvp.diff
  17. Upvote
    Angelmelody got a reaction from Zirius in What would become of "goto" ?   
    if ( Delay_Heal > gettimetick(2) ) { mes "[Healer]"; mes "Sorry, I can only help you once per 3 minutes."; close;}
  18. Upvote
    Angelmelody reacted to Dastgir in [Guide] Adding New Status Icons   
    Hello Hercules Community,
    Here's a Guide to Add a New Custom Status Icons(the one displayed on the right)
     
     
    What you Need?
    Knowledge of Editing and Compiling Server(and ofcourse custom icons)

     
    1) Server Side Edits:
    open
    src/map/status.h
     
    Find
     
    SC_MAX  Add Before
     
    SC_MYCUSTOMBUTTON,  
     
    Find
    SI_MAX, Add Before
     
    SI_MYCUSTOMBUTTON = ID_OF_BUTTON, (ID of Button can be any, but I suggest to have them > 2000, so not to avoid any updates with kRO(which is at 900) now)
    P.S: Remember that ID_OF_BUTTON, we gonna need them later.
     
     
    src/map/status.c
    Find
    status->IconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC; Add Below
    status->IconChangeTable[SC_MYCUSTOMBUTTON] = SI_MYCUSTOMBUTTON;  
    Recompile 
     
    2) ClientSide Edits
    Get a CleanCopy of statusicon folder (https://github.com/ROClientSide/Translation/tree/master/Data/luafiles514/lua%20files/stateicon)
     
    Open efstids.lub
    Find:
    __newindex = function()error("unknown state") Before it add,
     
    EFST_MYCUSTOMBUTTON = ID_OF_BUTTON,  P.S: ID_OF_BUTTON should match the one on source(status.h)
     
     
    Open  stateiconinfo.lub
    Find
     
    StateIconList[EFST_IDs.EFST_JUMPINGCLAN] = {  Add Before
    StateIconList[EFST_IDs.EFST_MYCUSTOMBUTTON] = { haveTimeLimit = 1, posTimeLimitStr = 2, descript = { { "My Custom Button Heading", COLOR_TITLE_BUFF }, {"%s", COLOR_TIME}, --do not edit this, this shows time remaining { "Description 1" }, { "Description 2" }, { "Description 3" } }} Open
    stateiconimginfo.lua
    Find
     
    [PRIORITY_GOLD] = { OR
    [PRIORITY_RED] = {  OR
    [PRIORITY_BLUE] = {  OR
    [PRIORITY_GREEN] = {  OR
    [PRIORITY_WHITE] = {  (Depending on what background your Custom Button is)
    Add below
     
    [EFST_IDs.EFST_MYCUSTOMBUTTON] = "MYCUSTOMBUTTONFILE.TGA",  P.S: Your Button File must be in .TGA form only.
    .tga file must go to data/texture/effect/ Folder
     
    And Its DONE!!!
     
    NOTE: Replace MYCUSTOMBUTTON with your own Icon/Effect Name
  19. Upvote
    Angelmelody reacted to Garr in NPC masking   
    Updated links with your suggestions, thank you very much. It's first time I ever I make a plugin, not to mention I never really worked with C++ or C before. So had to go with guessing game sometimes.
     
    Also, about last suggestion with it being inside if, won't the ifs before that prevent it from triggering by returning to main function before the hookStop()?
     
    Because this:
    if ( bl->type == BL_NPC ) { ...code with hookStop()...}return; Seems same with:
    if (bl->type != BL_NPC) return;...code with hookStop()...  
    Also, found a solution for nullpo not linking:
    RMB on project, Properties , and change Configuration to "Release" for this plugin.

  20. Upvote
    Angelmelody got a reaction from Zirius in @recallmap for Hercules   
    we dont need that command becoz we have  getmemberaid
     
     usage: @maprecall "mapname"
    - script MapRecall -1,{end;OnInit: bindatcmd "maprecall",strnpcinfo(3)+"::OnMapRecall",70,70;end;OnMapRecall: .@smap$ =,.@atcmd_parameters$[1]; if(getmapusers(.@smap$) == -1) { mes "invalid map name.."; close; } getmapxy(.@tmap$,.@tx,.@ty,0); getmemberaid ALL_SAMEMAP, .@smap; for ( .@i = 0; .@i < $@onlinecount; .@i++ ) { if(!attachrid($@onlineaid[.@i])) continue; if(!checkvending()) warp(.@tmap$, .@tx, .@ty); } end; }  
     
     
     
  21. Upvote
    Angelmelody got a reaction from kyeme in R> Jumping Candy item script   
    solved by myself
     
     
     
    { Id: 14586 AegisName: "Spark_Candy" Name: "jumping candy" Type: 2 Buy: 0 Weight: 10 Upper: 63 Delay: 180000 Trade: { nodrop: true noselltonpc: true } Script: <" sc_start SC_INCBASEATK,60000,20; sc_start SC_INCASPDRATE,60000,25; sc_start SC_ENDURE,60000,1; sc_start4 SC_HPDRAIN,60000,100,10,0,0; ">},adding required sc state 
     
     
  22. Upvote
    Angelmelody got a reaction from Garr in NPC masking   
    my git version is 9ab4f84 and compiling under MSVC 2010
     
    I comment out all the nullpo_retv(bl) lines , compiling is successful now
     
    edit :
    report a bug
    <new name> - name masking, if not provided will use empty name.
    my test script
    npcmask 1002,"abc",0x02,1,2,2;
  23. Upvote
    Angelmelody reacted to Garr in NPC masking   
    File Name: npcmask
    File Submitter: Garr
    File Submitted: 10 Oct 2014
    File Category: Plugins
     
    Masks NPCs on player's client based on his/her variables. Will need to leave NPC sight range/@refresh for it to trigger (if you change variable while NPC is still in sight nothing will change, but @refresh/leaving screen and entering again will trigger mask).
     
    Usage:
    npcmask <new sprite>,<int variable name>,<compare method>,<value1>,{<value 2>,{<new size>,{<new name>,{<npc name>}}}}npcunmask {<npc name>}  
    Applies and removes NPC masking, accordingly.

    <new sprite> - sprite NPC will show if conditions are met

    <int variable name> - variable name to check, only integer character variables.

    <compare method> - compare method, based on following masks (v - variable, a- value1, b - value2)
    0x01 - Less, uses value1 (v < a)
    0x02 - Equal, uses value1 (v == a)
    0x04 - More, uses value1 (v > a)
    0x10 - "BETWEEN" - Between value1 and value2, including values 1 and 2 (a <= v <= b )
    0x20 - "EXCLUDE" - Excluding between value1 and value2, values 1 and 2 are excluded also. (v < a OR v > b )
    Example: 0x03 - same as less or equal, makes a check (v <= a)
    "BETWEEN" and "EXCLUDE" methods overwrite anything else, "EXCLUDE" will take precedence over all other methods.

    <value1> - value1 to compare too, used in all compare methods.

    <value2> - value2, used in "BETWEEN" and "EXCLUDE" modes. Optional parameter, if it won't be provided
    while using "BETWEEN" or "EXCLUDE" methods, those methods will be skipped.

    <new size> - size masking, defaults to medium size.

    <new name> - name masking, if not provided will use NPC's original name.

    <npc name> - NPC name to use masking on. If not provided, will be used on NPC script is running from.
     
    This plugin appeared from the idea of hiding NPCs from some players, while it still being visible to others. It's just added in functionality.
     
    You can download the file here.
     
    OR
     
    You can copy it from here.
  24. Upvote
    Angelmelody got a reaction from jaBote in No Buff when you die   
    OnPcDieEvent + sc_end
  25. Upvote
    Angelmelody reacted to Tokeiburu in GRF Editor   
    You will need the latest version from the mediafire link (1.6.7.5) : http://www.mediafire.com/download/aflylbhblrzpz0h
     
    There are two ways to encrypt files, but first, you'll want to setup your client.
    Go in Tools > GRF Encryption
    Put your encryption password in the first box (you can save the credentials to a .grfkey format if you plan on using the encryption often, but make sure this file is not shared with anyone else).
    Select your client executable (the name of the executable cannot be changed afterwards).
    Put your new cps.dll name. This cannot exceed 7 characters. You can simply leave it as "cps.dll", which won't require an edited client.
    Click on Generate files. If everything went well, a window should show up with your new cps.dll file selected (and the client, if it needed modifications).
    Screenshot below after you generate your client files.
    Copy the new generated files to your client folder.

     

     
     
    That's it for the client configuration.
     
    As for the GRF actual encryption now... Open your GRF in GRF Editor. If you want to encrypt your entire GRF, go in Tools > GRF Encryption, click on Encrypt GRF (might ask you for your password). The process should be rather quick, the output GRF is your new encrypted GRF.
     
    You can also encrypt specific files if you want : right-click the items you want to encrypt and use Encryption > Encrypt. Save your GRF.
     

     
     
    Encrypted files will show in orange. When opening up an encrypted GRF, GRF Editor will prompt you for your credentials (hence why it's useful to save your password somewhere, then you can quickly load it with Key... > Load recent > your key.grfkey) :

     
     
    To make encrypted Thor patches, create a new Thor file from File > New > New Thor. Add a data folder and add your files in there. This is the same process as above : right-click, Encryption > Encrypt. Make sure you use the same password/key. Go in the Container options tab and set your target GRF (as shown below). Once saving, you will no longer be able to modify your encrypted Thor patch though (the files will become unreadable). Also, always test your Thor patches to make sure everything is working fine.

     
    That should cover most of it xD! If you have further questions, go ahead.
×
×
  • Create New...

Important Information

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