diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index e8c658999b..41420ff355 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -7,6 +7,8 @@ GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALAR 2006/02/28 * Rewrote LAN support code. Changed configuration file name lan_support.conf to subnet_athena.conf, changed it syntax. [LuzZza] + * Added script command 'equip' to equip items. [Lance] + * Fixed dependancies in map-server compiling (VC7.1). [Lance] 2006/02/24 * Prevented guild/party recall to work on GMs of greater level than yourself. [Skotlex] diff --git a/src/map/script.c b/src/map/script.c index 34aedaa354..4f99870d47 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -401,6 +401,7 @@ int buildin_setd(struct script_state *st); // <--- [zBuffer] List of dynamic var commands int buildin_petstat(struct script_state *st); // [Lance] Pet Stat Rq: Dubby int buildin_callshop(struct script_state *st); // [Skotlex] +int buildin_equip(struct script_state *st); void push_val(struct script_stack *stack,int type,int val); int run_func(struct script_state *st); @@ -702,6 +703,7 @@ struct { // <--- [zBuffer] List of dynamic var commands {buildin_petstat,"petstat","i"}, {buildin_callshop,"callshop","si"}, // [Skotlex] + {buildin_equip,"equip","i"}, {buildin_setitemscript,"setitemscript","is"}, //Set NEW item bonus script. Lupus {buildin_disguise,"disguise","i"}, //disguise player. Lupus {buildin_undisguise,"undisguise","i"}, //undisguise player. Lupus @@ -9379,6 +9381,33 @@ int buildin_unequip(struct script_state *st) return 0; } +int buildin_equip(struct script_state *st) +{ + int nameid=0,count=0,i; + struct map_session_data *sd; + struct item_data *item_data; + + sd = script_rid2sd(st); + + nameid=conv_num(st,& (st->stack->stack_data[st->start+2])); + if(nameid>=500 && (item_data = itemdb_search(nameid)) != NULL) + for(i=0;istatus.inventory[i].nameid==nameid) + count+=sd->status.inventory[i].amount; + } + else{ + if(battle_config.error_log) + ShowError("wrong item ID : equipitem(%i)\n",nameid); + return 1; + } + + if(count){ + pc_equipitem(sd,nameid,item_data->equip); + } + + return 0; +} + //======================================================= // strlen [Valaris] //------------------------------------------------------- diff --git a/vcproj-7.1/map-server_sql.vcproj b/vcproj-7.1/map-server_sql.vcproj index 196aed45ee..646c2eb427 100644 --- a/vcproj-7.1/map-server_sql.vcproj +++ b/vcproj-7.1/map-server_sql.vcproj @@ -171,8 +171,7 @@ RelativePath="..\src\common\db.c"> + RelativePath="..\src\common\ers.c"> @@ -192,6 +191,9 @@ + + @@ -286,6 +288,9 @@ + + @@ -310,6 +315,9 @@ + + @@ -322,6 +330,9 @@ + + diff --git a/vcproj-7.1/map-server_txt.vcproj b/vcproj-7.1/map-server_txt.vcproj index 59844eb927..06d49cb2ba 100644 --- a/vcproj-7.1/map-server_txt.vcproj +++ b/vcproj-7.1/map-server_txt.vcproj @@ -171,8 +171,7 @@ RelativePath="..\src\common\db.c"> + RelativePath="..\src\common\ers.c"> @@ -286,6 +285,9 @@ + + @@ -310,6 +312,9 @@ + +