Hadeszeus
-
Content Count
651 -
Joined
-
Last visited
-
Days Won
1
Posts posted by Hadeszeus
-
-
I got this warning when compiling.
path.c: In function 'distance_client':path.c:476: warning: implicit declaration of function 'sqrt'path.c:476: warning: incompatible implicit declaration of built-in function 'sqrt'
From latest Update https://github.com/HerculesWS/Hercules/commit/b5a92f944f126e920442307bebd3c2b53c9b0d54How to fix this thanks!
-
line 159
if (.@newjob == Job_Novice_High)resetlvl(1);
add below
if (.@newjob == Job_Baby) {resetlvl(4);SkillPoint = 0;}
think this is added in the git already. you can also use the latest version there
Thank you!
-
Can someone help me fix this job changer script? Whenever a a novice change to baby job basic skill is not reset causing a player to have extra 9 SKILL POINTS.
//===== Hercules Script ======================================//= Job Master//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.4//===== Description: =========================================//= A fully functional job changer.//===== Additional Comments: =================================//= 1.1 Fixed reset on Baby job change. [Euphy]//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy]//= 1.3 Kagerou/Oboro added. [Euphy]//= 1.4 Improved legibility (renamed variables, replaced// numbers with constants; Changed syntax to match// Hercules standards; Fixed status point exploit upon// Baby Novice job change. [Haru]//============================================================prontera,178,89,6 script Job Master 1_M_JOBGUIDER,{ function Job_Menu; function A_An; mes "[Job Master]"; if (Class > Job_Soul_Linker) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"") +" before proceeding."; close; } if (.skill_point_check && SkillPoint > 0) { mes "Please use all your skill points before proceeding."; close; } .@eac = eaclass(); .@base = .third_classes ? roclass(.@eac&EAJ_UPPERMASK) : Class; if (.@base >= Job_Knight && .@base <= Job_Crusader2) { if (BaseLevel < .rebirth_blevel || JobLevel < .rebirth_jlevel) { .@blvl = .rebirth_blevel - BaseLevel; .@jlvl = .rebirth_jlevel - JobLevel; mes "You need " + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .rebirth_jlevel ? "and " : "")) : "") + (JobLevel < .rebirth_jlevel ? (.rebirth_jlevel - JobLevel) +" more job levels " : "") + "to continue."; close; } if (Class > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while (true) { mes "Select an option."; next; //.@choice = select(" ~ ^0055FFRebirth^000000:"+(.third_classes ? " ~ ^FF0000Third Class^000000" : "")+": ~ ^777777Cancel^000000"); .@choice = select(" ~ ^0055FFRebirth^000000:~ ^777777Cancel^000000"); if (.@choice == 3) close; mes "[Job Master]"; mes "Are you sure?"; next; if (.@choice == 1) Job_Menu(Job_Novice_High); else // Job_Menu(roclass(.@eac|EAJL_THIRD)); //mes "[Job Master]"; close; } } .@job1 = roclass(.@eac|EAJL_2_1); .@job2 = roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) { .@newclass = roclass(.@eac|EAJL_THIRD); .@required_jlevel = 99; } else if (Class == Job_Ninja) { .@newclass = .@job1; .@required_jlevel = 70; } if (.@newclass && .third_classes) { if (BaseLevel < .rebirth_blevel || JobLevel < .@required_jlevel) { mes "You need " + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .@required_jlevel ? "and " : "")) : "") + (JobLevel < .@required_jlevel ? (.@required_jlevel - JobLevel) +" more job levels " : "") + "to continue."; close; } mes "Switch to "+jobname(.@newclass)+"?"; next; Job_Menu(.@newclass); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .jobchange_first) { mes "A job level of "+.jobchange_first+" is required to change into the 1st Class."; } else if (Class == Job_Novice_High && .linear_jobchange && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else if (Class == Job_Novice) { Job_Menu(Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby); } else if (Class == Job_Novice_High) { Job_Menu(Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); } else if (Class == Job_Baby) { Job_Menu(Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby); } else { mes "An error has occurred."; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) { mes "No more jobs are available."; } else if (!(.@eac&EAJL_2) && JobLevel < .jobchange_second) { mes "A job level of "+.jobchange_second+" is required to change into the 2nd Class."; } else if (.linear_jobchange && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob+Job_Novice_High); } else { Job_Menu(.@job1, .@job2); } close;function Job_Menu { while (true) { if (getargcount() > 1) { mes "Select a job."; .@menu$ = ""; for (.@i = 0; .@i < getargcount(); ++.@i) .@menu$ += " ~ "+jobname(getarg(.@i))+":"; .@menu$ += " ~ ^777777Cancel^000000"; next; .@newjob = getarg(select(.@menu$)-1, 0); if (!.@newjob) close; if ((.@newjob == Job_SuperNovice || .@newjob == Job_Super_Baby) && BaseLevel < .supernovice_level) { mes "[Job Master]"; mes "A base level of "+.supernovice_level+" is required to turn into a "+jobname(.@newjob)+"."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else { .@newjob = getarg(0); } if (select(" ~ Change into ^0055FF"+jobname(.@newjob)+"^000000 class: ~ ^777777"+(getargcount() > 1 ? "Go back" : "Cancel")+"^000000") == 1) { mes "[Job Master]"; mes "You are now "+A_An(jobname(.@newjob))+"!"; if (.@newjob == Job_Novice_High && .linear_jobchange) lastJob = Class; // Note: This is incompatible with the Valkyrie rebirth script. jobchange .@newjob; if (.@newjob == Job_Novice_High) resetlvl(1); specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end;}function A_An { setarray .@vowels$, "a", "e", "i", "o", "u"; .@firstletter$ = strtolower(charat(getarg(0), 0)); for (.@i = 0; .@i < getarraysize(.@vowels); ++.@i) { if (.@vowels$[.@i] == .@firstletter$) return "an "+getarg(0); } return "a "+getarg(0);}Get_Platinum: skill NV_FIRSTAID, 1, 0; if (BaseClass == Job_Novice) { if (Class != Job_SuperNovice) skill NV_TRICKDEAD, 1, 0; } else if (BaseClass == Job_Swordman) { skill SM_MOVINGRECOVERY, 1, 0; skill SM_FATALBLOW, 1, 0; skill SM_AUTOBERSERK, 1, 0; } else if (BaseClass == Job_Mage) { skill MG_ENERGYCOAT, 1, 0; } else if (BaseClass == Job_Archer) { skill AC_MAKINGARROW, 1, 0; skill AC_CHARGEARROW, 1, 0; } else if (BaseClass == Job_Acolyte) { skill AL_HOLYLIGHT, 1, 0; } else if (BaseClass == Job_Merchant) { skill MC_CARTREVOLUTION, 1, 0; skill MC_CHANGECART, 1, 0; skill MC_LOUD, 1, 0; } else if (BaseClass == Job_Thief) { skill TF_SPRINKLESAND, 1, 0; skill TF_BACKSLIDING, 1, 0; skill TF_PICKSTONE, 1, 0; skill TF_THROWSTONE, 1, 0; } if (BaseJob == Job_Knight) { skill KN_CHARGEATK, 1, 0; } else if (BaseJob == Job_Priest) { skill PR_REDEMPTIO, 1, 0; } else if (BaseJob == Job_Wizard) { skill WZ_SIGHTBLASTER, 1, 0; } else if (BaseJob == Job_Blacksmith) { skill BS_UNFAIRLYTRICK, 1, 0; skill BS_GREED, 1, 0; } else if (BaseJob == Job_Hunter) { skill HT_PHANTASMIC, 1, 0; } else if (BaseJob == Job_Assassin) { skill AS_SONICACCEL, 1, 0; skill AS_VENOMKNIFE, 1, 0; } else if (BaseJob == Job_Crusader) { skill CR_SHRINK, 1, 0; } else if (BaseJob == Job_Monk) { skill MO_KITRANSLATION, 1, 0; skill MO_BALKYOUNG, 1, 0; } else if (BaseJob == Job_Sage) { skill SA_CREATECON, 1, 0; skill SA_ELEMENTWATER, 1, 0; skill SA_ELEMENTGROUND, 1, 0; skill SA_ELEMENTFIRE, 1, 0; skill SA_ELEMENTWIND, 1, 0; } else if (BaseJob == Job_Rogue) { skill RG_CLOSECONFINE, 1, 0; } else if (BaseJob == Job_Alchemist) { skill AM_BIOETHICS, 1, 0; } else if (BaseJob == Job_Bard) { skill BA_PANGVOICE, 1, 0; } else if (BaseJob == Job_Dancer) { skill DC_WINKCHARM, 1, 0; } return;OnInit: .rebirth_blevel = 99; // Minimum base level to reborn OR change to third class .rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class .jobchange_first = 10; // Minimum job level to turn into 1st class .jobchange_second = 40; // Minimum job level to turn into 2nd class .third_classes = 1; // Enable third classes? (1: yes / 0: no) .supernovice_level = 45; // Minimum base level to turn into Super Novice .linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no) .skill_point_check = 1; // Force player to use up all skill points? (1: yes / 0: no) .platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) waitingroom " ~ Change Job ~",0; end;}
-
After upgrading to latest version of herc. I can no longer view VIEW ACCOUNT SECTION of flux.
-
Yup we notice that long range was not reduce by card properly. Now it's working as official.
Thank you Sir!
-
There were certain amount of commits fixing skill damage in accordance to official behaviour in past few weeks, so maybe thats the reason..My players totally notice the difference in damage after I update to latest one.
For example before update Hundred Spear damage is around 19k Per HIT while on latest rev 5k per hit. Same player using same build and items.
is this the correct reduction of demi human or a bug maybe of all range damage? coz in mobs damage is same from previous.
Using full renewal setting btw.
Thanks Dast.
-
My players totally notice the difference in damage after I update to latest one.
For example before update Hundred Spear damage is around 19k Per HIT while on latest rev 5k per hit. Same player using same build and items.
is this the correct reduction of demi human or a bug maybe of all range damage? coz in mobs damage is same from previous.
Using full renewal setting btw. -
case SC_STUN: sc_def = st->vit*100; sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10); tick_def2 = st->luk*10;
Percentual resistance: 10000 = 100% Resist <- from the code sc_def = st->vit*100; mean you will need 100 vit to fully resist stun
Thank you Bro!
-
LOL i thought it's Ind ::troll::
-
Can someone guide me which part of the source I need to edit to increase the STAT requirement on negative status immunity?
For example if VIT 99+ immunity to stun is like 100% I want to change that to 120.Also for LUK requirements?
Thanks
-
can someone confirm? i can't find any thread about this. also where can i find the script that woe items check if agit is on or pvp?
-
-
Got this error[SQL]: DB error - Incorrect table name ''[Debug]: at npc.c:1432 - SELECT `name`, `itemid`, `amount` FROM ``
When I check that line I saw thisvoid npc_market_fromsql(void) { SqlStmt* stmt = SQL->StmtMalloc(map->mysql_handle); char name[NAME_LENGTH+1]; int itemid; int amount; if ( SQL_ERROR == SQL->StmtPrepare(stmt, "SELECT `name`, `itemid`, `amount` FROM `%s`", map->npc_market_data_db) || SQL_ERROR == SQL->StmtExecute(stmt) ) { SqlStmt_ShowDebug(stmt); SQL->StmtFree(stmt); return; }
I check my database and I have npc_market_data <-- table
I also created npc_market_data_db
but stil getting npc.c error on this line.
-
3 problems with Emperium
1. First is it correct that emperium HP from latest rev is only 100?
2. Is it normal that Emperium can be move by vacuum skill?3. any possible reason why suddenly became Unbreakable during WOE?
Dunno if its a bug but im using latest herc rev. -
Hmm.. i patch without error. I can create a clone but I can't kill it.
@marketkill nothing happens (Only message that my clone was killed, but its not)
I logged out my clone still alive.
I can create multiple clone.
Cant reproduce, i really suggest you guys use plugins >.> less stress.
I'll try to repatch later.
-
Hmm.. i patch without error. I can create a clone but I can't kill it.
@marketkill nothing happens (Only message that my clone was killed, but its not)I logged out my clone still alive.
I can create multiple clone. -
Thanks Michi!
-
I can't find this in SRC. Anyone pls??
-
[Error]: sv_readdb: Insufficient columns in line 1 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 2 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 3 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 4 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 5 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 6 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 8 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 27 of "db/re/homunculus_db.txt" (found 1, need at least 50).[Error]: sv_readdb: Insufficient columns in line 41 of "db/re/homunculus_db.txt" (found 1, need at least 50).
I know it is related to this update https://github.com/HerculesWS/Hercules/commit/acc4d2eb875ddf67898ae0ac443e76de2d640daa
But my source is updated, I have homunculus_db.txt inside re folder.
void homunculus_read_db(void) { int i; const char *filename[]={DBPATH"homunculus_db.txt","homunculus_db2.txt"};
-
Hi~Annie,I'd like to report an issue:
if you kill clone via @killmonster command(still working) ,and then log out your Character , map server will get crashed
edit : I m using plugin v1.1
Confirming this.
Thanks Annie!
-
dirty methodAnnie, same.
atcommand.c: In function 'atcommand_maintenance':atcommand.c:9403: warning: format '[^' expects type 'char *', but argument 6 has type 'const char **'
can you tell how you compile your server ?
[info]: Compiled with Microsoft Visual C++ 2010 (v1600)
I compile using 'Debian GNU/Linux 6.0.5
i'll try your dirty method Thanks Annie!
-
I think there's some size change missing in the latest mob.h SZ_SMALL <> SZ_MEDIUM replacement.
Thank problem fixed.
Im sure I overlooked the diff for clif.c
Thanks for the clue Garr.
-
I think there's some size change missing in the latest mob.h SZ_SMALL <> SZ_MEDIUM replacement.
I compared my mob.h to the latest one and nothing is different.
-
Hi I have a weird problem on my server. the character size and NPC size are so small I'm using latest herc files and client diff is okay since I used my client to my previous server before using it to new hercules rev.i have a feeling that this is a server side issue. Do you think any possible setting that may cause this.
ZOOM IN ALREADY
Lower the chance of summoning MVP
in Source Requests
Posted
Can someone help me on how to lower the chance of summoning MVP's using ABRACADABRA skill? This can be spam on any server. Thanks in advance!