-
Content Count
657 -
Joined
-
Last visited
-
Days Won
29
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by malufett
-
script.c BUILDIN(goto){if( !data_islabel(script_getdata(st,2)) ){ ShowError("script:goto: not a labeln"); script->reportdata(script_getdata(st,2)); st->state = END; return false;}ShowDebug("script.c: function 'goto' detected!n");st->pos = script_getnum(st,2);st->state = GOTO;return true;}
-
Is it normal that "vcproj-10\plugin-HPMHooking.vcxproj" could not be found."
malufett replied to Zirius's question in General Server Support
yup it is normal..just revert/update your .sln file.. -
Here Script: <"bonus bMaxHPrate,(5 + getrefine());">
-
turn off firewall..
-
always recompile your server after making server file updates..
-
change this one to plain IP address..unless you diff your client to accept DNS...then try again..
-
as I see it..its a plain diff...not HPM...
-
from this topic: http://herc.ws/board/topic/4830-noitem-mapflag/?p=42296 yes it is possible...since this is available.. /* map_data */#define addToMAPD(ptr,data,index,autofree) (HPMi->addToHPData(HPDT_MAP,HPMi->pid,(ptr),(data),(index),(autofree)))#define getFromMAPD(ptr,index) (HPMi->getFromHPData(HPDT_MAP,HPMi->pid,(ptr),(index)))#define removeFromMAPD(ptr,index) (HPMi->removeFromHPData(HPDT_MAP,HPMi->pid,(ptr),(index)))
-
see 'db/sc_config.txt' for more info..
-
Well it depends on how complex the the function you want to hook in..but there is other way you can do it.. temp_function(x);modified_function(x){ switch(x){ case myedit: break default: temp_function(x); }}temp_function = original_function;original_function = modified_function;
-
I suggest use hercules and make use of our cool db entry for skill_tree.conf this will make Swordsman used a 3rd job skill Enchantblade and Sonicwave Swordsman: {inherit: ( "Novice" );skills: {RK_ENCHANTBLADE: { MaxLevel: 5 } RK_SONICWAVE: { MaxLevel: 5 RK_ENCHANTBLADE: 3 } SM_SWORD: 10 SM_TWOHAND: { MaxLevel: 10 SM_SWORD: 1 } SM_RECOVERY: 10 SM_BASH: 10 SM_PROVOKE: 10 SM_MAGNUM: { MaxLevel: 10 SM_BASH: 5 } SM_ENDURE: { MaxLevel: 10 SM_PROVOKE: 5 } SM_MOVINGRECOVERY: 1 SM_FATALBLOW: 1 SM_AUTOBERSERK: 1}} Preview:
-
@noatk ?? An atcommand that disable attacking?
malufett replied to Zirius's question in Script Support
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);} -
No Message Show When Use Skill Refine In Master Smith
malufett replied to bbestkanatip2's question in General Server Support
there is a message below or in the chat box when you use it...you can revert it but I forgot what git hash is that... -
need mo lang iupdate pa server mo...
-
No Message Show When Use Skill Refine In Master Smith
malufett replied to bbestkanatip2's question in General Server Support
it only means the 'other server' is old and not complying with official skill behavior.. -
try /miss in the client side...
-
you can find some in irowiki.org or ro.doddlercon.com
-
you can find some in here: http://herc.ws/board/forum/122-approved/
-
parameter? from where to where? from external login to patcher to exe..like Ai4rie rsu patcher it can pass parameter..
-
example... Archer VS Neutral Monster Arrow ---------> 100% damage Fire Arrow ---------> 100% damage Crystal Arrow ---------> 100% damage Arrow of Wind ---------> 100% damage Stone Arrow ---------> 100% damage Poison Arrow ---------> 100% damage Silver Arrow ---------> 100% damage Immaterial Arrow ---------> 70% damage Archer VS Ghost Monster(lv1) Arrow ---------> 70% damage Fire Arrow ---------> 100% damage Crystal Arrow ---------> 100% damage Arrow of Wind ---------> 100% damage Stone Arrow ---------> 100% damage Poison Arrow ---------> 100% damage Silver Arrow ---------> 100% damage Immaterial Arrow ---------> 125% damage for more reference : http://ro.doddlercon.com/wiki/index.php?title=Renewal_Changes#Element_Table
-
Aeomin can you add feature to it that it can pass parameter?
-
Enable command upon reaching a certain 'Base Level'?
malufett replied to Valiente's question in Script Requests
- script certainlevel -1,{OnInit: bindatcmd "certainlevel",strnpcinfo(3)+"::OnBaseLevel"; end;OnBaseLevel: if(BaseLevel < 10){ dispbottom "You must be level 10 above to use this command"; end; }; dispbottom "You can use the command"; end;} -
How to change message when mount a Griffon
malufett replied to ZelosAvalon's question in Source Requests
@atcommand.c if (!pc_isriding(sd)) { // if actually no peco bool is_RG = (sd->class_&MAPID_THIRDMASK) == MAPID_ROYAL_GUARD; if (!pc->checkskill(sd, KN_RIDING)) { if(is_RG) clif->message(fd, "You can not mount a Griffon with your current job."); else clif->message(fd, msg_txt(213)); // You can not mount a Peco Peco with your current job. return false; } pc->setoption(sd, sd->sc.option | OPTION_RIDING); if(is_RG) clif->message(fd, "You have mounted a Griffon."); else clif->message(fd, msg_txt(102)); // You have mounted a Peco Peco.} else {//Dismount pc->setoption(sd, sd->sc.option & ~OPTION_RIDING); if(is_RG) clif->message(fd, "You have released your Griffon."); else clif->message(fd, msg_txt(214)); // You have released your Peco Peco.} -
I tested in kRO... min damage is 12 and max is 13 and damage received is 26 ~31...as I see there is something wrong in our database fabre lv.6 only having 12~15 atk.... hmm..and its seems we have a flaw in rnd()..is it correct rnd()%1 is equal to 0~1..please correct me I'm confuse..XD
-
Yeah, I still don't get it, how I can check the server version. if you just enable Pre in your server by default you are in the latest Pre which is episode 13.1