|
@@ -143,9 +143,7 @@ static const char* atcommand_help_string(const char* command)
|
|
*------------------------------------------*/
|
|
*------------------------------------------*/
|
|
ACMD_FUNC(send)
|
|
ACMD_FUNC(send)
|
|
{
|
|
{
|
|
- int len=0,off,end,type;
|
|
|
|
- long num;
|
|
|
|
-
|
|
|
|
|
|
+ int len=0,type;
|
|
// read message type as hex number (without the 0x)
|
|
// read message type as hex number (without the 0x)
|
|
if(!message || !*message ||
|
|
if(!message || !*message ||
|
|
!((sscanf(message, "len %x", &type)==1 && (len=1))
|
|
!((sscanf(message, "len %x", &type)==1 && (len=1))
|
|
@@ -187,9 +185,9 @@ ACMD_FUNC(send)
|
|
}\
|
|
}\
|
|
}
|
|
}
|
|
//define GET_VALUE
|
|
//define GET_VALUE
|
|
-
|
|
|
|
if (type > 0 && type < MAX_PACKET_DB) {
|
|
if (type > 0 && type < MAX_PACKET_DB) {
|
|
-
|
|
|
|
|
|
+ int off,end;
|
|
|
|
+ long num;
|
|
if(len)
|
|
if(len)
|
|
{// show packet length
|
|
{// show packet length
|
|
sprintf(atcmd_output, msg_txt(sd,904), type, packet_db[sd->packet_ver][type].len); // Packet 0x%x length: %d
|
|
sprintf(atcmd_output, msg_txt(sd,904), type, packet_db[sd->packet_ver][type].len); // Packet 0x%x length: %d
|
|
@@ -404,7 +402,7 @@ static void warp_get_suggestions(struct map_session_data* sd, const char *name)
|
|
// if no maps found, search by edit distance
|
|
// if no maps found, search by edit distance
|
|
if (!count) {
|
|
if (!count) {
|
|
unsigned int distance[MAX_MAP_PER_SERVER][2];
|
|
unsigned int distance[MAX_MAP_PER_SERVER][2];
|
|
- int j, min;
|
|
|
|
|
|
+ int j;
|
|
|
|
|
|
// calculate Levenshtein distance for all maps
|
|
// calculate Levenshtein distance for all maps
|
|
for (i = 0; i < MAX_MAP_PER_SERVER; i++) {
|
|
for (i = 0; i < MAX_MAP_PER_SERVER; i++) {
|
|
@@ -419,7 +417,7 @@ static void warp_get_suggestions(struct map_session_data* sd, const char *name)
|
|
// selection sort elements as needed
|
|
// selection sort elements as needed
|
|
count = min(MAX_SUGGESTIONS, 5); // results past 5 aren't worth showing
|
|
count = min(MAX_SUGGESTIONS, 5); // results past 5 aren't worth showing
|
|
for (i = 0; i < count; i++) {
|
|
for (i = 0; i < count; i++) {
|
|
- min = i;
|
|
|
|
|
|
+ int min = i;
|
|
for (j = i+1; j < MAX_MAP_PER_SERVER; j++) {
|
|
for (j = i+1; j < MAX_MAP_PER_SERVER; j++) {
|
|
if (distance[j][0] < distance[min][0])
|
|
if (distance[j][0] < distance[min][0])
|
|
min = j;
|
|
min = j;
|
|
@@ -617,8 +615,7 @@ ACMD_FUNC(jump)
|
|
*------------------------------------------*/
|
|
*------------------------------------------*/
|
|
ACMD_FUNC(who) {
|
|
ACMD_FUNC(who) {
|
|
struct map_session_data *pl_sd = NULL;
|
|
struct map_session_data *pl_sd = NULL;
|
|
- struct s_mapiterator *iter = NULL;
|
|
|
|
- char map_name[MAP_NAME_LENGTH_EXT] = "";
|
|
|
|
|
|
+ struct s_mapiterator *iter = NULL;
|
|
char player_name[NAME_LENGTH] = "";
|
|
char player_name[NAME_LENGTH] = "";
|
|
int count = 0;
|
|
int count = 0;
|
|
int level = 0;
|
|
int level = 0;
|
|
@@ -634,6 +631,7 @@ ACMD_FUNC(who) {
|
|
nullpo_retr(-1, sd);
|
|
nullpo_retr(-1, sd);
|
|
|
|
|
|
if (strstr(command, "map") != NULL) {
|
|
if (strstr(command, "map") != NULL) {
|
|
|
|
+ char map_name[MAP_NAME_LENGTH_EXT] = "";
|
|
if (sscanf(message, "%15s %23s", map_name, player_name) < 1 || (map_id = map_mapname2mapid(map_name)) < 0)
|
|
if (sscanf(message, "%15s %23s", map_name, player_name) < 1 || (map_id = map_mapname2mapid(map_name)) < 0)
|
|
map_id = sd->bl.m;
|
|
map_id = sd->bl.m;
|
|
} else {
|
|
} else {
|
|
@@ -721,7 +719,7 @@ ACMD_FUNC(whogm)
|
|
struct map_session_data* pl_sd;
|
|
struct map_session_data* pl_sd;
|
|
struct s_mapiterator* iter;
|
|
struct s_mapiterator* iter;
|
|
int j, count;
|
|
int j, count;
|
|
- int pl_level, level;
|
|
|
|
|
|
+ int level;
|
|
char match_text[CHAT_SIZE_MAX];
|
|
char match_text[CHAT_SIZE_MAX];
|
|
char player_name[NAME_LENGTH];
|
|
char player_name[NAME_LENGTH];
|
|
struct guild *g;
|
|
struct guild *g;
|
|
@@ -744,7 +742,7 @@ ACMD_FUNC(whogm)
|
|
iter = mapit_getallusers();
|
|
iter = mapit_getallusers();
|
|
for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) )
|
|
for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) )
|
|
{
|
|
{
|
|
- pl_level = pc_get_group_level(pl_sd);
|
|
|
|
|
|
+ int pl_level = pc_get_group_level(pl_sd);
|
|
if (!pl_level)
|
|
if (!pl_level)
|
|
continue;
|
|
continue;
|
|
|
|
|
|
@@ -2009,7 +2007,7 @@ ACMD_FUNC(monster)
|
|
int mob_id;
|
|
int mob_id;
|
|
int number = 0;
|
|
int number = 0;
|
|
int count;
|
|
int count;
|
|
- int i, k, range;
|
|
|
|
|
|
+ int i, range;
|
|
short mx, my;
|
|
short mx, my;
|
|
unsigned int size;
|
|
unsigned int size;
|
|
nullpo_retr(-1, sd);
|
|
nullpo_retr(-1, sd);
|
|
@@ -2075,9 +2073,13 @@ ACMD_FUNC(monster)
|
|
count = 0;
|
|
count = 0;
|
|
range = (int)sqrt((float)number) +2; // calculation of an odd number (+ 4 area around)
|
|
range = (int)sqrt((float)number) +2; // calculation of an odd number (+ 4 area around)
|
|
for (i = 0; i < number; i++) {
|
|
for (i = 0; i < number; i++) {
|
|
|
|
+ int k;
|
|
map_search_freecell(&sd->bl, 0, &mx, &my, range, range, 0);
|
|
map_search_freecell(&sd->bl, 0, &mx, &my, range, range, 0);
|
|
k = mob_once_spawn(sd, sd->bl.m, mx, my, name, mob_id, 1, eventname, size, AI_NONE);
|
|
k = mob_once_spawn(sd, sd->bl.m, mx, my, name, mob_id, 1, eventname, size, AI_NONE);
|
|
- count += (k != 0) ? 1 : 0;
|
|
|
|
|
|
+ if(k) {
|
|
|
|
+ //mapreg_setreg(reference_uid(add_str("$@mobid"), i),k); //retain created mobid in array uncomment if needed
|
|
|
|
+ count ++;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (count != 0)
|
|
if (count != 0)
|
|
@@ -2145,7 +2147,7 @@ ACMD_FUNC(killmonster)
|
|
*------------------------------------------*/
|
|
*------------------------------------------*/
|
|
ACMD_FUNC(refine)
|
|
ACMD_FUNC(refine)
|
|
{
|
|
{
|
|
- int i,j, position = 0, refine = 0, current_position, final_refine;
|
|
|
|
|
|
+ int j, position = 0, refine = 0, current_position, final_refine;
|
|
int count;
|
|
int count;
|
|
nullpo_retr(-1, sd);
|
|
nullpo_retr(-1, sd);
|
|
|
|
|
|
@@ -2180,6 +2182,7 @@ ACMD_FUNC(refine)
|
|
|
|
|
|
count = 0;
|
|
count = 0;
|
|
for (j = 0; j < EQI_MAX; j++) {
|
|
for (j = 0; j < EQI_MAX; j++) {
|
|
|
|
+ int i;
|
|
if ((i = sd->equip_index[j]) < 0)
|
|
if ((i = sd->equip_index[j]) < 0)
|
|
continue;
|
|
continue;
|
|
if(j == EQI_AMMO) continue;
|
|
if(j == EQI_AMMO) continue;
|
|
@@ -3837,7 +3840,6 @@ ACMD_FUNC(partysharelvl) {
|
|
ACMD_FUNC(mapinfo) {
|
|
ACMD_FUNC(mapinfo) {
|
|
struct map_session_data* pl_sd;
|
|
struct map_session_data* pl_sd;
|
|
struct s_mapiterator* iter;
|
|
struct s_mapiterator* iter;
|
|
- struct npc_data *nd = NULL;
|
|
|
|
struct chat_data *cd = NULL;
|
|
struct chat_data *cd = NULL;
|
|
char direction[12];
|
|
char direction[12];
|
|
int i, m_id, chat_num = 0, list = 0, vend_num = 0;
|
|
int i, m_id, chat_num = 0, list = 0, vend_num = 0;
|
|
@@ -4087,7 +4089,7 @@ ACMD_FUNC(mapinfo) {
|
|
clif_displaymessage(fd, msg_txt(sd,482)); // ----- NPCs in Map -----
|
|
clif_displaymessage(fd, msg_txt(sd,482)); // ----- NPCs in Map -----
|
|
for (i = 0; i < map[m_id].npc_num;)
|
|
for (i = 0; i < map[m_id].npc_num;)
|
|
{
|
|
{
|
|
- nd = map[m_id].npc[i];
|
|
|
|
|
|
+ struct npc_data *nd = map[m_id].npc[i];
|
|
switch(nd->ud.dir) {
|
|
switch(nd->ud.dir) {
|
|
case 0: strcpy(direction, msg_txt(sd,491)); break; // North
|
|
case 0: strcpy(direction, msg_txt(sd,491)); break; // North
|
|
case 1: strcpy(direction, msg_txt(sd,492)); break; // North West
|
|
case 1: strcpy(direction, msg_txt(sd,492)); break; // North West
|
|
@@ -4526,7 +4528,6 @@ char* txt_time(unsigned int duration)
|
|
ACMD_FUNC(servertime)
|
|
ACMD_FUNC(servertime)
|
|
{
|
|
{
|
|
const struct TimerData * timer_data;
|
|
const struct TimerData * timer_data;
|
|
- const struct TimerData * timer_data2;
|
|
|
|
time_t time_server; // variable for number of seconds (used with time() function)
|
|
time_t time_server; // variable for number of seconds (used with time() function)
|
|
struct tm *datetime; // variable for time in structure ->tm_mday, ->tm_sec, ...
|
|
struct tm *datetime; // variable for time in structure ->tm_mday, ->tm_sec, ...
|
|
char temp[CHAT_SIZE_MAX];
|
|
char temp[CHAT_SIZE_MAX];
|
|
@@ -4562,6 +4563,7 @@ ACMD_FUNC(servertime)
|
|
} else
|
|
} else
|
|
clif_displaymessage(fd, msg_txt(sd,232)); // Game time: The game is in permanent night.
|
|
clif_displaymessage(fd, msg_txt(sd,232)); // Game time: The game is in permanent night.
|
|
else {
|
|
else {
|
|
|
|
+ const struct TimerData * timer_data2;
|
|
if (night_flag == 0) {
|
|
if (night_flag == 0) {
|
|
timer_data = get_timer(night_timer_tid);
|
|
timer_data = get_timer(night_timer_tid);
|
|
timer_data2 = get_timer(day_timer_tid);
|
|
timer_data2 = get_timer(day_timer_tid);
|
|
@@ -4882,7 +4884,7 @@ ACMD_FUNC(disguiseguild)
|
|
{
|
|
{
|
|
int id = 0, i;
|
|
int id = 0, i;
|
|
char monster[NAME_LENGTH], guild[NAME_LENGTH];
|
|
char monster[NAME_LENGTH], guild[NAME_LENGTH];
|
|
- struct map_session_data *pl_sd;
|
|
|
|
|
|
+
|
|
struct guild *g;
|
|
struct guild *g;
|
|
|
|
|
|
memset(monster, '\0', sizeof(monster));
|
|
memset(monster, '\0', sizeof(monster));
|
|
@@ -4914,9 +4916,11 @@ ACMD_FUNC(disguiseguild)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- for( i = 0; i < g->max_member; i++ )
|
|
|
|
|
|
+ for( i = 0; i < g->max_member; i++ ){
|
|
|
|
+ struct map_session_data *pl_sd;
|
|
if( (pl_sd = g->member[i].sd) && !pc_isriding(pl_sd) )
|
|
if( (pl_sd = g->member[i].sd) && !pc_isriding(pl_sd) )
|
|
pc_disguise(pl_sd, id);
|
|
pc_disguise(pl_sd, id);
|
|
|
|
+ }
|
|
|
|
|
|
clif_displaymessage(fd, msg_txt(sd,122)); // Disguise applied.
|
|
clif_displaymessage(fd, msg_txt(sd,122)); // Disguise applied.
|
|
return 0;
|
|
return 0;
|
|
@@ -4966,7 +4970,6 @@ ACMD_FUNC(undisguiseall)
|
|
ACMD_FUNC(undisguiseguild)
|
|
ACMD_FUNC(undisguiseguild)
|
|
{
|
|
{
|
|
char guild_name[NAME_LENGTH];
|
|
char guild_name[NAME_LENGTH];
|
|
- struct map_session_data *pl_sd;
|
|
|
|
struct guild *g;
|
|
struct guild *g;
|
|
int i;
|
|
int i;
|
|
nullpo_retr(-1, sd);
|
|
nullpo_retr(-1, sd);
|
|
@@ -4983,9 +4986,11 @@ ACMD_FUNC(undisguiseguild)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- for(i = 0; i < g->max_member; i++)
|
|
|
|
|
|
+ for(i = 0; i < g->max_member; i++){
|
|
|
|
+ struct map_session_data *pl_sd;
|
|
if( (pl_sd = g->member[i].sd) && pl_sd->disguise )
|
|
if( (pl_sd = g->member[i].sd) && pl_sd->disguise )
|
|
pc_disguise(pl_sd, 0);
|
|
pc_disguise(pl_sd, 0);
|
|
|
|
+ }
|
|
|
|
|
|
clif_displaymessage(fd, msg_txt(sd,124)); // Undisguise applied.
|
|
clif_displaymessage(fd, msg_txt(sd,124)); // Undisguise applied.
|
|
|
|
|
|
@@ -5450,7 +5455,7 @@ ACMD_FUNC(clearcart)
|
|
#define MAX_SKILLID_PARTIAL_RESULTS 5
|
|
#define MAX_SKILLID_PARTIAL_RESULTS 5
|
|
#define MAX_SKILLID_PARTIAL_RESULTS_LEN 74 // "skill " (6) + "%d:" (up to 5) + "%s" (up to 30) + " (%s)" (up to 33)
|
|
#define MAX_SKILLID_PARTIAL_RESULTS_LEN 74 // "skill " (6) + "%d:" (up to 5) + "%s" (up to 30) + " (%s)" (up to 33)
|
|
ACMD_FUNC(skillid) {
|
|
ACMD_FUNC(skillid) {
|
|
- int skillen, idx, i, found = 0;
|
|
|
|
|
|
+ int skillen, i, found = 0;
|
|
DBIterator* iter;
|
|
DBIterator* iter;
|
|
DBKey key;
|
|
DBKey key;
|
|
DBData *data;
|
|
DBData *data;
|
|
@@ -5468,7 +5473,7 @@ ACMD_FUNC(skillid) {
|
|
iter = db_iterator(skilldb_name2id);
|
|
iter = db_iterator(skilldb_name2id);
|
|
|
|
|
|
for( data = iter->first(iter,&key); iter->exists(iter); data = iter->next(iter,&key) ) {
|
|
for( data = iter->first(iter,&key); iter->exists(iter); data = iter->next(iter,&key) ) {
|
|
- idx = skill_get_index(db_data2i(data));
|
|
|
|
|
|
+ int idx = skill_get_index(db_data2i(data));
|
|
if (strnicmp(key.str, message, skillen) == 0 || strnicmp(skill_db[idx].desc, message, skillen) == 0) {
|
|
if (strnicmp(key.str, message, skillen) == 0 || strnicmp(skill_db[idx].desc, message, skillen) == 0) {
|
|
sprintf(atcmd_output, msg_txt(sd,1164), db_data2i(data), skill_db[idx].desc, key.str); // skill %d: %s (%s)
|
|
sprintf(atcmd_output, msg_txt(sd,1164), db_data2i(data), skill_db[idx].desc, key.str); // skill %d: %s (%s)
|
|
clif_displaymessage(fd, atcmd_output);
|
|
clif_displaymessage(fd, atcmd_output);
|
|
@@ -6921,8 +6926,7 @@ ACMD_FUNC(mobinfo)
|
|
struct item_data *item_data;
|
|
struct item_data *item_data;
|
|
struct mob_db *mob, *mob_array[MAX_SEARCH];
|
|
struct mob_db *mob, *mob_array[MAX_SEARCH];
|
|
int count;
|
|
int count;
|
|
- int i, j, k;
|
|
|
|
- unsigned int base_exp, job_exp;
|
|
|
|
|
|
+ int i, k;
|
|
|
|
|
|
memset(atcmd_output, '\0', sizeof(atcmd_output));
|
|
memset(atcmd_output, '\0', sizeof(atcmd_output));
|
|
memset(atcmd_output2, '\0', sizeof(atcmd_output2));
|
|
memset(atcmd_output2, '\0', sizeof(atcmd_output2));
|
|
@@ -6951,6 +6955,7 @@ ACMD_FUNC(mobinfo)
|
|
count = MAX_SEARCH;
|
|
count = MAX_SEARCH;
|
|
}
|
|
}
|
|
for (k = 0; k < count; k++) {
|
|
for (k = 0; k < count; k++) {
|
|
|
|
+ unsigned int j,base_exp,job_exp;
|
|
mob = mob_array[k];
|
|
mob = mob_array[k];
|
|
base_exp = mob->base_exp;
|
|
base_exp = mob->base_exp;
|
|
job_exp = mob->job_exp;
|
|
job_exp = mob->job_exp;
|
|
@@ -6962,11 +6967,11 @@ ACMD_FUNC(mobinfo)
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
#ifdef VIP_ENABLE
|
|
#ifdef VIP_ENABLE
|
|
- // Display EXP rate increase for VIP.
|
|
|
|
- if (pc_isvip(sd) && (battle_config.vip_base_exp_increase || battle_config.vip_job_exp_increase)) {
|
|
|
|
- base_exp += battle_config.vip_base_exp_increase;
|
|
|
|
- job_exp += battle_config.vip_job_exp_increase;
|
|
|
|
- }
|
|
|
|
|
|
+ // Display EXP rate increase for VIP.
|
|
|
|
+ if (pc_isvip(sd) && (battle_config.vip_base_exp_increase || battle_config.vip_job_exp_increase)) {
|
|
|
|
+ base_exp += battle_config.vip_base_exp_increase;
|
|
|
|
+ job_exp += battle_config.vip_job_exp_increase;
|
|
|
|
+ }
|
|
#endif
|
|
#endif
|
|
// stats
|
|
// stats
|
|
if (mob->mexp)
|
|
if (mob->mexp)
|
|
@@ -7444,7 +7449,7 @@ ACMD_FUNC(homshuffle)
|
|
*------------------------------------------*/
|
|
*------------------------------------------*/
|
|
ACMD_FUNC(iteminfo)
|
|
ACMD_FUNC(iteminfo)
|
|
{
|
|
{
|
|
- struct item_data *item_data, *item_array[MAX_SEARCH];
|
|
|
|
|
|
+ struct item_data *item_array[MAX_SEARCH];
|
|
int i, count = 1;
|
|
int i, count = 1;
|
|
|
|
|
|
if (!message || !*message) {
|
|
if (!message || !*message) {
|
|
@@ -7465,7 +7470,7 @@ ACMD_FUNC(iteminfo)
|
|
count = MAX_SEARCH;
|
|
count = MAX_SEARCH;
|
|
}
|
|
}
|
|
for (i = 0; i < count; i++) {
|
|
for (i = 0; i < count; i++) {
|
|
- item_data = item_array[i];
|
|
|
|
|
|
+ struct item_data * item_data = item_array[i];
|
|
sprintf(atcmd_output, msg_txt(sd,1277), // Item: '%s'/'%s'[%d] (%d) Type: %s | Extra Effect: %s
|
|
sprintf(atcmd_output, msg_txt(sd,1277), // Item: '%s'/'%s'[%d] (%d) Type: %s | Extra Effect: %s
|
|
item_data->name,item_data->jname,item_data->slot,item_data->nameid,
|
|
item_data->name,item_data->jname,item_data->slot,item_data->nameid,
|
|
(item_data->type != IT_AMMO) ? itemdb_typename((enum item_types)item_data->type) : itemdb_typename_ammo((enum e_item_ammo)item_data->look),
|
|
(item_data->type != IT_AMMO) ? itemdb_typename((enum item_types)item_data->type) : itemdb_typename_ammo((enum e_item_ammo)item_data->look),
|
|
@@ -7548,7 +7553,7 @@ ACMD_FUNC(whodrops)
|
|
|
|
|
|
ACMD_FUNC(whereis)
|
|
ACMD_FUNC(whereis)
|
|
{
|
|
{
|
|
- struct mob_db *mob, *mob_array[MAX_SEARCH];
|
|
|
|
|
|
+ struct mob_db *mob_array[MAX_SEARCH];
|
|
int count;
|
|
int count;
|
|
int i, j, k;
|
|
int i, j, k;
|
|
|
|
|
|
@@ -7576,7 +7581,7 @@ ACMD_FUNC(whereis)
|
|
count = MAX_SEARCH;
|
|
count = MAX_SEARCH;
|
|
}
|
|
}
|
|
for (k = 0; k < count; k++) {
|
|
for (k = 0; k < count; k++) {
|
|
- mob = mob_array[k];
|
|
|
|
|
|
+ struct mob_db *mob = mob_array[k];
|
|
snprintf(atcmd_output, sizeof atcmd_output, msg_txt(sd,1289), mob->jname); // %s spawns in:
|
|
snprintf(atcmd_output, sizeof atcmd_output, msg_txt(sd,1289), mob->jname); // %s spawns in:
|
|
clif_displaymessage(fd, atcmd_output);
|
|
clif_displaymessage(fd, atcmd_output);
|
|
|
|
|
|
@@ -9230,8 +9235,6 @@ ACMD_FUNC(channel) {
|
|
|
|
|
|
ACMD_FUNC(fontcolor)
|
|
ACMD_FUNC(fontcolor)
|
|
{
|
|
{
|
|
- unsigned char k;
|
|
|
|
-
|
|
|
|
if( !message || !*message ) {
|
|
if( !message || !*message ) {
|
|
channel_display_list(sd,"colors");
|
|
channel_display_list(sd,"colors");
|
|
return -1;
|
|
return -1;
|
|
@@ -9240,6 +9243,7 @@ ACMD_FUNC(fontcolor)
|
|
if( strcmpi(message,"Normal") == 0 ) {
|
|
if( strcmpi(message,"Normal") == 0 ) {
|
|
sd->fontcolor = 0;
|
|
sd->fontcolor = 0;
|
|
} else {
|
|
} else {
|
|
|
|
+ unsigned char k;
|
|
ARR_FIND(0,Channel_Config.colors_count,k,( strcmpi(message,Channel_Config.colors_name[k]) == 0 ));
|
|
ARR_FIND(0,Channel_Config.colors_count,k,( strcmpi(message,Channel_Config.colors_name[k]) == 0 ));
|
|
if( k == Channel_Config.colors_count ) {
|
|
if( k == Channel_Config.colors_count ) {
|
|
sprintf(atcmd_output, msg_txt(sd,1411), message);// Unknown color '%s'.
|
|
sprintf(atcmd_output, msg_txt(sd,1411), message);// Unknown color '%s'.
|
|
@@ -9804,7 +9808,7 @@ static void atcommand_get_suggestions(struct map_session_data* sd, const char *n
|
|
bool is_atcommand(const int fd, struct map_session_data* sd, const char* message, int type)
|
|
bool is_atcommand(const int fd, struct map_session_data* sd, const char* message, int type)
|
|
{
|
|
{
|
|
char charname[NAME_LENGTH], params[100];
|
|
char charname[NAME_LENGTH], params[100];
|
|
- char charname2[NAME_LENGTH], params2[100];
|
|
|
|
|
|
+ char charname2[NAME_LENGTH];
|
|
char command[100];
|
|
char command[100];
|
|
char output[CHAT_SIZE_MAX];
|
|
char output[CHAT_SIZE_MAX];
|
|
|
|
|
|
@@ -9848,6 +9852,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message
|
|
if (*message == charcommand_symbol) {
|
|
if (*message == charcommand_symbol) {
|
|
do {
|
|
do {
|
|
int x, y, z;
|
|
int x, y, z;
|
|
|
|
+ char params2[100];
|
|
|
|
|
|
//Checks to see if #command has a name or a name + parameters.
|
|
//Checks to see if #command has a name or a name + parameters.
|
|
x = sscanf(message, "%99s \"%23[^\"]\" %99[^\n]", command, charname, params);
|
|
x = sscanf(message, "%99s \"%23[^\"]\" %99[^\n]", command, charname, params);
|