Mhalicot
-
Content Count
1971 -
Joined
-
Last visited
-
Days Won
37
Posts posted by Mhalicot
-
-
Thanks for your information.. basically in paypal you can refund your payment within a month.. so when your developer doesn't response within one week you can refund your payment to him/her.. (Moved to off Topic)..
-
Its because of your itemID..
[40000] = if I'm not mistaken the range should be < 32767
-
So anyone have a solution to this problem? I've added everything in accessoryid.lub, accname.lub, and accname_eng.lub
Also in itemInfo.lub I've added my item. But everytime I run my exe I get the following error(s), client loads properly afterwards.
And when I add the item to item_db2.conf, nothing gets loaded in the map-server but 0 entries
Make sure that you add your custom item ouside the /* */ sign.. this is a common mistakes when using item_db2.conf. or please share your item_db2.conf?
-
-
someone have this ?
@edit:
Fixed.
How Can i fix This xD?
Hello Fiction,
This issue has been answered many times.. Please use the search button at the upper right of your screen.
Int'l Moderator,
Mhalicot
-
-
you must apply the source part of it.. check out the link that i gave you..
-
Hello,
Are you sure that is the script? is it a Plugins Costume Item Plugins? or Source Mod Costume System? i check your script but it doesn't show the same error as in your screenshot.
In'l Moderator,
Mhalicot
-
Hello,
have you try to read [WIKI]Connecting and Starting? if you have time kindly review it..
int'l Moderator,
Mhalicot
-
is this correct ?
int pc_insert_card(struct map_session_data* sd, int idx_card, int idx_equip, int csc)
it is already mentioned in Angelmelody 1st post.
pc.cinside the pc_insert_card() function
int csc;//add this declaration
-
It should work.. Did you manage to check your RAM like what Dastgir mentioned?
-
-
~ I did not really know if i should post this here or the Database section,
But i assumed that fixing the skills require some src edits that are
far beyond my knowledge. If anyone can help me out with any of these, Its
really much appreciated <3
Job Skills
Song and Dance effect only lasts for 10 seconds and disappears even if still in the song / dance area
Aqua 3 and Ventus 3 Defensive modes don't work.
Expiatio (Archbishop Skill) doesn't have an icon, doesn't have any effect.
Warmer (Sorcerer Skill) doesn't have an icon.
Warmer (Sorcerer Skill) heals monster.
Frigg's Song (Bard and Dancer Skill) description said consumes Crystalized Teardrops, but consumes Regrettable Tears
Abracadabra (Sorcerer Skill) only summons old MvP (none past Louyang Update)
Full Throttle Buff and Rebound Debuff icons shows symbols instead of words
Homunculus Skills
Eleanor's Offensive Skills always misses, even to dummies with 1 agi.
Sera's Pain Killer doesn't work
It is better to post it in Buck Tracker section so that our developers can easily take a look at it.. please post accordingly.
-
Hello,
I want to ask. Is it same with [release] DuplicateCreate() & DuplicateRemove() on eathena? if yes can you provide an updated diff?
-
Ohh, i forgot that you are using linux... pleas disregard my question above.. anyways can you share your @afk ? put it in code box.. I want to check
-
I tried to add the "@afk" plugin...I use linux system, so I just put the afk.c at src/plugins and recompile...
But when I turn on the emulator I get the warning "HPM: fail to load plugin, skipping..."
When you recompile the plugins did you receive any error?
-
Yes. It is still pending on Pull request. https://github.com/HerculesWS/Hercules/pull/389 & https://github.com/HerculesWS/Hercules/pull/388
-
I tried to add the "@afk" plugin...I use linux system, so I just put the afk.c at src/plugins and recompile...
But when I turn on the emulator I get the warning "HPM: fail to load plugin, skipping..."
When you recompile the plugins did you receive any error?
Did you follow the guide on loading the Plugins? Read it in [WIKI]Building HPM Plugin for gcc.
(Moved to Plugins Support)
-
Hello,
I'd made some modification in your script because some if will be deleted in future. see details Deprecation of Legacy Script Commands. But I haven't test it yet.
//==============================================================================////= Script Release : Job Changer + Max Leveler [ Version 1.6 ]//==================================By==========================================////= ManiacSociety//==============================================================================////= Idea Came From : ManiacSociety//= Helper : Emistry & Kenpachi//==============================================================================////= D E S C R I P T I O N S//==============================================================================//// -- 1. Character can choose a Job which he like to be.// -- 2. This NPC only have 1 Time Usage.// If it is set to Account Based then that account can use 1 times.// If it is set to Character Based then all new character can use 1 times.// -- 3. Complete skills / Skill Points will be given if it is set to be.// -- 4. Base Level and Job Level will be given upon Job Change.// -- 5. Allow players to click an items to call out the NPC.//==============================================================================////= V E R S I O N S//==============================================================================//// -- [ 1.6 ] : Added Item Script which allow the Scripts work as a "Tickets".// -- [ 1.5 ] : Added Configuration for Account Based / Character Based Settings// -- [ 1.4 ] : Added Baby Classes + 3rd Job Classes. // -- [ 1.3 ] : Added Configuration Option , 4 Announce Option , Informations. // -- [ 1.2 ] : Simplified Scripts + Shorten the Scripts. // -- [ 1.1 ] : Added New Job Change Option. // -- [ 1.0 ] : Simple Login Auto Max Level + Job Changer. //==============================================================================////= R U L E S//==============================================================================//// -- 1. Do not use for exchanging purpose. // -- 2. Do not claim it as yours. // -- 3. Do not change or remove the credits.// -- 4. Do not sell the script in order to get paid.// -- 5. Do not re-sharing upon modified without permission.//==============================================================================//// -- Add this at item DB. ( Change it to any items to your like. )// -- 30000,JobClassTicket,JobClassTicket,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ doevent "ClassHelper::OnMenu"; },{},{}- script ClassHelper -1,{OnInit:// -- Configuration Option.npcname$ = "[ ^0000FF Class Helper ^000000 ]";.InfoMenu =1; // Classes Informations Option [ 0 - Disable / 1 - Enable ].1stClassMenu =1; // First Job Class Option [ 0 - Disable / 1 - Enable ].2ndClassMenu = 1; // Second Job Class Option [ 0 - Disable / 1 - Enable ].High1stClassMenu = 1; // High 1st Class Option [ 0 - Disable / 1 - Enable ].Trans2ndClassMenu = 1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ].Trans3rdClassMenu = 1; // Third Job Class Option [ 0 - Disable / 1 - Enable ].ExpandedClassMenu = 1; // Expanded Class Option [ 0 - Disable / 1 - Enable ].BabyClassMenu = 1; // Baby Job Class Option [ 0 - Disable / 1 - Enable ].Baby3rdClassMenu = 1; // Baby Third Job Class Option [ 0 - Disable / 1 - Enable ].Allskills = 0; // Complete Skills Option [ 0 - Disable / 1 - Enable ]// -- Usable for Only 1 Time.Based = 1; // [ 0 - Account Based / 1 - Character Based ]end;OnMenu: if( ClassHelper == 1 || #ClassHelper == 1 ) end; mes .npcname$; mes "PLEASE CHOOSE YOUR JOB..."; mes " ^FF0000________________________________^000000"; mes "What do you want to be?"; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "Do you admire those who have a great power ? Do you wish to become a part of them ? If yes , then which classes that you admire the most ?"; next; switch(select(( !.InfoMenu)?"":"^4EEE94Classes Information^000000", ( !.1stClassMenu)?"":"^0000FFFirst Job Classes^000000", ( !.2ndClassMenu)?"":"^0000FFSecond Job Classes^000000", ( !.High1stClassMenu)?"":"^0000FFHigh First Job Classes^000000", ( !.Trans2ndClassMenu)?"":"^0000FFTranscendent Job Classes^000000", ( !.Trans3rdClassMenu)?"":"^0000FFThird Job Classes^000000", ( !.ExpandedClassMenu)?"":"^0000FFExpanded Job Classes^000000", ( !.BabyClassMenu)?"":"^0000FFBaby Normal Job Classes^000000", ( !.Baby3rdClassMenu)?"":"^0000FFBaby Third Job Classes^000000", "^FF0000Sorry, I admire nobody....^000000")) { case 1: callsub Classes_info; case 2: callsub FirstJob_Classes; case 3: callsub SecondJob_Classes; case 4: callsub HighFirstJob_Classes; case 5: callsub TransSecondJob_Classes; case 6: callsub TransThirdJob_Classes; case 7: callsub ExpandedJob_Classes; case 8: callsub BabyJob_Classes; case 9: callsub BabyThirdJob_Classes; case 10: if (!.Based) #ClassHelper = 1; else ClassHelper = 1; close; } FirstJob_Classes: mes .npcname$; mes "So, I give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Swordman^000000", "^76EE00Magician^000000", "^76EE00Archer^000000", "^76EE00Acolyte^000000", "^76EE00Merchant^000000", "^76EE00Thief^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,1,174,50,60,"All"; case 2: callsub Job_Changing,2,174,50,60,"All"; case 3: callsub Job_Changing,3,174,50,60,"All"; case 4: callsub Job_Changing,4,174,50,60,"All"; case 5: callsub Job_Changing,5,174,50,60,"All"; case 6: callsub Job_Changing,6,174,50,60,"All"; case 7: callsub OnMenu; }HighFirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00High Swordsman^000000", "^76EE00High Magician^000000", "^76EE00High Archer^000000", "^76EE00High Acolyte^000000", "^76EE00High Merchant^000000", "^76EE00High Thief^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,4002,174,50,60,"All"; case 2: callsub Job_Changing,4003,174,50,60,"All"; case 3: callsub Job_Changing,4004,174,50,60,"All"; case 4: callsub Job_Changing,4005,174,50,60,"All"; case 5: callsub Job_Changing,4006,174,50,60,"All"; case 6: callsub Job_Changing,4007,174,50,60,"All"; case 7: callsub OnMenu; } SecondJob_Classes: mes .npcname$; mes "So, I give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Knight^000000", "^76EE00Priest^000000", "^76EE00Wizard^000000", "^76EE00Blacksmith^000000", "^76EE00Hunter^000000", "^76EE00Assassin^000000", "^76EE00Crusader^000000", "^76EE00Monk^000000", "^76EE00Sage^000000", "^76EE00Rogue^000000", "^76EE00Alchemist^000000", ( Sex == 0 )?"":"^76EE00Dancer^000000", ( Sex == 1 )?"":"^76EE00Bard^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,7,174,50,110,"All"; case 2: callsub Job_Changing,8,174,50,110,"All"; case 3: callsub Job_Changing,9,174,50,110,"All"; case 4: callsub Job_Changing,10,174,50,110,"All"; case 5: callsub Job_Changing,11,174,50,110,"All"; case 6: callsub Job_Changing,12,174,50,110,"All"; case 7: callsub Job_Changing,14,174,50,110,"All"; case 8: callsub Job_Changing,15,174,50,110,"All"; case 9: callsub Job_Changing,16,174,50,110,"All"; case 10: callsub Job_Changing,17,174,50,110,"All"; case 11: callsub Job_Changing,18,174,50,110,"All"; case 12: callsub Job_Changing,20,174,50,110,"All"; case 13: callsub Job_Changing,19,174,50,110,"All"; case 14: callsub OnMenu; }TransSecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Lord Knight^000000", "^76EE00High Priest^000000", "^76EE00High Wizard^000000", "^76EE00Whitesmith^000000", "^76EE00Sniper^000000", "^76EE00Assassin Cross^000000", "^76EE00Paladin^000000", "^76EE00Champion^000000", "^76EE00Professor^000000", "^76EE00Stalker^000000", "^76EE00Creator^000000", ( Sex == 0 )?"":"^76EE00Gypsy^000000", ( Sex == 1 )?"":"^76EE00Clowm^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,4008,174,70,130,"All"; case 2: callsub Job_Changing,4009,174,70,130,"All"; case 3: callsub Job_Changing,4010,174,70,130,"All"; case 4: callsub Job_Changing,4011,174,70,130,"All"; case 5: callsub Job_Changing,4012,174,70,130,"All"; case 6: callsub Job_Changing,4013,174,70,130,"All"; case 7: callsub Job_Changing,4015,174,70,130,"All"; case 8: callsub Job_Changing,4016,174,70,130,"All"; case 9: callsub Job_Changing,4017,174,70,130,"All"; case 10: callsub Job_Changing,4018,174,70,130,"All"; case 11: callsub Job_Changing,4019,174,70,130,"All"; case 12: callsub Job_Changing,4021,174,70,130,"All"; case 13: callsub Job_Changing,4020,174,70,130,"All"; case 14: callsub OnMenu; }TransThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Rune Knight^000000", "^76EE00Warlock^000000", "^76EE00Ranger^000000", "^76EE00Arch Bishop^000000", "^76EE00Mechanic^000000", "^76EE00Guillotine Cross^000000", "^76EE00Royal Guard^000000", "^76EE00Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Wanderer^000000", ( Sex == 1 )?"":"^76EE00Minstrel^000000", "^76EE00Shura^000000", "^76EE00Genetic^000000", "^76EE00Shadow Chaser^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,4060,174,70,210,"All"; case 2: callsub Job_Changing,4061,174,70,210,"All"; case 3: callsub Job_Changing,4062,174,70,210,"All"; case 4: callsub Job_Changing,4063,174,70,210,"All"; case 5: callsub Job_Changing,4064,174,70,210,"All"; case 6: callsub Job_Changing,4065,174,70,210,"All"; case 7: callsub Job_Changing,4073,174,70,210,"All"; case 8: callsub Job_Changing,4074,174,70,210,"All"; case 9: callsub Job_Changing,4076,174,70,210,"All"; case 10: callsub Job_Changing,4075,174,70,210,"All"; case 11: callsub Job_Changing,4077,174,70,210,"All"; case 12: callsub Job_Changing,4078,174,70,210,"All"; case 13: callsub Job_Changing,4079,174,70,210,"All"; case 14: callsub OnMenu; } ExpandedJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Super Novice^000000", "^76EE00Gunslinger^000000", "^76EE00Ninja^000000", "^76EE00Takewon^000000", "^76EE00Star Gladiator^000000", "^76EE00Soul Linker^000000", ( Sex == 0 )?"":"^76EE00Kagerou^000000", ( Sex == 1 )?"":"^76EE00Oboro^000000", "^76EE00Extended Super Novice^000000", "^76EE00Rebellion^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,23,174,99,110,"All"; case 2: callsub Job_Changing,24,174,50,600,"All"; case 3: callsub Job_Changing,25,174,50,60,"All"; case 4: callsub Job_Changing,4046,174,50,60,"All"; case 5: callsub Job_Changing,4047,174,50,110,"All"; case 6: callsub Job_Changing,4049,174,50,110,"All"; case 7: callsub Job_Changing,4212,174,100,130,"All"; case 8: callsub Job_Changing,4211,174,100,130,"All"; case 9: callsub Job_Changing,4190,174,100,130,"All"; case 10: callsub Job_Changing,4215,174,100,130,"All"; case 11: callsub OnMenu; }BabyJob_Classes: mes .npcname$; mes "So, I give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Baby Swordsman^000000", "^76EE00Baby Magician^000000", "^76EE00Baby Archer^000000", "^76EE00Baby Acolyte^000000", "^76EE00Baby Merchant^000000", "^76EE00Baby Thief^000000", "^76EE00Baby Knight^000000", "^76EE00Baby Priest^000000", "^76EE00Baby Wizard^000000", "^76EE00Baby Blacksmith^000000", "^76EE00Baby Hunter^000000", "^76EE00Baby Assassin^000000", "^76EE00Baby Crusader^000000", "^76EE00Baby Monk^000000", "^76EE00Baby Sage^000000", "^76EE00Baby Rogue^000000", "^76EE00Baby Alchemist^000000", ( Sex == 0 )?"":"^76EE00Baby Dancer^000000", ( Sex == 1 )?"":"^76EE00Baby Bard^000000", "^76EE00Baby Baby^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,4024,174,50,60,"All"; case 2: callsub Job_Changing,4025,174,50,60,"All"; case 3: callsub Job_Changing,4026,174,50,60,"All"; case 4: callsub Job_Changing,4027,174,50,60,"All"; case 5: callsub Job_Changing,4028,174,50,60,"All"; case 6: callsub Job_Changing,4029,174,50,60,"All"; case 7: callsub Job_Changing,4030,174,50,110,"All"; case 8: callsub Job_Changing,4031,174,50,110,"All"; case 9: callsub Job_Changing,4032,174,50,110,"All"; case 10: callsub Job_Changing,4033,174,50,110,"All"; case 11: callsub Job_Changing,4034,174,50,110,"All"; case 12: callsub Job_Changing,4035,174,50,110,"All"; case 13: callsub Job_Changing,4037,174,50,110,"All"; case 14: callsub Job_Changing,4038,174,50,110,"All"; case 15: callsub Job_Changing,4039,174,50,110,"All"; case 16: callsub Job_Changing,4040,174,50,110,"All"; case 17: callsub Job_Changing,4041,174,50,110,"All"; case 18: callsub Job_Changing,4043,174,50,110,"All"; case 19: callsub Job_Changing,4042,174,50,110,"All"; case 20: callsub Job_Changing,4045,174,50,110,"All"; case 21: callsub OnMenu; } BabyThirdJob_Classes: mes .npcname$; mes "So, I give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Baby Rune Knight^000000", "^76EE00Baby Warlock^000000", "^76EE00Baby Ranger^000000", "^76EE00Baby Arch Bishop^000000", "^76EE00Baby Mechanic^000000", "^76EE00Baby Guillotine Cross^000000", "^76EE00Baby Royal Guard^000000", "^76EE00Baby Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Baby Wanderer^000000", ( Sex == 1 )?"":"^76EE00Baby Minstrel^000000", "^76EE00Baby Sura^000000", "^76EE00Baby Genetic^000000", "^76EE00Baby Shadow Chaser^000000", "^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; case 1: callsub Job_Changing,4096,174,70,210,"All"; case 2: callsub Job_Changing,4097,174,70,210,"All"; case 3: callsub Job_Changing,4098,174,70,210,"All"; case 4: callsub Job_Changing,4099,174,70,210,"All"; case 5: callsub Job_Changing,4100,174,70,210,"All"; case 6: callsub Job_Changing,4101,174,70,210,"All"; case 7: callsub Job_Changing,4102,174,70,210,"All"; case 8: callsub Job_Changing,4103,174,70,210,"All"; case 9: callsub Job_Changing,4105,174,70,210,"All"; case 10: callsub Job_Changing,4104,174,70,210,"All"; case 11: callsub Job_Changing,4106,174,70,210,"All"; case 12: callsub Job_Changing,4107,174,70,210,"All"; case 13: callsub Job_Changing,4108,174,70,210,"All"; case 14: callsub OnMenu; }Job_Changing: mes .npcname$; mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000."; if (compare(getarg(4),"All")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_all,0x76EE00; } if (compare(getarg(4),"Map")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_map,0x76EE00; } if (compare(getarg(4),"Area")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_area,0x76EE00; } if (compare(getarg(4),"Self")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_self,0x76EE00; } jobchange getarg(0); set BaseLevel,getarg(1); set JobLevel,getarg(2); resetskill; resetstatus; set SkillPoint,getarg(3); if ( .Allskills == 1 ){ atcommand "@allskills"; SkillPoint = 0; } percentheal 100,100; if (!.Based) #ClassHelper = 1; else ClassHelper = 1; delitem 20401,1; dispbottom "Congratulation! Thank you for choosing a Class!."; dispbottom "Please make your base level 175 to get out of this area.."; close; Classes_info: mes .npcname$; mes "=====[^76EE00 Swordman Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Enthusiastic skills in sword fighting is a definite attraction to all teenagers. Easy to control and master character enables most players to be a great player."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Archer Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Long ranged attack ability and special techniques of archers in defeating enemy often lure players to try this."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Mage Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Fascinating element techniques involvement of nature in its abilities is truly amazing with their series of undefeatable magics."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Thief Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Poisoning and dodging abilities will defeat most of the enemy. Maximum defensive and offensive ability caused this character to fearsome one."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Acolyte Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A supportive character, most of the skills like helping will benefit to teammates who lead to teammates act like a terminator."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Merchant Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Involving communication with other players that emphasizes on battles, intelligence in business dealing. His versatility made him must not be look down."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Super Novice ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A job who are Advanced after Novice Class. It look alike like a Novice but it is not. Beside that, it can learn most of the skills for all 1st Job Class."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Gunslinger ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "The only Job class in RO who are using Gun as weapon. If are you a Gun Lover , there is no doubt you will choose this Job."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Ninja ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A mysterious Job Class , who alway processing Ancient Spells , look alike with Mage but not mage , good in PK , can evade very well during PK."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Taekwon ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Just like the name has mentioned. The only class in RO who are not using any Weapon. Attack enemy using barehand and foots. "; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Star Gladiator ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A class who can use the power of the Sun / Star / Moon. By processing the power of Universe to gain a stronger Power."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Soul Linker ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Class that work like a Shaman, who able to recalling the soul of the dead from the underworld to Boost other class ability."; mes " ^FF0000________________________________^000000"; next; callsub OnMenu;}
-
(would be great if it can be done via bindatcommand)
I don't think you can make one using via bindatcommand unless there is a script command appropriate with it..
so here I make a simple HPM plugin for you..just browse the wiki on how to install it..enjoy..
// Copyright (c) Hercules Dev Team, licensed under GNU GPL.// See the LICENSE file// Sample Hercules Plugin#include <stdio.h>#include <stdlib.h>#include <string.h>#include "../common/HPMi.h"#include "../common/malloc.h"#include "../common/mmo.h"#include "../common/socket.h"#include "../common/strlib.h"#include "../map/clif.h"#include "../map/pc.h"#include "../map/script.h"#include "../common/HPMDataCheck.h" /* should always be the last file included! (if you don't make it last, it'll intentionally break compile time) *//* malufett@yourservice */HPExport struct hplugin_info pinfo = {"ATCMD_NO_ATK", // Plugin nameSERVER_TYPE_MAP,// Which server types this plugin works with?"0.1", // Plugin versionHPM_VERSION, // HPM Version (don't change, macro is automatically updated)};struct atk_state{int enabled;};ACMD(no_atk) {struct atk_state *data;if(!(data = getFromMSD(sd,0))){ CREATE(data,struct atk_state,1); data->enabled = 0; addToMSD(sd,data,0,true);}if(data->enabled){ data->enabled = 0; clif->message(sd->fd, "You can now attack normally.");}else{ data->enabled = 1; clif->message(sd->fd, "You are now disabled to attack.");}return true;}int hook_battle_check_target(int retVal, struct block_list *src, struct block_list *target,int *flag){struct map_session_data* sd;struct atk_state *data;struct block_list *s_bl = src;if( retVal != 1 || src->type != BL_PC ) return retVal;if( (s_bl = battle->get_master(src)) == NULL ) s_bl = src;sd = BL_CAST(BL_PC, s_bl);if(sd && *flag&BCT_ENEMY && (data = getFromMSD(sd,0)) && data->enabled) return 0;return retVal;}HPExport void plugin_init (void) {char *server_type;char *server_name; /* core vars */server_type = GET_SYMBOL("SERVER_TYPE");server_name = GET_SYMBOL("SERVER_NAME");/* core interfaces */battle = GET_SYMBOL("battle");clif = GET_SYMBOL("clif");iMalloc = GET_SYMBOL("iMalloc");/* addAtcommand */addAtcommand("noatk",no_atk); // @noatkaddAtcommand("na",no_atk); // @na/* postHook */addHookPost("battle->check_target",hook_battle_check_target);ShowStatus ("Running HPM Plugin: '"CL_WHITE"%s"CL_RESET"'.n", pinfo.name);}
Bro, I am having this error in console after rebuilding:
>>
[Error]: HPM:AddHook Fail! 'ATCMD_NO_ATK' tried to hook to 'battle->check_target' but HPMHooking is disabled!not sure if related to this: http://herc.ws/board/topic/7723-building-on-windows-platform-hpm-hooking-errors/#entry46426
Thanks!
Simple enable it in conf/plugins.conf
plugins_list: [ /* Enable HPMHooking when plugins in use rely on Hooking */- //"HPMHooking",+ "HPMHooking", //"db2sql", //"sample", //"other",]
-
I think your topic is same with HPMHooking_char.so (faild to load). Please read the information in the link.. (Moved to Plugins Support).
-
Hello,
Please point out how you fix it by Clicking "Mark Solved" or please comment how you fix it in your post and click the "Mark Solved"
button at the bottom right. Thanks for cooperation.
Int'l Moderator,
Mhalicot
-
It seems the author is not yes active since Dec 06 2013 03:35 PM
e So drop him/her a email that provided in his/her post.
Email: [email protected] -
Hello,
If i have free time.. Let me take a look at it
Int'l Moderator,
Mhalicot
Scammer Developer Dev Kuro
in Off Topic
Posted
Anyways lesson learned.. btw we have alot of skilled and professional here in our community. you can check them in Paid Services board choose wisely so your hard earned money wont go into waste..