@ -38,201 +38,200 @@ static char command_symbol = '@'; // first char of the commands (by [Yor])
char msg_table [ 1000 ] [ 256 ] ; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
# define A T COM MAN D_FUNC(x) int atcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message)
A T COM MAN D_FUNC( broadcast ) ;
A T COM MAN D_FUNC( localbroadcast ) ;
A T COM MAN D_FUNC( rurap ) ;
A T COM MAN D_FUNC( rura ) ;
A T COM MAN D_FUNC( where ) ;
A T COM MAN D_FUNC( jumpto ) ;
A T COM MAN D_FUNC( jump ) ;
A T COM MAN D_FUNC( who ) ;
A T COM MAN D_FUNC( who2 ) ;
A T COM MAN D_FUNC( who3 ) ;
A T COM MAN D_FUNC( whomap ) ;
A T COM MAN D_FUNC( whomap2 ) ;
A T COM MAN D_FUNC( whomap3 ) ;
A T COM MAN D_FUNC( whogm ) ; // by Yor
A T COM MAN D_FUNC( whozeny ) ; // [Valaris]
A T COM MAN D_FUNC( happyhappyjoyjoy ) ; // [Valaris]
A T COM MAN D_FUNC( save ) ;
A T COM MAN D_FUNC( load ) ;
A T COM MAN D_FUNC( speed ) ;
A T COM MAN D_FUNC( storage ) ;
A T COM MAN D_FUNC( guildstorage ) ;
A T COM MAN D_FUNC( option ) ;
A T COM MAN D_FUNC( hide ) ;
A T COM MAN D_FUNC( jobchange ) ;
A T COM MAN D_FUNC( die ) ;
A T COM MAN D_FUNC( kill ) ;
A T COM MAN D_FUNC( alive ) ;
A T COM MAN D_FUNC( kami ) ;
A T COM MAN D_FUNC( heal ) ;
A T COM MAN D_FUNC( item ) ;
A T COM MAN D_FUNC( item2 ) ;
A T COM MAN D_FUNC( itemreset ) ;
A T COM MAN D_FUNC( itemcheck ) ;
A T COM MAN D_FUNC( baselevelup ) ;
A T COM MAN D_FUNC( joblevelup ) ;
A T COM MAN D_FUNC( help ) ;
A T COM MAN D_FUNC( gm ) ;
A T COM MAN D_FUNC( pvpoff ) ;
A T COM MAN D_FUNC( pvpon ) ;
A T COM MAN D_FUNC( gvgoff ) ;
A T COM MAN D_FUNC( gvgon ) ;
A T COM MAN D_FUNC( model ) ;
A T COM MAN D_FUNC( go ) ;
A T COM MAN D_FUNC( monster ) ;
A T COM MAN D_FUNC( monstersmall ) ;
A T COM MAN D_FUNC( monsterbig ) ;
A T COM MAN D_FUNC( spawn ) ;
A T COM MAN D_FUNC( killmonster ) ;
A T COM MAN D_FUNC( killmonster2 ) ;
A T COM MAN D_FUNC( refine ) ;
A T COM MAN D_FUNC( produce ) ;
A T COM MAN D_FUNC( memo ) ;
A T COM MAN D_FUNC( gat ) ;
A T COM MAN D_FUNC( packet ) ;
A T COM MAN D_FUNC( statuspoint ) ;
A T COM MAN D_FUNC( skillpoint ) ;
A T COM MAN D_FUNC( zeny ) ;
A T COM MAN D_FUNC( param ) ;
A T COM MAN D_FUNC( guildlevelup ) ;
A T COM MAN D_FUNC( makeegg ) ;
A T COM MAN D_FUNC( hatch ) ;
A T COM MAN D_FUNC( petfriendly ) ;
A T COM MAN D_FUNC( pethungry ) ;
A T COM MAN D_FUNC( petrename ) ;
A T COM MAN D_FUNC( recall ) ;
A T COM MAN D_FUNC( recallall ) ;
A T COM MAN D_FUNC( revive ) ;
A T COM MAN D_FUNC( character_stats_all ) ;
A T COM MAN D_FUNC( character_save ) ;
A T COM MAN D_FUNC( night ) ;
A T COM MAN D_FUNC( day ) ;
A T COM MAN D_FUNC( doom ) ;
A T COM MAN D_FUNC( doommap ) ;
A T COM MAN D_FUNC( raise ) ;
A T COM MAN D_FUNC( raisemap ) ;
A T COM MAN D_FUNC( character_baselevel ) ;
A T COM MAN D_FUNC( character_joblevel ) ;
A T COM MAN D_FUNC( kick ) ;
A T COM MAN D_FUNC( kickall ) ;
A T COM MAN D_FUNC( allskill ) ;
A T COM MAN D_FUNC( questskill ) ;
A T COM MAN D_FUNC( charquestskill ) ;
A T COM MAN D_FUNC( lostskill ) ;
A T COM MAN D_FUNC( charlostskill ) ;
A T COM MAN D_FUNC( spiritball ) ;
A T COM MAN D_FUNC( party ) ;
A T COM MAN D_FUNC( guild ) ;
A T COM MAN D_FUNC( charskreset ) ;
A T COM MAN D_FUNC( charstreset ) ;
A T COM MAN D_FUNC( charreset ) ;
A T COM MAN D_FUNC( charstpoint ) ;
A T COM MAN D_FUNC( charmodel ) ;
A T COM MAN D_FUNC( charskpoint ) ;
A T COM MAN D_FUNC( charzeny ) ;
A T COM MAN D_FUNC( agitstart ) ;
A T COM MAN D_FUNC( agitend ) ;
A T COM MAN D_FUNC( reloaditemdb ) ;
A T COM MAN D_FUNC( reloadmobdb ) ;
A T COM MAN D_FUNC( reloadskilldb ) ;
# define A CMD_FUNC(x) int atcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message)
A CMD_FUNC( broadcast ) ;
A CMD_FUNC( localbroadcast ) ;
A CMD_FUNC( rurap ) ;
A CMD_FUNC( rura ) ;
A CMD_FUNC( where ) ;
A CMD_FUNC( jumpto ) ;
A CMD_FUNC( jump ) ;
A CMD_FUNC( who ) ;
A CMD_FUNC( who2 ) ;
A CMD_FUNC( who3 ) ;
A CMD_FUNC( whomap ) ;
A CMD_FUNC( whomap2 ) ;
A CMD_FUNC( whomap3 ) ;
A CMD_FUNC( whogm ) ; // by Yor
A CMD_FUNC( whozeny ) ; // [Valaris]
A CMD_FUNC( happyhappyjoyjoy ) ; // [Valaris]
A CMD_FUNC( save ) ;
A CMD_FUNC( load ) ;
A CMD_FUNC( speed ) ;
A CMD_FUNC( storage ) ;
A CMD_FUNC( guildstorage ) ;
A CMD_FUNC( option ) ;
A CMD_FUNC( hide ) ;
A CMD_FUNC( jobchange ) ;
A CMD_FUNC( die ) ;
A CMD_FUNC( kill ) ;
A CMD_FUNC( alive ) ;
A CMD_FUNC( kami ) ;
A CMD_FUNC( heal ) ;
A CMD_FUNC( item ) ;
A CMD_FUNC( item2 ) ;
A CMD_FUNC( itemreset ) ;
A CMD_FUNC( itemcheck ) ;
A CMD_FUNC( baselevelup ) ;
A CMD_FUNC( joblevelup ) ;
A CMD_FUNC( help ) ;
A CMD_FUNC( gm ) ;
A CMD_FUNC( pvpoff ) ;
A CMD_FUNC( pvpon ) ;
A CMD_FUNC( gvgoff ) ;
A CMD_FUNC( gvgon ) ;
A CMD_FUNC( model ) ;
A CMD_FUNC( go ) ;
A CMD_FUNC( monster ) ;
A CMD_FUNC( monstersmall ) ;
A CMD_FUNC( monsterbig ) ;
A CMD_FUNC( spawn ) ;
A CMD_FUNC( killmonster ) ;
A CMD_FUNC( killmonster2 ) ;
A CMD_FUNC( refine ) ;
A CMD_FUNC( produce ) ;
A CMD_FUNC( memo ) ;
A CMD_FUNC( gat ) ;
A CMD_FUNC( packet ) ;
A CMD_FUNC( statuspoint ) ;
A CMD_FUNC( skillpoint ) ;
A CMD_FUNC( zeny ) ;
A CMD_FUNC( param ) ;
A CMD_FUNC( guildlevelup ) ;
A CMD_FUNC( makeegg ) ;
A CMD_FUNC( hatch ) ;
A CMD_FUNC( petfriendly ) ;
A CMD_FUNC( pethungry ) ;
A CMD_FUNC( petrename ) ;
A CMD_FUNC( recall ) ;
A CMD_FUNC( recallall ) ;
A CMD_FUNC( revive ) ;
A CMD_FUNC( character_stats_all ) ;
A CMD_FUNC( character_save ) ;
A CMD_FUNC( night ) ;
A CMD_FUNC( day ) ;
A CMD_FUNC( doom ) ;
A CMD_FUNC( doommap ) ;
A CMD_FUNC( raise ) ;
A CMD_FUNC( raisemap ) ;
A CMD_FUNC( character_baselevel ) ;
A CMD_FUNC( character_joblevel ) ;
A CMD_FUNC( kick ) ;
A CMD_FUNC( kickall ) ;
A CMD_FUNC( allskill ) ;
A CMD_FUNC( questskill ) ;
A CMD_FUNC( charquestskill ) ;
A CMD_FUNC( lostskill ) ;
A CMD_FUNC( charlostskill ) ;
A CMD_FUNC( spiritball ) ;
A CMD_FUNC( party ) ;
A CMD_FUNC( guild ) ;
A CMD_FUNC( charskreset ) ;
A CMD_FUNC( charstreset ) ;
A CMD_FUNC( charreset ) ;
A CMD_FUNC( charstpoint ) ;
A CMD_FUNC( charmodel ) ;
A CMD_FUNC( charskpoint ) ;
A CMD_FUNC( charzeny ) ;
A CMD_FUNC( agitstart ) ;
A CMD_FUNC( agitend ) ;
A CMD_FUNC( reloaditemdb ) ;
A CMD_FUNC( reloadmobdb ) ;
A CMD_FUNC( reloadskilldb ) ;
# ifndef TXT_ONLY
A T COM MAN D_FUNC( rehash ) ; // by Fr3DBr
A CMD_FUNC( rehash ) ; // by Fr3DBr
# else /* TXT_ONLY */
A T COM MAN D_FUNC( reloadscript ) ;
A CMD_FUNC( reloadscript ) ;
# endif /* TXT_ONLY */
ATCOMMAND_FUNC ( reloadgmdb ) ; // by Yor
ATCOMMAND_FUNC ( mapexit ) ;
ATCOMMAND_FUNC ( idsearch ) ;
ATCOMMAND_FUNC ( mapinfo ) ;
ATCOMMAND_FUNC ( dye ) ; //** by fritz
ATCOMMAND_FUNC ( hair_style ) ; //** by fritz
ATCOMMAND_FUNC ( hair_color ) ; //** by fritz
ATCOMMAND_FUNC ( stat_all ) ; //** by fritz
ATCOMMAND_FUNC ( char_change_sex ) ; // by Yor
ATCOMMAND_FUNC ( char_block ) ; // by Yor
ATCOMMAND_FUNC ( char_ban ) ; // by Yor
ATCOMMAND_FUNC ( char_unblock ) ; // by Yor
ATCOMMAND_FUNC ( char_unban ) ; // by Yor
ATCOMMAND_FUNC ( mount_peco ) ; // by Valaris
ATCOMMAND_FUNC ( char_mount_peco ) ; // by Yor
ATCOMMAND_FUNC ( guildspy ) ; // [Syrus22]
ATCOMMAND_FUNC ( partyspy ) ; // [Syrus22]
ATCOMMAND_FUNC ( repairall ) ; // [Valaris]
ATCOMMAND_FUNC ( guildrecall ) ; // by Yor
ATCOMMAND_FUNC ( partyrecall ) ; // by Yor
//ATCOMMAND_FUNC(nuke); // [Valaris]
ATCOMMAND_FUNC ( enablenpc ) ;
ATCOMMAND_FUNC ( disablenpc ) ;
ATCOMMAND_FUNC ( servertime ) ; // by Yor
ATCOMMAND_FUNC ( chardelitem ) ; // by Yor
ATCOMMAND_FUNC ( jail ) ; // by Yor
ATCOMMAND_FUNC ( unjail ) ; // by Yor
ATCOMMAND_FUNC ( disguise ) ; // [Valaris]
ATCOMMAND_FUNC ( undisguise ) ; // by Yor
ATCOMMAND_FUNC ( chardisguise ) ; // Kalaspuff
ATCOMMAND_FUNC ( charundisguise ) ; // Kalaspuff
ATCOMMAND_FUNC ( email ) ; // by Yor
ATCOMMAND_FUNC ( effect ) ; //by Apple
ATCOMMAND_FUNC ( character_item_list ) ; // by Yor
ATCOMMAND_FUNC ( character_storage_list ) ; // by Yor
ATCOMMAND_FUNC ( character_cart_list ) ; // by Yor
ATCOMMAND_FUNC ( addwarp ) ; // by MouseJstr
ATCOMMAND_FUNC ( follow ) ; // by MouseJstr
ATCOMMAND_FUNC ( skillon ) ; // by MouseJstr
ATCOMMAND_FUNC ( skilloff ) ; // by MouseJstr
ATCOMMAND_FUNC ( killer ) ; // by MouseJstr
ATCOMMAND_FUNC ( npcmove ) ; // by MouseJstr
ATCOMMAND_FUNC ( killable ) ; // by MouseJstr
ATCOMMAND_FUNC ( charkillable ) ; // by MouseJstr
ATCOMMAND_FUNC ( chareffect ) ; // by MouseJstr
ATCOMMAND_FUNC ( dropall ) ; // by MouseJstr
ATCOMMAND_FUNC ( chardropall ) ; // by MouseJstr
ATCOMMAND_FUNC ( storeall ) ; // by MouseJstr
ATCOMMAND_FUNC ( charstoreall ) ; // by MouseJstr
ATCOMMAND_FUNC ( skillid ) ; // by MouseJstr
ATCOMMAND_FUNC ( useskill ) ; // by MouseJstr
ATCOMMAND_FUNC ( summon ) ;
ATCOMMAND_FUNC ( rain ) ;
ATCOMMAND_FUNC ( snow ) ;
ATCOMMAND_FUNC ( sakura ) ;
ATCOMMAND_FUNC ( fog ) ;
ATCOMMAND_FUNC ( leaves ) ;
ATCOMMAND_FUNC ( adjgmlvl ) ; // by MouseJstr
ATCOMMAND_FUNC ( adjcmdlvl ) ; // by MouseJstr
ATCOMMAND_FUNC ( trade ) ; // by MouseJstr
ATCOMMAND_FUNC ( send ) ; // by davidsiaw
ATCOMMAND_FUNC ( setbattleflag ) ; // by MouseJstr
ATCOMMAND_FUNC ( unmute ) ; // [Valaris]
ATCOMMAND_FUNC ( clearweather ) ; // Dexity
ATCOMMAND_FUNC ( uptime ) ; // by MC Cameri
ATCOMMAND_FUNC ( changesex ) ; // by MC Cameri
ATCOMMAND_FUNC ( mute ) ; // celest
ATCOMMAND_FUNC ( refresh ) ; // by MC Cameri
ATCOMMAND_FUNC ( petid ) ; // by MC Cameri
ATCOMMAND_FUNC ( identify ) ; // by MC Cameri
ATCOMMAND_FUNC ( gmotd ) ; // Added by MC Cameri, created by davidsiaw
ATCOMMAND_FUNC ( misceffect ) ; // by MC Cameri
ACMD_FUNC ( reloadgmdb ) ; // by Yor
ACMD_FUNC ( mapexit ) ;
ACMD_FUNC ( idsearch ) ;
ACMD_FUNC ( mapinfo ) ;
ACMD_FUNC ( dye ) ; //** by fritz
ACMD_FUNC ( hair_style ) ; //** by fritz
ACMD_FUNC ( hair_color ) ; //** by fritz
ACMD_FUNC ( stat_all ) ; //** by fritz
ACMD_FUNC ( char_change_sex ) ; // by Yor
ACMD_FUNC ( char_block ) ; // by Yor
ACMD_FUNC ( char_ban ) ; // by Yor
ACMD_FUNC ( char_unblock ) ; // by Yor
ACMD_FUNC ( char_unban ) ; // by Yor
ACMD_FUNC ( mount_peco ) ; // by Valaris
ACMD_FUNC ( char_mount_peco ) ; // by Yor
ACMD_FUNC ( guildspy ) ; // [Syrus22]
ACMD_FUNC ( partyspy ) ; // [Syrus22]
ACMD_FUNC ( repairall ) ; // [Valaris]
ACMD_FUNC ( guildrecall ) ; // by Yor
ACMD_FUNC ( partyrecall ) ; // by Yor
//ACMD_FUNC(nuke); // [Valaris]
ACMD_FUNC ( enablenpc ) ;
ACMD_FUNC ( disablenpc ) ;
ACMD_FUNC ( servertime ) ; // by Yor
ACMD_FUNC ( chardelitem ) ; // by Yor
ACMD_FUNC ( jail ) ; // by Yor
ACMD_FUNC ( unjail ) ; // by Yor
ACMD_FUNC ( disguise ) ; // [Valaris]
ACMD_FUNC ( undisguise ) ; // by Yor
ACMD_FUNC ( chardisguise ) ; // Kalaspuff
ACMD_FUNC ( charundisguise ) ; // Kalaspuff
ACMD_FUNC ( email ) ; // by Yor
ACMD_FUNC ( effect ) ; //by Apple
ACMD_FUNC ( character_storage_list ) ; // by Yor
ACMD_FUNC ( character_cart_list ) ; // by Yor
ACMD_FUNC ( addwarp ) ; // by MouseJstr
ACMD_FUNC ( follow ) ; // by MouseJstr
ACMD_FUNC ( skillon ) ; // by MouseJstr
ACMD_FUNC ( skilloff ) ; // by MouseJstr
ACMD_FUNC ( killer ) ; // by MouseJstr
ACMD_FUNC ( npcmove ) ; // by MouseJstr
ACMD_FUNC ( killable ) ; // by MouseJstr
ACMD_FUNC ( charkillable ) ; // by MouseJstr
ACMD_FUNC ( chareffect ) ; // by MouseJstr
ACMD_FUNC ( dropall ) ; // by MouseJstr
ACMD_FUNC ( chardropall ) ; // by MouseJstr
ACMD_FUNC ( storeall ) ; // by MouseJstr
ACMD_FUNC ( charstoreall ) ; // by MouseJstr
ACMD_FUNC ( skillid ) ; // by MouseJstr
ACMD_FUNC ( useskill ) ; // by MouseJstr
ACMD_FUNC ( summon ) ;
ACMD_FUNC ( rain ) ;
ACMD_FUNC ( snow ) ;
ACMD_FUNC ( sakura ) ;
ACMD_FUNC ( fog ) ;
ACMD_FUNC ( leaves ) ;
ACMD_FUNC ( adjgmlvl ) ; // by MouseJstr
ACMD_FUNC ( adjcmdlvl ) ; // by MouseJstr
ACMD_FUNC ( trade ) ; // by MouseJstr
ACMD_FUNC ( send ) ; // by davidsiaw
ACMD_FUNC ( setbattleflag ) ; // by MouseJstr
ACMD_FUNC ( unmute ) ; // [Valaris]
ACMD_FUNC ( clearweather ) ; // Dexity
ACMD_FUNC ( uptime ) ; // by MC Cameri
ACMD_FUNC ( changesex ) ; // by MC Cameri
ACMD_FUNC ( mute ) ; // celest
ACMD_FUNC ( refresh ) ; // by MC Cameri
ACMD_FUNC ( petid ) ; // by MC Cameri
ACMD_FUNC ( identify ) ; // by MC Cameri
ACMD_FUNC ( gmotd ) ; // Added by MC Cameri, created by davidsiaw
ACMD_FUNC ( misceffect ) ; // by MC Cameri
# ifndef TXT_ONLY
A T COM MAN D_FUNC( checkmail ) ; // [Valaris]
A T COM MAN D_FUNC( listmail ) ; // [Valaris]
A T COM MAN D_FUNC( listnewmail ) ; // [Valaris]
A T COM MAN D_FUNC( readmail ) ; // [Valaris]
A T COM MAN D_FUNC( sendmail ) ; // [Valaris]
A T COM MAN D_FUNC( sendprioritymail ) ; // [Valaris]
A T COM MAN D_FUNC( deletemail ) ; // [Valaris]
A T COM MAN D_FUNC( sound ) ; // [Valaris]
A T COM MAN D_FUNC( refreshonline ) ; // [Valaris]
A CMD_FUNC( checkmail ) ; // [Valaris]
A CMD_FUNC( listmail ) ; // [Valaris]
A CMD_FUNC( listnewmail ) ; // [Valaris]
A CMD_FUNC( readmail ) ; // [Valaris]
A CMD_FUNC( sendmail ) ; // [Valaris]
A CMD_FUNC( sendprioritymail ) ; // [Valaris]
A CMD_FUNC( deletemail ) ; // [Valaris]
A CMD_FUNC( sound ) ; // [Valaris]
A CMD_FUNC( refreshonline ) ; // [Valaris]
# endif /* TXT_ONLY */
A T COM MAN D_FUNC( skilltree ) ; // by MouseJstr
A CMD_FUNC( skilltree ) ; // by MouseJstr
A T COM MAN D_FUNC( marry ) ; // by MouseJstr
A T COM MAN D_FUNC( divorce ) ; // by MouseJstr
A T COM MAN D_FUNC( rings ) ; // by MouseJstr
A CMD_FUNC( marry ) ; // by MouseJstr
A CMD_FUNC( divorce ) ; // by MouseJstr
A CMD_FUNC( rings ) ; // by MouseJstr
/*==========================================
* AtCommandInfo atcommand_info [ ] <EFBFBD> \ ‘ ¢ ‘ Ì ‚ Ì ’ è ‹ `
@ -421,7 +420,7 @@ static AtCommandInfo atcommand_info[] = {
{ AtCommand_CharUnDisguise , " @charundisguise " , 60 , atcommand_charundisguise } , // Kalaspuff
{ AtCommand_EMail , " @email " , 0 , atcommand_email } , // by Yor
{ AtCommand_Effect , " @effect " , 40 , atcommand_effect } , // by Apple
{ AtCommand_Char_Item_List , " @charitemlist " , 40 , atcommand_character_item_list } , // by Yor
// { AtCommand_Char_Item_List, "@charitemlist", 40, atcommand_character_item_list }, // by Yor, now #itemlist
{ AtCommand_Char_Storage_List , " @charstoragelist " , 40 , atcommand_character_storage_list } , // by Yor
{ AtCommand_Char_Cart_List , " @charcartlist " , 40 , atcommand_character_cart_list } , // by Yor
{ AtCommand_Follow , " @follow " , 10 , atcommand_follow } , // by MouseJstr
@ -2068,7 +2067,11 @@ int atcommand_jobchange(
job = 4015 ;
}
}
int j ;
for ( j = 0 ; j < MAX_INVENTORY ; j + + ) {
if ( sd - > status . inventory [ j ] . nameid > 0 & & sd - > status . inventory [ j ] . equip ! = 0 )
pc_unequipitem ( sd , j , 3 ) ;
}
if ( pc_jobchange ( sd , job , upper ) = = 0 )
clif_displaymessage ( fd , msg_table [ 12 ] ) ; // Your job has been changed.
else {
@ -6724,120 +6727,6 @@ int atcommand_effect(
return 0 ;
}
/*==========================================
* @ charitemlist < character > : Displays the list of a player ' s items .
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
int
atcommand_character_item_list (
const int fd , struct map_session_data * sd ,
const char * command , const char * message )
{
struct map_session_data * pl_sd ;
struct item_data * item_data , * item_temp ;
int i , j , equip , count , counter , counter2 ;
char character [ 100 ] , output [ 200 ] , equipstr [ 100 ] , outputtmp [ 200 ] ;
nullpo_retr ( - 1 , sd ) ;
memset ( character , ' \0 ' , sizeof ( character ) ) ;
memset ( output , ' \0 ' , sizeof ( output ) ) ;
memset ( equipstr , ' \0 ' , sizeof ( equipstr ) ) ;
memset ( outputtmp , ' \0 ' , sizeof ( outputtmp ) ) ;
if ( ! message | | ! * message | | sscanf ( message , " %99[^ \n ] " , character ) < 1 ) {
clif_displaymessage ( fd , " Please, enter a player name (usage: @charitemlist <char name>). " ) ;
return - 1 ;
}
if ( ( pl_sd = map_nick2sd ( character ) ) ! = NULL ) {
if ( pc_isGM ( sd ) > = pc_isGM ( pl_sd ) ) { // you can look items only lower or same level
counter = 0 ;
count = 0 ;
for ( i = 0 ; i < MAX_INVENTORY ; i + + ) {
if ( pl_sd - > status . inventory [ i ] . nameid > 0 & & ( item_data = itemdb_search ( pl_sd - > status . inventory [ i ] . nameid ) ) ! = NULL ) {
counter = counter + pl_sd - > status . inventory [ i ] . amount ;
count + + ;
if ( count = = 1 ) {
sprintf ( output , " ------ Items list of '%s' ------ " , pl_sd - > status . name ) ;
clif_displaymessage ( fd , output ) ;
}
if ( ( equip = pl_sd - > status . inventory [ i ] . equip ) ) {
strcpy ( equipstr , " | equiped: " ) ;
if ( equip & 4 )
strcat ( equipstr , " robe/gargment, " ) ;
if ( equip & 8 )
strcat ( equipstr , " left accessory, " ) ;
if ( equip & 16 )
strcat ( equipstr , " body/armor, " ) ;
if ( ( equip & 34 ) = = 2 )
strcat ( equipstr , " right hand, " ) ;
if ( ( equip & 34 ) = = 32 )
strcat ( equipstr , " left hand, " ) ;
if ( ( equip & 34 ) = = 34 )
strcat ( equipstr , " both hands, " ) ;
if ( equip & 64 )
strcat ( equipstr , " feet, " ) ;
if ( equip & 128 )
strcat ( equipstr , " right accessory, " ) ;
if ( ( equip & 769 ) = = 1 )
strcat ( equipstr , " lower head, " ) ;
if ( ( equip & 769 ) = = 256 )
strcat ( equipstr , " top head, " ) ;
if ( ( equip & 769 ) = = 257 )
strcat ( equipstr , " lower/top head, " ) ;
if ( ( equip & 769 ) = = 512 )
strcat ( equipstr , " mid head, " ) ;
if ( ( equip & 769 ) = = 512 )
strcat ( equipstr , " lower/mid head, " ) ;
if ( ( equip & 769 ) = = 769 )
strcat ( equipstr , " lower/mid/top head, " ) ;
// remove final ', '
equipstr [ strlen ( equipstr ) - 2 ] = ' \0 ' ;
} else
memset ( equipstr , ' \0 ' , sizeof ( equipstr ) ) ;
if ( sd - > status . inventory [ i ] . refine )
sprintf ( output , " %d %s %+d (%s %+d, id: %d) %s " , pl_sd - > status . inventory [ i ] . amount , item_data - > name , pl_sd - > status . inventory [ i ] . refine , item_data - > jname , pl_sd - > status . inventory [ i ] . refine , pl_sd - > status . inventory [ i ] . nameid , equipstr ) ;
else
sprintf ( output , " %d %s (%s, id: %d) %s " , pl_sd - > status . inventory [ i ] . amount , item_data - > name , item_data - > jname , pl_sd - > status . inventory [ i ] . nameid , equipstr ) ;
clif_displaymessage ( fd , output ) ;
memset ( output , ' \0 ' , sizeof ( output ) ) ;
counter2 = 0 ;
for ( j = 0 ; j < item_data - > slot ; j + + ) {
if ( pl_sd - > status . inventory [ i ] . card [ j ] ) {
if ( ( item_temp = itemdb_search ( pl_sd - > status . inventory [ i ] . card [ j ] ) ) ! = NULL ) {
if ( output [ 0 ] = = ' \0 ' )
sprintf ( outputtmp , " -> (card(s): #%d %s (%s), " , + + counter2 , item_temp - > name , item_temp - > jname ) ;
else
sprintf ( outputtmp , " #%d %s (%s), " , + + counter2 , item_temp - > name , item_temp - > jname ) ;
strcat ( output , outputtmp ) ;
}
}
}
if ( output [ 0 ] ! = ' \0 ' ) {
output [ strlen ( output ) - 2 ] = ' ) ' ;
output [ strlen ( output ) - 1 ] = ' \0 ' ;
clif_displaymessage ( fd , output ) ;
}
}
}
if ( count = = 0 )
clif_displaymessage ( fd , " No item found on this player. " ) ;
else {
sprintf ( output , " %d item(s) found in %d kind(s) of items. " , counter , count ) ;
clif_displaymessage ( fd , output ) ;
}
} else {
clif_displaymessage ( fd , msg_table [ 81 ] ) ; // Your GM level don't authorise you to do this action on this player.
return - 1 ;
}
} else {
clif_displaymessage ( fd , msg_table [ 3 ] ) ; // Character not found.
return - 1 ;
}
return 0 ;
}
/*==========================================
* @ charstoragelist < character > : Displays the items list of a player ' s storage .
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -