Angelmelody
-
Content Count
772 -
Joined
-
Last visited
-
Days Won
23
Reputation Activity
-
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$ = ""; } -
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);
-
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.
-
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.
-
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.
-
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
-
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.
-
Angelmelody got a reaction from stiflerxx in .lub to .lua someone know?
try grf editorhttp://herc.ws/board/files/file/138-grf-editor/
-
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;} -
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.
-
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.
-
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.
-
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
-
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 -
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
-
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
-
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;} -
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
-
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.
-
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; }
-
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
-
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; -
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.
-
-
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.