Mhalicot
Community Contributors-
Content Count
1971 -
Joined
-
Last visited
-
Days Won
37
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Mhalicot
-
Yap. Ayusin mo nlang Or mag downlad k nlang
-
Remove mo lang yung Mediafire Link.. at basahin mo uLit tong forum rules, http://herc.ws/board/index.php?app=forums&module=extras§ion=boardrules. cge, 3days akong mawawala mag babakasyon muna
-
If you download the latest patch named Costume_System v1.2 Index: src/map/atcommand.c===================================================================--- src/map/atcommand.c (revision 13617)+++ src/map/atcommand.c (working copy)@@ -1085,7 +1085,7 @@ ACMD(item) { char item_name[100];- int number = 0, item_id, flag = 0, bound = 0;+ int number = 0, item_id, flag = 0, bound = 0, costume = 0; struct item item_tmp; struct item_data *item_data; int get_count, i;@@ -1139,7 +1139,27 @@ break; } }-+ + if( !strcmpi(command+1,"costumeitem") )+ {+ if( !battle_config.reserved_costume_id )+ {+ clif->message(fd, "Costume conversion is disable. Set a value for reserved_cosutme_id on your battle.conf file.");+ return -1;+ }+ if( !(item_data->equip&EQP_HEAD_LOW) &&+ !(item_data->equip&EQP_HEAD_MID) &&+ !(item_data->equip&EQP_HEAD_TOP) &&+ !(item_data->equip&EQP_COSTUME_HEAD_LOW) &&+ !(item_data->equip&EQP_COSTUME_HEAD_MID) &&+ !(item_data->equip&EQP_COSTUME_HEAD_TOP) )+ {+ clif->message(fd, "You cannot costume this item. Costume only work for headgears.");+ return -1;+ }+ costume = 1;+ }+ item_id = item_data->nameid; get_count = number; //Check if it's stackable.@@ -1159,6 +1179,14 @@ item_tmp.identify = 1; item_tmp.bound = (unsigned char)bound; + if( costume == 1 )+ { // Costume Item+ item_tmp.card[0] = CARD0_CREATE;+ item_tmp.card[2] = GetWord(battle_config.reserved_costume_id, 0);+ item_tmp.card[3] = GetWord(battle_config.reserved_costume_id, 1);+ }+ + if ((flag = pc->additem(sd, &item_tmp, get_count, LOG_TYPE_COMMAND))) clif->additem(sd, 0, 0, flag); }@@ -9600,6 +9628,7 @@ ACMD_DEF(searchstore), ACMD_DEF(costume), ACMD_DEF(skdebug),+ ACMD_DEF2("costumeitem", item) }; int i; Index: src/map/battle.c===================================================================--- src/map/battle.c (revision 13617)+++ src/map/battle.c (working copy)@@ -6543,6 +6543,7 @@ { "feature.banking", &battle_config.feature_banking, 1, 0, 1, }, { "feature.auction", &battle_config.feature_auction, 0, 0, 2, }, { "idletime_criteria", &battle_config.idletime_criteria, 0x25, 1, INT_MAX, },+ { "reserved_costume_id", &battle_config.reserved_costume_id, 999998, 0, INT_MAX, }, { "mon_trans_disable_in_gvg", &battle_config.mon_trans_disable_in_gvg, 0, 0, 1, }, { "case_sensitive_aegisnames", &battle_config.case_sensitive_aegisnames, 1, 0, 1, },Index: src/map/battle.h===================================================================--- src/map/battle.h (revision 13617)+++ src/map/battle.h (working copy)@@ -447,6 +447,9 @@ int min_npc_vendchat_distance; int atcommand_mobinfo_type; + // Costume System+ int reserved_costume_id;+ int mob_size_influence; // Enable modifications on earned experience, drop rates and monster status depending on monster size. [mkbu95] /** Hercules **/Index: src/map/map.c===================================================================--- src/map/map.c (revision 13617)+++ src/map/map.c (working copy)@@ -1577,6 +1577,13 @@ nullpo_retv(sd); + + if( battle_config.reserved_costume_id && battle_config.reserved_costume_id == charid )+ {+ clif->solved_charname(sd->fd, charid, "Costume");+ return;+ }+ tsd = map->charid2sd(charid); if( tsd ) { clif->solved_charname(sd->fd, charid, tsd->status.name);Index: src/map/pc.c===================================================================--- src/map/pc.c (revision 13617)+++ src/map/pc.c (working copy)@@ -664,8 +664,8 @@ int pc_equippoint(struct map_session_data *sd,int n) {- int ep = 0;-+ int ep = 0, char_id = 0;+ nullpo_ret(sd); if(!sd->inventory_data[n])@@ -684,6 +684,14 @@ if( ep == EQP_SHADOW_SHIELD )/* are there conditions for those? */ return EQP_SHADOW_WEAPON|EQP_SHADOW_SHIELD; }+ if( battle_config.reserved_costume_id &&+ sd->status.inventory[n].card[0] == CARD0_CREATE &&+ (char_id = MakeDWord(sd->status.inventory[n].card[2],sd->status.inventory[n].card[3])) == battle_config.reserved_costume_id )+ { // Costume Item - Converted+ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }+ } return ep; } Index: src/map/script.c===================================================================--- src/map/script.c (revision 13617)+++ src/map/script.c (working copy)@@ -18016,6 +18019,51 @@ return true; } +/*==========================================+ * Costume Items Hercules/[Mhalicot]+ *------------------------------------------*/+BUILDIN(costume)+{+ int i = -1, num, ep;+ TBL_PC *sd;++ num = script_getnum(st,2); // Equip Slot+ sd = script->rid2sd(st);++ if( sd == NULL )+ return 0;+ if( num > 0 && num <= ARRAYLENGTH(script->equip) )+ i = pc->checkequip(sd, script->equip[num - 1]);+ if( i < 0 )+ return 0;+ ep = sd->status.inventory[i].equip;+ if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) )+ return 0;++ logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]);+ pc->unequipitem(sd,i,2);+ clif->delitem(sd,i,1,3);+ // --------------------------------------------------------------------+ sd->status.inventory[i].refine = 0;+ sd->status.inventory[i].attribute = 0;+ sd->status.inventory[i].card[0] = CARD0_CREATE;+ sd->status.inventory[i].card[1] = 0;+ sd->status.inventory[i].card[2] = GetWord(battle_config.reserved_costume_id, 0);+ sd->status.inventory[i].card[3] = GetWord(battle_config.reserved_costume_id, 1);++ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }+ // --------------------------------------------------------------------+ logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]);++ clif->additem(sd,i,1,0);+ pc->equipitem(sd,i,ep);+ clif->misceffect(&sd->bl,3);++ return true;+}+ // declarations that were supposed to be exported from npc_chat.c #ifdef PCRE_SUPPORT BUILDIN(defpattern);@@ -18585,6 +18633,9 @@ BUILDIN_DEF(changequest, "ii"), BUILDIN_DEF(showevent, "i?"), + // Costume System+ BUILDIN_DEF(costume,"i"),+ /** * hQueue [Ind/Hercules] **/ it does not have what told you before is to because in the later version it still have EQI_MAX_BONUS = 10. that is why I want you to rollback your modification first. before apply the patch
-
^Hi simple replace @Broadcast to $Broadcast Note: "@" - A temporary variable attached to the character. They disappear when the character logs out."$" - A global permanent variable. They are stored in database table `mapreg`. for more information about variables visit Variables
-
ahh,, xD bakit dapat meron kang Backup copy lagi ng .grf mo na hindi naka compress sa .grf example nasa data folder lang.. ako madami akong copy ng .grf ko meron sa data folder meron naka backup lang tapos iba yung pang modification..
-
are you sure you rollback your changes in last modification for costume system? check your pc.c and check for this line if match. unsigned int equip_pos[EQI_MAX]={EQP_ACC_L,EQP_ACC_R,EQP_SHOES,EQP_GARMENT,EQP_HEAD_LOW,EQP_HEAD_MID,EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_LOW,EQP_COSTUME_GARMENT,EQP_AMMO, EQP_SHADOW_ARMOR, EQP_SHADOW_WEAPON, EQP_SHADOW_SHIELD, EQP_SHADOW_SHOES, EQP_SHADOW_ACC_R, EQP_SHADOW_ACC_L }; and in pc.h //Equip indexes constants. (eg: sd->equip_index[EQI_AMMO] returns the index//where the arrows are equipped)enum equip_index { EQI_ACC_L = 0, EQI_ACC_R, EQI_SHOES, EQI_GARMENT, EQI_HEAD_LOW, EQI_HEAD_MID, EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_COSTUME_TOP, EQI_COSTUME_MID, EQI_COSTUME_LOW, EQI_COSTUME_GARMENT, EQI_AMMO, EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L, EQI_MAX};
-
^ try this for example autobonus "{ bonus2 bHPLossRate,30,1000; bonus bMatk,(5*(getrefine()/3)); }",(100+(getrefine()*3)),10000,BF_WEAPON|BF_MAGIC,"{montransform 1930,10000,SC_MTF_MATK;}"; Refer to this topic http://herc.ws/board/topic/3038-new-itemconf-and-disguise/#entry20156 :)
-
Ou, patingin ako may nagawa kna?
-
Hello Daedalus, Please avoid multiple post/bump of topic, Read Hercules Forum Rules for more information. and dont miss this part. [*]Posts in the support sections may be bumped with more information no less than 24 hours after the last post; if you have new information within less than 24h, edit your previous post. For the min time, I will merge your post. Thanks, Mhalicot - Int'l Filipino Moderators
-
Malinaw na Gabay kung paano gamitin sa iyong server ang Plugins ng Hercules. Talaan ng Nilalaman: I. Panimula: II. Para sa Windows: III. Para sa (*nix distro, OSX at ibapa): IV. Kapaki-pakinabanang na Link and Download: V. Kadalasang Tanong:
-
Ano New Years Resolution nyo ngayong 2014?
Mhalicot replied to Mhalicot's topic in Tambayan / Lounge
^ haha, baka paramihin :mag simula ka sa Visayas -
Your welcome,
-
haha, walang anuman kaibigan,
-
okay nice to know that
-
Advance Stylist will not automatically close after clicking Confirm
Mhalicot replied to karazu's question in Script Support
^ Ignore this dont replace close2; what you need to do is to add in line + close2; or use this scrip instead if( .@success ){ message strcharinfo(0),"Enjoy your NEW "+.menu_name$[@style]+" !!"; @style_value = .@style_number; close2; }else{ mes "You dont have enough "+.currency_name$[@style]+" to change this "+.menu_name$[@style]+"."; mes "Cost : ^777777"+ValueConvert( .cost[@style] )+" "+.currency_name$[@style]+"^000000"; close2; -
make sure that you have Guild and it has skills. or try to input another emp in mob_db2 and avail, it is just a replica // ====== mob_db.txt / mob_db2.txt =======// 3000,EMPELIUM,Emperium,Emperium,90,700,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0// ====== mob_avail.txt =======// 3000,1288
-
sorry typo-error, - ascript->add_str + script->add_str
-
Mag Papasko at Bagong taon na, ano ang New Years Resolution nyo? Libre mag bahagi, wag nyo solohin i-share nyo naman simulan ko nalang. Ang New Years Resolution ko ngaung 2014, ~ Ay sisikapin kong magampanan ang tungkulin na ibinigay saakin ng Hercules. ~ Hindi na ko mag pupuyat at susundin ko na ang schedule ko. ~ Sisikapin ko ding makaipon at hindi na kong magiging magastos. ~ Move on hindi muna makikipag relasyon okay lang kahit maging miyemro ng SMP. ~ Susubukan na hingi maging pasaway. ~ at Mag aaral pang mabuti
-
Advance Stylist will not automatically close after clicking Confirm
Mhalicot replied to karazu's question in Script Support
let me check whats the NPC message? is it You dont have enough? I beleave that the problem is in line - close2; replace + close; -
kung meron dito haha
-
wait, I will update my source. ~ Updated to latest revision. Kindly Rollback your modification and download the latest version 1.2
-
be thankful Dastgir Pojee release one http://herc.ws/board/topic/3332-rounicode/#entry22097
-
is that your script? are you sure you are using Latest hercules? - mapreg_readreg+ mapreg->readreg- battle_getcurrentskill+ battle->get_current_skill- add_str+ script->add_str (-) delete (+) add try this: battle.c //t_bl/s_bl hold the 'master' of the attack, while src/target are the actual //objects involved. if( (t_bl = battle->get_master(target)) == NULL ) t_bl = target; if( (s_bl = battle->get_master(src)) == NULL ) s_bl = src; if ( s_bl->type == BL_PC && t_bl->type == BL_MOB ) { struct map_session_data *sd = BL_CAST(BL_PC, s_bl); if ( ( ((TBL_MOB*)target)->class_ == 1288 && !strcmp( mapindex_id2name(sd->mapindex), "guild_vs1" ) ) && ( sd->status.guild_id == mapreg->readreg( script->add_str("$KOEGUILD") ) || battle->get_current_skill(src) > 0 ) ) return 0; } if ( s_bl->type == BL_PC ) { switch( t_bl->type ) { case BL_MOB: // Source => PC, Target => MOB if (pc->has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVM) ) return 0; break; case BL_PC: if (pc->has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVP)) return 0; break; default:/* anything else goes */ break; } } battle.h #include "mapreg.h" Please apply it manually.
-
can you provide the whole patch? want to test it.